数字滤波器的设计及实现

上传人:飞*** 文档编号:4881491 上传时间:2017-08-26 格式:DOC 页数:14 大小:1.59MB
返回 下载 相关 举报
数字滤波器的设计及实现_第1页
第1页 / 共14页
数字滤波器的设计及实现_第2页
第2页 / 共14页
数字滤波器的设计及实现_第3页
第3页 / 共14页
数字滤波器的设计及实现_第4页
第4页 / 共14页
数字滤波器的设计及实现_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《数字滤波器的设计及实现》由会员分享,可在线阅读,更多相关《数字滤波器的设计及实现(14页珍藏版)》请在金锄头文库上搜索。

1、.电 子 科 技 大 学实 验 报 告学生姓名 Shrimp 学 号: 指导教师:一、实验室名称:数字信号处理实验室二、实验项目名称:数字滤波器的设计及实现三、实验原理:一数字滤波器设计:1数字滤波器设计步骤:(1) 根据给定的滤波器设计要求,得到参数化描述,即通带,阻带截止频率 和 ,通带阻带纹波 和 等数据。ps ps(2) 找一个数字系统函数 G(z),使其频率响应逼近设计要求。(3) 择合适的滤波器结构对满足要求的传递函数 G(z)进行实现。2数字滤波器设计中的注意事项:(1) 设计要求的参数化:图 1 给出了一个典型的数字低通滤波器的幅频特性说明。理解每个参数的物理含义。(2) 滤波

2、器类型选择:在数字滤波器实现中可选择 IIR 滤波器和 FIR滤波器两种。在实现相同幅频特性时,IIR 滤波器的阶数会相对FIR 滤波器的更低;而在实现中,对相同阶数的两种滤波器来看,对每个采样值所做的乘法数量,IIR 约为 FIR 的两倍;另外,)( jeGP1P1 sS P P S通带 阻带过渡带图 1.典型的数字 LPF 幅频特性.FIR 还可以方便地设计成线性相位滤波器。总的来说,IIR 滤波器除不能实现线性相位这一点外,由于阶数的原因,从计算复杂度上较 FIR 滤波器有很大的优势。根据以上这些区别,结合实际的设计要求,就可以选择一款合适的滤波器。(3) 波器设计的方法:由于 IIR

3、滤波器和 FIR 滤波器各自的结构特点,所以它们的设计方法也不一样。在 IIR 滤波器的设计中,常用的方法是:先根据设计要求寻找一个合适的模拟原型滤波器 ,)(sHa然后根据一定的准则将此模拟原型滤波器转换为数字滤波器,即为我们需要设计的数字滤波器。在 FIR 滤波器设计中,)(zG一般使用比较直接的方法:根据设计的要求在时域对理想的冲击响应序列进行加窗逼近,或从频域对需要实现的频率响应特性进行采样逼近然后进行反 FFT。(4) 波器阶数估计:IIR 滤波器的阶数就等于所选的模拟原型滤波器的阶数,所以其阶数确定主要是在模拟原型滤波器设计中进行的。FIR 滤波器阶数估计可以根据很多工程中的经验公

4、式,这些公式可以直接从设计的参数要求中估计滤波器阶数。例如,对 FIR 低通滤波器,已知通带截止频率 ,阻带截止频率 ,最大通带ps纹波 和最大最带纹波 ,则可以使用下面的公式估计其阶数:ps2/)(6.1413log20pssN3数字滤波器的设计方法:(1) IIR 滤波器设计方法:(a)冲击响应不变法:A. 满足设计要求的模拟原型滤波器 进行部分分式展开为:)(sHaB. 由于 ,可以得到:(b)双线性变换法:A. 设计要求中给出的边界频率进行预畸处理,然后用得到的频率进行模拟滤波器设计,得到模拟原型滤波器 。)(sHaNkkasAsH1)( )0Remaxk)()nThgaNkTskze

5、zG11.B. 用双线性变换法求出数字滤波器: 。1|)(zasHzG(2) FIR 滤波器设计方法:(a)窗函数法:A. 根据设计的要求选择合适的窗函数 ,然后根据此窗计)(nw算阶数等参数 N。B. 写出冲击响应序列的表达式: ,其中,)()(hNd为理想的冲击响应序列,一般为无限长的, 为)(nhd )(n长度为 N 的窗函数。C. 计算所得冲击响应序列 的 DTFT,然后验证其是否满足)(nh设计要求。(b)频率采样法:A. 根据设计要求估算滤波器阶数 N。B. 对要求的频率响应特性进行采样,获得 N 个离散样点值 H(k)。C. 对 H(k)求 N 点 IFFT,得到所需要的滤波器冲

6、击响应序列h(n)。D. 计算所得冲击响应序列 的 DTFT,然后验证其是否满足)(nh设计要求。4滤波器的实现结构(a) FIR 滤波器:直接型实现结构级联结构并联结构多相实现结构线性相位型结构(b) IIR 滤波器:直接型实现结构:I 型和 II 型级联结构并联结构具体结构形式参见教材第六章内容。二在滤波器设计中使用到的 MATLAB 命令:1. IIR 滤波器设计函数:butter, buttord, chebwin, cheb1ord, cheb2ord, cheby1, cheby2, ellip, ellipord。例如:用下面的 MATLAB 命令可估算一个 Butterwort

7、h 滤波器的阶数:N, Wn = buttord(Wp, Ws, Rp, Rs).2. FIR 滤波器设计函数:fir1, fir2, remez, remezord, kaiser, kaiserord, hanning, hamming, blackman。例如:用下面的 MATLAB 命令可根据式(7.18)估算一个 FIR 滤波器阶数:N, fpts,mag,wt = remezord(fedge,mval,dev)3. MATLAB 中提供的滤波器设计辅助设计软件(在命令窗口中键入“fdatool”即可启动) ,界面如下图 1 所示。在本界面中填写需要设计的滤波器参数,即可设计出需要

8、的滤波器。还可以通过本工具提供的幅度,相位观察窗口观察设计出来的滤波器的幅度,相位特性等,并可以将设计好的滤波器冲激响应系数导出进行实现。图 1 MATLAB 中滤波器辅助设计软件界面四、实验目的:从理论上讲,任何的线性时不变(LTI)离散时间系统都可以看做一个数字滤波器,因此设计数字滤波器实际就是设计离散时间系统。本实验通过使用 MATLAB 函数和滤波器辅助设计软件对数字滤波器进行设计和实现,加深学生对数字滤波器的常用指标、设计过程及实现的理解。五、实验内容:对给定的输入信号(基带二进制码元为 500Hz,两个载频分别为 2kHz 和4kHz 的 FSK 调制信号)进行滤波。利用 MATL

9、AB 编程设计一个数字低通滤波器,指标要求如下:通带截止频率: ;阻带截止频率 : ;采样2.1pfkHz3.5sfkHz.频率 ;通带峰值起伏: ;最小阻带衰减: 。20pfkHz1pdB40SdB要求分别用 MATLAB 中的 IIR 和 FIR 设计命令进行滤波器设计,得出需要的滤波器系数。再将得到的滤波器系数在 MATLAB 中编程进行实现(选择直接型实现结果) ,对输入信号进行滤波,观察滤波结果。在提供的 DSP 实验板上编程对本滤波器过程进行实现,观察实际的滤波结果,并与理论结果对比。六、实验器材(设备、元器件):安装 MATLAB 软件的 PC 机一台,DSP 实验演示系统一套。

10、七、实验步骤:(1) 给定输入信号:FSK 信号(输入的二进制待调信号为随机信号,码元频率为 500Hz,两个载频分别为 2kHz 和 4kHz,采样频率为20kHz, ) 。利用 MATLAB 编程产生本信号,画出其时域和频域的图像。(2) 利用 MATLAB 编程设计一个数字低通滤波器,指标要求如下:通带截止频率: ;阻带截止频率: ;采样频率2.pfkHz3.5sfkHz;通带峰值起伏: ;最小阻带衰减:0pfkz1pdB。4SdB(3) 分别用 MATLAB 中的 IIR 和 FIR 设计命令进行滤波器设计,得出需要的滤波器系数。(4) (拓展要求)用 MATLAB 滤波器辅助设计软件

11、对上述滤波器进行设计,并将得到的滤波器系数对输入信号进行滤波,观察滤波实现。(5) 将得到的滤波器系数在 MATLAB 中编程进行实现(选择直接型实现结果进行实现) ,对(1)中的输入信号进行滤波(分别用 FIR和 IIR 滤波器进行) ,观察滤波结果,画出时域和频域图像。(6) (拓展要求)修改需要设计的滤波器的指标要求,比如:将通带截止频率修改为 2kHz,或者将最小阻带衰减改为 ,这20SdB时再重复(3)和(5)的步骤,观察所得到的滤波器效果,并对这一结果进行解释。(7) (拓展要求)在提供的 DSP 实验板上编程对滤波器滤波过程进行实现,观察实际的滤波结果,并与理论结果对比。八、实验

12、数据及结果分析:注:所用 MATLAB 版本:R2010b由于码元是随机生成的,所以每次运行程序的结果可能都会不同.程序:(1)产生输入 FSK 信号的程序%产生FSK 信号%信源numSymbol = 15; %码元数an = randn(1,numSymbol)0;Fd = 500; %码元速率Ta = 1/Fd; %码元时间间隔Fs = 20e3; %采样频率Ts = 1/Fs; %采样时间间隔delt = 0 : Ts : Ta; %一个码元的各采样时刻t = ;symbol=;for i=1:numSymbolt = t delt+i*Ta;if an(i) = 0nextSymbo

13、l = zeros(1,length(delt);elsenextSymbol = ones(1,length(delt);endsymbol = symbol nextSymbol;end%载波F1 = 4e3; F2 = 2e3; %两个载频,1对应F1,0对应F2w1 = 2*pi*F1; w2 = 2*pi*F2;carry1 = sin(w1*t); carry2 = sin(w2*t);%2FSK调制fskSignal = symbol.*carry1 + symbol.*carry2;%频谱y = fft(fskSignal);y = fftshift(y);f = linspa

14、ce(-Fs/2,Fs/2,length(y);%作图subplot(211), plot(t,symbol) axis(0 0.035 -0.5 1.5), title(信源 )subplot(212), plot(t,fskSignal)axis(0 0.035 -2 2), title(2FSK时域信号 ).figure,plot(f,abs(y)xlabel(Frequency), ylabel(Magnitude)(2) FIR 滤波器设计程序这里仿照教材中 Program 10_2 设计 Equirripple linear-phase FIR filter% FIR滤波器设计fo

15、rmat longfpp = 2.2e3; %通带截止频率fsp = 3.5e3; %阻带截止频率Fs = 20e3; %采样频率alphap = 1; %通带峰值起伏alphas = 40; %最小阻带衰减deltap = 1-10(-alphap/20);deltas = 10(-alphas/20);fedge = fpp,fsp;mval = 1 0;dev = deltap deltas;N,fpts,mag,wt = remezord(fedge,mval,dev,Fs);b = remez(N,fpts,mag,wt);disp(FIR Filter Coefficients); disp(b)h,w = freqz(b,1,256);plot(w/pi,20*log10(abs(h);grid;xlabel(omega/pi); ylabel(Gain, dB);(3) IIR 滤波器设计程序这里采用 Butterworth 滤波器% IIR滤波器设计%fpp = 2.2e3; %通带截止频率%fsp = 3.5e3; %阻带截止频率%Fs = 20e3; %采样频率%alphap = 1; %通带峰值起伏%alphas = 40; %最小阻带衰减.clear N wWp = 2*fpp/Fs; %归一化通带截止频率Ws = 2*fsp/F

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 研究报告 > 技术指导

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号