matlab设计低通滤波器_第1页
matlab设计低通滤波器_第2页
matlab设计低通滤波器_第3页
matlab设计低通滤波器_第4页
matlab设计低通滤波器_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、个 matlab 程序怎么编?(设计低通滤波器)通带边缘频率10khz阻带边缘频率22khz阻带衰减75db采样频率50khz要求设计这个低通滤波器画出脉冲响应的图形还有滤波器的形状具体程序怎么编?谢谢各位大虾的指点!最佳答案1.1 实验目的1 .了解数字信号处理系统的一般构成;2 .掌握奈奎斯特抽样定理。3 .2 实验仪器1 .YBLD 智能综合信号源测试仪 1 台2 .双踪示波器 1 台3 .MCOMTG305 数字信号处理与现代通信技术实验箱 1 台4 .PC 机(装有 MATLAB、MCOM-TG305 配套实验软件)1 台1.3 实验原理一个典型的 DSP 系统除了数字信号处理部分外

2、,还包括 A/D 和 D/A 两部分。这是因为自然界的信号,如声音、图像等大多是模拟信号,因此需要将其数字化后进行数字信号处理,模拟信号的数字化即称为 A/D 转换。数字信号处理后的数据可能需还原为模拟信号,这就需要进行 D/A转换。一个仅包括 A/D 和 D/A 两部分的简化数字信号处理系统功能如图 1 所示。A/D 转换包括三个紧密相关的过程,即抽样、量化和编码。A/D 转换中需解决的以下几个重要问题:抽样后输出信号中还有没有原始信号的信息?如果有能不能把它取出来?抽样频率应该如何选择?奈奎斯特抽样定理(即低通信号的均匀抽样定理)告诉我们,一个频带限制在 0 至仅以内的低通信号 x, 如果

3、以 fs2 刚抽样速率进行土匀抽样, 则 x可以由抽样后的信号 xs(t)完全地确定,即 xs(t)包含有 x(t)的成分,可以通过适当的低通滤波器不失真地恢复出 x(t)。最小抽样速率 fs=2fx 称为奈奎斯特速率。低通译码编码量化抽样输入信号样点输出滤波输出A/D(模数转换)D/A(数模转换)图 1 低通采样定理演示为方便实现, 实验中更换了一种表现形式, 即抽样频率固定(10KHz),通过改变输入模拟信号的频率来展示低通抽样定理。我们可以通过研究抽样频率和模拟信号最高频率分量的频率之间的关系,来验证低通抽样定理。1.4 实验内容1 .软件仿真实验:编写并调试 MATLAB 程序,分析有

4、关参数,记录有关波形。2 .硬件实验:输入不同频率的正弦信号,观察采样时钟波形、输入信号波形、样点输出波形和滤波输出波形。5MATLAB 参考程序和仿真内容%f余弦信号的频率%M基 2FFT 哥次数 N=2AM 为采样点数,这样取值是为了便于作基 2 的 FFT 分析%2.采样频率 Fs%*functionsamples(f,Fs,M)N=2AM;%fft 点数=取样总点数Ts=1/Fs;%取样时间间隔T=N*Ts;%取样总时间=取样总点数*取样时间间隔n=0:N-1;t=n*Ts;Xn=cos(2*f*pi*t);subplot(2,1,1);stem(t,Xn);axis(0T1.1*mi

5、n(Xn)1.1*max(Xn);xlabel(t-);ylabel(Xn);Xk=abs(fft(Xn,N);subplot(2,1,2);stem(n,Xk);axis(0N1.1*min(Xk)1.1*max(Xk);xlabel(frequency-);ylabel(!Xk!);*假如有一个 1Hz 的余弦信号 y=cos(2*兀*t),对其用 4Hz 的采样频率进行采样,共采样 32 点,只需执行 samples(1,4,5),即可得到仿真结果。软件仿真实验内容如下表所示:仿真参数fFsWo(计算)Xn(图形)Xk(图形)(1,4,5)另外记录图形,并标图号(1,8,5)自选5硬件实

6、验步骤本实验箱采样频率 fs 固定为 10KHz,低通滤波器的截止频率约为 4.5KHz。1、用低频信号源产生正弦信号,正弦信号源频率 f 自定,并将其接至 2TP2(模拟输入)端,将示波器通道一探头接至 2TP6(采样时钟)端观察采样时钟波形,示波器通道二探头接至2TP2 观察并记录输入信号波形。2、将示波器通道二探头接至 2TP3 观察并记录样点输出波形。3、将示波器通道二探头接至 2TP4 观察并记录滤波输出波形。4、根据采样定理,分 f=fs/8、f=fs/4、f=fs/2 等 3 种情况更改正弦信号频率,重复步骤 2 至步骤 3。5、用低频信号源产生方波信号,重复步骤 1 至步骤 4

7、。5思考题1、讨论在仿真实验中所计算的数字域频率 Wo 和 Xk 的图形中非零谱线位置之间的对应关系。2、讨论在仿真实验中自选参数的意义。3、将在 2TP2 端加方波信号后的恢复波形,与相同频率的正弦信号的恢复波形相比,能够得出哪些结论?2FFT 频谱分析实验1实验目的.通过实验加深对快速傅立叶变换(FFT)基本原理的理解。.了解 FFT 点数与频谱分辨率的关系,以及两种加长序列FFT 与原序列 FFT 的关系。1实验仪器.YBLD 智能综合信号源测试仪 1 台.双踪示波器 1 台.MCOMTG305 数字信号处理与现代通信技术实验箱 1 台.PC 机(装有 MATLAB、MCOM-TG305

8、 配套实验软件)1 台.3 实验原理离散傅里叶变换(DFT)和卷积是信号处理中两个最基本也是最常用的运算,它们涉及到信号与系统的分析与综合这一广泛的信号处理领域。实际上卷积与 DFT 之间有着互通的联系:卷积可化为 DFT 来实现,其它的许多算法,如相关、滤波和谱估计等都可化为 DFT 来实现,DFT 也可化为卷积来实现。对 N 点序列 x(n),其 DFT 变换对定义为:在 DFT 运算中包含大量的重复运算。FFT 算法利用了蝶形因子 WN 的周期性和对称性,从而加快了运算的速度。FFT 算法将长序列的 DFT 分解为短序列的 DFT。N 点的 DFT 先分解为 2 个 N/2 点的 DFT

9、,每个 N/2 点的 DFT 又分解为 2 个 N/4 点的 DFT。按照此规律,最小变换的点数即所谓的基数(radix)。”因此,基数为 2 的 FFT 算法的最小变换(或称蝶形)是 2 点 DFT。一般地,对 N 点 FFT,对应于 N 个输入样值,有 N 个频域样值与之对应。一般而言,FFT 算法可以分为时间抽取(DIT)FFT 和频率抽取(DIF)两大类。在实际计算中,可以采用在原来序列后面补 0 的加长方法来提高 FFT 的分辨率;可以采用在原来序列后面重复的加长方法来增加 FFT 的幅度。.4 实验内容.软件仿真实验:分别观察并记录正弦序列、方波序列及改变 FFT 的点数后的频谱;

10、分别观察并记录正弦序列、方波序列及 2 种加长序列等信号的频谱。.硬件实验:分别观察并记录正弦信号、方波信号及改变 FFT 的点数后的频谱。MATLAB 参考程序和仿真内容functionx=ffts(mode,M)Nfft=2AM;x=zeros(1,Nfft);%定义一个长度为 Nfft 的一维全 0 数组ifmode=1forn=0:Nfft-1x(n+1)=sin(2*pi*n/Nfft);endend%定义一个长度为 Nfft 的单周期正弦序列ifmode=2forn=0:Nfft-1x(n+1)=sin(4*pi*n/Nfft);endend%定义一个长度为 Nfft 的双周期正弦

11、序列ifmode=3forn=0:Nfft/2-1x(n+1)=sin(4*pi*n/Nfft);endend%定义一个长度为 Nfft/2 的正弦序列,后面一半为 0 序列。ifmode=4forn=0:Nfft-1x(n+1)=square(2*pi*n/Nfft);endendifmode=5forn=0:Nfft-1x(n+1)=square(2*pi*n/Nfft);endendifmode=6forn=0:Nfft/2-1x(n+1)=square(4*pi*n/Nfft);endendn=0:Nfft-1;subplot(2,1,1);stem(n,x);axis(0Nfft-1

12、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(0Nfft-11.1*min(X)1.1*max(X);xlabel(frequency-);ylabel(!X(k)!);%*%假设需观察方波信号的频谱,对一个周期的方波信号作 32 点的 FFT,则只需在 MATLAB的命令窗口下键入:x=ffts(21,5),程序进行模拟,并且输出 FFT 的结果。关于软件仿真实验内容,建议在完成大量仿真例子的基础上,选择能够体现实验要求的 4个以上的例子进行记录

13、。例如要观察后面补 0 的加长方法来提高 FFT 的分辨率的现象,可以仿真 ffts(4,5)和 ffts(6,6)两个例子。硬件实验步骤.将低频信号源输出加到实验箱模拟通道 1 输入端,将示波器探头接至模拟通道 1 输出端。.在保证实验箱正确加电且串口电缆连接正常的情况下,运行数字信号处理与 DSP 应用实验开发软件, 在数字信号处理实验”菜单下选择“FFT谱分析”子菜单, 出现显示 FFT 频谱分析功能提示信息的窗口。.用低频信号产生器产生一个 1KHz 的正弦信号。.选择 FFT 频谱分析与显示的点数为 64 点,开始进行 FFT 运算。此后,计算机将周期性地取回 DSP 运算后的 FF

14、T 数据并绘图显示.改信号源频率,观察并记录频谱图的变化。.选择 FFT 的点数为 128 点,观察并记录频谱图的变化。.更改正弦信号的频率,重复步骤 4步骤 6。.用低频信号产生器产生一个 1KHz 的方波信号,重复步骤 4步骤 7。注意:应根据实验箱采样频率 fs 为 10KHz 和方波信号的频带宽度选择方波信号的频率。本硬件实验要进行两种信号,每个信号两种频率,每个信号两种点数等共 8 次具体实验内容,性质能够体现实验要求的 4 个以上的例子进行记录。.7 思考题.对同一个信号,不同点数 FFT 观察到的频谱图有何区别?.序列加长后 FFT 与原序列 FFT 的关系是什么,试推导其中一种

15、关系。.用傅立叶级数理论,试说明正弦信号频谱和方波信号频谱之间的关系。IIR 滤波器设计实验实验目的.通过实验加深对 IIR 滤波器基本原理的理解。.学习编写 IIR 滤波器的 MATLAB 仿真程序。.2 实验仪器.YBLD 智能综合信号源测试仪 1 台.双踪示波器 1 台.MCOMTG305 数字信号处理与现代通信技术实验箱 1 台.PC 机(装有 MATLAB、MCOM-TG305 配套实验软件)1 台.3 实验原理IIR 滤波器有以下几个特点:.IIR 数字滤波器的系统函数可以写成封闭函数的形式。IIR 数字滤波器采用递归型结构,即结构上带有反馈环路。IIR 滤波器运算结构通常由延时、

16、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。IIR 数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。在设计一个 IIR 数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。IIR 数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。在 MATLAB 下设计 IIR 滤波器可使用 Butterwor

17、th 函数设计出巴特沃斯滤波器,使用 Chebyl 函数设计出契比雪夫 I 型滤波器,使用 Cheby2 设计出契比雪夫 II 型滤波器,使用 ellipord 函数设计出椭圆滤波器。下面主要介绍前两个函数的使用。与 FIR 滤波器的设计不同,IIR 滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等),由软件设计出满足这些参数的最低滤波器阶数。在MATLAB 下设计不同类型 IIR 滤波器均有与之对应的函数用于阶数的选择。一、巴特沃斯 IIR 滤波器的设计在 MATLAB 下,设计巴特沃斯 IIR 滤波器可使用 butter 函数。Butt

18、er 函数可设计低通、高通、带通和带阻的数字和模拟 IIR 滤波器,其特性为使通带内的幅度响应最大限度地平坦, 但同时损失截止频率处的下降斜度。 在期望通带平滑的情况下, 可使用 butter函数。butter 函数的用法为:b,a=butter(n,Wn,/ftype/)其中 n 代表滤波器阶数,Wn 代表滤波器的截止频率,这两个参数可使用 buttord 函数来确定。buttord 函数可在给定滤波器性能的情况下,求出巴特沃斯滤波器的最小阶数 n,同时给出对应的截止频率 Wn。buttord 函数的用法为:n,Wn=buttord(Wp,Ws,Rp,Rs)其中 Wp 和 Ws 分别是通带和

19、阻带的拐角频率(截止频率),其取值范围为 0 至 1 之间。当其值为 1 时代表采样频率的一半。Rp 和 Rs 分别是通带和阻带区的波纹系数。.高通滤波器:Wp 和 Ws 为一元矢量且 WpWs;.低通滤波器:Wp 和 Ws 为一元矢量且 WpWs;.带通滤波器:Wp 和 Ws 为二元矢量且 WpWs,如 Wp=0.1,0.8,Ws=0.2,0.7。二、契比雪夫 I 型 IIR 滤波器的设计在期望通带下降斜率大的场合,应使用椭圆滤波器或契比雪夫滤波器。在 MATLAB 下可使用 chebyl 函数设计出契比雪夫 I 型 IIR 滤波器。cheby1 函数可设计低通、高通、带通和带阻契比雪夫 I

20、 型滤 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 分别是通带和阻带的拐角频率(截止频率),其取值范围为 0 至 1 之

21、间。当其值为 1 时代表采样频率的一半。Rp 和 Rs 分别是通带和阻带区的波纹系数。.4 实验内容.软件仿真实验:编写并调试 MATLAB 程序,选择不同形式,不同类型的 4 种滤波器进行仿真,记录幅频和相频特性,对比巴特沃斯滤波器和契比雪夫滤波器。.硬件实验:设计 IIR 滤波器,在计算机上观察冲激响应、幅频特性和相频特性,然后下载到实验箱。用示波器观察输入输出波形,测试滤波器的幅频响应特性。.5MATLAB 参考程序和仿真内容不同类型(高通、低通、带通和带阻)滤波器对应的Wp 和 Ws 值遵循以下规则:%mode:1-巴特沃斯低通;2-巴特沃斯高通;3-巴特沃斯带通;4-巴特沃斯带阻%5

22、-契比雪夫低通;6-契比雪夫高通;7-契比雪夫带通;%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 频率 wnifmode3N,wn

23、=buttord(wp1,ws1,rp,as);elseifmode5N,wn=buttord(wp1wp2,ws1ws2,rp,as);%得到契比雪夫滤波器的最小阶数 N 和 3bd 频率 wnelseifmode);phase=angle(freq_response);subplot(3,1,2);plot(f,phase);grid;%相频特性axis(0sample/21.1*min(phase)1.1*max(phase);ylabel(Phase);xlabel(Frequency-);h=impz(b,a,32);%32 点的单位函数响应t=1:32;subplot(3,1,3)

24、;stem(t,h);grid;axis(0321.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=b0b1bna=a0a1an关于软件仿真实验内容,建议在完成大量仿真例子的基础上,选择能够体现实验要求

25、的 4个例子进行记录,系统函数只要记录系统的阶数。.6 硬件实验步骤.根据实验箱采样频率 fs 为 10KHz 的条件,用低频信号发生器产生一个频率合适的低频正弦信号,将其加到实验箱模拟通道 1 输入端,将示波器通道 1 探头接至模拟通道 1 输入端,通道 2 探头接至模拟通道 2 输出端。.在保证实验箱正确加电且串口电缆连接正常的情况下,运行数字信号处理与 DSP 应用实验开发软件,在数字信号处理实验菜单下选择“IIFRI 波器”子菜单,出现提示信息。.输入滤波器类型、滤波器截止频率等参数后,分别点击幅频特性”和相频特性”按钮,在窗口右侧观察 IIR 滤波器的幅频特性和相频特性。此时提示信息

26、将消失,如需查看提示信息,可点击设计说明”按钮。.点击下载实现按钮,IIR 滤波器开始工作,此时窗口右侧将显示 IIR 滤波器的幅频特性。.根据输入滤波器类型,更改低频信号源的频率,观察示波器上输入输出波形幅度的变化情况,测量 IIR滤波器的幅频响应特性,看其是否与设计的幅频特性一致。.更改滤波器类型、滤波器截止频率等参数(共 4 种),重复步骤 3 至步骤 5。所选择的例子参数最好和 MATLAB 仿真程序的例子一样。.用低频信号产生器产生一个 500Hz 的方波信号,分别设计 3 种滤波器,完成如下表要求的功能,并且记录参数和波形。功能滤波器类型参数输出波形fp1fp2fs1fs2通过 3

27、 次及以下次数的谐波另外记录图形,并标图号滤除 5 次及以下次数的谐波通过 3 次到 5 次的谐波3.7 思考题.在实验箱采样频率 fs 固定为 10KHz 的条件下,要观察方波信号频带宽度内的各个谐波分量,方波信号的频率最高不能超过多少,为什么?.硬件实验内容 7 中输出信号各个谐波分量,与原来方波信号同样谐波分量相比,有没有发生失真?主要发生了什么类型的失真?为什么?4 窗函数法 FIR 滤波器设计实验4.1 实验目的.通过实验加深对 FIR 滤波器基本原理的理解。.学习使用窗函数法设计 FIR 滤波器,了解窗函数的形式和长度对滤波器性能的影响。.2 实验仪器.YBLD 智能综合信号源测试

28、仪 1 台.双踪示波器 1 台.MCOMTG305 数字信号处理与现代通信技术实验箱 1 台.PC 机(装有 MATLAB、MCOM-TG305 配套实验软件)1 台.3 实验原理数字滤波器的设计是数字信号处理中的一个重要内容。数字滤波器设计包括 FIR(有限单位脉冲响应)滤波器与 IIR(无限单位脉冲响应)滤波器两种。与 IIR 滤波器相比, FIR 滤波器在保证幅度特性满足技术要求的同时, 很容易做到严格的线性相位特性。设 FIR 滤波器单位脉冲响应 h(n)长度为 N,其系统函数 H(z)为:H(z)是 z-1 的 N1 次多项式,它在 z 平面上有 N-1 个零点,原点 z=0 是 N

29、-1 阶重极点,因此 H(z)是永远稳定的。稳定和线性相位特性是 FIR 滤波器突出的优点。FIR 滤波器的设计任务是选择有限长度的 h(n)。使传输函数 H()满足技术要求。FIR 滤波器的设计方法有多种,如窗函数法、频率采样法及其它各种优化设计方法,本实验介绍窗函数法的 FIR 滤波器设计。窗函数法是使用矩形窗、三角窗、巴特利特窗、汉明窗、汉宁窗和布莱克曼窗等设计出标准响应的高通、低通、带通和带阻 FIR 滤波器。一、firl 函数的使用在 MATLAB 下设计标准响应 FIR 滤波器可使用 firl 函数。firl 函数以经典方法实现加窗线性相位 FIR 滤波器设计,它可以设计出标准的低

30、通、带通、高通和带阻滤波器。firl 函数的用法为:b=firl(n,Wn,/ftype/,Window)各个参数的含义如下:b 一滤波器系数。对于一个 n 阶的 FIR 滤波器,其 n+1 个滤波器系数可表示为:b(z)=b(1)+b(2)z1+b(n+1)zn。n 一滤波器阶数。Wn 一截止频率,0WWnCl,Wn=1 对应于采样频率的一半。当设计带通和带阻滤波器时,Wn=W1W2,WK3WW2oftype当指定 ftype 时,可设计高通和带阻滤波器。Ftype=high 时,设计高通 FIR 滤波器;ftype=stop 时设计带阻 FIR 滤波器。低通和带通 FIR 滤波器无需输入 ftype 参数。Window窗函数。窗函数的长度应等于 FIR 滤波器系数个数,即阶数 n+1。二、窗函数的使用在 MATLAB 下,这些窗函数分别为:.矩形窗:w=boxcar(n),产生一个 n 点的矩形窗函数。.三角窗:w=triang(n),产生一个 n 点的三角窗函数。当 n 为奇数时,三角窗系数为 w(k)=当 n 为偶数时,三角窗系数为 w(k)=.巴特利特窗:w=Bartlett(n),产生一个 n 点的巴特利特窗函数。巴特利特窗系数为 w(k)=巴特利特窗与三角窗非常相似。巴特利特窗在

温馨提示

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

评论

0/150

提交评论