实验六数字滤波器设计

合集下载

实验六用窗函数法设计FIR滤波器分析解析

实验六用窗函数法设计FIR滤波器分析解析

实验六用窗函数法设计FIR滤波器分析解析一、引言数字滤波器是数字信号处理中的重要组成部分。

滤波器可以用于去除噪声、调整频率响应以及提取感兴趣的信号。

有许多方法可以设计数字滤波器,包括窗函数法、频域法和优化法等。

本实验将重点介绍窗函数法设计FIR滤波器的原理和过程。

二、窗函数法设计FIR滤波器窗函数法是设计FIR滤波器的一种常用方法。

其基本原理是将滤波器的频率响应与理想滤波器的频率响应进行乘积。

理想滤波器的频率响应通常为矩形函数,而窗函数则用于提取有限长度的理想滤波器的频率响应。

窗函数的选择在FIR滤波器的设计中起着重要的作用。

常用的窗函数包括矩形窗、汉宁窗、汉明窗、布莱克曼窗等。

对于每种窗函数,都有不同的特性和性能指标,如主瓣宽度、副瓣抑制比等。

根据不同的应用需求,可以选择合适的窗函数。

窗函数法设计FIR滤波器的具体步骤如下:1.确定滤波器的阶数N。

阶数N决定了滤波器的复杂度,一般情况下,阶数越低,滤波器的简单度越高,但频率响应的近似程度也会降低。

2.确定滤波器的截止频率。

根据应用需求,确定滤波器的截止频率,并选择合适的窗函数。

3.根据窗函数长度和截止频率计算理想滤波器的频率响应。

根据所选窗函数的特性,计算理想滤波器的频率响应。

4.根据理想滤波器的频率响应和窗函数的频率响应,得到所需的FIR滤波器的频率响应。

将理想滤波器的频率响应与窗函数的频率响应进行乘积,即可得到所需滤波器的频率响应。

5.对所得到的频率响应进行逆傅里叶变换,得到时域的滤波器系数。

6.实现滤波器。

利用所得到的滤波器系数,可以通过卷积运算实现滤波器。

三、实验结果与分析本实验以Matlab软件为平台,利用窗函数法设计了一个低通滤波器。

滤波器的阶数为16,截止频率为500Hz,采样频率为1000Hz,选择了汉宁窗。

根据上述步骤,计算得到了所需的滤波器的频率响应和时域的滤波器系数。

利用这些系数,通过卷积运算,实现了滤波器。

为了验证滤波器的性能,将滤波器应用于输入信号,观察输出信号的变化。

实验六 IIR数字滤波器设计及应用

实验六 IIR数字滤波器设计及应用

本科学生实验报告学号 **********************姓名 ****************学院物电学院专业、班级 ***************实验课程名称数字信号分析与处理教师及职称 *************** 开课学期 2015 至 2016学年上学期填报时间 2016 年 5 月 12 日云南师范大学教务处编印一、验设计方案 实验序号 实验六实验名称 IIR 数字滤波器设计及应用 实验时间2016/5/12实验室同析楼三栋313实验室1.实验目的加深理解IIR 数字滤波器的特性,掌握IIR 数字滤波器的设计原理与设计方法,以及IIR 数字滤波器的应用。

2. 实验原理、实验流程或装置示意图【例2.3.1】 设计一个数字滤波器,要求在0~0.2π(rad )内衰耗不大于3dB ,在0.6π~ π(rad )内衰耗不小于60dB 。

[解]若模拟低通滤波器原型采用巴特沃思滤波器: [N,Wc]=buttord(0.2,0.6,3,60);[b,a]=butter(N,Wc);reqz(b,a);axis([0,1,-120,0]);设计结果如图2.3.1所示。

可见IIR 是数字滤波器相位为非线性。

0.10.20.30.40.50.60.70.80.91-500-400-300-200-1000Normalized Frequency (⨯π rad/sample)P h a s e (d e g r e e s )0.10.20.30.40.50.60.70.80.91-100-50Normalized Frequency (⨯π rad/sample)M a g n i t u d e (d B )图2.3.1 Buttertworth 低通滤波器【例2.3.2】 设计一个数字带通滤波器,要求在100~200Hz 通带内纹波不大于3dB ,通带两边各50Hz 外是阻带,衰耗不小于40dB 。

数字滤波器设计实验报告

数字滤波器设计实验报告

数字滤波器设计实验报告刘古城65100609一、实验目的研究数字滤波器的设计思想,理解数字频域,模拟频域的关系,掌握数字系统处理模拟信号的方法。

FIR数字滤波器设计:掌握窗函数设计FIR数字滤波器的方法,理解FIR的意义:线性相位。

二、实验原理1、FIR的特点(1)系统的单位冲击响应在有限个n值处不为零。

(2)对于稳定系统,系统函数在| z |>0处收敛,极点全部在z=0处。

(3)结构上主要是非递归结构,没有输出到输入的反馈,但在个别结构中(如频率抽样结构)也包含反馈的递归部分‘2、FIR滤波器的优点(1)即具有严格的线性相位,又具有任意的幅度’(2)FIR滤波器的抽样响应是有限长的,因而滤波器的性能稳定。

(3)只要经过一定的延时,任何非因果的有限长序列都能变成有限长的因果的序列,因而能用因果系统来实现。

(4)FIR滤波器单位冲击响应是有限长的,因而可以进行快速傅立叶变换,提高运算效率。

3、用窗函数设计FIR数字滤波器对函数加窗处理,实际是用一个有限长函数来逼近原函数。

常用的窗函数有矩形窗、三角窗,汉宁窗、海明窗、布莱克曼窗、凯撒窗等。

三、实验要求1、设计FIR数字低通滤波器,要求在不同窗口长度(N=15,33)下,分别求出h(n),画出相应的幅频特性和相频特性曲线,观察3dB带宽和20dB带宽,总结窗口长度N对滤波特性的影响。

2、对三个拟合三角函数进行滤波处理。

3、对含噪心电信号函数进行滤波处理。

四、实验内容1、不同窗函数长度对于滤波特性的影响fs=100,N=32;n=0:N-1;t=n/fs;f0=n*fs/N;y=exp(-2*t);z=fft(y);m=abs(z);w1=blackman(N);z1=w1'.*y;x1=fft(z1),mo1=abs(x1);subplot(1,2,1);plot(f0,m/fs);subplot(1,2,2);plot(f0,mo1/fs)运行结果改变N值,令N=14,得到结果2、对三个拟合三角函数进行滤波clear;fs=2000;t=(1:1000)/fs;x=10*cos(2*pi*30*t)+cos(2*pi*150*t)+5*cos(2*pi*600*t); L=length(x);N=2^(nextpow2(L));Hw=fft(x,N);figure(1);subplot(2,1,1);plot(t,x);grid on;title('滤波前信号x');xlabel('时间/s');% 原始信号subplot(2,1,2);plot((0:N-1)*fs/L,abs(Hw));% 查看信号频谱grid on;title('滤波前信号频谱图');xlabel('频率/Hz');ylabel('振幅|H(e^jw)|');%% x_1=10*cos(2*pi*30*t)Ap=1;As=60;% 定义通带及阻带衰减dev=[(10^(Ap/20)-1)/(10^(Ap/20)+1),10^(-As/20)];% 计算偏移量mags=[1,0];% 低通fcuts=[60,100];% 边界频率[N,Wn,beta,ftype]=kaiserord(fcuts,mags,dev,fs);% 估算FIR滤波器阶数hh1=fir1(N,Wn,ftype,kaiser(N+1,beta));% FIR滤波器设计x_1=filter(hh1,1,x);% 滤波x_1(1:ceil(N/2))=[];% 群延时N/2,删除无用信号部分L=length(x_1);N=2^(nextpow2(L));Hw_1=fft(x_1,N);figure(2);subplot(2,1,1);plot(t(1:L),x_1);grid on;title('x_1=10*cos(2*pi*30*t)');xlabel('时间/s');subplot(2,1,2);plot((0:N-1)*fs/L,abs(Hw_1));% 查看信号频谱grid on;title('滤波后信号x_1频谱图');xlabel('频率/Hz');ylabel('振幅|H(e^jw)|');%% x_2=cos(2*pi*150*t)Ap=1;As=60;% 定义通带及阻带衰减dev=[10^(-As/20),(10^(Ap/20)-1)/(10^(Ap/20)+1),10^(-As/20)];% 计算偏移量mags=[0,1,0];% 带通fcuts=[80,120,180,220];% 边界频率[N,Wn,beta,ftype]=kaiserord(fcuts,mags,dev,fs);% 估算FIR滤波器阶数hh2=fir1(N,Wn,ftype,kaiser(N+1,beta));% FIR滤波器设计x_2=filter(hh2,1,x);% 滤波x_2(1:ceil(N/2))=[];% 群延时N/2,删除无用信号部分L=length(x_2);N=2^(nextpow2(L));Hw_2=fft(x_2,N);figure(3);subplot(2,1,1);plot(t(1:L),x_2);grid on;title('x_2=cos(2*pi*150*t)');xlabel('时间/s');subplot(2,1,2);plot((0:N-1)*fs/L,abs(Hw_2));% 查看信号频谱grid on;title('滤波后信号x_2频谱图');xlabel('频率/Hz');ylabel('振幅|H(e^jw)|');%% x_3=5*cos(2*pi*600*t)Ap=1;As=60;% 定义通带及阻带衰减dev=[10^(-As/20),(10^(Ap/20)-1)/(10^(Ap/20)+1)];% 计算偏移量mags=[0,1];% 高通fcuts=[500,550];% 边界频率[N,Wn,beta,ftype]=kaiserord(fcuts,mags,dev,fs);% 估算FIR滤波器阶数hh2=fir1(N,Wn,ftype,kaiser(N+1,beta));% FIR滤波器设计x_3=filter(hh2,1,x);% 滤波x_3(1:ceil(N/2))=[];% 群延时N/2,删除无用信号部分L=length(x_3);N=2^(nextpow2(L));Hw_3=fft(x_3,N);figure(4);subplot(2,1,1);plot(t(1:L),x_3);grid on;title('x_3=5*cos(2*pi*600*t)');xlabel('时间/s');subplot(2,1,2);plot((0:N-1)*fs/L,abs(Hw_3));% 查看信号频谱grid on;title('滤波后信号x_3频谱图');xlabel('频率/Hz');ylabel('振幅|H(e^jw)|');运行结果3、对含噪心电信号函数进行滤波处理。

实验六FIR数字滤波器的设计

实验六FIR数字滤波器的设计

实验六FIR数字滤波器的设计实验六FIR数字滤波器的设计⼀、实验⽬的(1)掌握⽤窗函数法设计FIR数字滤波器的原理和⽅法。

(2)掌握⽤等波纹最佳逼近法设计FIR数字滤波器的原理和⽅法。

(3)掌握⽤海明窗设计FIR数字滤波器的原理和⽅法。

(4)学会调⽤MATLAB函数设计与实现FIR滤波器。

⼆、实验内容及步骤(1)掌握⽤窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理;(2)调⽤信号产⽣函数xtg产⽣具有加性噪声的信号xt,并⾃动显⽰xt及其频谱;图1 具有加性噪声的信号x(t)及其频谱(3)请设计低通滤波器,从⾼频噪声中提取xt中的单频调幅信号,要求信号幅频失真⼩于0.1dB,将噪声频谱衰减60dB。

先观察xt的频谱,确定滤波器指标参数。

(4)根据滤波器指标选择合适的窗函数,计算窗函数的长度N,调⽤MATLAB函数fir1设计⼀个FIR低通滤波器。

并编写程序,调⽤MATLAB快速卷积函数fftfilt实现对xt的滤波。

绘图显⽰滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。

(5)重复(3),滤波器指标不变,但改⽤等波纹最佳逼近法,调⽤MATLAB函数remezord和remez设计FIR数字滤波器。

并⽐较两种设计⽅法设计的滤波器阶数。

(6)⽤海明窗设计⼀个阶数为48,通带范围为0.35pi≤w≤0.65pi 的带通线性相位滤波器。

提⽰:1.采样频率Fs=1000Hz,采样周期T=1/Fs;2.可选择滤波器指标参数:通带截⽌频率fp=120Hz,阻带截⾄频率fs=150Hz,换算成数字频率,通带截⽌频率p 20.24pfωπ=T=π,通带最⼤衰为0.1dB,阻带截⾄频率s 20.3sfωπ=T=π,阻带最⼩衰为60dB。

3.实验程序框图:图2 实验程序框图附件:(1)信号产⽣函数xtg程序清单:function xt=xtg(N)%实验五信号x(t)产⽣,并显⽰信号的幅频特性曲线%xt=xtg(N) 产⽣⼀个长度为N,有加性⾼频噪声的单频调幅信号xt,采样频率Fs=1000Hz%载波频率fc=Fs/10=100Hz,调制正弦波频率f0=fc/10=10Hz. N=2000;Fs=1000;T=1/Fs;Tp=N*T;t=0:T:(N-1)*T;fc=Fs/10;f0=fc/10; %载波频率fc=Fs/10,单频调制信号频率为f0=Fc/10;mt=cos(2*pi*f0*t); %产⽣单频正弦波调制信号mt,频率为f0ct=cos(2*pi*fc*t); %产⽣载波正弦波信号ct,频率为fcxt=mt.*ct; %相乘产⽣单频调制信号xtnt=2*rand(1,N)-1; %产⽣随机噪声nt%=======设计⾼通滤波器hn,⽤于滤除噪声nt中的低频成分,⽣成⾼通噪声=======fp=150; fs=200;Rp=0.1;As=70; % 滤波器指标fb=[fp,fs];m=[0,1]; % 计算remezord函数所需参数f,m,devdev=[10^(-As/20),(10^(Rp/20)-1)/(10^(Rp/20)+1)];[n,fo,mo,W]=remezord(fb,m,dev,Fs); % 确定remez函数所需参数hn=remez(n,fo,mo,W); % 调⽤remez函数进⾏设计,⽤于滤除噪声nt中的低频成分yt=filter(hn,1,10*nt); %滤除随机噪声中低频成分,⽣成⾼通噪声yt%============================================ ====================xt=xt+yt; %噪声加信号fst=fft(xt,N);k=0:N-1;f=k/Tp;subplot(3,1,1);plot(t,xt);grid;xlabel('t/s');ylabel('x(t)');axis([0,Tp/5,min(xt),max(xt)]);title('(a) 信号加噪声波形') subplot(3,1,2);plot(f,abs(fst)/max(abs(fst)));grid;title('(b) 信号加噪声的频谱')axis([0,Fs/2,0,1.2]);xlabel('f/Hz');ylabel('幅度')(2)⽤窗函数法设计FIR滤波器% FIR数字滤波器设计及软件实现clear all;close all;%==调⽤xtg产⽣信号xt, xt长度N=1000,并显⽰xt及其频谱,=========N=1000;xt=xtg(N);fp=120; fs=150;Rp=0.2;As=60;Fs=1000; T=1/Fs; % 输⼊给定指标% (1) ⽤窗函数法设计滤波器wc=(fp+fs)/Fs; %理想低通滤波器截⽌频率(关于pi归⼀化)B=2*pi*(fs-fp)/Fs; %过渡带宽度指标Nb=ceil(11*pi/B); %blackman窗的长度Nhn=fir1(Nb-1,wc,blackman(Nb));Hw=abs(fft(hn,1024)); % 求设计的滤波器频率特性ywt=fftfilt(hn,xt,N); %调⽤函数fftfilt对xt滤波figure(2);subplot(3,1,1);myplot(hn,xt); %调⽤绘图函数myplot绘制损耗函数曲线y1t='y_w(t)';subplot(3,1,2);tplot(ywt,T,y1t);(3) % ⽤等波纹最佳逼近法设计滤波器fb=[fp,fs];m=[1,0]; % 确定remezord函数所需参数f,m,devdev=[(10^(Rp/20)-1)/(10^(Rp/20)+1),10^(-As/20)]; [Ne,fo,mo,W]=remezord(fb,m,dev,Fs); % 确定remez函数所需参数hn=remez(Ne,fo,mo,W); % 调⽤remez函数进⾏设计Hw=abs(fft(hn,1024)); % 求设计的滤波器频率特性yet=fftfilt(hn,xt,N); % 调⽤函数fftfilt对xt滤波figure(3);subplot(3,1,1);myplot(hn,xt); %调⽤绘图函数myplot绘制损耗函数曲线y2t='y_e(t)';subplot(3,1,2);tplot(yet,T,y2t)(4) 上⾯代码调⽤的⼦函数:(4-1) myplot:计算时域离散系统损耗函数并绘制曲线图。

数字滤波器设计实验报告

数字滤波器设计实验报告

数字滤波器设计实验报告实验目的:1.掌握数字滤波器的基本理论知识。

2.学习数字滤波器设计方法。

3.实现数字滤波器的设计与模拟。

实验原理:FIR滤波器的特点是稳定性好、相位响应线性和易于设计。

FIR滤波器的设计方法主要有窗函数法、频率采样法和最小最大化法等。

IIR滤波器的特点是具有较窄的通频带宽率、相位响应非线性和较高的处理效率。

IIR滤波器的设计方法主要有双线性变换法、脉冲响应不变法和双正交变换法等。

实验步骤:1.根据实验要求和给定的参数,选择适合的滤波器类型(FIR或IIR)。

2.根据滤波器的设计方法,计算滤波器的系数。

3.使用MATLAB或其他工具进行滤波器的设计和仿真。

4.分析仿真结果,评估滤波器的性能。

5.根据实际需求,进行滤波器参数的优化和调整。

6.进行实验数据的滤波处理,并比较滤波前后的信号质量。

7.总结实验结果,写出实验报告。

实验结果:根据实验要求,我们选择了FIR滤波器进行设计。

通过使用窗函数法和最小最大化法,计算得到了滤波器的系数。

将滤波器的设计结果导入MATLAB进行仿真,得到了滤波器的频率响应和时域波形。

通过分析仿真结果,发现滤波器的设计基本满足了要求,但仍存在一些性能方面的改进空间。

根据实验需求和实际情况,我们对滤波器的参数进行了优化和调整。

经过多次迭代和调试,最终得到了满意的结果。

将优化后的滤波器应用于实验数据的滤波处理,可以看到滤波效果明显,信号质量得到了显著提升。

实验结论:通过本次实验,我们学习并掌握了数字滤波器的基本理论知识和设计方法。

通过实际操作和实验仿真,对数字滤波器的设计和应用有了更深入的了解。

实验结果表明,数字滤波器可以有效地对信号进行滤波处理,提高信号质量和准确度。

数字信号处理实验报告——基于MATLAB的数字滤波器设计

数字信号处理实验报告——基于MATLAB的数字滤波器设计

实验6 基于MATLAB 的数字滤波器设计实验目的:加深对数字滤波器的常用指标和设计过程的理解。

实验原理:低通滤波器的常用指标:PP j P for e G ωωδδω≤+≤≤-,1)(1πωωδω≤≤≤S S j for eG ,)(通带边缘频率:Pω,阻带边缘频率:Sω ,通带起伏:P δ,通带峰值起伏:])[1(log2010dB p pδα--=,阻带起伏:sδ,最小阻带衰减:])[(log 2010dB s S δα-=。

数字滤波器有IIR 和FIR 两种类型,它们的特点和设计方法不同。

在MATLAB 中,可以用[b ,a]=butter (N,Wn )等函数辅助设计IIR 数字滤波器, 也可以用b=fir1(N,Wn,’ftype’) 等函数辅助设计FIR 数字滤波器。

实验内容: 利用MATLAB 编程设计一个数字带通滤波器,指标要求如下:通带边缘频率:10.4P ωπ=,20.6P ωπ=,通带峰值起伏:][1dB p≤α。

阻带边缘频率:πω3.01=S ,20.7S ωπ=,最小阻带衰减:][40dB S ≥α。

分别用IIR 和FIR 两种数字滤波器类型进行设计。

实验要求:给出IIR 数字滤波器参数和FIR 数字滤波器的冲激响应,绘出它们的幅度和相位频响曲线,讨论它们各自的实现形式和特点。

实验步骤:①Butterworth 滤波器的设计(IIR )>>wp=[0.4*pi,0.6*pi]; >>wr=[0.3*pi,0.7*pi]; >>Ap=1; >>Ar=40;Sω-Pω-P SωPassband StopbandTransition bandFig 7.1 Typical magnitudespecification for a digital LPF>>[N,Wn]=buttord(wp/pi,wr/pi,Ap,Ar)N =7Wn =0.3854 0.6146>> [b,a]=butter(N,Wn,'bandpass')b =Columns 1 through 120.0002 0 -0.0014 0 0.0042 0 -0.0071 0 0.0071 0 -0.0042 0Columns 13 through 150.0014 0 -0.0002a =Columns 1 through 121.0000 0.0000 3.7738 0.0000 6.5614 0.0000 6.6518 0.0000 4.2030 0.0000 1.6437 0.0000Columns 13 through 150.3666 0.0000 0.0359>> [H,w]=freqz(b,a);>>mag=abs(H);>>plot(w/pi,mag);>>xlabel('角频率(\Omega)');>>ylabel('幅度|Ha(j\Omega)|');>> title('数字butterworth带通滤波器幅度响应|Ha(j\Omega)|');>>phase=angle(H);>>plot(w/pi,phase);>>xlabel('角频率(\Omega)');>>ylabel('相位');>> title('数字butterworth带通滤波器相位响应曲线');>>②FIR滤波器的设计:>> wp1 = 0.4*pi; wp2 = 0.6*pi;>> ws1 = 0.3*pi; ws2 = 0.7*pi;>>tr_width = min((wp1-ws1),(ws2-wp2)) tr_width =0.3142>> M = ceil(6.2*pi/tr_width) + 1M =63>> n=[0:1:M-1];>> wc1 = (ws1+wp1)/2; wc2 = (wp2+ws2)/2; >>wc=[wc1/pi,wc2/pi];>>window= hanning(M);>> [h1,w]=freqz(window,1);>>figure(1);>>subplot(2,1,1)>>stem(window);>>axis([0 60 0 1.2]);>>grid;>>xlabel('n');>> title('Hanning窗函数');>>subplot(2,1,2)>>plot(w/pi,20*log(abs(h1)/abs(h1(1)))); >>axis([0 1 -350 0]);>>grid;>>xlabel('w/\pi');>>ylabel('幅度(dB)');>> title('Hanning窗函数的频谱');>>hn = fir1(M-1,wc, hanning (M));>> [h2,w]=freqz(hn,1,512);>>figure(2);>>subplot(2,1,1)>>stem(n,hn);>>axis([0 60 -0.25 0.25]);>>grid;>>xlabel('n');>>ylabel('h(n)');>> title('Hanning窗函数的单位脉冲响应'); >>subplot(2,1,2)>>plot(w/pi,20*log(abs(h2)/abs(h2(1)))); >>grid;>>xlabel('w/\pi');>>ylabel('幅度(dB)');>>figure(3);>>phase=angle(h1);>>plot(phase);>>axis([1 pi -1 0]);>>xlabel('w/\pi');>>ylabel('线性相位');>> title('Hanning窗函数相位特性曲线'); >>实现形式及特点分析:1.在本例中,相同的技术指标下,IIR滤波器实现的阶数为N=7,而FIR滤波器的阶数N=63。

实验六用窗函数设计FIR滤波器

实验六用窗函数设计FIR滤波器

实验六用窗函数设计FIR滤波器一、引言数字滤波器是用于处理数字信号的重要工具,而FIR(Finite Impulse Response)滤波器是其中一类常见的滤波器。

在FIR滤波器中,输出信号的每个样本值仅依赖于输入信号在过去固定时间窗口内的样本值。

窗函数则是用于设计FIR滤波器的一种常见方法。

本实验将介绍如何用窗函数设计FIR滤波器,并通过一系列实验验证其性能。

二、实验目的1.了解FIR滤波器的原理和窗函数设计方法。

2.利用MATLAB工具进行FIR滤波器设计与性能评估。

3.分析不同窗函数对FIR滤波器的影响。

三、窗函数设计方法在设计FIR滤波器时,可以通过选择不同的窗函数来实现不同的频率响应。

常见的窗函数有矩形窗、汉宁窗、汉明窗、布莱克曼窗等。

在本实验中,我们将以汉宁窗为例进行讲解。

1.首先确定滤波器的截止频率和通带误差。

2.根据通带误差和滤波器的截止频率计算阶数。

3.根据阶数选择合适大小的窗口长度。

4.选择合适的窗函数,如汉宁窗。

5.计算窗函数的系数,并与理想滤波器的冲击响应相乘得到最终的滤波器系数。

四、实验步骤1.确定滤波器参数:截止频率、通带误差等。

2.根据通带误差和截止频率计算滤波器的阶数。

3.选择合适大小的窗口长度,通常选择大于滤波器阶数的2倍。

4.选择窗函数,如汉宁窗,计算窗函数的系数。

5.根据窗函数系数和截止频率计算滤波器的系数。

6.绘制滤波器的频率响应曲线。

7.利用设计好的FIR滤波器对输入信号进行滤波,并观察滤波效果。

五、实验结果与分析在本实验中,我们选择了截止频率为1kHz的低通滤波器。

首先计算滤波器的阶数,假设通带误差为0.01,根据公式可得N=3.32/((截止频率*通带误差)/采样频率)≈60。

我们选择窗口长度为120,即滤波器的阶数的两倍。

接下来选择汉宁窗作为窗函数,并计算其系数。

最后通过窗函数系数和截止频率计算得到滤波器的系数。

实验采用不同窗函数设计的FIR滤波器进行滤波,观察不同窗函数对滤波器性能的影响。

试验六用窗函数法设计FIR数字滤波器

试验六用窗函数法设计FIR数字滤波器

实验六 用窗函数法设计FIR 数字滤波器一. 实验目的(1)掌握用窗函数法设计FIR 数字滤波器的原理与方法。

(2)熟悉线性相位FIR 数字滤波器的特性。

(3)了解各种窗函数对滤波特性的影响。

二. 实验内容和要求(1) 复习用窗函数法设计FIR 数字滤波器一节内容,阅读本实验原理,掌握设计步骤。

(2) 用升余弦窗设计一线性相位低通FIR 数字滤波器,截止频率rad c 4πω=。

窗口长度N =15,33。

要求在两种窗口长度情况下,分别求出()n h ,打印出相应的幅频特性和相频特性曲线,观察3dB 带宽和20dB 带宽。

总结窗口长度N 对滤波器特性的影响。

设计低通FIR 数字滤波器时,一般以理想低通滤波特性为逼近函数()ωj e H ,即()⎪⎩⎪⎨⎧≤<≤=-πωωωωωαωc c j jd ,,e e H 0 其中21-=N α ()()()[]()a n a n d e e d e eH n h c j j j j d d cc--===⎰⎰---πωωπωπωαωωωαωππωsin 2121(3) 33=N ,4πω=c ,用四种窗函数设计线性相位低通滤波器,绘制相应的幅频特性曲线,观察3dB 带宽和20dB 带宽以及阻带最小衰减,比较四种窗函数对滤波器特性的影响。

三. 实验方法、步骤及结果测试如果所希望的滤波器的理想的频率响应函数为()ωj d e H ,则其对应的单位脉冲响应为()()ωπωωππd e e H n h j j d d ⎰-=21 (4.1)窗函数设计法的基本原理是用有限长单位脉冲响应序列()n h 逼近()n h d 。

由于()n h d 往往是无限长序列,而且是非因果的,所以用窗函数()n ω将()n h d 截断,并进行加权处理,得到:()()()n n h n h d ω=(4.2)()n h 就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数()ωj e H 为()()nj N n j en h eH ωω∑-==1(4.3)式中,N 为所选窗函数()n ω的长度。

FIR滤波器的设计

FIR滤波器的设计

实验六、用窗函数法设计FIR 数字滤波器一、实验目的:(1)熟悉基本的窗函数,及其特点。

(2)掌握用窗函数法设计FIR 数字滤波器的原理和方法。

(3)熟悉线性相位FIR 数字滤波器特性。

二.实验原理(一)FIR 滤波器的设计FIR 滤波器具有严格的相位特性,这对于语音信号处理和数据传输是很重要的。

目前FIR 滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。

本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求不高的时候是比较灵活方便的。

它是从时域出发,用一个窗函数截取一个理想的)(n h d 得到h(n),以有限长序列h(n)近似理想的)(n h d :如果从频域出发,用理想的)(jw d e h 在单位圆上等角度取样得到H (k ),根据h(k)得到H(z)将逼近理想的)(z H d 这就是频率取样法。

(二)窗函数设计法同其它的的数字滤波器设计的方法一样,用窗函数设计滤波器也是首先要对滤波器提出性能指标。

一般是给定一个理想的频率响应)(jw d e h ,使所设计的FIR 滤波器的频率响应)(jw e h 去逼近所要求的理想的滤波器的响应)(jw d e h 窗函数设计的任务在于寻找一个可实现(有限长单位脉冲响应)的传递函数。

∑-=-=1)()(N n jw jwn e n h e H去逼近)(jw d e h 。

我们知道,一个理想的频率响应)(jw d e h 的傅里叶变换⎰=ππ20)(21)(dw e e H n h jwnjw d d 所得到的理想的单位脉冲响应)(n h d 往往是一个无限长序列,对)(n h d 经过适当的加权、截取处理才得到一个所需要的有限长脉冲响应序列。

对应不同的加权、截断,就有不同的窗函数。

所要寻找的滤波器脉冲响应就等于理想脉冲响应和窗函数的乘积。

即:)()()(n w n h n h d =由此可见,窗函数的性质就决定了滤波器的品质。

实验6数字滤波器的matlab设计

实验6数字滤波器的matlab设计

实验6数字滤波器的matlab设计实验6:数字滤波器的matlab设计一、实验目的:1 掌握低通、高通,带通,带阻滤波器的概念2 掌握使用matlab进行进行滤波器的设计二、实验原理数字滤波器是通过一定运算关系,改变输入信号频谱的利用计算机技术实现的软或硬件。

选频数字滤波器设计过程一般可以归纳为以下三个步骤:(1)按照实际需要性能要求确定滤波器技术指标。

(2)用一个因果稳定的系统函数IIR、FIR去逼近这个要求(3)用一个有限精度的运算(软、硬件)去实现这个传递函数实验工具介绍fdatool的介绍fdatool(filter design & analysis tool)是matlab信号处理工具箱里专用的滤波器设计分析工具,matlab6.0以上的版本还专门增加了滤波器设计工具箱(filter design toolbox)。

fdatool可以设计几乎所有的基本的常规滤波器,包括fir和iir的各种设计方法。

它操作简单,方便灵活。

fdatool界面总共分两大部分,一部分是design filter,在界面的下半部,用来设置滤波器的设计参数,另一部分则是特性区,在界面的上半部分,用来显示滤波器的各种特性。

design filter部分主要分为:filter type(滤波器类型)选项,包括lowpass(低通)、highpass(高通)、bandpass (带通)、bandstop(带阻)和特殊的fir滤波器。

design method(设计方法)选项,包括iir滤波器的butterworth(巴特沃思)法、chebyshev type i(切比雪夫i型)法、chebyshev type ii(切比雪夫ii型)法、elliptic(椭圆滤波器)法和fir滤波器的equiripple法、least-squares(最小乘方)法、window (窗函数)法。

filter order(滤波器阶数)选项,定义滤波器的阶数,包括specify order(指定阶数)和minimum order(最小阶数)。

实验六 数字滤波器结构

实验六 数字滤波器结构

实验六 数字滤波器结构云南大学一、 实验目的学会先生成冲激响应传输函数的一个级联实现,并画级联框图。

二、 具体实验1. 有限冲激响应传输函数的实现——级联的实现 H1(z )=2+10z -1+23z -2+34z -3+31z -4+16z -5+4z -6分子系数向量 = [2,10,23,34,31,16,4] 分母系数向量 = [1,0,0,0,0,0,0]Sos = 2.0000 6.0000 4.0000 1.0000 0 0 1.0000 1.0000 2.0000 1.0000 0 0 1.0000 1.0000 0.5000 1.0000 0 0-800-600-400-2000Normalized Frequency (⨯π rad/sample)P h a s e (d e g r e e s)-5050Normalized Frequency (⨯π rad/sample)M a g n i t u d e (d B )图6-2 为H 1[z]的级联结构框图。

H 1[z]不是线性相位传输函数。

H2(z )=6+31z -1+74z -2+102z -3+74z -4+31z -5+6z -6分子系数向量 = [6,31,74,102,74,31,6]分母系数向量 = [1,0,0,0,0,0,0]Sos =6.0000 15.0000 6.0000 1.0000 0 0 1.0000 2.0000 3.0000 1.0000 0 0 1.0000 0.6667 0.3333 1.0000 0 0-600-400-200Normalized Frequency (⨯π rad/sample)P h a s e (d e g r e e s )204060Normalized Frequency (⨯π rad/sample)M a g n it u d e (d B )Figure 6-3y[n]2. 无限冲激响应传输函数的实现——级联和并联的实现 H 1[z]=zz z z z zz z z z 54321543215142424162271283----------+++++-++++Sos =0.1875 -0.0625 0 1.0000 0.5000 01.00002.0000 2.0000 1.0000 0.5000 0.25001.0000 1.0000 1.0000 1.0000 0.5000 0.5000-400-300-200-1000Normalized Frequency (⨯π rad/sample)P h a s e (d e g r e e s)-60-40-20Normalized Frequency (⨯π rad/sample)M a g n i t u d e (d B )Figure 6-60.1875Figure 6-7 the diagram of cascade structureH1(z )不是线性相位传输函数H 2[z]=zz z z z z z z z z z z 65432165432172659877836416313423102------------++++++++++++Sos =0.0556 0.1667 0.1111 1.0000 0.5000 0.25001.0000 1.00002.0000 1.0000 0.6667 0.3333 1.0000 1.0000 0.5000 1.0000 1.0000 0.3333-800-600-400-2000Normalized Frequency (⨯π rad/sample)P h a s e (d e g r e e s )-60-40-20Normalized Frequency (⨯π rad/sample)M a g n i t u d e (d B )Figure 6-80.0556Figure 6-9 the diagram of cascade structureH2(z)不是线性相位传输函数Parallel IResidue is Pole Constant -0.4219 + 0.6201i -0.2500 + 0.6614i -2-0.4219 - 0.6201i -0.2500 - 0.6614i0.3438 - 2.5079i -0.2500 + 0.4330i0.3438 + 2.5079i -0.2500 - 0.4330i2.3437 -0.5000Parallel IIResidue is Pole Constant -0.3047 - 0.4341i -0.2500 + 0.6614i 0.1875 -0.3047 + 0.4341i -0.2500 - 0.6614i1.0000 + 0.7758i -0.2500 + 0.4330i1.0000 - 0.7758i -0.2500 - 0.4330i-1.1719-0.5000Figure 6-11 the diagram of cascade structure II Parallel IResidue is Pole Constant-0.5952 - 0.7561i -0.5000 + 0.2887i 4-0.5952 + 0.7561i -0.5000 - 0.2887i-0.5556 - 2.2785i -0.3333 + 0.4714i-0.5556 + 2.2785i -0.3333 - 0.4714i-0.8214 + 4.3920i -0.2500 + 0.4330i-0.8214 - 4.3920i -0.2500 - 0.4330iParallel IIResidue is Pole Constant0.5159 + 0.2062i -0.5000 + 0.2887i 0.05560.5159 - 0.2062i -0.5000 - 0.2887i1.2593 + 0.4976i -0.3333 + 0.4714i1.2593 - 0.4976i -0.3333 - 0.4714i-1.6964 - 1.4537i -0.2500 + 0.4330i-1.6964 + 1.4537i -0.2500 - 0.4330iFigure 6-12 the diagram of cascade structure I Figure 6-13 the diagram of cascade structure II y[n]。

数字滤波器的设计及实现 实验报告

数字滤波器的设计及实现 实验报告

数字滤波器的设计及实现实验报告1.数字滤波器是一种用于信号处理的重要工具,通过去除或衰减信号中的噪声、干扰或无用信息,从而实现信号的滤波和提取。

本实验旨在学习数字滤波器的设计原理和实现方法,并通过实验验证其滤波效果。

2. 实验目的•理解数字滤波器的基本原理和设计方法;•掌握数字滤波器的实现步骤和工具;•利用实验进行数字滤波器的设计与仿真;•分析和评估数字滤波器的性能指标。

3. 实验器材•计算机•MATLAB或其他数学软件4. 实验流程1.理解数字滤波器的基本原理和设计方法;2.根据所需的滤波特性选择滤波器类型(低通、高通、带通、带阻);3.设计滤波器的参数,如截止频率、阶数、窗函数等;4.使用MATLAB或其他数学软件进行滤波器的设计与仿真;5.评估滤波器的性能指标,如频率响应、幅度响应、相位响应等;6.分析实验结果,数字滤波器设计与实现的经验与教训。

5. 实验内容5.1 数字滤波器原理数字滤波器是通过数字信号处理算法来实现滤波功能的滤波器。

它可以通过对信号进行采样、变换、运算等处理来实现对信号频率成分的选择性衰减或增强。

数字滤波器通常包含两种主要类型:无限脉冲响应(IIR)滤波器和有限脉冲响应(FIR)滤波器。

IIR滤波器具有时间域响应的无限长度,而FIR滤波器具有有限长度的时间域响应。

5.2 数字滤波器设计步骤•确定滤波器类型:根据滤波要求选择低通、高通、带通或带阻滤波器;•设计滤波器参数:包括截止频率、阶数、窗函数等;•进行滤波器设计:利用MATLAB等数学软件进行滤波器设计,滤波器系数;•进行滤波器仿真:通过信号输入滤波器进行仿真,评估滤波效果;•优化和调整:根据实际需要,对滤波器参数进行优化和调整,以获得更好的滤波效果。

5.3 实验结果与分析经过实验设计和仿真,我们得到了一个具有良好滤波效果的数字滤波器。

在设计过程中,我们选择了一个5阶的Butterworth低通滤波器,截止频率为1000Hz。

数字信号处理实验六IIR数字滤波器的设计实验报告

数字信号处理实验六IIR数字滤波器的设计实验报告

数字信号处理实验六IIR数字滤波器的设计实验报告一、实验目的1.学习理解数字滤波器的概念和基本原理;2.掌握IIR数字滤波器的设计方法;3.了解数字滤波器的时域和频域特性。

二、实验原理1.数字滤波器的概念和基本原理数字滤波器是一种将输入信号转换为输出信号的设备,通过在时域或频域对信号进行处理来过滤或改变信号的特性。

数字滤波器可以分为无限脉冲响应(IIR)和有限脉冲响应(FIR)两种类型。

在IIR数字滤波器中,输出信号的当前值与过去的输出值和输入值之间存在关联,即存在反馈回路。

IIR数字滤波器可以实现较窄的带通和带阻滤波,且具有较高的效率。

2.IIR数字滤波器的设计方法IIR数字滤波器的设计需要选择合适的滤波器类型,确定滤波器的阶数和截止频率等参数。

常用的IIR数字滤波器设计方法有:(1) Butterworth滤波器设计:通过选择滤波器阶数和截止频率来实现对输入信号的平滑处理。

(2) Chebyshev滤波器设计:通过选择滤波器阶数、截止频率和最大纹波来实现对输入信号的均衡增益或陡峭截止。

3.数字滤波器的时域和频域特性时域特性是指数字滤波器的输出与输入之间的时域关系。

常见的时域特性包括单位脉冲响应(IMPULSE)和单位阶跃响应(STEP)。

频域特性是指数字滤波器对不同频率的输入信号的响应程度。

常见的频域特性包括幅频特性(Amplitude-frequency Characteristics)和相频特性(Phase-frequency Characteristics)。

三、实验步骤1. 根据实验要求选择合适的IIR数字滤波器类型,比如Butterworth滤波器。

2.根据实验要求确定滤波器的阶数和截止频率等参数。

3.使用MATLAB等软件进行滤波器设计,得到滤波器的传输函数。

4.将传输函数转化为巴特沃斯模拟滤波器的传输函数形式。

5.根据传输函数的分母和分子系数,使用巴特沃斯滤波器原型的模拟滤波器电路设计方法,确定滤波器的电路结构。

实验六数字滤波器设计

实验六数字滤波器设计

实验六数字滤波器设计实验六数字滤波器设计13通信⼯程⽅鹏豪1341737081)基于Butterworth 模拟滤波器原型,使⽤双线性变换法分别设计IIR 数字低通滤波器,参数指标:通带截⽌频率Wp=0.2 π,通带波动值Rp=1dB,阻带截⽌频率Ws=0.3 π,阻带最⼩衰减Rs=20dB。

滤波器采样频率Fs=2000 Hz。

要求:绘出幅频特性、相频特性图并⽐较结果,绘出滤波器零极点图,写出滤波器的系统函数。

代码:%数字滤波器指标Wp=0.2*pi; Ws=0.3*pi;Rp=1; Rs=20;%转换为模拟滤波器指标Fs=2000; T=1/Fs;Omgp=(2/T)*tan(Wp/2); %双线性变换法中频率预畸变Omgs=(2/T)*tan(Ws/2);%模拟原型滤波器计算[N, Omgc]=buttord(Omgp, Omgs, Rp, Rs, 's') %计算阶数和截⽌频率[z0, p0, k0]=buttap(N); %归⼀化原型设计b0=k0*real(poly(z0)) %求原型滤波器分⼦分母系数a0=real(poly(p0));[b, a]=lp2lp(b0, a0, Omgc) %变换为模拟滤波器分⼦分母系数%⽤双线性变换法计算数字滤波器系数[num, den]=bilinear(b, a, Fs) %数字滤波器设计结果%⽅法2:直接求模拟滤波器系数[b, a]=butter(N, Omgc, 's');[num, den]=bilinear(b, a, Fs);%⽅法3:直接求数字滤波器系数[N, Wc]=buttord(Wp/pi, Ws/pi, Rp, Rs);[num, den]=butter(N, Wc);%求数字滤波器的频率特性[H, w]=freqz(num, den);db_H=20*log10((abs(H)+eps)/max(abs(H))); %转换为分贝值subplot(2, 2, 1); plot(w/pi, abs(H));ylabel('幅度'); xlabel('频率'); title('幅度响应');axis([0, 1, 0, 1.1]);set(gca, 'XTickMode', 'manual', 'XTick', [0, 0.2, 0.3, 1]);ripple=10^(-Rp/20); rs=10^(-Rs/20);set(gca, 'YTickMode', 'manual', 'YTick', [0, rs, ripple, 1]); gridsubplot(2, 2, 2); plot(w/pi, angle(H)/pi);ylabel('相位'); xlabel('频率'); title('相位响应');axis([0, 1, -1, 1]);set(gca, 'XTickMode', 'manual', 'XTick', [0, 0.2, 0.3, 1]);set(gca, 'YTickMode', 'manual', 'YTick', [-1, 0, 1]); gridsubplot(2, 2, 3); plot(w/pi, db_H);ylabel('幅度(dB)'); xlabel('频率'); title('幅度响应(dB)'); axis([0, 1, -50, 5]); set(gca, 'XTickMode', 'manual', 'XTick', [0, 0.2, 0.3, 1]); set(gca, 'YTickMode', 'manual', 'YTick', [-50, -20, -1, 0]); gridsubplot(2, 2, 4); zplane(num, den);axis([-1.1, 1.1, -1.1, 1.1]); title('零极点图');运算图形结果:2)基于切⽐雪夫I 型模拟滤波器原型设计,使⽤脉冲响应不变法设计⼀个IIR 数字带通滤波器,参数指标:下通带截⽌频率Wp1=0.3 π,上通带截⽌频率Wp2=0.7 π,通带最⼤衰减Rp=1dB;下阻带截⽌频率Ws1=0.2 π,上阻带截⽌频率Ws2=0.8π,阻带最⼩衰减Rs=20dB。

信号系统实验数字滤波器实验(有数据)

信号系统实验数字滤波器实验(有数据)

实验:数字滤波器一、实验目的1.了解数字滤波器的作用与原理;2.了解数字滤波器的设计实现过程。

二、实验原理说明当我们仅对信号的某些分量感兴趣时,可以利用选频滤波器,提取其中有用的部分,而将其它滤去,滤波器的一项基本任务即对信号进行分解与提取。

三、实验设备1.双踪示波器 1台2.信号系统实验箱 1台四、实验步骤1.连接P04 和P101;2.调节信号源,使P04输出f=4KHz的正弦波,调节W701使信号幅度为4V;3.按下SW101按钮,使程序指示灯D3D2DlD0=0010,指示灯对应数字滤波;4.观察TP801输出的信号;5.试着将P04输出信号频率调节到5K, 6K, 7K……观察TP801输出信号的变化;6.测量不同频率下信号输出幅度的变化,画出滤波器的相应曲线;7.将正弦波改变成方波信号,调节频率从1K-8K,观察TP801信号的变化。

五、数据处理与分析输出信号频率图像f=4kHzCH2:信号源CH1:滤波器输出f=5kHzCH2:信号源CH1:滤波器输出f=6kHzCH2:信号源CH1:滤波器输出f=7kHzCH2:信号源CH1:滤波器输出输出信号频率图像f=4kHzCH2:信号源CH1:滤波器输出f=5kHzCH2:信号源CH1:滤波器输出f=6kHzCH2:信号源CH1:滤波器输出f=7kHzCH2:信号源CH1:滤波器输出六、实验总结1.原始信号频率不同时,相应的输出信号频率和幅度发生改变。

2.对比原始信号,输出信号发生了相应的相移,且当增大原始信号的频率,相移变化更大。

3.有一定的滤波作用,但不是理想的。

数字滤波器设计

数字滤波器设计
xlabel('\omega /\pi');
ylabel('Phase in radians');
pause
plot(w1/pi,unwrap(gd));grid
title('Delay Characteristic')
xlabel('\omega /\pi');
ylabel('Group Delay');
% Design the Filter
[num,den] = cheby1(N1,Rp,Wn1,'stop');
% Display the transfer function
disp('Numerator Coefficients are ');disp(num);
disp('Denominator Coefficients are ');disp(den);
Q7.20使用函数firl,设计一个线性相位有限冲激响应低通滤波器,使其满足习题Q7.23给出的指标,并画出其增益和相位响应。使用习题Q7.13中用凯泽公式估计出的阶数。用表格形式显示滤波器的系数。你的设计满足指标吗?若不满足,调整滤波器阶数直到设计满足指标。满足指标的滤波器阶数是多少?
Q7.23用凯泽窗设计一个有限冲激响应低通滤波器。滤波器的指标是:Wp=0.31,Ws=0.41,As=50dB。注意,函数kaiser需要参数 及阶数N的值,它们必须先用式(7.36)和式(7.37)分别算出。你的设计满足指标吗?
Q7.25用fir2设计一个95阶有限冲激响应滤波器,它具有三个不同的常数幅度级:在频率范围0到0.25中为0.4,在频率范围0.3到0.45中为1.0,在频率范围0.5到1.0中为0.8.画出所设计的滤波器的幅度响应。你的设计满足指标吗?

信号处理实验实验六数字滤波器设计

信号处理实验实验六数字滤波器设计

一、实验项目名称离散时间滤波器设计没下载券联系企鹅2417677728给你传原文件二、实验目的设计和分析一组滤波器,获得对设计过程的深入认识,并且掌握几种标准设计方法的特点三、实验内容与步骤1.实验内容1、要求通带截止频率3kHz p f =,通带最大衰减1dB p a =,阻带截止 4.5kHz s f =,阻带最小衰减15dB s a =,采样频率30kHz c f =,用脉冲响应不变法设计一个切比雪夫数字低通滤波器,并图示滤波器的振幅特性,检验,p s ωω对应的衰减。

2、用双线性变换法设计一个切比雪夫Ⅰ型数字高通滤波器。

技术指标为:采样频率2kHz c f =,通带截止频率700Hzp f =,通带最大衰减1dB p a ≤;阻带边缘频率500Hz s f =,阻带最小衰减32dB s a ≥。

3、根据下列指标采用窗函数法设计低通滤波器,通带截止频率wp=0.2π,阻带截止频率ws=0.3π,通带最大衰减0.25dB ,阻带最小衰减50dB(1)分别利用汉明窗、布莱克曼窗和凯泽窗设计该滤波器,且滤波器具有线性相位。

绘出脉冲响应h (n )及滤波器的频率响应;(2)增加N ,观察过渡带和最大肩峰值的变化。

4、利用汉明窗设计数字微分器⎩⎨⎧<<-≤<=0,j -0,j )(j ωπωπωωωe H d 要求12=N ,且滤波器具有线性相位。

2.MATLAB 信号处理工具箱中提供了IIR 滤波器设计的函数,常用的函数:IIR 滤波器阶数选择buttord —巴特沃思滤波器阶数选择。

cheb1ord —切比雪夫I 型滤波器阶数选择。

Cheb2ord—切比雪夫II型滤波器阶数选择。

IIR滤波器的设计butter—巴特沃思滤波器设计。

cheby1—切比雪夫I型滤波器设计。

Cheby2—切比雪夫II型滤波器设计。

maxflat—通用的巴特沃思低通滤波器设计。

四、实验环境计算机matlab R2012a五、实验过程程序与程序分析文本1.wp=6*pi*10^3;ws=9*pi*10^3;ap=1,as=15;Fs=30*10^3; %采样频率wp1=wp/Fs;ws1=ws/Fs; %数字域频率[N,WC]=cheb1ord(wp,ws,ap,as,'s'); %调用cheb1ord函数确定巴特沃思滤波器的阶数[b,a]=cheby1(N,ap,WC,'s'); %调用cheby1函数设计巴特沃思滤波器[bz,az]=impinvar(b,a,Fs);w0=[wp1,ws1];Hx=freqz(bz,az,w0);[H,W]=freqz(bz,az);dbHx=-20*log10(abs(Hx)/max(abs(H)));plot(W,abs(H)); %绘出图形xlabel('相对频率');ylabel('幅频');gridwp=6*pi*10^3;ws=9*pi*10^3;ap=1,as=15;Fs=30*10^3;wp1=wp/Fs;ws1=ws/Fs;[N,WC]=cheb2ord(wp,ws,ap,as,'s');%调用cheb2ord函数确定巴特沃思滤波器的阶数[b,a]=cheby2(N,ap,WC,'s'); %调用cheby2函数设计巴特沃思滤波器[bz,az]=impinvar(b,a,Fs);w0=[wp1,ws1];Hx=freqz(bz,az,w0);[H,W]=freqz(bz,az);dbHx=-20*log10(abs(Hx)/max(abs(H)));plot(W,abs(H)); %绘出图形xlabel('相对频率');ylabel('幅频');grid2.wp=1400*pi;ws=pi*10^3;ap=1,as=32;Fs=2000;wp1=wp/Fs;ws1=ws/Fs;omp1=2*Fs*tan(wp1/2);omps=2*Fs*tan(ws1/2);[N,WC]=cheb1ord(omp1,omps,ap,as,'s');%调用cheb1ord函数确定巴特沃思滤波器的阶数[b,a]=cheby1(N,ap,WC,'high','s'); %调用cheby1函数设计巴特沃思滤波器[bz,az]=bilinear(b,a,Fs);w0=[wp1,ws1];Hx=freqz(bz,az,w0);[H,W]=freqz(bz,az);dbHx=-20*log10(abs(Hx)/max(abs(H)));plot(W,abs(H)); %绘出图形xlabel('相对频率');ylabel('幅频');grid3.N=81;wc=0.25;nn=[0:80];h1=fir1(80,wc,hamming(N));[H,W]=freqz(h1,1);subplot(311),plot(nn,h1)title('汉明窗频率响应')xlabel('nn'),ylabel('h1')subplot(312),plot(W/2/pi,abs(H)) title('汉明窗幅频特性响应')xlabel('w'),ylabel('|H1|')subplot(313),plot(W/2/pi,angle(H)) title('汉明窗相频特性响应')xlabel('w'),ylabel('∠H1')N=121;wc=0.25;nn=[0:120];h2=fir1(120,wc,blackman(N));[H,W]=freqz(h2,1);subplot(311),plot(nn,h2)title('布莱克曼窗频率响应')xlabel('nn'),ylabel('h2')subplot(312),plot(W/2/pi,abs(H)) title('布莱克曼窗幅频特性响应')xlabel('w'),ylabel('|H2|')subplot(313),plot(W/2/pi,angle(H)) title('布莱克曼窗相频特性响应')xlabel('w'),ylabel('∠H2')N=81;wc=0.25;nn=[0:80];h3=fir1(80,wc,kaiser(N));[H,W]=freqz(h3,1);subplot(311),plot(nn,h3)title('凯泽窗频率响应')xlabel('nn'),ylabel('h3')subplot(312),plot(W/2/pi,abs(H)) title('凯泽窗幅频特性响应')xlabel('w'),ylabel('|H3|')subplot(313),plot(W/2/pi,angle(H)) title('凯泽窗相频特性响应')xlabel('w'),ylabel('∠H3')N=161;wc=0.25;nn=[0:160];h1=fir1(160,wc,hamming(N));[H,W]=freqz(h1,1);subplot(311),plot(nn,h1)title('汉明窗频率响应')xlabel('nn'),ylabel('h1')subplot(312),plot(W/2/pi,abs(H)) title('汉明窗幅频特性响应')xlabel('w'),ylabel('|H1|')subplot(313),plot(W/2/pi,angle(H)) title('汉明窗相频特性响应')xlabel('w'),ylabel('∠H1')N=201;wc=0.25;nn=[0:200];h2=fir1(200,wc,blackman(N));[H,W]=freqz(h2,1);subplot(311),plot(nn,h2)title('布莱克曼窗频率响应')xlabel('nn'),ylabel('h2')subplot(312),plot(W/2/pi,abs(H)) title('布莱克曼窗幅频特性响应')xlabel('w'),ylabel('|H2|')subplot(313),plot(W/2/pi,angle(H)) title('布莱克曼窗相频特性响应')xlabel('w'),ylabel('∠H2')N=161;wc=0.25;nn=[0:160];h3=fir1(160,wc,kaiser(N));[H,W]=freqz(h3,1);subplot(311),plot(nn,h3)title('凯泽窗频率响应')xlabel('nn'),ylabel('h3')subplot(312),plot(W/2/pi,abs(H))title('凯泽窗幅频特性响应')xlabel('w'),ylabel('|H3|')subplot(313),plot(W/2/pi,angle(H))title('凯泽窗相频特性响应')xlabel('w'),ylabel('∠H3')通过对比可以知道,增加N值,会使过渡带变窄,但最大肩峰值不发生变化。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验六数字滤波器设计13通信工程方鹏豪1341737081)基于Butterworth 模拟滤波器原型,使用双线性变换法分别设计IIR 数字低通滤波器,参数指标:通带截止频率Wp=0.2 π,通带波动值Rp=1dB,阻带截止频率Ws=0.3 π,阻带最小衰减Rs=20dB。

滤波器采样频率Fs=2000 Hz。

要求:绘出幅频特性、相频特性图并比较结果,绘出滤波器零极点图,写出滤波器的系统函数。

代码:%数字滤波器指标Wp=0.2*pi; Ws=0.3*pi;Rp=1; Rs=20;%转换为模拟滤波器指标Fs=2000; T=1/Fs;Omgp=(2/T)*tan(Wp/2); %双线性变换法中频率预畸变Omgs=(2/T)*tan(Ws/2);%模拟原型滤波器计算[N, Omgc]=buttord(Omgp, Omgs, Rp, Rs, 's') %计算阶数和截止频率[z0, p0, k0]=buttap(N); %归一化原型设计b0=k0*real(poly(z0)) %求原型滤波器分子分母系数a0=real(poly(p0));[b, a]=lp2lp(b0, a0, Omgc) %变换为模拟滤波器分子分母系数%用双线性变换法计算数字滤波器系数[num, den]=bilinear(b, a, Fs) %数字滤波器设计结果%方法2:直接求模拟滤波器系数[b, a]=butter(N, Omgc, 's');[num, den]=bilinear(b, a, Fs);%方法3:直接求数字滤波器系数[N, Wc]=buttord(Wp/pi, Ws/pi, Rp, Rs);[num, den]=butter(N, Wc);%求数字滤波器的频率特性[H, w]=freqz(num, den);db_H=20*log10((abs(H)+eps)/max(abs(H))); %转换为分贝值subplot(2, 2, 1); plot(w/pi, abs(H));ylabel('幅度'); xlabel('频率'); title('幅度响应');axis([0, 1, 0, 1.1]);set(gca, 'XTickMode', 'manual', 'XTick', [0, 0.2, 0.3, 1]);ripple=10^(-Rp/20); rs=10^(-Rs/20);set(gca, 'YTickMode', 'manual', 'YTick', [0, rs, ripple, 1]); gridsubplot(2, 2, 2); plot(w/pi, angle(H)/pi);ylabel('相位'); xlabel('频率'); title('相位响应');axis([0, 1, -1, 1]);set(gca, 'XTickMode', 'manual', 'XTick', [0, 0.2, 0.3, 1]);set(gca, 'YTickMode', 'manual', 'YTick', [-1, 0, 1]); gridsubplot(2, 2, 3); plot(w/pi, db_H);ylabel('幅度(dB)'); xlabel('频率'); title('幅度响应(dB)'); axis([0, 1, -50, 5]); set(gca, 'XTickMode', 'manual', 'XTick', [0, 0.2, 0.3, 1]);set(gca, 'YTickMode', 'manual', 'YTick', [-50, -20, -1, 0]); gridsubplot(2, 2, 4); zplane(num, den);axis([-1.1, 1.1, -1.1, 1.1]); title('零极点图');运算图形结果:2)基于切比雪夫I 型模拟滤波器原型设计,使用脉冲响应不变法设计一个IIR 数字带通滤波器,参数指标:下通带截止频率Wp1=0.3 π,上通带截止频率Wp2=0.7 π,通带最大衰减Rp=1dB;下阻带截止频率Ws1=0.2 π,上阻带截止频率Ws2=0.8 π,阻带最小衰减Rs=20dB。

滤波器采样频率Fs=2000 Hz。

要求:绘出幅频特性、相频特性图并比较结果,绘出滤波器零极点图,写出滤波器的系统函数。

代码:%数字滤波器指标Wp1=0.3*pi; Wp2=0.7*pi; Ws1=0.2*pi; Ws2=0.8*pi;Rp=1; Rs=20;%转换为模拟滤波器指标Fs=2000; T=1/Fs;Omgp1=Wp1*Fs; Omgp2=Wp2*Fs;Omgs1=Ws1*Fs; Omgs2=Ws2*Fs;Omgp=[Omgp1, Omgp2];Omgs=[Omgs1, Omgs2];bw=Omgp2-Omgp1; w0=sqrt(Omgp1*Omgp2); %通带中心频率%模拟原型滤波器计算[N, Omgn]=cheb1ord(Omgp, Omgs, Rp, Rs, 's'); %计算阶数和截止频率[z0, p0, k0]=cheb1ap(N, Rp); %归一化原型设计[b0, a0]=zp2tf(z0, p0, k0); %求原型滤波器系数[ba, aa]=lp2bp(b0, a0, w0, bw); %低通原型转换为带通[num, den]=impinvar(ba, aa, Fs); %用冲激响应不变法计算数字滤波器系数%求数字滤波器的频率特性[H, w]=freqz(num, den);db_H=20*log10((abs(H)+eps)/max(abs(H))); %转换为分贝值subplot(2, 2, 1); plot(w/pi, abs(H));ylabel('幅度'); xlabel('频率'); axis([0, 1, 0, 1.1]);set(gca, 'XTickMode', 'manual', 'XTick', [0.2, 0.3, 0.7, 0.8]);ripple=10^(-Rp/20); rs=10^(-Rs/20);set(gca, 'YTickMode', 'manual', 'YTick', [0, rs, ripple, 1]); grid subplot(2, 2, 2); plot(w/pi, angle(H)/pi);ylabel('相位'); xlabel('频率'); axis([0, 1, -1, 1]);set(gca, 'XTickMode', 'manual', 'XTick', [0.2, 0.3, 0.7, 0.8]); set(gca, 'YTickMode', 'manual', 'YTick', [-1, 0, 1]); gridsubplot(2, 2, 3); plot(w/pi, db_H);ylabel('幅度(dB)'); xlabel('频率'); axis([0, 1, -50, 5]);set(gca, 'XTickMode', 'manual', 'XTick', [0.2, 0.3, 0.7, 0.8]); set(gca, 'YTickMode', 'manual', 'YTick', [-50, -20, -1, 0]); grid subplot(2, 2, 4); zplane(num, den);axis([-1.1, 1.1, -1.1, 1.1]); title('零极点图');图形结果:3)基于切比雪夫II 型模拟滤波器原型设计,采用双线性变换法设计一个数字带阻滤波器,参数指标:通带低端截止频率Wp1=0.2 π,通带高端截止频率Wp2=0.8 π,通带最大衰减Rp=1dB;阻带低端截止频率Ws1=0.3 π,阻带高端截止频率Ws2=0.7 π,阻带最小衰减Rs=20dB。

滤波器采样频率Fs=2000Hz。

要求:绘出幅频特性、相频特性图并比较结果,绘出滤波器零极点图,写出滤波器的系统函数。

代码如下:%数字滤波器指标Wp1=0.2*pi; Wp2=0.8*pi; Ws1=0.3*pi; Ws2=0.7*pi;Rp=1; Rs=20;%转换为模拟滤波器指标Fs=2000; T=1/Fs;Omgp1=(2/T)*tan(Wp1/2); Omgp2=(2/T)*tan(Wp2/2);Omgs1=(2/T)*tan(Ws1/2); Omgs2=(2/T)*tan(Ws2/2);Omgp=[Omgp1, Omgp2];Omgs=[Omgs1, Omgs2];bw=Omgp2-Omgp1; w0=sqrt(Omgp1*Omgp2); %阻带中心频率%模拟原型滤波器设计[N, Omgn]=cheb2ord(Omgp, Omgs, Rp, Rs, 's'); %计算阶数和截止频率[z0, p0, k0]=cheb2ap(N, Rs); %归一化原型设计[b0, a0]=zp2tf(z0, p0, k0); %求原型滤波器系数[ba, aa]=lp2bs(b0, a0, w0, bw); %低通原型转换为带阻[num, den]=bilinear(ba, aa, Fs); %用双线性变换法计算数字滤波器系数%求数字滤波器的频率特性[H, w]=freqz(num, den);db_H=20*log10((abs(H)+eps)/max(abs(H))); %转换为分贝值subplot(2, 2, 1); plot(w/pi, abs(H));ylabel('幅度'); xlabel('频率'); axis([0, 1, 0, 1.1]);set(gca, 'XTickMode', 'manual', 'XTick', [0.2, 0.3, 0.7, 0.8]);ripple=10^(-Rp/20); rs=10^(-Rs/20);set(gca, 'YTickMode', 'manual', 'YTick', [0, rs, ripple, 1]); gridsubplot(2, 2, 2); plot(w/pi, angle(H)/pi*180,'k');ylabel('相位'); xlabel('频率'); axis([0, 1, -180, 180]);set(gca, 'XTickMode', 'manual', 'XTick', [0.2, 0.3, 0.7, 0.8]);set(gca, 'YTickMode', 'manual', 'YTick', [-180, -90, 0, 90, 180]); grid subplot(2, 2, 3); plot(w/pi, db_H);ylabel('幅度(dB)'); xlabel('频率'); axis([0, 1, -60, 5]);set(gca, 'XTickMode', 'manual', 'XTick', [0.2, 0.3, 0.7, 0.8]);set(gca, 'YTickMode', 'manual', 'YTick', [-80, -20, -1, 0]); gridsubplot(2, 2, 4); zplane(num, den);axis([-1.1, 1.1, -1.1, 1.1]); title('零极点图');图形结果:4)基于椭圆模拟滤波器原型设计,采用双线性变换法设计一个数字高通滤波器,参数指标:通带截止频率Wp=0.45 π,通带最大衰减Rp=1dB;阻带截止频率Ws=0.3 π,阻带最小衰减Rs=40dB。

相关文档
最新文档