1、整理用MATLAB设计低通带通高通和带阻FIR数字滤波器抽样频率为f 为1KHZ的数字带通滤波器,性能要求为:通带范围从200HZ到250HZ,在此两频率处衰减不大于3dB,在100HZ和400HZ频率处频率衰减不得小于20dB,采用巴特沃斯滤波器 4阶Butterworth滤波器源代码n = 2;Wn = 200 250/500;b,a = butter(n,Wn);freqz(b,a,512,1000);这个滤波器100Hz、400Hz处衰减在-30db以上。可以通过增大n增加衰减。用MATLAB设计低通带通高通和带阻FIR数字滤波器(1)低通滤波器的技术指标: H(ejw)=1,0w0.
2、3pi; H(ejw)=0,0.3piwpi.(2)带通滤波器的技术指标:H(ejw=0,0w0.4pi; H(ejw)=1;0.4piw0.6pi;H(ejw)=0,0.6wpi; (3)高通滤波器的技术指标:H(ejw)=0,0w0.7pi; H(ejw)=1,0.7piwpi. (4)带阻滤波器的技术指标:H(ejw)=1,0w0.3pi; H(ejw)=0;0.3piw0.7pi;H(ejw)=1,0.7w);ylabel(Xn);Xk=abs(fft(Xn,N);subplot(2,1,2);stem(n,Xk);axis(0 N 1.1*min(Xk) 1.1*max(Xk);xl
3、abel(frequency -);ylabel(!Xk!);%*%假如有一个1Hz的余弦信号y=cos(2*t),对其用4Hz的采样频率进行采样,共采样32点,只需执行samples(1,4,5),即可得到仿真结果。软件仿真实验内容如下表所示:仿真参数 f Fs Wo(计算) Xn(图形) Xk(图形) (1,4,5) 另外记录图形,并标图号 (1,8,5) (2,8,6) 自 选 1.6 硬件实验步骤本实验箱采样频率fs固定为10KHz,低通滤波器的截止频率约为4.5KHz。1、用低频信号源产生正弦信号,正弦信号源频率f自定,并将其接至2TP2(模拟输入)端,将示波器通道一探头接至2TP6
4、(采样时钟)端观察采样时钟波形,示波器通道二探头接至2TP2观察并记录输入信号波形。2、将示波器通道二探头接至2TP3观察并记录样点输出波形。3、将示波器通道二探头接至2TP4观察并记录滤波输出波形。4、根据采样定理,分f=fs /8、f=fs/4、f=fs/2等3种情况更改正弦信号频率,重复步骤2至步骤3。5、用低频信号源产生方波信号,重复步骤1至步骤4。 1.7 思考题1、 讨论在仿真实验中所计算的数字域频率Wo和Xk的图形中非零谱线位置之间的对应关系。2、 讨论在仿真实验中自选参数的意义。3、将在2TP2端加方波信号后的恢复波形,与相同频率的正弦信号的恢复波形相比,能够得出哪些结论?2
5、FFT频谱分析实验 2.1 实验目的 1通过实验加深对快速傅立叶变换(FFT)基本原理的理解。2了解FFT点数与频谱分辨率的关系,以及两种加长序列FFT与原序列FFT的关系。2.2 实验仪器1YBLD智能综合信号源测试仪 1台2双踪示波器 1台3MCOMTG305数字信号处理与现代通信技术实验箱 1台4PC机(装有MATLAB、MCOMTG305配套实验软件) 1台2.3 实验原理离散傅里叶变换(DFT)和卷积是信号处理中两个最基本也是最常用的运算,它们涉及到信号与系统的分析与综合这一广泛的信号处理领域。实际上卷积与DFT之间有着互通的联系:卷积可化为DFT来实现,其它的许多算法,如相关、滤波
6、和谱估计等都可化为DFT来实现,DFT也可化为卷积来实现。对N点序列x(n),其DFT变换对定义为: 在DFT运算中包含大量的重复运算。FFT算法利用了蝶形因子WN的周期性和对称性,从而加快了运算的速度。FFT算法将长序列的DFT分解为短序列的DFT。N点的DFT先分解为2个N/2点的DFT,每个N/2点的DFT又分解为2个N/4点的DFT。按照此规律,最小变换的点数即所谓的“基数(radix)。”因此,基数为2的FFT算法的最小变换(或称蝶形)是2点DFT。一般地,对N点FFT,对应于N个输入样值,有N个频域样值与之对应。一般而言,FFT算法可以分为时间抽取(DIT)FFT和频率抽取(DIF
7、)两大类。在实际计算中,可以采用在原来序列后面补0的加长方法来提高FFT的分辨率;可以采用在原来序列后面重复的加长方法来增加FFT的幅度。2.4 实验内容1软件仿真实验:分别观察并记录正弦序列、方波序列及改变FFT的点数后的频谱;分别观察并记录正弦序列、方波序列及2种加长序列等信号的频谱。2硬件实验:分别观察并记录正弦信号、方波信号及改变FFT的点数后的频谱。2.5 MATLAB参考程序和仿真内容%*%functionx=ffts(mode,M)Nfft=2M;x=zeros(1,Nfft); %定义一个长度为Nfft的一维全0数组if mode= =1 for n=0:Nfft-1 x(n+
8、1)=sin(2*pi*n/Nfft); end end %定义一个长度为Nfft的单周期正弦序列if mode= =2 for n=0:Nfft-1 x(n+1)=sin(4*pi*n/Nfft); end end %定义一个长度为Nfft的双周期正弦序列if mode= =3 for n=0:Nfft/2-1 x(n+1)=sin(4*pi*n/Nfft); end end %定义一个长度为Nfft/2的正弦序列,后面一半为0序列。if mode= =4 for n=0:Nfft-1 x(n+1)=square(2*pi*n/Nfft); end endif mode= =5 for n=
9、0:Nfft-1 x(n+1)=square(2*pi*n/Nfft); end endif mode= =6 for n=0:Nfft/2-1 x(n+1)=square(4*pi*n/Nfft); end endn=0:Nfft-1;subplot(2,1,1);stem(n,x);axis(0 Nfft-1 1.1*min(x) 1.1*max(x);xlabel(Points-);ylabel(x(n);X=abs(fft(x,Nfft);subplot(2,1,2);stem(n,X);axis(0 Nfft-1 1.1*min(X) 1.1*max(X);xlabel(freque
10、ncy-);ylabel(!X(k)!);%*%假设需观察方波信号的频谱,对一个周期的方波信号作32点的FFT,则只需在MATLAB的命令窗口下键入:x=ffts(21,5) ,程序进行模拟,并且输出FFT的结果。关于软件仿真实验内容,建议在完成大量仿真例子的基础上,选择能够体现实验要求的4个以上的例子进行记录。例如要观察后面补0的加长方法来提高FFT的分辨率的现象,可以仿真ffts(4,5)和ffts(6,6)两个例子。2.6 硬件实验步骤1将低频信号源输出加到实验箱模拟通道1输入端,将示波器探头接至模拟通道1输出端。2在保证实验箱正确加电且串口电缆连接正常的情况下,运行数字信号处理与DSP
11、应用实验开发软件,在“数字信号处理实验”菜单下选择“FFT频谱分析”子菜单,出现显示FFT频谱分析功能提示信息的窗口。3用低频信号产生器产生一个1KHz的正弦信号。4选择FFT频谱分析与显示的点数为64点,开始进行FFT运算。此后,计算机将周期性地取回DSP运算后的FFT数据并绘图显示5改信号源频率,观察并记录频谱图的变化。6选择FFT的点数为128点,观察并记录频谱图的变化。7更改正弦信号的频率,重复步骤4 步骤6。8用低频信号产生器产生一个1KHz的方波信号,重复步骤4 步骤7。注意:应根据实验箱采样频率fs为10KHz和方波信号的频带宽度选择方波信号的频率。本硬件实验要进行两种信号,每个
12、信号两种频率,每个信号两种点数等共8次具体实验内容,性质能够体现实验要求的4个以上的例子进行记录。 2.7 思考题 1对同一个信号,不同点数FFT观察到的频谱图有何区别?2序列加长后FFT与原序列FFT的关系是什么,试推导其中一种关系。3用傅立叶级数理论,试说明正弦信号频谱和方波信号频谱之间的关系。3 IIR滤波器设计实验 3.1 实验目的 1通过实验加深对IIR滤波器基本原理的理解。2学习编写IIR滤波器的MATLAB仿真程序。3.2 实验仪器1YBLD智能综合信号源测试仪 1台2双踪示波器 1台3MCOMTG305数字信号处理与现代通信技术实验箱 1台4PC机(装有MATLAB、MCOMT
13、G305配套实验软件) 1台3.3 实验原理IIR滤波器有以下几个特点:1IIR数字滤波器的系统函数可以写成封闭函数的形式。2IIR数字滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。3IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的
14、公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。4IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。在MATLAB下设计IIR滤波器可使用Butterworth函数设计出巴特沃斯滤波器,使用Cheby1函数设计出契比雪夫I型滤波器,使用Cheby2设计出契比雪夫II型滤波器,使用ellipord函数设计出椭圆滤波器。下面主要介绍前两个函数的使用。与FIR滤波器的设计不同,IIR滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等),由软件设计出满足这些参数的最低滤波器阶数。在MATLAB下设计不同类型I
15、IR滤波器均有与之对应的函数用于阶数的选择。一、巴特沃斯IIR滤波器的设计在MATLAB下,设计巴特沃斯IIR滤波器可使用butter函数。Butter函数可设计低通、高通、带通和带阻的数字和模拟IIR滤波器,其特性为使通带内的幅度响应最大限度地平坦,但同时损失截止频率处的下降斜度。在期望通带平滑的情况下,可使用butter函数。butter函数的用法为:b,a=butter(n,Wn,/ftype/)其中n代表滤波器阶数,Wn代表滤波器的截止频率,这两个参数可使用buttord函数来确定。buttord函数可在给定滤波器性能的情况下,求出巴特沃斯滤波器的最小阶数n,同时给出对应的截止频率Wn
16、。buttord函数的用法为:n,Wn= buttord(Wp,Ws,Rp,Rs)其中Wp和Ws分别是通带和阻带的拐角频率(截止频率),其取值范围为0至1之间。当其值为1时代表采样频率的一半。Rp和Rs分别是通带和阻带区的波纹系数。不同类型(高通、低通、带通和带阻)滤波器对应的Wp和Ws值遵循以下规则:1高通滤波器:Wp和Ws为一元矢量且WpWs;2低通滤波器:Wp和Ws为一元矢量且WpWs;3带通滤波器:Wp和Ws为二元矢量且WpWs,如Wp=0.1,0.8,Ws=0.2,0.7。二、契比雪夫I型IIR滤波器的设计在期望通带下降斜率大的场合,应使用椭圆滤波器或契比雪夫滤波器。在MATLAB下
17、可使用cheby1函数设计出契比雪夫I型IIR滤波器。cheby1函数可设计低通、高通、带通和带阻契比雪夫I型滤IIR波器,其通带内为等波纹,阻带内为单调。契比雪夫I型的下降斜度比II型大,但其代价是通带内波纹较大。cheby1函数的用法为:b,a=cheby1(n,Rp,Wn,/ftype/)在使用cheby1函数设计IIR滤波器之前,可使用cheblord函数求出滤波器阶数n和截止频率Wn。cheblord函数可在给定滤波器性能的情况下,选择契比雪夫I型滤波器的最小阶和截止频率Wn。cheblord函数的用法为:n,Wn=cheblord(Wp,Ws,Rp,Rs)其中Wp和Ws分别是通带和
18、阻带的拐角频率(截止频率),其取值范围为0至1之间。当其值为1时代表采样频率的一半。Rp和Rs分别是通带和阻带区的波纹系数。3.4 实验内容1软件仿真实验:编写并调试MATLAB程序,选择不同形式,不同类型的4种滤波器进行仿真,记录幅频和相频特性,对比巴特沃斯滤波器和契比雪夫滤波器。2硬件实验:设计IIR滤波器,在计算机上观察冲激响应、幅频特性和相频特性,然后下载到实验箱。用示波器观察输入输出波形,测试滤波器的幅频响应特性。3.5 MATLAB参考程序和仿真内容%*%mode: 1-巴特沃斯低通;2-巴特沃斯高通;3-巴特沃斯带通;4-巴特沃斯带阻% 5-契比雪夫低通;6-契比雪夫高通;7-契
19、比雪夫带通;8-契比雪夫带阻%fp1,fp2: 通带截止频率,当高通或低通时只有fp1有效%fs1, fs2: 阻带截止频率,当高通或低通时只有fs1有效%rp: 通带波纹系数%as: 阻带衰减系数%sample: 采样率%h: 返回设计好的滤波器系数%*%functionb,a=iirfilt(mode,fp1,fp2,fs1,fs2,rp,as,sample)wp1=2*fp1/sample;wp2=2*fp2/sample;ws1=2*fs1/sample;ws2=2*fs2/sample;%得到巴特沃斯滤波器的最小阶数N和3bd频率wnif mode3N,wn=buttord(wp1,
20、ws1,rp,as);elseif mode5N,wn=buttord(wp1 wp2,ws1 ws2,rp,as);%得到契比雪夫滤波器的最小阶数N和3bd频率wnelseif mode);phase=angle(freq_response);subplot(3,1,2);plot(f,phase);grid; %相频特性axis(0 sample/2 1.1*min(phase) 1.1*max(phase);ylabel(Phase);xlabel(Frequency-);h=impz(b,a,32); %32点的单位函数响应t=1:32;subplot(3,1,3);stem(t,h)
21、;grid;axis(0 32 1.2*min(h) 1.1*max(h);ylabel(h(n);xlabel(n-);%*%假设需设计一个巴特沃斯低通IIR滤波器,通带截止频率为2KHz,阻带截止频率为3KHz,通带波纹系数为1,阻带衰减系数为20,采样频率为10KHz,则只需在MATLAB的命令窗口下键入:b,a=iirfilt(1,2000,3000,2400,2600,1,20,10000)程序进行模拟,并且按照如下顺序输出数字滤波器系统函数 的系数 b= b0 b1 bna= a0 a1 an关于软件仿真实验内容,建议在完成大量仿真例子的基础上,选择能够体现实验要求的4个例子进行记
22、录,系统函数只要记录系统的阶数。3.6 硬件实验步骤1根据实验箱采样频率fs为10KHz的条件,用低频信号发生器产生一个频率合适的低频正弦信号,将其加到实验箱模拟通道1输入端,将示波器通道1探头接至模拟通道1输入端,通道2探头接至模拟通道2输出端。2在保证实验箱正确加电且串口电缆连接正常的情况下,运行数字信号处理与DSP应用实验开发软件,在“数字信号处理实验”菜单下选择“IIR滤波器”子菜单,出现提示信息。3输入滤波器类型、滤波器截止频率等参数后,分别点击“幅频特性”和“相频特性”按钮,在窗口右侧观察IIR滤波器的幅频特性和相频特性。此时提示信息将消失,如需查看提示信息,可点击“设计说明”按钮。4点击“下载实现”按钮,IIR滤波器开始工作,此时窗口右侧将显示IIR滤波器的幅频特性。5根据输入滤波器类型,更改低频信号源的频率,观察示波器上输入输出波形幅度的变化情况,测量IIR滤波器的幅频响应特性,看其是否与设计的幅频特性一致。6更改滤波器类型、滤波器截止频率等参数(共4种),重复步骤3至步骤5。所选择的例子参数最好和MATLAB仿真程序的例子一样。7用低频信号产生器产生一个500Hz的方波信号,分别设计3种滤波器,完成如下表要求的功能,并且记录参
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1