(最新整理)数字信号处理滤波器的设计_第1页
(最新整理)数字信号处理滤波器的设计_第2页
(最新整理)数字信号处理滤波器的设计_第3页
(最新整理)数字信号处理滤波器的设计_第4页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、(完整)数字信号处理滤波器的设计(完整)数字信号处理滤波器的设计 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)数字信号处理滤波器的设计)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为(完整)数字信号处理滤波器的设计的全部内容。综合实验报告( 2010- 2011 年度第 2 学期)名 称: 数字信号处理综合实验

2、 院 系: 电子与电气工程学院 班 级: 学 号: 学生姓名: 指导教师: 孙正 宋文妙 设计周数: 1 成 绩: 日期: 2011年 月 日1、设计题目:11 目的与要求1、掌握数字信号处理基础课程的基本理论;2、掌握应用matlab进行数字信号处理的程序设计方法。12 主要内容设计题目及设计要求:已知低通数字滤波器的性能指标如下:,1、 选择合适的窗函数,设计满足上述指标的数字线性相位fir低通滤波器。用一个图形窗口,包括四个子图,分析显示滤波器的单位冲激响应、相频响应、幅频响应和以db为纵坐标的幅频响应曲线。2、 用双线性变换法,设计满足上述指标的数字chebyshev i型低通滤波器。

3、用一个图形窗口,包括三个子图,分析显示滤波器的幅频响应、以db为纵坐标的幅频响应和相频响应.3、 已知模拟信号 其中,取采样频率.(1) 以对进行取样,得到。用一个图形窗口,包括两个子图,分别显示以及()的波形;(2) 用fft对进行谱分析,要求频率分辨率不超过5hz。求出一个记录长度中的最少点数,并用一个图形窗口,包括两个子图,分别显示以及的幅值;(3) 用要求1中设计的线性相位低通数字滤波器对进行滤波,求出滤波器的输出,并用fft对进行谱分析,要求频率分辨率不超过5hz。求出一个记录长度中的最少点数,并用一个图形窗口,包括四个子图,分别显示()、()和的幅值;(4) 用要求2中设计的che

4、byshev低通数字滤波器对进行滤波,求出滤波器的输出,并用fft对进行谱分析,要求频率分辨率不超过5hz.求出一个记录长度中的最少点数,并用一个图形窗口,包括四个子图,分别显示()、()和的幅值。2、设计原理及方法:2。1 窗函数设计数字线性相位fir低通滤波器1、根据设计给出的技术指标,计算允许的过渡带宽度及阻带衰减,初步选择窗函数和n值.2、若选用理想低通逼近,则计算积分,求出理想低通的冲激响应hd(n);理想低通的截止频率选择为wc=(ws+wp)/2,hd(n)=sinwc(na)/pin-a);3、将hd(n)与窗函数相乘的fir数字滤波器的冲激响应h(n):h(n)=hd(n)w

5、(n)4、计算fir数字滤波器的频率响应,并验证是否达到所要求的指标.2。2 双线性变换法设计的数字chebyshev i型低通滤波器1、根据设计给出的数字滤波器的技术指标,计算模拟原型低通的指标2、模拟切比雪夫1型滤波器的计算,利用functionb,a=afd_cheb1(wp,ws,rp,as)进行切比雪夫1型模拟滤波器的设计;利用functionb,a=cheb1ap_o(n,rp,omega)非归一化的切比雪夫1型模拟原型低通滤波器的设计3、双线性变换法将ha(s)转换为h(z)4、直接型转换为级联型,计算数字滤波器的频率响应,并验证是否达到所要求的指标。2.3 模拟信号的波形产生和

6、采样及fft频谱分析和fir滤波及iir滤波n:一个记录长度中的取样数f:频率分辨率 fs:采样周期最小记录长度的选择:由 tp=nt=1/f可知,给定抽样频率和频率分辨率后,就可以得出最小记录长度 n=fs/ffft(x):计算n点的dft,n是序列的长度fft(x,l):计算l点的dft,若nl,则将原序列截短为l点的序列,再计算其l点的dft;若nl,则将原序列补零为l点的序列,再计算其l点的dft;ifft(x):计算n点的idft,n是频域序列的长度ifft(x,l):计算l点的idft,若nl,则将原序列截短为l点的序列,再计算其l点的idft;若nl,则将原序列补零为l点的序列,

7、再计算其l点的idft; 为了提高fft和ifft的计算效率,应尽量使序列长度n为2的幂次方,或将序列补零使其长度为2的幂次方。filter(b,a,x):可采用此函数给出滤波器的输出b=h(z)的分子多项式系数(对fir b=h)a=h(z)的分母多项式系数(对fir a=1)3、 实验代码:3.1用窗函数设计fir滤波器选择合适的窗函数,设计满足指标,的数字线性相位fir低通滤波器.用一个图形窗口,包括四个子图,分析显示滤波器的单位冲激响应、相频响应、幅频响应和以db为纵坐标的幅频响应曲线。思路: 海明窗和布莱克蔓窗均可以提供大于50db 的衰减。如果选用海明窗设计,则它提供较大的过渡带,

8、因此其具有较小的阶数。尽管在设计中用不到通带波动值rp=0。75db,但必须检验设计的实际波动,及验证它是否确实在给定容限内.matlab代码如下:%第一题clear;wp=0.26*pi;ws=0。41*pi;deltaw=ws-wp;%过渡带宽w的计算n0=ceil(6.6pi/deltaw)+1;%按海明窗计算所需的滤波器的阶数n=n0+mod(n0+1,2);%为了实现第一类偶对称滤波器,应使其长度n为奇数wdham=(hamming(n));%求窗函数wc=(ws+wp)/2;截止频率取为两边界频率的平均值tao=(n-1)/2;n=0:n-1;m=ntao+eps;%eps加一个很

9、小的数以避免用0来除hd=sin(wc*m)./(pi*m);%求理想脉冲响应h=hd。*wdham;%设计的脉冲响应为理想脉冲响应与窗函数的乘积h,w=freqz(h,1,1000,whole);h=(h(1:1:501));w=(w(1:1:501));对设计结果进行检验mag=abs(h);db=20*log10((mag+eps)。/max(mag));pha=angle(h);grd=grpdelay(h,1,w);dw=2*pi/1000;rp=(min(db(1:wp/dw+1));%检验通带波动as=round(max(db(ws/dw+1:501);%检验最小阻带衰减fpri

10、ntf(*fir低通滤波器滤波器的长度n=%2。0fn,n);%fprintf(*fir低通滤波器通带波动rp=0。4fn,rp);fprintf(*fir低通滤波器最小阻带衰减as=2.0fn,as);%绘图n=0:n1;figure(1);subplot(2,2,1);stem(n,hd,。);title(单位冲激响应);grid;axis(0 n-1 -0.2 0.3);ylabel(hd(n));xlabel(n);text(n+1,0。1,n);subplot(2,2,2);plot(w/pi,mag);title(幅频响应);grid;axis(0 0.8 0 1.1);ylabe

11、l(幅度);xlabel(以pi为单位的频率);subplot(2,2,3);plot(w/pi,pha);title(相频响应);grid;axis(0 0。8 4 4);ylabel(相位);xlabel(以pi为单位的频率);subplot(2,2,4);plot(w/pi,db);title(以db为纵坐标的幅频响应);grid;axis(0 1 -100 10);ylabel(db);xlabel(频率(单位:pi);3。2双线性变换法设计数字chebyshev1型低通滤波器用双线性变换法,设计满足上述指标的数字chebyshev i型低通滤波器.用一个图形窗口,包括三个子图,分析显

12、示滤波器的幅频响应、以db为纵坐标的幅频响应和相频响应。思路:先将数字滤波器的指标转换成模拟原型低通指标,计算出模拟切比雪夫1型滤波器,再用双线性变换法将其转换为切比雪夫1型数字滤波器.matlab程序如下:%第二题!-%双线性变换法设计切比雪夫1型数字滤波器%数字滤波器指标wp=0。26pi; rp=0。75; ws=0。41pi; as=50;%转换成模拟原型低通指标t=1;fs=1/t;omegap=(2/t)tan(wp/2);omegas=(2/t)tan(ws/2);模拟切比雪夫1型滤波器的计算cs,ds=afd_chebl(omegap,omegas,rp,as);%双线性变换法

13、b,a=bilinear(cs,ds,fs);c,b,a=dir2cas(b,a)%直接型转换为并联型%计算数字滤波器的频率响应db,mag,pha,grd,w=freqz_m(b,a);figure(2);subplot(2,2,1);plot(w/pi,mag);title(幅频响应);grid;axis(0 0.8 0 1.1);ylabel(幅度);xlabel(以pi为单位的频率);subplot(2,2,2);plot(w/pi,db);title(幅频响应(db));grid;axis(0 0.8 60 1);ylabel(对数幅度/db);xlabel(以pi为单位的频率);s

14、ubplot(2,2,3);plot(w/pi,pha);title(相位响应);grid;axis(0 0。8 -4 4);ylabel(相位);xlabel(以pi为单位的频率);3。3已知模拟信号其中,,取采样频率。要求:3。3。1 以对进行取样,得到。用一个图形窗口,包括两个子图,分别显示以及()的波形;思路:令变量m=n*t(),用m值代替t带入上面的函数对x(t)进行采样得到x(n),将x(t)及x(n)的波形输出matlab程序如下:%第三题-%第一问f1=120;f2=4980;f3=3250;f4=1150;t=0:0.0001:10;t的步长y= 2*sin(2*pif1t

15、)+5sin(2*pif2t)+8*cos(2*pi*f3*t)+7。5*cos(2pi*f4t);fs=10000;t=1/fs;n=0:511;m=nt;p=2sin(2pi*f1m)+5sin(2*pif2*m)+8cos(2*pi*f3*m)+7。5cos(2pi*f4m);figure(3);subplot(2,1,1);plot(t,y);title(x(t);grid;axis(0 0。0511 -30 30);xlabel(时间);ylabel(幅值);subplot(2,1,2);stem(n,p);title(x(n));grid;axis(0 511 -30 30);xl

16、abel(n);ylabel(幅值);3。3.2用fft对进行谱分析,要求频率分辨率不超过5hz。求出一个记录长度中的最少点数,并用一个图形窗口,包括两个子图,分别显示以及的幅值;思路: 频率分辨率f=5;采样频率fs=10000;采样周期t=1/fs,所以一个记录长度中的最少点数nx=fs/f=2000,因为要选用基2时间抽取算法,所以取n=2048matlab程序如下:%第二问f=5;fs=10000;t=1/fs;nx=fs/f;n=2048;%求出nx=2000,选用基2时间抽取算法,所以取n=2048n=0:n-1;m=nt;k=0:n-1;xn=2sin(2*pi*f1m)+5si

17、n(2pi*f2*m)+8cos(2*pi*f3*m)+7.5*cos(2*pi*f4m);xk=fft(xn,n);magxk=abs(xk);phaxk=angle(xk);fprintf(*nx=%3。0fn,nx);figure(4);subplot(2,1,1);stem(n,xn);title(序列x(n)的幅值);grid;axis(0 2047 -30 30);xlabel(n);ylabel(xn);subplot(2,1,2);stem(k,magxk);title(序列x(k)的幅值);grid;axis(0 2047 0 8000);xlabel(k);ylabel(x

18、k);3.3.3用要求1中设计的线性相位低通数字滤波器对进行滤波,求出滤波器的输出,并用fft对进行谱分析,要求频率分辨率不超过5hz.求出一个记录长度中的最少点数,并用一个图形窗口,包括四个子图,分别显示()、()和的幅值;思路: 函数fftfilt()可以实现fir滤波,同上取记录长度中的最少点数ny1=fs/f=2000, 选用基2时间抽取算法,所以取n=2048matlab程序如下:第三问yn1=fftfilt(h,xn);n0=length(yn1);fs=10000;f=5;ny1=fs/f;n=2048;求出nx=2000,选用基2时间抽取算法,所以取n=2048n1=0:n0-

19、1;k=0:n-1;yk1=fft(yn1,n);magyk1=abs(yk1);phayk1=angle(yk1);fprintf(*ny1=3。0fn,ny1);figure(5);subplot(2,2,1);stem(n,xn);title(序列x(n)的幅值);grid;axis(0 2047 30 30);xlabel(n);ylabel(xn);subplot(2,2,2);stem(k,magxk);title(序列x(k)的幅值);grid;axis(0 2047 0 7000);xlabel(k);ylabel(xk);subplot(2,2,3);stem(n1,yn1)

20、;title(序列y1(n)的幅值);grid;axis(0 2047 -10 10);xlabel(n);ylabel(yn1);subplot(2,2,4);stem(k,magyk1);title(序列y1(k)的幅值);grid;axis(0 2047 0 6000);xlabel(k);ylabel(yk1);3.3.4用要求2中设计的chebyshev低通数字滤波器对进行滤波,求出滤波器的输出,并用fft对进行谱分析,要求频率分辨率不超过5hz。求出一个记录长度中的最少点数,并用一个图形窗口,包括四个子图,分别显示()、()和的幅值.思路: 函数filtfilt()可以实现iir滤

21、波,同上取记录长度中的最少点数ny1=fs/f=2000, 选用基2时间抽取算法,所以取n=2048matlab程序如下:%第四问yn2=filtfilt(b,a,xn);n0=length(yn2);fs=10000;f=5;ny2=fs/f;n=2048;%求出nx=2000,选用基2时间抽取算法,所以取n=2048n2=0:n01;k=0:n1;yk2=fft(yn2,n);magyk2=abs(yk2);%phayk2=angle(yk2);fprintf(*ny2=%3.0fn,ny2);figure(6);subplot(2,2,1);stem(n,xn);title(序列x(n)

22、的幅值);grid;axis(0 2047 -30 30);xlabel(n);ylabel(xn);subplot(2,2,2);stem(k,magxk);title(序列x(k)的幅值);grid;axis(0 2047 0 7000);xlabel(k);ylabel(xk);subplot(2,2,3);stem(n2,yn2);title(序列y1(n)的幅值);grid;axis(0 2047 10 10);xlabel(n);ylabel(yn2);subplot(2,2,4);stem(k,magyk2);title(序列y1(k)的幅值);grid;axis(0 2047 0 6000);xlabel(k);ylabel(yk2);3。4 以上主程序用到的函数:%切比雪夫1型模拟滤波器的设计函数functionb,a=afd_cheb1(wp,ws,rp,as)if wp=0error(通带必须大于0);endif ws=wperror(阻带边缘必须大于通带边缘)endif(rp=0)(asmb=b zeros(1,nm);elseif mna=a zeros(1,mn);n=m;elsenm=0;e

温馨提示

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

评论

0/150

提交评论