实验五:FIR数字滤波器设计与软件实现
- 格式:doc
- 大小:399.00 KB
- 文档页数:5
FIR数字滤波器设计与软件实现实验报告222 FIR数字滤波器设计与软件实现实验报告222实验标题:FIR数字滤波器设计与软件实现实验目的:1.学习FIR数字滤波器的基本原理和设计方法;2.掌握使用MATLAB软件进行FIR数字滤波器设计的方法;3.通过实验验证FIR数字滤波器的性能和效果。
实验器材与软件:1.个人计算机;2.MATLAB软件。
实验步骤:1.确定所需的滤波器类型和设计要求;2.根据设计要求选择合适的滤波器设计方法,如窗函数法、最优化方法等;3.使用MATLAB软件进行滤波器设计,并绘制滤波器的频率响应曲线;4.将设计好的滤波器用于信号处理,观察滤波效果。
实验结果与分析:1.进行实验前,首先确定滤波器的类型和设计要求。
例如,我们选择低通滤波器,要求通带频率为1kHz,阻带频率为2kHz,通带最大衰减为1dB,阻带最小衰减为60dB。
2.在MATLAB软件中,我们选择窗函数法进行滤波器设计。
根据设计要求,选择合适的窗函数,如矩形窗、汉宁窗等。
根据设计要求和窗函数的特点,确定滤波器的长度N和窗函数的参数。
3. 使用MATLAB中的fir1函数进行滤波器设计,并绘制滤波器的频率响应曲线。
根据频率响应曲线,可以分析滤波器的性能是否符合设计要求。
4. 将设计好的滤波器用于信号处理,观察滤波效果。
在MATLAB中,可以使用filter函数对信号进行滤波处理,然后绘制原始信号和滤波后的信号的时域波形和频谱图进行对比分析。
实验结论:1.通过本次实验,我们学习了FIR数字滤波器的基本原理和设计方法;2.掌握了使用MATLAB软件进行FIR数字滤波器设计的方法;3.实验结果显示,设计的FIR数字滤波器可以满足设计要求,具有良好的滤波效果。
4.FIR数字滤波器在数字信号处理中具有广泛的应用前景,对于滤除噪声、改善信号质量等方面有重要意义。
备注:(1)、按照要求独立完成实验内容。
(2)、实验结束后,把电子版实验报告按要求格式改名,并由实验教师批阅记录后;实验室统一刻盘留档。
实验七FIR数字滤波器设计及软件实现一、实验目的(1)掌握用窗函数法设计FIR数字滤波器的原理和方法。
(2)掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。
(3)掌握FIR滤波器的快速卷积实现原理。
(4)学会调用MA TLAB函数设计与实现FIR滤波器二、实验原理三、实验内容及步骤(1)画出实验主程序框图。
(2)绘制滤波器损耗函数和滤波器输出信号曲线图(包括程序代码)。
%========================clear all;close all;clc;%调用xtg产生信号xt, xt长度N=1000,并显示xt及其频谱N=1000;xt=xtg(N);fp=120; fs=150;Rp=0.2;As=60;Fs=1000; % 输入给定指标% (1) 用窗函数法设计滤波器%========================wc=(fp+fs)/Fs; %理想低通滤波器截止频率(关于pi归一化)B=2*pi*(fs-fp)/Fs; %过渡带宽度指标Nb=ceil(12*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(2,1,1)M=1024;k=1:M/2+1;f=1:500;plot(f,20*log10(Hw(f)));title('(a) 低通滤波器幅频特性')axis([0,Fs/2,-120,20]);xlabel('f/Hz');ylabel('幅度')subplot(2,1,2)% N=1000;t=[0:N-1]/Fs;Tp=N/Fs;plot(t,ywt);title('(b) 滤除噪声后的信号波形')ylabel('ywt')grid;axis([0,Tp/2,-1,1]);function xt=xtg(N)%xt=xtg(N) 产生一个长度为N,有加性高频噪声的单频调幅信号xt,采样频率Fs=1000Hz %载波频率fc=Fs/10=100Hz,调制正弦波频率f0=fc/10=10Hz.N=1000;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); %滤除随机噪声中低频成分,生成高通噪声ytxt=xt+yt; %噪声加信号fst=fft(xt,N);k=0:N-1;f=k/Tp;subplot(2,1,1);plot(t,xt);grid;xlabel('t/s');ylabel('x(t)');axis([0,Tp/5,min(xt),max(xt)]);title('(a) 信号加噪声波形')subplot(2,1,2);plot(f,abs(fst)/max(abs(fst)));grid;title('(b) 信号加噪声的频谱')axis([0,Fs/2,0,1.2]);xlabel('f/Hz');ylabel('幅度')四、总结。
实验5 FIR滤波器设计与实现以下为参考中文实验指导,原文请参见:\GuideSlide\DSP_Primer\chinese\print下:Xilinx_DSP_workbook_A4.pdf5.FIR滤波器在这一部分中,我们将利用多种不同方法实现FIR滤波器。
为了说明问题,首先来看一下如下图所示的简单的四抽头FIR滤波器:滤波器的系数按如下选择:w0= -10,w1= 20,w2= 50,w3= 80 [5.1] 这些系数并不是针对某个具体的频率响应而设计的,如此选择只是为了说明问题。
5.1.字长增长为了说明字长效应的影响,我们当然只能选择有限精度的信号。
在本例中,我们让输入信号为2位整数。
因此信号x[k]的范围在-2和1之间。
在下面各实验中,我们将考虑滤波器系数为8位的情况,即w的范围在-128和+127之间实验 5.1简单FIR滤波器打开以下系统:\filter\cut_set\FIR1\FIR1.mdl(a)在上图中画出关键路径,并回答在关键路径上共有多少乘法单元和加法单元。
答:(b)运行该系统并在示波器中观察其冲激响应。
(c) 观察加法链上的字长变化并验证字长由8位增长到10位。
(d) 使用System Generator 模块生成所需ISE 工程文件。
打开ISE 工程,对该设计经行时序模拟以及布局与布线(Place & Route ),然后完成下列表格。
(注意在本例中并没有使用到内嵌乘法器)实验 5.2 时序变更(Retiming)打开以下系统:\filter\cut_set\FIR2\FIR2.mdl对图中上面的系统应用cut sets 分割得到的割集进行适当变换便得到了下面的系统。
变换后的系统的关键路径长度被大大缩减。
但同时需要注意的是,系统的延迟增加了。
(a) 运行该系统并在示波器中观察其冲激响应。
可以看出该系统与之前的系统相比其关键路径大大缩短。
新系统的关键路径长度是多少? 答:(b) 使用System Generator 模块生成所需ISE 工程文件。
数字信号处理实验报告姓名:寇新颖 学号:026 专业:电子信息科学与技术实验五 FIR 数字滤波器的设计一、实验目的1.熟悉FIR 滤波器的设计基本方法2.掌握用窗函数设计FIR 数字滤波器的原理与方法,熟悉相应的计算机高级语言编程。
3.熟悉线性相位FIR 滤波器的幅频特性和相位特性。
4.了解各种不同窗函数对滤波器性能的影响。
二、实验原理与方法FIR 滤波器的设计问题在于寻求一系统函数)(z H ,使其频率响应)(ωj e H 逼近滤波器要求的理想频率响应)(ωj d eH ,其对应的单位脉冲响应)(n h d 。
1.用窗函数设计FIR 滤波器的基本方法设计思想:从时域从发,设计)(n h 逼近理想)(n h d 。
设理想滤波器)(ωj d e H 的单位脉冲响应为)(n h d 。
以低通线性相位FIR 数字滤波器为例。
⎰∑--∞-∞===ππωωωωωπd e e Hn h e n he H jn j dd jn n dj d )(21)()()()(n h d 一般是无限长的,且是非因果的,不能直接作为FIR 滤波器的单位脉冲响应。
要想得到一个因果的有限长的滤波器h(n),最直接的方法是截断)()()(n w n h n h d =,即截取为有限长因果序列,并用合适的窗函数进行加权作为FIR 滤波器的单位脉冲响应。
按照线性相位滤波器的要求,h(n)必须是偶对称的。
对称中心必须等于滤波器的延时常数,即⎩⎨⎧-==2/)1()()()(N a n w n h n h d 用矩形窗设计的FIR 低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,这个现象称为吉布斯(Gibbs )效应。
为了消除吉布斯效应,一般采用其他类型的窗函数。
2.典型的窗函数(1)矩形窗(Rectangle Window))()(n R n w N =其频率响应和幅度响应分别为:21)2/sin()2/sin()(--=N j j eN e W ωωωω,)2/sin()2/sin()(ωωωN W R =(2)三角形窗(Bartlett Window)⎪⎩⎪⎨⎧-≤<----≤≤-=121,122210,12)(N n N N n N n N n n w其频率响应为:212])2/sin()4/sin([2)(--=N j j e N N e W ωωωω(3)汉宁(Hanning)窗,又称升余弦窗)()]12cos(1[21)(n R N n n w N --=π其频率响应和幅度响应分别为:)]12()12([25.0)(5.0)()()]}12()12([25.0)(5.0{)()21(-++--+==-++--+=---N W N W W W e W eN W N W W e W R R R aj N j R R R j πωπωωωωπωπωωωωω(4)汉明(Hamming)窗,又称改进的升余弦窗)()]12cos(46.054.0[)(n R N n n w N --=π其幅度响应为:)]12()12([23.0)(54.0)(-++--+=N W N W W W R R R πωπωωω (5)布莱克曼(Blankman)窗,又称二阶升余弦窗)()]14cos(08.0)12cos(5.042.0[)(n R N n N n n w N -+--=ππ 其幅度响应为:)]14()14([04.0)]12()12([25.0)(42.0)(-++--+-++--+=N W N W N W N W W W R R R R R πωπωπωπωωω(6)凯泽(Kaiser)窗10,)())]1/(21[1()(020-≤≤---=N n I N n I n w ββ其中:β是一个可选参数,用来选择主瓣宽度和旁瓣衰减之间的交换关系,一般说来,β越大,过渡带越宽,阻带越小衰减也越大。
fir数字滤波器设计与软件实现数字信号处理实验原理FIR数字滤波器设计的基本原理是从理想滤波器的频率响应出发,寻找一个系统函数,使其频率响应尽可能逼近滤波器要求的理想频率响应。
为了实现这一目标,通常会采用窗函数法进行设计。
这种方法的基本思想是,将理想滤波器的无限长单位脉冲响应截断为有限长因果序列,并用合适的窗函数进行加权,从而得到FIR滤波器的单位脉冲响应。
在选择窗函数时,需要考虑其频率响应和幅度响应。
常见的窗函数包括矩形窗、三角形窗、汉宁窗、汉明窗、布莱克曼窗和凯泽窗等。
每种窗函数都有其特定的特性,如主瓣宽度、旁瓣衰减等。
根据实际需求,可以选择合适的窗函数以优化滤波器的性能。
在软件实现上,可以使用各种编程语言和信号处理库进行FIR滤波器的设计和实现。
例如,在MATLAB中,可以使用内置的`fir1`函数来设计FIR滤波器。
该函数可以根据指定的滤波器长度N和采样频率Fs,自动选择合适的窗函数并计算滤波器的系数。
然后,可以使用快速卷积函数`fftfilt`对输入信号进行滤波处理。
此外,还可以使用等波纹最佳逼近法来设计FIR数字滤波器。
这种方法的目标是找到一个最接近理想滤波器频率响应的实数序列,使得在所有可能的实
数序列中,该序列的误差平方和最小。
通过优化算法,可以找到这个最优序列,从而得到性能更优的FIR滤波器。
总的来说,FIR数字滤波器设计与软件实现数字信号处理实验原理是基于对理想滤波器频率响应的逼近和优化,通过选择合适的窗函数和算法,实现信号的滤波处理。
实验五FIR数字滤波器的设计FIR数字滤波器(Finite Impulse Response)是一种数字滤波器,它的输出仅由有限数量的输入样本决定。
设计FIR数字滤波器的步骤如下:1.确定滤波器的要求:首先需要明确滤波器的频率响应、截止频率、通带和阻带的幅频响应等要求。
2.选择滤波器类型:根据实际需求选择合适的滤波器类型,如低通滤波器、高通滤波器、带通滤波器或带阻滤波器等。
3.确定滤波器的阶数:根据滤波器类型和要求,确定滤波器的阶数。
通常情况下,滤波器的阶数越高,能够实现更陡峭的频率响应,但会引入更多的计算复杂度。
4.设计滤波器的理想频率响应:根据滤波器的要求和类型,设计滤波器的理想频率响应。
可以使用常用的频率响应设计方法,如窗函数法、最小最大法或线性相位法等。
这些方法可以实现平滑的频率响应或者良好的阻带衰减。
5.确定滤波器的系数:根据设计的理想频率响应,通过反变换或优化算法确定滤波器的系数。
常用的优化算法包括频域方法、时域方法、最小二乘法或最小相位法等。
6.实现滤波器:将所得的滤波器系数转化为滤波器的差分方程形式或直接计算滤波器的频域响应。
7.评估滤波器性能:使用合适的测试信号输入滤波器,并对滤波器的输出进行评估。
可以使用指标,如频率响应曲线、幅度响应误差、相位响应误差或阻带衰减等指标来评估滤波器性能。
8.优化滤波器性能:根据评估结果,进行必要的修改和优化设计,以满足滤波器的要求。
通过以上步骤,可以设计出满足需求的FIR数字滤波器。
需要注意的是,FIR数字滤波器设计的复杂度和性能需要权衡与平衡,以满足实际应用的要求。
物理与电子信息工程学院实验报告实验课程名称:数字信号处理实验名称:FIR数字滤波器设计与软件实现班级:1012341姓名:严娅学号:101234153成绩:_______实验时间:2012年12月20 日一、实验目的(1)掌握用窗函数法设计FIR 数字滤波器的原理和方法。
(2)掌握用等波纹最佳逼近法设计FIR 数字滤波器的原理和方法。
(3)掌握FIR 滤波器的快速卷积实现原理。
(4)学会调用MATLAB 函数设计与实现FIR 滤波器。
二、实验原理1、用窗函数法设计FIR 数字滤波器的原理和方法。
如果所希望的滤波器的理想频率响应函数为 )(ωj d e H ,则其对应的单位脉冲响应为)(n h d =π21ωωωππd e e H j j d )(⎰- (2-1)窗函数设计法的基本原理是用有限长单位脉冲响应序列)(n h 逼近)(n h d 。
由于)(n h d 往往是无限长序列,且是非因果的,所以用窗函数)(n ω将)(n h d 截断,并进行加权处理,得到:)(n h =)(n h d )(n ω (2-2))(n h 就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数)(ωj d e H 为:)(ωj d e H =∑-=-1)(N n j e n h ω (2-3) 式中,N 为所选窗函数)(n ω的长度。
由第七章可知,用窗函数法设计的滤波器性能取决于窗函数)(n ω的类型及窗口长度N 的取值。
设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N 。
各种类型的窗函数可达到的阻带最小衰减和过渡带宽度见第七章。
这样选定窗函数类型和长度N 后,求出单位脉冲响应)(n h =)(n h d ·)(n ω,并按式(2-3)求出)(ωj e H 。
)(ωj e H 是否满足要求,要进行验算。
一般在)(n h 尾部加零使长度满足于2的整数次幂,以便用FFT 计算)(ωj e H 。
FIR数字滤波器设计与软件实现实验报告222 FIR数字滤波器设计与软件实现实验报告222实验报告标题:FIR数字滤波器设计与软件实现实验目的:1.掌握FIR数字滤波器的设计原理;2.学会使用软件进行FIR数字滤波器设计;3.实现FIR数字滤波器的软件仿真。
实验材料与设备:1.计算机;2.FIR滤波器设计软件。
实验原理:FIR(Finite Impulse Response)数字滤波器是一种线性时不变滤波器,具有无穷冲击响应长度。
其传递函数表达式为:H(z)=b0+b1*z^(-1)+b2*z^(-2)+...+bM*z^(-M)其中,H(z)为滤波器的传递函数,z为z变换的复数变量,b0,b1,...,bM为滤波器的系数,M为滤波器的阶数。
FIR滤波器的设计包括理想滤波器的设计和窗函数法的设计两种方法。
本实验使用窗函数法进行FIR滤波器的设计。
窗函数法的步骤如下:1.确定滤波器的阶数M;2.设计理想低通滤波器的频率响应Hd(w);3.根据滤波器的截止频率选择合适的窗函数W(n);4.计算滤波器的单位脉冲响应h(n);5.调整滤波器的单位脉冲响应h(n)的幅度;6.得到滤波器的系数b0,b1,...,bM。
实验步骤:1.在计算机上安装并打开FIR滤波器设计软件;2.根据实验要求选择窗函数法进行FIR滤波器的设计;3.输入滤波器的阶数M和截止频率,选择合适的窗函数;4.运行软件进行滤波器设计,得到滤波器的系数;5.使用软件进行FIR滤波器的软件仿真。
实验结果:经过软件仿真,得到了FIR数字滤波器的单位脉冲响应和频率响应曲线,满足设计要求。
滤波器的阶数和截止频率对滤波器的响应曲线有一定影响。
通过调整滤波器阶数和截止频率,可以得到不同的滤波效果。
实验结论:本实验通过窗函数法进行FIR数字滤波器的设计,并通过软件进行了仿真。
实验结果表明,FIR数字滤波器具有良好的滤波效果,可以用于信号处理和通信系统中的滤波需求。
fir数字滤波器设计实验报告FIR数字滤波器设计实验报告概述数字滤波器是数字信号处理中的重要组成部分,广泛应用于音频、图像、视频等领域。
其中,FIR数字滤波器是一种常见的数字滤波器,具有线性相位、稳定性好、易于实现等优点。
本实验旨在设计一种基于FIR数字滤波器的信号处理系统,实现对信号的滤波和降噪。
实验步骤1. 信号采集需要采集待处理的信号。
本实验采用的是模拟信号,通过采集卡将其转换为数字信号,存储在计算机中。
2. 滤波器设计接下来,需要设计FIR数字滤波器。
为了实现对信号的降噪,我们选择了低通滤波器。
在设计滤波器时,需要确定滤波器的阶数、截止频率等参数。
本实验中,我们选择了8阶低通滤波器,截止频率为500Hz。
3. 滤波器实现设计好滤波器后,需要将其实现。
在本实验中,我们采用MATLAB 软件实现FIR数字滤波器。
具体实现过程如下:定义滤波器的系数。
根据滤波器设计的公式,计算出系数值。
利用MATLAB中的filter函数对信号进行滤波。
将采集到的信号作为输入,滤波器系数作为参数,调用filter函数进行滤波处理。
处理后的信号即为滤波后的信号。
4. 结果分析需要对处理后的信号进行分析。
我们可以通过MATLAB绘制出处理前后的信号波形图、频谱图,比较它们的差异,以评估滤波器的效果。
结果显示,经过FIR数字滤波器处理后,信号的噪声得到了有效的降低,滤波效果较好。
同时,频谱图也显示出了滤波器的低通特性,截止频率处信号衰减明显。
结论本实验成功设计并实现了基于FIR数字滤波器的信号处理系统。
通过采集、滤波、分析等步骤,我们实现了对模拟信号的降噪处理。
同时,本实验还验证了FIR数字滤波器的优点,包括线性相位、稳定性好等特点。
在实际应用中,FIR数字滤波器具有广泛的应用前景。
dsp实验报告 fir实验报告DSP实验报告:FIR实验报告引言:数字信号处理(Digital Signal Processing,DSP)是一门研究如何对数字信号进行处理和处理的学科。
其中,滤波器是数字信号处理中最常用的技术之一。
本实验报告旨在介绍FIR(Finite Impulse Response)滤波器的原理、设计和实现过程,并通过实验验证其性能。
一、FIR滤波器的原理FIR滤波器是一种线性时不变系统,其输出信号仅由输入信号的有限个历史样本决定。
其基本原理是将输入信号与滤波器的冲激响应进行卷积运算,以实现对输入信号的滤波处理。
二、FIR滤波器的设计方法1. 理想低通滤波器设计方法理想低通滤波器的频率响应在截止频率之前为1,在截止频率之后为0。
通过对理想低通滤波器的频率响应进行采样和离散化,可以得到FIR滤波器的系数序列。
2. 窗函数法设计FIR滤波器窗函数法是一种常用的FIR滤波器设计方法。
其基本思想是将理想低通滤波器的频率响应与一个窗函数进行乘积,从而得到实际可实现的FIR滤波器的系数序列。
常用的窗函数有矩形窗、汉宁窗、汉明窗等。
三、FIR滤波器的实现FIR滤波器可以通过直接形式和间接形式两种方式实现。
直接形式是按照滤波器的差分方程进行计算,而间接形式则是利用FFT(Fast Fourier Transform)算法将滤波器的系数序列转换为频域进行计算。
四、FIR滤波器的性能评估1. 幅频响应幅频响应是评估FIR滤波器性能的重要指标之一。
通过绘制滤波器的幅频响应曲线,可以直观地观察滤波器在不同频率下的衰减情况。
2. 相频响应相频响应是评估FIR滤波器性能的另一个重要指标。
相频响应描述了滤波器对输入信号的相位延迟情况,对于某些应用场景,相频响应的稳定性和线性性非常重要。
3. 稳态误差稳态误差是指FIR滤波器在达到稳态后输出信号与理想输出信号之间的差异。
通过对滤波器的输入信号进行模拟或实际测试,可以计算出滤波器的稳态误差,并评估其性能。
实验五:FIR数字滤波器设计与软件实现
一、实验目的:
(1)掌握用窗函数法设计FIR数字滤波器的原理和方法。
(2)掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。
(3)掌握FIR滤波器的快速卷积实现原理。
(4)学会调用MA TLAB函数设计与实现FIR滤波器。
二、实验内容及步骤:
(1)认真复习第七章中用窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理;
(2)调用信号产生函数xtg产生具有加性噪声的信号xt,并自动显示xt及其频谱,如图1所示;
图1 具有加性噪声的信号x(t)及其频谱如图
(3)请设计低通滤波器,从高频噪声中提取xt中的单频调幅信号,要求信号幅频失真小于0.1dB,将噪声频谱衰减60dB。
先观察xt的频谱,确定滤波器指标参数。
(4)根据滤波器指标选择合适的窗函数,计算窗函数的长度N,调用MATLAB函数fir1设计一个FIR低通滤波器。
并编写程序,调用MATLAB快速卷积函数fftfilt实现对xt 的滤波。
绘图显示滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。
(4)重复(3),滤波器指标不变,但改用等波纹最佳逼近法,调用MA TLAB函数remezord 和remez设计FIR数字滤波器。
并比较两种设计方法设计的滤波器阶数。
友情提示:
○1MATLAB函数fir1和fftfilt的功能及其调用格式请查阅本课本;
○2采样频率Fs=1000Hz,采样周期T=1/Fs;
○3根据图10.6.1(b)和实验要求,可选择滤波器指标参数:通带截止频率fp=120Hz,阻带截
至频率fs=150Hz,换算成数字频率,通带截止频率
p 20.24
p
f
ωπ
=T=π,通带最大衰为0.1dB,
阻带截至频率
s 20.3
s
f
ωπ
=T=π,阻带最小衰为60dB。
]
○4实验程序框图如图2所示。
图2 实验程序框图
三、实验程序:
1、信号产生函数xtg程序清单:
%xt=xtg(N) 产生一个长度为N,有加性高频噪声的单频调幅信号xt,采样频率Fs=1000Hz %载波频率fc=Fs/10=100Hz,调制正弦波频率f0=fc/10=10Hz.
function xt=xtg
N=1000;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,频率为f0
ct=cos(2*pi*fc*t); %产生载波正弦波信号ct,频率为fc
xt=mt.*ct; %相乘产生单频调制信号xt
nt=2*rand(1,N)-1; %产生随机噪声nt
%=======设计高通滤波器hn,用于滤除噪声nt中的低频成分,生成高通噪声=======
fp=120; fs=150;Rp=0.2;As=60; % 滤波器指标
fb=[fp,fs];m=[0,1]; % 计算remezord函数所需参数f,m,dev
dev=[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('(1) 信号加噪声波形')
subplot(3,1,2);plot(f,abs(fst)/max(abs(fst)));grid;title('(2) 信号加噪声的频谱') axis([0,Fs/2,0,1.2]);xlabel('f/Hz');ylabel('幅度')
2、主程序/实验程序清单:
clear all;clear all;
%==调用xtg产生信号xt, xt长度N=1000,并显示xt及其频谱,=========
N=1000;xt=xtg;
fp=120; fs=150;Rp=0.2;As=60;Fs=1000; % 输入给定指标
% (1) 用窗函数法设计滤波器
wc=(fp+fs)/Fs; %理想低通滤波器截止频率(关于pi归一化)
B=2*pi*(fs-fp)/Fs; %过渡带宽度指标
Nb=ceil(11*pi/B); %blackman窗的长度N
hn=fir1(Nb-1,wc,blackman(Nb));
Hw=abs(fft(hn,1024)); % 求设计的滤波器频率特性
ywt=fftfilt(hn,xt,N); %调用函数fftfilt对xt滤波
%以下为用窗函数法设计法的绘图部分(滤波器损耗函数,滤波器输出信号波形)
f=[0:1023]*Fs/1024;
figure(2)
subplot(2,1,1)
plot(f,20*log10(Hw/max(Hw)));grid;title('(3) 低通滤波器幅频特性')
axis([0,Fs/2,-120,20]);
xlabel('f/HZ');ylabel('幅度')
t=[0:N-1]/Fs;Tp=N/Fs;
subplot(2,1,2)
plot(t,ywt);grid;
axis([0,Tp/2,-1,1]);xlabel('t/s');ylabel('y_w(t)');
title('(4) 滤波噪声后的信号波形')
% (2) 用等波纹最佳逼近法设计滤波器
fb=[fp,fs];m=[1,0]; % 确定remezord 函数所需参数f,m,dev dev=[(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 滤波
%以下为用等纹波设计法的绘图部分(滤波器损耗函数,滤波器输出信号波形) f=[0:1023]*Fs/1024; figure(3) subplot(2,1,1)
plot(f,20*log10(Hw/max(Hw)));grid;title('(5) 低通滤波器幅频特性') axis([0,Fs/2,-80,10]); xlabel('f/HZ');ylabel('幅度') %t=[0:N-1]/Fs;Tp=N/Fs; subplot(2,1,2) plot(t,yet);grid;
axis([0,Tp/2,-1,1]);xlabel('t/s');ylabel('y_e(t)'); title('(6) 滤波噪声后的信号波形')
四、思考题:
(1)如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?请写出设计步骤。
答:用窗函数法设计线性相位低通滤波器的设计步骤教材中有详细的介绍。
(2)如果要求用窗函数法设计带通滤波器,且给定通带上、下截止频率为pl ω和
pu
ω,阻带
上、下截止频率为
sl ω和su ω,试求理想带通滤波器的截止频率cl cu ωω和。
答:希望逼近的理想带通滤波器的截止频率
cl cu ωω和分别为:
cl sl pl cu su pu ()/2, ()/2ωωωωωω=+=+。
(3)解释为什么对同样的技术指标,用等波纹最佳逼近法设计的滤波器阶数低?
①用窗函数法设计的滤波器,如果在阻带截止频率附近刚好满足,则离开阻带截止频率越远,阻带衰减富裕量越大,即存在资源浪费;
② 几种常用的典型窗函数的通带最大衰减和阻带最小衰减固定,且差别较大,又不能分别控制。
所以设计的滤波器的通带最大衰减和阻带最小衰减通常都存在较大富裕。
如本实验所选的blackman 窗函数,其阻带最小衰减为74dB,而指标仅为60dB 。
③ 用等波纹最佳逼近法设计的滤波器,其通带和阻带均为等波纹特性,且通带最大衰
减和阻带最小衰减可以分别控制,所以其指标均匀分布,没有资源浪费,所以期阶数低得多。
五、实验波形图:。