数字信号处理课程设计报告.doc_第1页
数字信号处理课程设计报告.doc_第2页
数字信号处理课程设计报告.doc_第3页
数字信号处理课程设计报告.doc_第4页
数字信号处理课程设计报告.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字信号处理课程设计报报告本科生课程设计报告课程名称数字信号处理课程设计指导教师赵亚湘学 院信息科学与工程学院专业班级通信工程1301班姓 名学 号目录摘要1一、课程设计目的2二、课程设计内容2 三、设计思想和系统功能分析33.2问题二的设计分析43.3问题三的设计分析53.4问题四的设计分析63.5 GUI的设计分析7 四、 数据测试分析84.1 问题一数据测试分析84.2 问题二数据测试分析114.3 问题三数据测试分析164.4 问题四数据测试分析194.5 GUI测试分析27 五、 问题及解决方案295.1 设计过程295.2 遇到的具体问题30 六、设计心得体会31参考文献32 附录摘要 通信工程专业的培养目标是具备通信技术的基本理论和应用技术,能从事电子、信息、通信等领域的工作。鉴于我校充分培养学生实践能力的办学宗旨,对本专业学生的培养要进行工程素质培养、拓宽专业口径、注重基础和发展潜力。特别是培养学生的创新能力,以实现技术为主线多进行实验技能的培养。通过数字信号处理课程设计这一重要环节,可以将本专业的主干课程数字信号处理从理论学习到实践应用,对数字信号处理技术有较深的了解,进一步增强学生动手能力和适应实际工作的能力。数字信号处理课程主要是采用计算机仿真软件,以数值计算的方法对信号进行分析、变换、滤波、检测、估计与识别等加工处理,以达到提取信息便于使用的目的。数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无法比拟的。数字信号处理的核心算法是离散傅立叶变换(DFT),是DFT使信号在数字域和频域都实现了离散化,从而可以用通用计算机处理离散信号。而使数字信号处理从理论走向实用的是快速傅立叶变换(FFT),FFT的出现大大减少了DFT的运算量,使实时的数字信号处理成为可能、极大促进了该学科的发展。数字信号处理课程设计主要使用的仿真软件是MATLAB,MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户接口、连接其它编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。关键词:数字信号处理 MATLAB 课程设计 DFT一、课程设计目的1全面复习课程所学理论知识,巩固所学知识重点和难点,将理论与实践很好地结合起来;2提高综合运用所学知识独立分析和解决问题的能力;3熟练使用一种高级语言进行编程实现。二、课程设计内容课程设计选题组五:1. 设一序列含有三种频率成分:采样频率,分别取点数据作频谱特性分析,分别绘出、的64点DFT、64点补0到128点时的DFT、128点的DFT波形,比较说明在哪种情况下可以清楚地分别出信号的频率分量。2. 三点平滑滤波器(FIR)的表达式为因此M点平滑滤波器的表达式可表示成 令: S1是低频正弦信号,S2是高频正弦信号令 要求:(1)M=3时,写出平滑滤波器的单位脉冲响应h(n)(2)分别画出、和M=3时的输出的波形图。并分析平滑滤波器的特性。(3)改变M的值(如令M=5,7,11),画出它们对应的输出。分析M的大小对滤波器的影响。(4)对于四个不同的M值,分别画出滤波器对应的幅频特性曲线。3. 利用巴特沃斯滤波器原型设计一个数字带通滤波器,使其满足:采用数字域频率变换法、双线性变换法。T1。(要求:应尽量避免使用现成的工具箱函数)4. 倒频系统实现倒频是目前对讲机采用的一种语音保密技术。它是将信号的高频和低频进行交换,即将信号的高频部分搬到低频段,而将低频部分搬到高频段。倒频后的信号和原始信号具有相同的频带范围。由于原始语音信号的频率成分被置乱从而降低了可懂度,起到语音保密作用。在接受端采用同样的倒频器再将信号恢复。 倒频系统的工作原理如图所示,设输入信号的最高角频率为。图中HP是理想高通滤波器,其截止角频率为,LP为理想低通滤波器,其截止角频率为,根据倒频系统的原理框图,要求:(1)读入或录制一段语音信号(2)利用FFT分析语音信号频谱分布特性。(3)选择角频率和,设计相应的低通、高通滤波器,画出滤波器的幅频特性。(4)利用倒频系统对语音信号进行加密和解密,画出语音信号在加密前和加密后的时域和频域波形图,并通过语音回放验证加密和解密的效果。三、设计思想和系统功能分析3.1问题一的设计分析设计要求: 因为f1=2Hz,f2=2.05Hz,f3=1.9Hz采样频率为fs=10Hz,所以构造余弦序列x(n)=cos(2nf1/fs)+ cos(2nf2/fs)+ cos(2nf3/fs),该序列满足上述三个频率分量,分别取点数据作频谱特性分析,分别绘出x(n),x(n)的64点DFT、64点x(n)补0到128点时的DFT、128点x(n)的DFT波形。设计原理:1. 设x(n)是一个长度为M的有限长序列,则定义x(n)的N点离散傅里叶变换为:2. DFT是信号分析与处理中的一种重要变换。因直接计算DFT的计算量与变换区间长度N的平方成正比,当N较大时,计算量太大,所以行谱分析和信号的实时处理采用快速傅里叶变换(简称FFT)。3. 进行MATLAB仿真时采用函数Y=fft(y,N)可以对离散序列进行N点DFT变换,将时域上的信号变换到频域,进行归一化得到频谱特性。4. N点DFT是在频率区间0,2对时域离散信号的频谱进行N点等间隔采样,而采样点之间的频谱时看不到的。就好像从N个栅栏缝隙中观察信号的频谱情况,仅得到N个缝隙中看到的频谱函数值。因此称这种现象为栅栏效应。由于栅栏效应,有可能漏掉大的频谱分量,为了把原来被“栅栏”挡住的频谱分量检测出来,对于有限长序列,可以在原序列尾部补零;对于无限长序列,可以增大截取长度及DFT的变换空间,从而使频率的采样间隔变小,增加频域采样点数和采样点位置,使原来漏掉的某些频谱分来那个被检测出来。3.2问题二的设计分析设计要求:M点平滑滤波器:绘制、和M=3时的输出的波形图,并分析平滑滤波器的特性。改变M的值(如令M=5,7,11),画出它们对应的输出,分析M的大小对滤波器的影响,对于四个不同的M值,分别画出滤波器对应的幅频特性曲线。设计原理:1. 三点平滑滤波器是一个线性时不变的有限冲激响应系统,将输出延时一个抽样周期,可得到三点平滑滤波器的因果表达式,生成的滤波器表示为:归纳上式可得 此式表示了一个因果M点平滑FIR滤波器。2. 对线性离散时间系统,若y1(n)和y2(n)分别是输入序列x1(n)和x2(n)的响应,则输入的输出响应为,则系统称为线性系统。3. 对于离散时不变系统,若y1(n)是x1(n)的响应,则输入x(n)=x1(n-n0)的输出响应为y(n)=y1(n-n0),则称系统为时不变系统。4. 运用函数y=filter(A,B,X)计算输入信号x的滤波输出,其中B,A分别表示为滤波器传递函数的分子和分母系数向量(按降幂排列)。Y = filter(B,A,X) ,输入X为滤波前序列,Y为滤波结果序列,B/A 提供滤波器系数,B为分子,A为分母 整个滤波过程是通过下面差分方程实现的:利用filter函数构造M点平滑滤波器。5. 进行MATLAB仿真时采用函数Y=fft(y,N)可以对离散序列进行N点DFT变换,利用MATLAB离散傅里叶变换函数对序列进行频谱变换,将时域上的信号变换到频域,进行归一化得到频谱特性。通过MATLAB频谱波形图分析信号频谱成分。3.3问题三的设计分析设计要求:利用双线性法基于MATLAB以巴特沃斯滤波器原型设计一个数字带通滤波器技术指标:设计原理:1. 巴特沃斯原理 实际的滤波电路往往难以达到理想的要求,如要同时在幅频和相频响应两方面都满足要求就更为困难。因此,只有根据不同的实际需要,寻求最佳的近似理想特性。例如,可以主要着眼于幅频响应,而不考虑相频响应,也可以从满足相频响应出发,而把幅频响应居于次要位置。介绍一种最简单也是最常用的滤波电路巴特沃斯滤波电路(又叫最平幅度滤波电路)。这种滤波电路对幅频响应的要求是:在小于截止频率的范围内,具有最平幅度的响应, 而在后,幅频响应迅速下降。2.带通数字滤波器的设计方法:(1)确定带通数字滤波器的技术指标。(2)将带通数字滤波器的边界频率转换成带通模拟滤波器的边界频率,转换公式为:(3)将带通模拟滤波器技术指标转换成低通模拟滤波器技术指标。(4)设计模拟低通滤波器。(5)通过频率变换将模拟低通滤波器转换成带通过渡模拟滤波器。(6)采用双线性变换法将带通过渡模拟滤波器转换成带通数字滤波器。3.4问题四的设计分析设计要求: 录制一段语音信号,通过倒频系统将信号的高频和低频进行交换,即将信号的高频部分搬到低频段,而将低频部分搬到高频段。倒频后的信号和原始信号具有相同的频带范围。由于原始语音信号的频率成分被置乱从而降低了可懂度,起到语音保密作用。在接受端采用同样的倒频器再将信号恢复。选择角频率和,设计相应的低通、高通滤波器,画出滤波器的幅频特性。利用倒频系统对语音信号进行加密和解密,画出语音信号在加密前和加密后的时域和频域波形图,并通过语音回放验证加密和解密的效果。设计原理:1. 针对数字信号处理的对象是一段音频文件,进行MATLAB仿真时使用声音数据输入输出函数:y,f,bits=wavread(path:/音频文件名.wav)用于读入音频文件,并可控制其中的位及频率。2. DFT是信号分析与处理中的一种重要变换。因直接计算DFT的计算量与变换区间长度N的平方成正比,当N较大时,计算量太大,所以行谱分析和信号的实时处理采用快速傅里叶变换(简称FFT)。进行MATLAB仿真时采用函数Y=fft(y,N)可以对离散序列进行N点DFT变换,将时域上的信号变换到频域,进行归一化得到频谱特性,根据此原理可对读入的语音信号进行频谱分析。3. 切比雪夫滤波器的振幅具有等波纹特性,它有两种形式:(1)振幅特性在通带内是等波纹的、在阻带内是单调的切比雪夫I 型滤波器。(2)振幅特性在通带内是单调的、在阻带内是等波纹的切比雪夫II型滤波器,采用何种形式的切比雪夫滤波器取决于实际用途。切比雪夫滤波器的设计方法就是将逼近精确度均匀分布在整个通带内,或者均匀分布在整个阻带内,或者均匀分布在两者之内,这样就可以使滤波器阶数大大降低。切比雪夫I型滤波器平方幅度响应函数表示为:=1+C()其中 1.切比雪夫II型滤波器平方幅度响应函数表示为:=1+ C()/(/)其中 1(正数),表示波纹变化情况;为截止频率;N为滤波器的阶次,也是 C() 的阶次。4. 语音加密解密是将语音信号通过倒频系统,倒频系统的工作原理如图所示,设输入信号的最高角频率为,HP是理想高通滤波器,其截止角频率为,LP为理想低通滤波器,其截止角频率为。倒频后的信号和原始信号具有相同的频带范围。由于原始语音信号的频率成分被置乱从而降低了可懂度,起到语音保密作用,在接受端采用同样的倒频器再将信号恢复。3.5 GUI的设计分析设计要求:演示系统使用GUI界面或混合编程实现集成打包发布。设计原理:本次课程设计由于结果中图形太多,若一次性完成所以题目的演示则需要开创许多个新的窗口进行图形建立,这样不方便验收及查看。所以最后决定采用图形用户(GraphicalUserInterface,简称GUI)界面。GUI是GraphicalUserInterface的简称,即图形用户界面,通常人机交互图形化用户界面设计经常读做“goo-ee”,准确来说GUI就是屏幕产品的视觉体验和互动操作部分。GUI是一种结合计算机科学、美学、心理学、行为学,及各商业领域需求分析的人机系统工程,强调人机环境三者作为一个系统进行总体设计。4、 数据测试分析4.1 问题一数据测试分析功能实现: 设一序列含有三种频率成分:采样频率,分别取点数据作频谱特性分析,分别取点数据作频谱特性分析,分别绘出、的64点DFT、64点补0到128点时的DFT、128点的DFT波形,比较说明在哪种情况下可以清楚地分别出信号的频率分量。(1) 构造满足三个频率分量的余弦序列x(n)并得到x(n)的采样图fs=10;f1=2;f2=2.05;f3=1.9;n=0:1:N1-1;xn=cos(2*pi*n*f1/fs)+cos(2*pi*n*f2/fs)+cos(2*pi*n*f3/fs);%满足条件的余弦序列(2) 对x(n)进行不同N点的傅里叶运算得到的64点DFT、64点补0到128点时的DFT、128点的DFTN1=64;Xk=fft(xn,N1);%对x(n)进行64点DFT运算F=abs(Xk); stem(n,F,.);N2=128;n=0:1:N2-1;xn=xn zeros(1,N2-N1);%对64点采样序列x(n)进行补零到128点Xk=fft(xn,N2); AXk=abs(Xk); %对补零到128点的序列进行DFT运算stem(n,AXk,.);Xk=fft(xn,N2);AXk=abs(Xk);%对x(n)进行128点DFT运算stem(n,AXk,.);(3) 运行程序得到结果:图1 余弦序列x(n)图像图2 X(k)64点DFT图像图3 X(k)64点补零到128点DFT图像图4 X(k)128点DFT图像数据分析:因为采样最小点数为82点,所以当N1=64点采样时进过DFT变换由于展览效应不能分辨出原始正弦信号的频谱,如图2所示;64点采样经补零到128点后对频谱分辨率没有影响只是对频谱起到了平滑作用,补零仅使采样间隔变小,但得到的频谱采样的包络仍是已经变模糊的频谱,所以频谱分辨率没有提高,如图3所示;采样N2=128点的正弦序列因满足采样点数N2fh/F,所以可以清楚的分辨出信号的频谱成分,如图4所示。增大DFT的变换空间和截取长度,使频率的采样间隔变小,增加频域采样点数和采样点位置,使原来漏掉的某些频谱分来那个被检测出来。4.2 问题二数据测试分析功能实现:M点平滑滤波器可以表示:其中, S1是低频正弦信号,S2是高频正弦信号令 (1) M=3时,写出平滑滤波器的单位脉冲响应h(n)。当M=3时,三点平滑滤波器可以表示为:要求单位脉冲响应h(n),令输入=,则可得到h(n)=(2) 分别画出、和M=3时的输出的波形图。并分析平滑滤波器的特性。n=0:100;s1=cos(2*pi*0.05*n);s2=cos(2*pi*0.47*n);x=s1+s2;M=3;num=ones(1,3);y1=filter(num,1,x)/M;%构造M点滤波器的表达式stem(n,s1,.); stem(n,s2,.);stem(n,x,.); stem(n,y1,.);图5 M=3,s1(n)的波形图图6 M=3,s2(n)的波形图图7 M=3,x(n)的波形图图8 M=3,y1(n)的波形图改变M的值(如令M=5,7,11),画出它们对应的输出。分析M的大小对滤波器的影响。M=3;num=ones(1,11);y1=filter(num,1,x)/M;%构造M点滤波器的表达式M=5;y2=filter(num,1,x)/M;M=7;y3=filter(num,1,x)/M;M=11;y4=filter(num,1,x)/M;stem(n,y1,.); stem(n,y2,.);stem(n,y3,.); stem(n,y4,.);图9 M=5,y1(n)的波形图图10 M=7,y1(n)的波形图图11 M=11,y1(n)的波形图(3) 对于四个不同的M值,分别画出滤波器对应的幅频特性曲线。N1=length(y1)+1;N2=length(y2)+1;N3=length(y3)+1;N4=length(y4)+1;f1=0:1/(N1/2):1-1/(N1/2);f2=0:1/(N2/2):1-1/(N2/2);f3=0:1/(N3/2):1-1/(N3/2);f4=0:1/(N4/2):1-1/(N4/2);Y1=abs(fft(y1);Y2=abs(fft(y2);Y3=abs(fft(y3);Y4=abs(fft(y4);stem(f1,Y1(1:N1/2),.); stem(f2,Y2(1:N2/2),.);stem(f3,Y3(1:N3/2),.); stem(f4,Y4(1:N4/2),.);图12 M=3,信号频谱特性曲线图13 M=5,信号频谱特性曲线图14 M=7,信号频谱特性曲线图15 M=11,信号频谱特性曲线数据分析:平滑滤波器(FIR)允许地狱截止频率的信号通过,但高于截止频率的信号被数字滤波器滤除,具有低通特性。s1、s2、x信号与M值无关,至三个信号不受M值的影响。观察(图8-图11)输出信号的波形和(图12-图15)频谱仿真图,y信号的幅值随M值的增大而减小,原因是M值增大使低通滤波器的长度增长了,同时噪声也随M值的增大而减少,降低了滤波器的截止频率从而使滤波器的滤波效果则更明显,所以输出信号的频谱特性图像尾部突起的频率分量(即噪声)随着M值的增大而减小。4.3 问题三数据测试分析功能实现:利用巴特沃斯滤波器原型设计一个数字带通滤波器,采用数字域频率变换法、双线性变换法。T1。(要求:应尽量避免使用现成的工具箱函数)技术指标:通带下截止频率,上截止频率,通带内最大衰减;阻带下截止频率上截止频率,阻带最小衰减。针对问题三滤波器的设计,分别对使用工具函数和不实用工具函数进行比较,得到的波形一致,可认为带通滤波器设计的模拟过程正确。使用工具函数:T=1;ft=1/T;wp1=0.4*pi;wp2=0.5*pi;wp=wp1,wp2;wpt=wp/ft;ws1=0.2*pi;ws2=0.7*pi;ws=ws1,ws2;wst=ws/ft;rp=3;rs=30;Op=2*ft*tan(wpt/2);Os=2*ft*tan(wst/2);N,Wn=buttord(Op,Os,rp,rs,s);%计算滤波器的阶数N和截止频率WnBt,At=butter(N,Wn,s);%设计一个N阶巴特沃斯滤波器Bz,Az=bilinear(Bt,At,ft);%双线性变换为数字滤波器H,W=freqz(Bz,Az);%求数字滤波器的频率响应subplot(2,2,1);plot(W*ft/(2*pi),abs(H);grid on;xlabel(频率);ylabel(幅值);title(数字滤波器幅频响应曲线(工具函数);subplot(2,2,2);plot(W*ft/(2*pi),angle(H);grid on;xlabel(频率);ylabel(相位);title(数字滤波器相频特性曲线(工具函数);不使用工具函数:(1) 确定带通数字滤波器的技术指标。(2) 将带通数字滤波器的边界频率转换成带通模拟滤波器的边界频率,转换公式为:(3) 将带通模拟滤波器技术指标转换成低通模拟滤波器技术指标。(4) 设计模拟低通滤波器。(5) 通过频率变换将模拟低通滤波器转换成带通过渡模拟滤波器。(6)采用双线性变换法将带通过渡模拟滤波器转换成带通数字滤波器。wp1=0.4*pi;wp2=0.5*pi;ws1=0.2*pi;ws2=0.7*pi;T=1; ft=1/T;Rp1=2/T*tan(wp1/2);Rp2=2/T*tan(wp2/2);Rs1=2/T*tan(ws1/2);Rs2=2/T*tan(ws2/2);Rs11=Rp1*Rp2/Rs2;Ap=3;As=30;Rs=(Rp1*Rp2-Rs11*Rs11)/(Rs11*(Rp2-Rp1);Rp=1;ksp=sqrt(10(0.1*As)-1)/(10(0.1*Ap)-1);Rsp=2*pi*Rs/(2*pi*Rp);n=log10(ksp)/log10(Rsp);N=ceil(n)图16 数字滤波器幅频响应曲线(非工具函数)图17 数字滤波器相频特性曲线(非工具函数)两个方法进行对比:得到的数字带通滤波器特性一致,可认为模拟带通滤波器的设计过程正确。图18 使用工具函数对比不使用工具函数数据分析: 带通滤波器是一个允许特定频段的波通过同时屏蔽其他频段的设备。由图18可以得到幅频特性满足带通滤波器的特性。观察波形得出通带频率在0.4,0.5,阻带为0,0.20.7,),满足设计指标。4.4 问题四数据测试分析功能实现:(1) 读入或录制一段语音信号x,Fs,bits=wavread(CEG.wav);%读取语音信号sound(x,Fs,bits);plot(x);title(原始信号的波形);图19 语音信号的原始波形(2) 利用FFT分析语音信号频谱分布特性。X=abs(fft(x);N=length(x)+1;f=0:1/(N/2):1-1/(N/2);plot(f,X(1:N/2);title(原始信号的频谱);图20 语音原始信号的频谱特性(3) 选择角频率和,设计相应的低通、高通滤波器,画出滤波器的幅频特性图fp=1000;fs=2000;Wp=2*fp/Fs; %滤波器的阻带截止频率Ws=2*fs/Fs; %滤波器的通带截止频率Rs=60;Rp=0.1;N,Wn=cheb1ord(Wp,Ws,Rp,Rs);num,den=cheby1(N,Rp,Wn,low); h,w=freqz(num,den);subplot(2,1,1);plot(w/pi,abs(h);grid;xlabel(omega/pi);ylabel(振幅);title(契比雪夫型低通滤波器的幅频响应);fp=3000;fs=2000;Ws1=2*fs/Fs;Wp1=2*fp/Fs;Rs1=60;Rp1=0.1;N1,Wn1=cheb1ord(Wp1,Ws1,Rp1,Rs1);num1,den1=cheby1(N1,Rp1,Wn1,high);h1,w1=freqz(num1,den1);subplot(2,1,2);plot(w1/pi,abs(h1);xlabel(omega/pi);ylabel(振幅); title(契比雪夫型高通滤波器的幅频响应);图21 契比雪夫高筒、低通滤波器数据分析: 高通滤波器允许高于某一截频的频率通过,而大大衰减较低频率的一种滤波器,它去掉了信号中不必要的低频成分或者说去掉了低频干扰。低通滤波器是容许低于截止频率的信号通过, 但高于截止频率的信号不能通过的电子滤波装置。由图21的波形观察可知,满足高通低通特性。(4) 利用倒频系统对语音信号进行加密和解密,画出语音信号在加密前和加密后的时域和频域波形图,并通过语音回放验证加密和解密的效果。y=x;N=length(y);%求出语音信号的长度k=0:N-1;t=k/Fs;s=cos(2.0*pi*Fb*t);y=y;y=y(1,:).*s;Nb,wc=cheb1ord(Wp1,Ws1,Rp1,Rs1);b,a=cheby1(Nb,Rp1,wc,high);%计算切比雪夫I型模拟高通滤波器系统函数系数yh=filter(b,a,y);s1=cos(2*pi*(Fb+Fm)*t);y1=yh.*s1;Nb,wc=cheb1ord(Wp,Ws,Rp,Rs);%计算切比雪夫I型模拟低通滤波器阶数和截止频率c,d=cheby1(Nb,Rp,wc,low);%计算切比雪夫I型模拟低通滤波器系统函数系数yd=filter(c,d,y1);加密过程:图22 高通滤波后的时域波形和频谱特性图23 低通滤波后的时域波形和频谱特性解密过程:图24 第二次高通滤波后的时域波形和频谱特性图25 第二次高通滤波后的时域波形和频谱特性数据分析:将三个(或三个以上)不同的音阶,按照一定的关系结合在一起,即为和弦,这就是和弦音的定义。由图19和图20可以看出CEG和弦信号的时域波形和频谱分布,和弦音可分解为不同频带的单音信号,在不同频带其频率分布及其振幅大小的不同都会造成音律不同。由GEG语音信号通过倒频系统,分别通过高通低通滤波器,由图22和图23再对比原始频谱可知,滤去高频和低频成分,中间成分实现了频谱搬移,频谱特性反转,即加密过程。通过倒频系统将信号的高频和低频进行交换,即将信号的高频部分搬到低频段,而将低频部分搬到高频段。倒频后的信号和原始信号具有相同的频带范围。由于原始语音信号的频率成分被置乱从而降低了可懂度,起到语音保密作用。在接受端将加密过的语音信号通过倒频器进行解密,同样的原理再次频谱搬移,频率处于中间部分的频谱二次反转,如图24和图25,经过回放加密解密后的语音和原始语音进行比对比,与频谱图显示特性一致。4.5 GUI测试分析功能实现:在MATLAB主界面中输入“guide”,再敲击回车键,弹出GUI界面窗口,即可新建GUI界面,如下图所示:图26 GUI界面的新建窗口图在图26的窗口中点击“OK”,则可新建一个GUI界面,并进入其编辑窗口,如图27所示:图27 GUI界面的编辑窗口图随后便可在此窗口内编辑演示界面,此次设计主要利用的是Static Text(静态文本)和Push Button(按钮)。在界面中输入相关的静态文本,并新建若干个按钮,再以此在每个按钮上点击右键,选择View CallBacks调出Call Back函数,将相应设计题的源代码输入Call Back函数界面中对应按钮的段落后。如图28和29所示:图28 调用CallBack的操作流程图图29 CallBack代码编辑窗口图如此便可以建立一个方便、美观又直观的演示界面,以便老师验收时操作简单、条理清晰、并且用时不长,点击每个控制按钮,可以得到相应的结果。运行结果:图30 最终的GUI界面5、 问题及解决方案5.1 设计过程看到设计题时,觉得平时课堂上学习的数字信号处理内容不知道该用在哪儿,不知道从何处入手,一开始只会按照书上的解题思路一步步来算,一步步来解这些题目,解出来后再设法将其输入编程中,从而的到想要的答案。可是每次如此,系统输出的结果总是和预想中的不一样,有些甚至不知道哪里出了错,原因在于没有深刻理解原理以及MATLAB基础薄弱。后来,在翻阅了有关参考文献后,知道了题目中大部分内容都可以通过MATLAB强大的函数工具箱里的函数直接实现。设计过程中,总是用错函数,输错参数或者矩阵的维数不一致无法运算等,这类问题层出不穷,毕竟是第一次用MATLAB进行设计实践,很多问题还是要虚心向老师和同学请教的。在很多次的请教,修改后,程序基本成功地得到了运行,调试过程中又遇到了一些小问题,大多是由于粗心导致的,这些问题在调试过程中都得到了修正,并且把课堂学习的理论知识运用到了实践中。5.2 遇到的具体问题1. 数字频率和模拟频率的概念混淆不清,不会归一化解决方法:角频率是物理频率的2*pi倍,这个也称模拟频率。模拟频率的单位: f赫兹 数字频率,T是对某个具体模拟信号的等间隔采样的时间间隔,采样频率fs=1/T,根据采样定理,实际物理频率表示AD采集物理信号的频率,fs为采样频率,由奈奎斯特采样定理可以知道,fs必须信号最高频率的2倍才不会发生信号混叠,因此fs能采样到的信号最高频率为fs/2。实际需要超过的部分,例如语音信号最高3400HZ,取4000,故采样频 率=8000Hz;采样之前还要对模拟信号滤波,滤除高于0.5fs的无用分量,故单位=弧度;w=02对应模拟频率的f=0fs对于离散信号的连续频谱,在w=02上等间隔采样N个点便于利用计算机处理,k=0N-1虽然没有单位,实际与w有对应关系的,即k=0N-1对应的w频率=0,2/N,2/Nk,自然也跟模拟信号的频率有对应关系了。2. 对于问题二,不知道如何使用MATLAB来写出M点平滑滤波器的通用表达式解决方法:通过上网查阅资料和使用MATLAB中的help,找到了MATLAB中的工具差分函数filter(),其使用方法如下:Y = filter(B,A,X) ,输入X为滤波前序列,Y为滤波结果序列,B/A 提供滤波器系数,B为分子,A为分母 整个滤波过程是通过下面差分方程实现的:利用filter函数构造M点平滑滤波器。3. 不理解倒频系统的工作原理以及倒频后的形式解决方法:通过上网查阅和咨询老师,学习了倒频就是将语音信号乘一个角频率合适的余弦函数实现频谱搬移,再将其通过滤波器截断得到有效的频率成分,而加密解密就是倒频后的信号和原始信号具有相同的频带范围,由于原始语音信号的频率成分被置乱从而降低了可懂度,起到语音保密作用,在接收端采用同样的倒频器再将信号恢复实现解密。六、设计心得体会 通过现代信号处理课程设计实践,我学习会了MATLAB编程语言的基本概念、语法、语义和数据类型的使用特点,加深了对数字信号处理这门学科所学理论知识的理解,掌握了运用结构化程序设计的基本思想和方法,更重要的是培养了自己的自学能力。 虽然MATLAB一些基础的知识,并且学习了数字信号处理这门课程,但是刚开始面对这个题目还是无从下手。刚拿到程序设计课题时,我感觉一片茫然,因为在之前的信号处理学习中,本身对数字信号处理这门学科的学习就不精深,更何况只是在一些例题中接触过MATLAB语言,甚至没有看过一些基础的书籍,更没有上过课,所以初次遇到一个实际问题的整体设计实现。不过通过请教老师懂得了首先要了解解题思路,以及若要实现此次设计需要哪些最基本的思路和函数。同时在编写程序以及调试的过程中遇到了很多困难,但是我通过去上网查找资料,请教同学老师,再自己一点点改善程序,最终还是编写出一个比较完善的程序,基本实现了所有要求功能,这是最值得我欣慰的一点。 至此,我真真体会到清晰地思路对成功编写一个程序的重要性。当然成功编写一个程序绝非易事,之前,我总以为程序能够正常运行,就代表着编程成功,后来我才发现我大错特错了。我用了三天时间,完成了程序的编写、改错,但我立刻发现尽管程序能够正常运行,部分功能却不完善,甚至不能出现自己想要的结果。经过一次又一次调试、修改又修改,一点一点发现问题并改正,我才真正发现编程远没有想象中的简单,并且深刻体会到编程和单纯的解题是有着多么大的不同。它需要的不仅是清晰地编程思路、编程技巧,还需要细心,有耐心有毅力。 在编程过程中,我遇到了许多问题,通过查找资料也未能找到原因,每次我想老师请教,可老师总不是万能的,顾不到每一位同学的要求。就和周围的同学学习、交流、讨论,查缺补漏,互相进步。我想这便是团队精神,有的时候真的是人多力量大。通过这次课程设计,我对MATLAB,以及数字滤波器的设计有了更深的理解,同时也加深了对数字信号处理理论知识的理解。编程也增强了动手能力,也增强了团队意识,提高了综合能力,使我得到了很大的锻炼。 最后,我收获的不仅仅是对上学期已学的知识的巩固,和MATLAB这项新的工作平台,我还学会了遇到难题时不能轻易放弃,要有迎难而上的勇气,有时候自己一个人完成不了的理解不了的知识,多请教请教别人是一项很好的选择等等。总之,这次课程设计让我学会了很多,我会铭记于心,让其在以后的学习、生活或者工作中都时刻警醒着我,感谢老师在整个课程设计中给的指导帮助。参考文献1数字信号处理.丁玉美等 西安电子科技大学出版社2MATLAB程序设计与应用刘卫国主编 高等教育出版社附录源代码问题一:%问题一:DFT频谱分析clear all;N1=64;fs=10;f1=2;f2=2.05;f3=1.9;n=0:1:N1-1;xn=cos(2*pi*n*f1/fs)+cos(2*pi*n*f2/fs)+cos(2*pi*n*f3/fs);%满足条件的余弦序列x(n)Xk=fft(xn,N1);%对x(n)进行64点DFT运算F=abs(Xk);%绘出64点采样余弦序列x(n)subplot(2,2,1);plot(n,xn);title(余弦序列x(n)图像);xlabel(n);ylabel(xn);%绘出X(k)64点DFT频谱幅度subplot(2,2,2);stem(n,F,.);title(X(k)64点DFT图像);xlabel(n);ylabel(|X64(k)|);%绘出64点补零到128点的DFT频谱幅度N2=128;n=0:1:N2-1;xn=xn zeros(1,N2-N1);%对64点采样序列x(n)进行补零到128点Xk=fft(xn,N2); AXk=abs(Xk); %对补零到128点的序列进行DFT运算subplot(2,2,3);stem(n,AXk,.) title(X(k)补零到128点DFT图像);xlabel(n);ylabel(补零|X128(k)|);%绘出X(k)的128点DFT频谱幅度xn=sin(2*pi*f1*n/fs)+sin(2*pi*f2*n/fs)+sin(2*pi*f3*n/fs);%满足条件的正弦序列Xk=fft(xn,N2);AXk=abs(Xk);%对x(n)进行128点DFT运算subplot(2,2,4);stem(n,AXk,.);title(X(k)的128点DFT图像);xlabel(n);ylabel(|X128(k)|);问题二:clear all;n=0:100;s1=cos(2*pi*0.05*n);s2=cos(2*pi*0.47*n);x=s1+s2;M=3;num=ones(1,11);y1=filter(num,1,x)/M;%构造M点滤波器的表达式M=5;y2=filter(num,1,x)/M;M=7;y3=filter(num,1,x)/M;M=11;y4=filter(num,1,x)/M;%(1)分别画出M=3时,s1(n) s2(n) x(n) y(n)的图像figure(1);subplot(2,2,1);stem(n,s1,.);xlabel(n);ylabel(s1);axis(0,100,-2,2);title(M=3,s1(n)的波形图);subplot(2,2,2);stem(n,s2,.);xlabel(n);ylabel(s2);axis(0,100,-2,2);title(M=3,s2(n)的波形图);subplot(2,2,3);stem(n,x,.);xlabel(n);ylabel(x(n);axis(0,100,-2,2);title(M=3,x(n)的波形图);subplot(2,2,4);stem(n,y1,.);xlabel(n);ylabel(y1(n);axis(0,100,-2,2);title(M=3,y1(n)的波形图);%改变改变M的值(如令M=5,7,11),画出它们对应的输出figure(2);subplot(2,2,1);stem(n,y1,.);axis(0,100,-2,2);title(M=3,y1(n)的波形图);xlabel(n);ylabel(y1(n);subplot(2,2,2);stem(n,y2,.);axis(0,100,-2,2);title(M=5,y1(n)的波形图);xlabel(n);ylabel(y2(n);subplot(2,2,3);stem(n,y3,.);axis(0,100,-2,2);title(M=7,y1(n)的波形图);xlabel(n);ylabel(y3(n);subplot(2,2,4);stem(n,y4,.);axis(0,100,-2,2);title(M=11,y1(n)的波形图);xlabel(n);ylabel(y4(n);%M=3,5,7,11,分别画出滤波器对应的幅频特性曲线figure(3);N1=length(y1)+1;N2=length(y2)+1;N3=length(y3)+1;N4=length(y4)+1;f1=0:1/(N1/2):1-1/(N1/2);f2=0:1/(N2/2):1-1/(N2/2);f3=0:1/(N3/2):1-1/(N3/2);f4=0:1/(N4/2):1-1/(N4/2);subplot(2,2,1);Y1=abs(fft(y1);Y2=abs(fft(y2);Y3=abs(fft(y3);Y4=abs(fft(y4);stem(f1,Y1(1:N1/2),.);xlabel(/rad);ylabel(幅度);title(M=3,信号频谱特性曲线);subplot(2,2,2);stem(f2,Y2(1:N2/2),.);xlabel(/rad);ylabel(幅度);title(M=5,信号频谱特性曲线);subplot(2,2,3);stem(f3,Y3(1:N3/2),.);xlabel(/rad);ylabel(幅度);title(M=7,信号频谱特性曲线);subplot(2,2,4);stem(f4,Y4(1:N4/2),.);xlabel(/rad);ylabel(幅度);title(M=11,信号频谱特性曲线);问题三:%双线性法设计带通滤波器%使用工具函数%T=1;ft=1/T;close(figure(1);close(figure(2);close(figure(3);wp1=0.4*pi;wp2=0.5*pi;wp=wp1,wp2;wpt=wp/ft;ws1=0.2*pi;ws2=0.7*pi;ws=ws1,ws2;wst=ws/ft;rp=3;rs=30;Op=2*ft*tan(wpt/2);Os=2*ft*tan(wst/2);N,Wn=buttord(Op,Os,rp,rs,s);%计算滤波器的阶数N和截止频率WnBt,At=butter(N,Wn,s);%设计一个N阶巴特沃斯滤波器Bz,Az=bilinear(Bt,At,ft);%双线性变换为数字滤波器H,W=freqz(Bz,Az);%求数字滤波器的频率响应subplot(2,2,1);plot(W*ft/(2*pi),abs(H);grid on;x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论