实验四 用窗函数法设计FIR数字滤波器

合集下载

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

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

实验四FIR数字滤波器的设计
FIR(有限冲击响应)数字滤波器是一种常见的数字信号处理器件,
可以用于滤波、降噪等应用。

下面是一种FIR数字滤波器的设计流程:
1.确定滤波器的需求:首先确定需要滤除的频率范围和滤波的类型,
例如低通、高通、带通、带阻等等。

2.设计滤波器的频率响应:根据滤波器的需求,设计其理想的频率响应。

可以使用窗函数、最小二乘法等方法获得一个理想的滤波器响应。

3.确定滤波器的阶数:根据设计的频率响应,确定滤波器的阶数。


数越高,滤波器的响应越陡峭,但计算复杂度也会增加。

4.确定滤波器的系数:根据滤波器的阶数和频率响应,计算滤波器的
系数。

可以使用频域窗函数或时域设计方法。

5.实现滤波器:根据计算得到的滤波器系数,实现滤波器的计算算法。

可以使用直接形式、级联形式、传输函数形式等。

6.评估滤波器的性能:使用所设计的FIR滤波器对输入信号进行滤波,评估其滤波效果。

可以使用频率响应曲线、幅频响应、群延时等指标进行
评估。

7.调整滤波器设计:根据实际的滤波效果,如果不满足需求,可以调
整滤波器的频率响应和阶数,重新计算滤波器系数,重新实现滤波器。

以上是FIR数字滤波器的基本设计流程,设计过程中需要考虑滤波器
的性能、计算复杂度、实际应用需求等因素。

用窗函数实现FIR滤波器

用窗函数实现FIR滤波器

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

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

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

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

(2) 编写程序。

① 编写能产生矩型窗、 升余弦窗、 改进升余弦窗和二阶升余弦窗的窗函数子程序。

② 编写主程序。

其中幅度特性要求用dB 表示。

实验结果:b=1;close all;i=0;while (b);temp=menu('选择窗函数的长度,()01211()()22sin ()()c c j a c j d c j j n j a j n d d c e H e N a h n H e e e e d n a n a ωωπωωωωωπωωωωωπωππωπ-----⎧≤⎪=⎨<<⎪⎩-===--⎰⎰N','N=10','N=15','N=20','N=25','N=30','N=33','N=35','N=40','N=45','N=50','N=55','N=60','N=64'); menu1=[10,15,20,25,30,33,35,40,45,50,55,60,64];N=menu1(temp);temp=menu('选择逼近理想低通滤波器截至频率Wc','Wc=pi/4','Wc=pi/2','Wc=3*pi/4','Wc=pi','Wc=0.5','Wc=1.0','Wc=1.5','Wc=2.0','Wc=2.5','Wc =3.0'); menu2=[pi/4,pi/2,3*pi/4,pi,0.5,1,1.5,2,2.5,3];w=menu2(temp);n=[0:(N-1)];hd=ideal(w,N);k=menu('请选择型:','boxcar','hamming','hanning','blackman');if k==1B=boxcar(N);string=['Boxcar','N-',num2str(N)];else if k==2B=hamming(N);string=['Hamming','N=',num2str(N)];else if k==3B=hanning(N);string=['hanning','N=',num2str(N)];else if k==4B=blackman(N);string=['blackman','N=',num2str(N)];endendendendh=hd.*(B)';[H,m]=freqz(h,[1],1024,'whole');mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);i=i+1;figure(i)subplot(2,2,1);n=0:N-1;stem(n,h,'.');axis([0,N-1,-0.1,0.3]);hold on;n=0:N-1;x=zeros(N);plot(n,x,'-');xlabel('n');ylabel('n');title('实际低通滤波器的h(n)');text((0.3*N),0.27,string);hold off;subplot(2,2,2);plot(m/pi,db);axis([0,1,-100,0]);xlabel('w/pi');ylabel('dB');title('衰减特性(dB)');grid;subplot(2,2,3);plot(m,pha);hold on;n=0:7;x=zeros(8);plot(n,x,'-');title('相频特性');xlabel('频率(rad)');ylabel('相位(rad)');axis([0,3.15,-4,4]);subplot(2,2,4);plot(m,mag);title('频率特性');xlabel('频率W(rad)');ylabel('幅值');axis([0,3.15,0,1.5]);text(0.9,1.2,string);b=menu('Do You want To Continue ?','Yes','No'); if b==2b=0endendtemp=menu('Close All Figure ?','yes','No');if temp==1close allendWindow=blackman(16);b=fir1(15,0.3*pi ,'low',Window); freqz(b,128)三、思考题(1)如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器? 写出设计步骤。

实验四-用窗函数法设计FIR滤波器-实验报告

实验四-用窗函数法设计FIR滤波器-实验报告

实验四 用窗函数法设计FIR 滤波器(一)实验目的1. 掌握窗函数法设计FIR 滤波器的原理和方法,观察用几种常用窗函数设计的FIR 数字滤波器技术指标;2. 掌握FIR 滤波器的线性相位特性;3. 了解各种窗函数对滤波特性的影响。

(二)实验原理如果所希望的滤波器的理想频率响应函数为Hd(e jω),则其对应的单位脉冲响应为ωπωππωd e e H n h n j j d ⎰-=)(21)(,用窗函数wN(n)将hd(n)截断,并进行加权处理,得到实际滤波器的单位脉冲响应h(n)=hd(n)wN(n),其频率响应函数为n j N n j e n h e H ωω--=∑=10)()(。

如果要求线性相位特性,则h(n)还必须满足)1()(n N h n h --±=。

可根据具体情况选择h(n)的长度及对称性。

(三)实验内容1、生成四种窗函数:矩形窗、三角窗、汉宁窗、海明窗,并观察其频率响应。

实验代码以及运行结果%矩形窗及其频响n=15;window1=rectwin(n);[h1,w1]=freqz(window1,1);subplot(2,1,1);stem(window1);title('矩形窗');subplot(2,1,2);plot(w1/pi,20*log(abs(h1))/abs(h1(1)));title('矩形窗频响');%三角窗及其频响n=15;window2=triang(n);[h2,w2]=freqz(window2,1);subplot(2,1,1);stem(window2);title('三角窗');subplot(2,1,2);plot(w2/pi,20*log(abs(h2))/abs(h2(1)));title('三角窗频响');%汉宁窗及其频响n=15;window3=hann(n);window3=hann(n);[h3,w3]=freqz(window3,1);subplot(2,1,1);stem(window3);title('汉宁窗');subplot(2,1,2); plot(w3/pi,20*log(abs(h3))/abs(h3(1)));title('汉宁窗频响');%海明窗频响n=15;window4=hamming(n);[h4,w4]=freqz(window4,1); subplot(2,1,1);stem(window4);title('海明窗');subplot(2,1,2); plot(w4/pi,20*log(abs(h4))/abs(h4(1)));title('海明窗频响'); 运行结果:2、根据下列技术指标,设计一个FIR数字低通滤波器:wp=0.2π,ws=0.4π,ap=0.25dB,as=50dB,选择一个适当的窗函数,确定单位冲激响应,绘出所设计的滤波器的幅度响应。

实验四FIR数字滤波器设计与软件实现

实验四FIR数字滤波器设计与软件实现

实验四FIR数字滤波器设计与软件实现
实验目的:
掌握FIR数字滤波器的设计与软件实现方法,了解滤波器的概念与基
本原理。

实验原理:
FIR数字滤波器全称为有限脉冲响应数字滤波器,其特点是具有有限
长度的脉冲响应。

滤波器通过一系列加权系数乘以输入信号的延迟值,并
将这些值相加得到输出信号。

FIR滤波器的频率响应由滤波器系数所决定。

实验步骤:
1.确定所需的滤波器的设计规格,包括截止频率、通带波纹、阻带衰
减等。

2.选择适当的滤波器设计方法,如窗函数、最佳近似法、最小二乘法等。

3.根据所选方法,计算滤波器的系数。

4.在MATLAB环境下,使用滤波器的系数实现滤波器。

5.输入所需滤波的信号,经过滤波器进行滤波处理。

6.分析输出的滤波信号,观察滤波效果是否符合设计要求。

实验要求:
1.完成FIR数字滤波器的设计和软件实现。

2.对比不同设计方法得到的滤波器性能差异。

3.分析滤波结果,判断滤波器是否满足设计要求。

实验器材与软件:
1.个人电脑;
2.MATLAB软件。

实验结果:
根据滤波器设计规格和所选的设计方法,得到一组滤波器系数。

通过
将滤波器系数应用于输入信号,得到输出滤波信号。

根据输出信号的频率
响应、通带波纹、阻带衰减等指标,评估滤波器的性能。

实验注意事项:
1.在选择设计方法时,需要根据滤波器要求和实际情况进行合理选择。

2.在滤波器实现过程中,需要注意滤波器系数的计算和应用。

3.在实验过程中,注意信号的选择和滤波结果的评估方法。

实验四FIR数字滤波器设计与软件实现

实验四FIR数字滤波器设计与软件实现

实验四FIR数字滤波器设计与软件实现
实验目的:
FIR(Finite Impulse Response)数字滤波器是一种常用的数字滤波器,本实验旨在通过设计和软件实现FIR数字滤波器,加深对数字滤波器的理解和应用。

实验材料和设备:
1.个人电脑
2. 数字信号处理软件(如MATLAB、Python等)
实验步骤:
1.确定滤波器的类型和设计要求,如低通滤波器、高通滤波器、带通滤波器等。

给定滤波器的截止频率、通带衰减和阻带衰减等参数。

2.使用指定的设计方法,如窗函数法、频率采样法等,进行FIR滤波器的设计。

根据设计要求选择合适的窗函数(如矩形窗、汉宁窗、布莱克曼窗等)或频率采样点。

3.进行FIR滤波器的软件实现。

在数字信号处理软件中,根据设计好的滤波器系数(也称为权值),通过卷积操作对输入信号进行滤波。

可以使用已有的滤波器设计函数或自行编写代码实现。

4.对输入信号进行滤波,观察滤波效果。

可以通过绘制输入信号和输出信号的时域图和频域图,分析滤波效果。

根据需要,可以对滤波器进行调整和优化。

5.根据实验结果,对滤波器的性能进行评估。

可以对比不同设计方法和参数选择的滤波器性能,分析其优缺点。

注意事项:
1.在选择滤波器的设计方法时,要根据实际需求和要求来选择。

不同方法有不同的适用范围和设计效果。

2.在进行滤波器实现时,要注意系数计算的精度和卷积操作的效率。

3.在进行滤波效果评估时,要综合考虑时域和频域等多个指标,避免单一指标的片面评价。

窗函数法设计fir滤波器步骤

窗函数法设计fir滤波器步骤

窗函数法设计fir滤波器步骤
设计FIR滤波器的窗函数法步骤如下:
1. 确定滤波器的理想频率响应:根据滤波器的要求和设计目标,确定滤波器的理想频率响应。

例如,低通滤波器的理想频率响应为在截止频率以下通过全部信号,而在截止频率以上完全阻断信号。

2. 确定滤波器的截止频率:根据滤波器的要求,确定滤波器的截止频率,即理想频率响应中的-3dB截止点。

3. 计算滤波器的长度:根据滤波器的设计要求和所选窗函数的性能,计算滤波器的长度。

滤波器的长度通常与截止频率、过渡带宽和窗函数的主瓣宽度相关。

4. 选择合适的窗函数:根据滤波器的设计要求和性能需求,选择合适的窗函数。

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

5. 生成滤波器的理想冲激响应:根据滤波器的理想频率响应和截止频率,生成滤波器的理想冲激响应。

可以使用理想低通滤波器或频域采样方法生成。

6. 应用窗函数:将生成的理想冲激响应与所选的窗函数进行乘积,得到窗函数法设计的FIR滤波器的冲激响应。

7. 可选的调整和优化:根据需要,对生成的滤波器进行进一步的调整和优化,以满足特定的性能需求。

例如,可以通过改变窗函数的参数或使用多个窗函数的组合来调整主瓣宽度、副瓣抑制等。

8. 可选的滤波器实现:将得到的滤波器冲激响应进行频域或时域的变换,得到FIR滤波器的差分方程或频域表达式,然后进行滤波器的实现。

9. 滤波器性能评估:对设计的滤波器进行性能评估,包括频率响应、幅频特性、相位响应、群延迟等。

10. 如有需要,对滤波器的设计进行调整和优化,直至满足设计要求。

用窗函数法设计FIR滤波器

用窗函数法设计FIR滤波器

用窗函数法设计FIR滤波器窗函数法是一种常用的数字滤波器设计方法,特别是FIR(Finite Impulse Response)滤波器设计的一种方法。

FIR滤波器是一种非递归滤波器,可以实现信号的滤波,特定频率的增强或抑制,抗混叠等功能。

FIR滤波器设计过程可以分为两个步骤:确定滤波器的理论参数和设计窗函数。

第一步,确定滤波器的理论参数。

这些参数包括滤波器的采样频率,截止频率,通带和阻带的衰减要求等。

一般情况下,FIR滤波器的理论参数由滤波器的应用需求决定。

第二步,设计窗函数。

窗函数是用来限制FIR滤波器的单位冲激响应的长度的。

它决定了滤波器的频率响应特性和频率选择性。

窗函数可以通过Fourier级数展开来实现。

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

例如,以汉宁窗为例,下面是使用窗函数法设计FIR滤波器的具体步骤:1. 确定滤波器的理论参数。

如采样频率为fs,截止频率为fc,通带衰减要求为d1,阻带衰减要求为d22.将截止频率转化为数字频率。

由于数字信号是离散的,需要将模拟信号的截止频率转化为数字频率。

数字频率的单位为π。

3.根据截止频率和采样频率计算滤波器的长度N。

通常情况下,滤波器的长度N取一个奇数值,以确保能满足线性相位要求。

4.根据窗函数的性质确定窗函数的参数。

汉宁窗的参数为α=0.55.根据窗函数的长度N和参数α计算窗函数的系数。

例如,对于汉宁窗,窗函数的系数可通过下式计算得到:w(n) = 0.5 - 0.5 * cos(2πn/N) ,其中0≤ n ≤ N-16.根据窗函数的系数计算滤波器的单位冲激响应h(n)。

滤波器的单位冲激响应即为窗函数系数的离散时间傅里叶变换(DTFT),用于表示滤波器的频率响应特性。

7.根据滤波器的单位冲激响应h(n)可以计算出滤波器的频率响应H(f)。

频率响应可以通过滤波器的单位冲激响应h(n)的离散时间傅里叶变换(DTFT)计算得到。

8.根据设计要求来检验滤波器的频率响应特性是否满足要求。

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

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

实验 用窗函数设计FIR 滤波器一、实验目的1、熟悉FIR 滤波器设计的基本方法。

2、熟悉线性相位FIR 滤波器的幅频特性和相位特性。

3、掌握用窗函数设计FIR 数字滤波器的原理及方法,了解各种不同窗函数对滤波器性能的影响。

二、实验原理1、FIR 滤波器的设计 在前面的实验中,我们介绍了IIR 滤波器的设计方法并实践了其中的双线性变换法,IIR 具有许多诱人的特性;但与此同时,也具有一些缺点。

例如:若想利用快速傅立叶变换技术进行快速卷积实现滤波器,则要求单位脉冲响应是有限长的。

此外,IIR 滤波器的优异幅度响应,一般是以相位的非线性为代价的,非线性相位会引起频率色散。

FIR 滤波器具有严格的相位特性,这对于许多信号的处理和数据传输是很重要的。

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

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

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

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

一般是给定一个理想的频率响应[]j d H e ω,使所设计的FIR 滤波器的频率响应[]j H e ω去逼近所要求的理性的滤波器的响应[]j d H e ω。

窗函数法设计的任务在于寻找一个可实现(有限长单位脉冲响应)的传递函数1()[]N j j nn H e h n e ωω--==∑ (4.1)去逼近[]j d H e ω。

我们知道,一个理想的频率响应[]j d H e ω的傅立叶反变换201[]()2j j n d d h n H e e d πωωωπ=⎰(4.2)所得到的理想单位脉冲响应[]d h n 往往是一个无限长序列。

窗函数法设计fir滤波器

窗函数法设计fir滤波器

窗函数法设计fir滤波器
窗函数法设计FIR滤波器是一种利用窗函数加权最小均方(Least Square)误差最小原理来设计FIR滤波器的方法。

其具体步骤为:
1. 根据滤波器的特性,确定滤波器的构成参数,包括阶数、通带截止频率、阻带截止频率等;
2. 确定窗函数类型,常见的窗函数有Hamming窗、Hann窗、Blackman窗、Kaiser窗等;
3. 利用窗函数对滤波器的传递函数进行加权,使得滤波器的设计响应更加平滑;
4. 将加权后的传递函数转换为时域的系统函数,从而得到滤波器的系数;
5. 验证滤波器的频率响应和时域响应,并进行必要的改进。

用窗函数法设计FIR滤波器

用窗函数法设计FIR滤波器
具体步骤如下:
1.用窗函数法设计一线性相位FIR低通滤波器,要求通带截止频率 ,
(1)选择一个合适的窗函数(如hamming窗),取单位冲击响应h(n)的长度N=15,观察所设计滤波器的幅频特性,分析是否满足设计要求;
(2)取N=45,重复上述设计,观察幅频和相频特性的变化,分析长度N变化的影响;
(3)保持N=45不变,改变窗函数(如hamming窗变为blackman窗),观察并记录窗函数对滤波器幅频特性的影响。
xlabel('n');ylabel('h(n)');
title('hamming窗设计的h(n)'2);
hw=fft(hn,512);
w=2*[0:511]/512;
plot(w,20*log10(abs(hw)));
xlabel('w/pi');ylabel('Magnitude(dB)');
(4)由 ,得出单位脉冲响应 ;
(5)对 作离散时间傅立叶变换,得到 。
2.在MATLAB中,可以用b=fir1(N,Wn,’ftype’,taper)等函数辅助设计FIR数字滤波器。N代表滤波器阶数;Wn代表滤波器的截止频率(归一化频率),当设计带通和带阻滤波器时,Wn为双元素相量;ftype代表滤波器类型,如’high’高通,’stop’带阻等;taper为窗函数,默认为海明窗,窗函数实现需要用窗函数blackman,hamming,hanningchebwin,kaiser产生。
用窗函数法设计FIR滤波器是在时域进行的,先用傅里叶变换求出理想滤波器单位抽样相应hd(n),然后加时间窗w(n)对其进行截断,以求得FIR 滤波器的单位抽样响应h(n)。

数字信号处理实验——用窗函数设计FIR滤波器

数字信号处理实验——用窗函数设计FIR滤波器

实验四 用窗函数设计FIR 滤波器一、 实验目的1、熟悉FIR 滤波器设计的基本方法。

2、掌握用窗函数设计FIR 数字滤波器的原理及方法,熟悉相应的计算机高级语言编程。

3、熟悉线性相位FIR 滤波器的幅频特性和相位特性。

4、了解各种不同窗函数对滤波器性能的响应。

二、 实验原理和方法窗函数法设计的任务在于寻找一个可实现有限长单位脉冲响应的传递函数H(e jw )=∑-=10N n h(n)e -jwn 去逼近h d (n)=1/2π⎰π20H d (e jw )e jwn dw即h(n)=h d (n)w (n ) (一)几种常用的窗函数1、矩形窗 w(n)=R N (n)2、Hanning 窗 w(n)=0.5[1-cos(2πn /N-1)]R N (n)3、Hamming 窗 w(n)=[0.54-0.46cos(2πn /N-1)]R N (n)4、Blackman 窗 w(n)=[0.42-0.5 cos(2πn /N-1)+0.08 cos(4πn /N-1)] R N (n)5、Kaiser 窗 w(n)=I 0(β(1-[(2n /(N-1))-1]2)½)/I 0(β)(二)窗函数法设计线性相位FIR 滤波器的步骤1、确定数字滤波器的性能要求。

确定各临界频率{w k }和滤波器单位脉冲响应长度N 。

2、根据性能要求和N 值,合理地选择单位脉冲响应h(n)有奇偶对称性,从而确定理想频率响应h d (e jw )的幅频特性和相位特性。

3、用傅里叶反变换公式求得理想单位脉冲响应h d (n)。

4、选择适当的窗函数W (n ),求得所设计的FIR 滤波器单位脉冲响应。

5、用傅里叶变换求得其频率响应H (e jw ),分析它的幅频特性,若不满足要求,可适当改变窗函数形式或长度N ,重复上述过程,直至得到满意的结果。

三、实验内容和步骤1、分别用矩形窗、Hanning 窗、Hamming 窗、Blackman 窗、Kaiser 窗(β=8.5)设计一个长度N=8的线性相位FIR 滤波器。

实验四 FIR滤波器的设计

实验四 FIR滤波器的设计

实验五 FIR滤波器的设计(一)一、实验目的(1) 掌握用窗函数法设计FIR滤波器的原理及方法,熟悉响应的计算机编程;(2) 熟悉线性相位FIR滤波器的幅频特性和相频特性;(3)了解各种不同窗函数对滤波器性能的影响。

二、实验原理与方法线性相位实系数FIR滤波器按其N值奇偶和h(n)的奇偶对称性分为四种: 1、h(n)为偶对称,N为奇数H(e jω)的幅值关于ω=0,π,2π成偶对称。

2、h(n)为偶对称,N为偶数H(e jω)的幅值关于ω=π成奇对称,不适合作高通。

3、h(n)为奇对称,N为奇数H(e jω)的幅值关于ω=0,π,2π成奇对称,不适合作高通和低通。

4、h(n)为奇对称,N为偶数H(e jω)ω=0、2π=0,不适合作低通。

窗函数法设计线性相位FIR滤波器步骤a)确定数字滤波器的性能要求:临界频率{ωk},滤波器单位脉冲响应长度N;b)根据性能要求,合理选择单位脉冲响应h(n)的奇偶对称性,从而确定理想频率响应Hd(e jω)的幅频特性和相频特性;c)求理想单位脉冲响应h d(n),在实际计算中,可对H d(e jω)按M(M远大于N)点等距离采样,并对其求IDFT得hM (n),用hM(n)代替hd(n);d)选择适当的窗函数w(n),根据h(n)= h d(n)w(n)求所需设计的FIR滤波器单位脉冲响应;e)求H(e jω),分析其幅频特性,若不满足要求,可适当改变窗函数形式或长度N,重复上述设计过程,以得到满意的结果。

窗函数的傅式变换W(e jω)的主瓣决定了H(e jω)过渡带宽。

W(e jω)的旁瓣大小和多少决定了H(e jω)在通带和阻带范围内波动幅度,常用的几种窗函数有:a)矩形窗 w(n)=R N(n);b)Hanning窗;c)Hamming窗;d)Blackmen窗;e)Kaiser窗。

(x)为零阶贝塞尔函数。

式中Io三、实验内容。

用Hanning窗设计一线性相位带通滤波器,(1)N=15,观察它的实际3dB和20dB带宽。

用窗函数设计FIR数字滤波器

用窗函数设计FIR数字滤波器

目录1基本原理 (2)1.1设计hd(n) (2)1.2窗函数 (3)1.2.1矩形窗(Rectangle Window) (3)1.2.2三角形窗(Bartlett Window) (3)1.2.3布莱克曼(Blankman)窗 (3)1.2.4窗函数表格 (4)2课设题目 (4)2.1第一题 (4)2.2第二题 (5)2.2第三题 (6)3.心得体会 (7)参考文献 (8)1基本原理1.1设计hd(n)设计低通FIR数字滤波器,寻求一系统函数H(z),使其频率响应逼近滤波器要求的理想频率响应,其对应的单位脉冲响应Hd(n)其它为零(1.1)其中 =(N-1)/2如果所希望的滤波器的理想的频率响应函数为,则其对应的单位脉冲响应为(1.2)窗函数设计法的基本原理是用有限长单位脉冲响应序列h(n)逼近hd(n)。

由于hd(n)往往是无限长序列,而且是非因果的,所以用窗函w(n)将hd(n)截断,并进行加权处理,得到:w(n)hd(n)(1.3)h(n)就作为实际设计的FIR数字滤波器的单位脉冲响应序列,其频率响应函数:(1.4)式中,N为所选窗函数w(n)的长度。

1.2窗函数1.2.1矩形窗(Rectangle Window)其频率响应和幅度响应分别为:(1.6)1.2.2三角形窗(Bartlett Window)(1.7)其频率响应和幅度响应分别为:(1.8)1.2.3布莱克曼(Blankman)窗(1.9)其幅度响应:.(1.10)我们知道,用窗函数法设计的滤波器性能取决于窗函数我w(n)的类型及窗口长度的取值。

设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数和窗口长度N 。

各种类型的窗函数可达到的阻带最小衰减和过渡带宽度见下表11.2.4窗函数表格窗函数旁瓣峰值幅度/dB 过渡带宽阻值最小衰减/dB-12矩形窗-134-25三角窗-258-44汉宁窗-318-53哈明窗-418-74布莱克曼窗-5712-80凯塞窗-5710表格 1.12课设题目2.1第一题1.用矩形窗设计一个FIR线性相位数字低通滤波器,已知Wc=0.5。

实验四--FIR数字滤波器设计与软件实现

实验四--FIR数字滤波器设计与软件实现

&实验四 FIR数字滤波器设计与软件实现1.实验目的(1)掌握用窗函数法设计FIR数字滤波器的原理和方法。

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

(3)掌握FIR滤波器的快速卷积实现原理。

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

2.实验内容及步骤'(1)认真复习第七章中用窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理;(2)调用信号产生函数xtg产生具有加性噪声的信号xt,并自动显示xt及其频谱,如图所示;图具有加性噪声的信号x(t)及其频谱如图(3)请设计低通滤波器,从高频噪声中提取xt中的单频调幅信号,要求信号幅频失真小于,将噪声频谱衰减60dB。

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

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

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

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

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

并比较两种设计方法设计的滤波器阶数。

提示:○1MATLAB函数fir1和fftfilt的功能及其调用格式请查阅本书第7章和第8章;*○2采样频率Fs=1000Hz,采样周期T=1/Fs;○3根据图和实验要求,可选择滤波器指标参数:通带截止频率fp=120Hz,阻带截至频率fs=150Hz,换算成数字频率,通带截止频率p 20.24pfωπ=T=π,通带最大衰为,阻带截至频率s 20.3sfωπ=T=π,阻带最小衰为60dB。

]○4实验程序框图如图所示,供读者参考。

图实验程序框图;3.信号产生函数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=;As=70; % 滤波器指标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('(a) 信号加噪声波形')subplot(3,1,2);plot(f,abs(fst)/max(abs(fst)));grid;title('(b) 信号加噪声的频谱')axis([0,Fs/2,0,]);xlabel('f/Hz');ylabel('幅度')4、滤波器参数及实验程序清单1)、滤波器参数选取根据节实验指导的提示③选择滤波器指标参数:通带截止频率fp=120Hz,阻带截至频率fs=150Hz。

窗函数法设计FIR滤波器

窗函数法设计FIR滤波器

窗函数法设计FIR滤波器FIR(Finite Impulse Response)滤波器是一种常见的数字滤波器,通过一系列有限长度的输入信号进行系统响应的采样,使用窗函数法设计FIR滤波器是一种常用且有效的方法。

设计FIR滤波器的第一步是确定滤波器的阶数。

阶数是指滤波器的长度,通常表示为N。

设计FIR滤波器的第二步是选择滤波器的截止频率。

截止频率决定滤波器的频率响应。

设计FIR滤波器的第三步是选择窗函数。

窗函数是一种平滑函数,用于调整滤波器的频率响应。

常见的窗函数有矩形窗、汉明窗、海明窗等。

矩形窗是最简单的窗函数,没有频率响应调整的效果。

汉明窗是常用的窗函数之一,它可以提供较好的频率响应特性。

海明窗是一种能够提供更优秀频率响应的窗函数。

设计FIR滤波器的第四步是确定窗函数的参数。

这些参数包括主瓣宽度、动态范围、副瓣能量等。

设计FIR滤波器的最后一步是计算滤波器的系数。

滤波器的系数是由输入信号进行线性组合得到的。

通常采用离散频率域设计方法计算FIR滤波器的系数。

该方法通过将滤波器的频率响应与目标响应之间的差异最小化来寻找最佳系数。

具体计算过程包括以下几个步骤:1.设计一个无限长的理想低通滤波器,其频率响应与所需滤波器接近。

2. 使用离散Fourier变换将无限长的理想滤波器转换为有限长的频率响应。

3.选择适当的窗函数,根据窗函数的参数修改频率响应。

4.反变换回时间域,得到FIR滤波器的系数。

设计完滤波器后,可以通过将输入信号与滤波器系数进行卷积运算来获得滤波后的信号。

滤波器系数的选择决定了滤波器的性能。

通常可以通过频率响应、滤波器特性等指标来评估滤波器的性能。

使用窗函数法设计FIR滤波器可以得到满足特定要求的滤波器,其设计过程相对简单,易于实现。

但需要注意的是,窗函数法设计的FIR滤波器在频率响应的过渡区域可能会有较大的波动,需要根据具体应用场景对滤波器参数进行调整。

总之,窗函数法是一种常见且有效的设计FIR滤波器的方法,通过选择合适的窗函数和调整参数,可以得到满足特定要求的滤波器。

用窗口法设计FIR数字滤波器

用窗口法设计FIR数字滤波器

一.实验目的了解一个实际滤波器设计过程,加深掌握用窗口发设计FIR数字滤波器的原理和窗函数对数字滤波器性能的影响。

二.实验原理设FIR滤波器的单位冲激响应h (n)为一个N点序列,0 ≤ n ≤N —1,则滤波器的系统函数为H(z)=∑h(n)*z^-n。

就是说,它有(N—1)阶极点在z = 0处,有(N—1)个零点位于有限z平面的任何位置。

三.实验内容与要求1.编写用改进的升余弦窗设计FIR线性相应低通数字滤波器的程序,已知wc=0.5,N=21.这里wc为低通滤波器的截止频率,N为滤波器的长度,滤波器的阶数为N-1.2.调试运行程序,要求在屏幕上显示出单位脉冲响应h(n)的数值.画出其幅度响应 |H |及20lg |H |的曲线.3.画出窗口函数w(n)及其频谱W的幅度|W |和20lg |W |的曲线.四.试验程序及图谱1.N=21;Window=hamming(N);wc=0.5*pi;b=fir1(N-1,wc/pi,window);freqz(b,1,512);2.N=21;wc=0.5*pi;r=(N-1)/2;n=0:N-1;hdu=sin(wc*(n-r))/pi./(n-r);if rem(N,2)~=0;hdu(r+1)=wc/pi;endwn=hamming(N);h=hdu.*wn';H=fft(h,512);w=2*[0:511]/512;subplot(3,1,1);plot(w,20*log10(abs(H)));subplot(3,1,2);plot(hdu);subplot(3,1,3);plot(w,abs(H));3.N=21;wc=0.5*pi;r=(N-1)/2;n=0:N-1;hdu=sin(wc*(n-r))/pi./(n-r);if rem(N,2)~=0;hdu(r+1)=wc/pi;endwn=hamming(N);h=hdu.*wn';H=fft(h,512);Wn=fft(wn,100);magWn=abs(Wn);phaWn=angle(Wn);w=2*[0:511]/512;subplot(3,1,1);plot(wn);subplot(3,1,2);stem(magWn);subplot(3,1,3);stem(20*log10(magWn));一.实验目的1)掌握数字滤波器的计算机仿真方法。

数字信号处理 实验四 用窗函数法设计 FIR数字滤波器

数字信号处理 实验四 用窗函数法设计 FIR数字滤波器

《数字信号处理》实践报告题 目: 实验四 用窗函数法设计 FIR 数字滤波器实验四:用窗函数法设计 FIR 数字滤波器1. 实验目的(1) 掌握用窗函数法设计FIR 数字滤波器的原理和方法。

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

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

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

由于h d(n)往往是无限长序列,且是非因果的,所以用窗函数。

w(n)将h d(n)截断,并进行加权处理,得到:h(n) = h d(n) w(n) ——(4.2)h(n)就作为实际设计的FIR数字滤波器的单位脉冲响应序列,其频率响应函数H(e jω)为H(e jω) =∑-=-1) (N nnjenhω——(4.3)式中,N为所选窗函数w(n)的长度。

由第七章可知,用窗函数法设计的滤波器性能取决于窗函数w(n)的类型及窗口长度N的取值。

设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N。

各种类型的窗函数可达到的阻带最小衰减和过渡带宽度见第七章。

这样选定窗函数类型和长度N后,求出单位脉冲响应h(n) = h d(n)·w(n),并按式(4.3)求出H(e jω)。

H(e jω)是否满足要求,要进行验算。

一般在h(n)尾部加零使长度满足2的整数次幂,以便用FFT计算H(e jω)。

如果要观察细节,补零点数增多即可。

如果H(e jω)不满足要求,则要重新选择窗函数类型和长度N,再次验算,直至满足要求。

如果要求线性相位特性,则h(n)还必须满足:h(n) = ±h( N - 1 –n )根据上式中的正、负号和长度N的奇偶性又将线性相位FIR滤波器分成四类。

用窗函数法设计FIR数字滤波器课程设计报告

用窗函数法设计FIR数字滤波器课程设计报告

课程设计任务书题目:用窗函数法设计FIR数字滤波器初始条件:1. Matlab6.5以上版本软件;2. 课程设计辅导资料:“Matlab语言基础及使用入门”、“数字信号处理原理与实现”、“Matlab及在电子信息课程中的应用”等;3. 先修课程:信号与系统、数字信号处理、Matlab应用实践及信号处理类课程等。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.课程设计时间:1周(课内实践);2.课程设计内容:用窗函数法设计FIR数字滤波器,具体包括:用窗函数法设计FIR数字滤波器基本方法,各种窗函数的应用、比较、选择,线性相位FIR滤波器的设计等;3.本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表),并对实验结果进行分析和总结;4.课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括:①目录;②与设计题目相关的理论分析、归纳和总结;③与设计内容相关的原理分析、建模、推导、可行性分析;④程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结;⑤课程设计的心得体会(至少500字);⑥参考文献;⑦其它必要内容等。

时间安排:第19周参考文献:刘泉、阙大顺、郭志强著,《数字信号处理原理与实现》,北京:电子工业出版社,2009.6 薛喜年著,《MATLAB在数字信号处理中的应用》,国防科技大学出版社阙大顺、郭志强著,《数字信号处理学习指导与考研辅导》,武汉理工大学出版社指导教师签名:年月日系主任(或责任教师)签名:年月日目录1、绪论 (2)2、软件介绍 (3)3、课程设计题目及要求 (4)4、设计原理 (5)4.1基本原理 (5)4.2典型窗函数 (5)5、FIR滤波器的窗函数设计过程 (9)5.1利用三角窗设计 (9)5.2利用矩形窗设计 (11)5.3 利用布莱克曼窗设计 (12)5.4、结果分析 (14)6、心得体会 (15)7、参考文献 (16)用窗函数法设计FIR数字滤波器1、绪论在许多数字信号处理系统中,FIR滤波器是最常用的组件之一,他完成信号预调、频带选择和滤波等功能。

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

实验四 用窗函数法设计FIR 数字滤波器实验项目名称:用窗函数法设计FIR 数字滤波器 实验项目性质:验证性实验 所属课程名称:数字信号处理 实验计划学时:2 一. 实验目的(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 ,,ee H 0其中21-=N α ()()()[]()a n a n d e e d e e H n h c j j j j d d cc--===⎰⎰---πωωπωπωαωωωαωππωsin 2121(3) 33=N ,4πω=c ,用四种窗函数设计线性相位低通滤波器,绘制相应的幅频特性曲线,观察3dB 带宽和20dB 带宽以及阻带最小衰减,比较四种窗函数对滤波器特性的影响。

三. 实验主要仪器设备和材料 计算机,MATLAB6.5或以上版本 四. 实验方法、步骤及结果测试如果所希望的滤波器的理想的频率响应函数为()ωj d e H ,则其对应的单位脉冲响应为()()ωπωωππd e e H n h jjdd ⎰-=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 ω的长度。

我们知道,用窗函数法设计的滤波器性能取决于窗函数()n ω的类型及窗口长度N 的取值。

设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N 。

各种类型的窗函数可达到的阻带最小衰减和过渡带宽度见表4.1。

表4.1 各种窗函数的基本参数()()()n n h n h d ω•=,并按照式(4.3)求出()ωj e H 。

()ωj e H 是否满足要求,要进行演算。

一般在()n h 尾部加零使长度满足2的整数次幂,以便用FFT 计算()ωj e H 。

如果要观察细节,补零点数增多即可。

如果()ωj e H 不满足要求,则要重新选择窗函数类型和长度N ,再次验算,直至满足要求。

如果要求线性相位特性,则()n h 还必须满足()()n N h n h --±=1根据上式中的正、负号和长度N 的奇偶性又将线性相位FIR 滤波器分成四类。

要根据所设计的滤波特性正确选择其中一类,例如,要设计线性相位低通特性,可以选择()()n N h n h --=1这一类,而不能选择()()n N h n h ---=1这一类。

主程序框图如图4.1所示。

其中幅度特性要求用dB 表示。

设)()()()()()()]([)(22k H k H k H k jH k H k H n h DFT k H I R I R +=+==画图时,用)(lg 20k H 打印幅度特性。

第k 点对应的频率k Nk πω2=。

为使曲线包络更接近()ωj e H 的幅度特性曲线,DFT 变换区间要选大些。

例如窗口长度N=33时,可通过在()n h 末尾补零的方法,使长度变为64,再进行64点DFT ,则可以得到更精确的幅度衰减特性曲线。

图4-1 主程序框图下面给出MATLAB主程序:%实验四,用窗函数法设计FIR数字滤波器b=1;close all;i=0;while(b);temp=menu('选择窗函数长度N','N=10','N=15','N=20','N=25','N=30','N=33','N=35','N=40','N=4 5','N=50','N=55','N=60','N=64');menu1=[10,15,20,25,30,33,35,40,45,50,55,60,64];N=menu1(temp);temp=menu('选择逼近理想低通滤波器截止频率Wc','Wc=pi/4','Wc=pi/2','Wc=3*pi/4','Wc=pi','Wc=0.5','Wc=1.0',' Wc=1.5','Wc=2.0','Wc=2.5','Wc=3.0');menu2=[pi/4,pi/2,3*pi/4,pi,0.5,1,1.5,2,2.5,3];w=menu2(temp);n=[0:(N-1)];hd=ideal(w,N); %得到理想低通滤波器k=menu('请选择窗口类型:','boxcar','hamming','hanning','blackman');if k==1B=boxcar(N);string=['Boxcar','N=',num2str(N)];else if k==2B=hamming(N);string=['Hamming','N=',num2str(N)];else if k==3B=hanning(N);string=['Hanning','N=',num2str(N)];else if k==4B=blackman(N);string=['Blackman','N=',num2str(N)]; endendendendh=hd.*(B)'; %得到FIR数字滤波器[H,m]=freqz(h,[1],1024,'whole'); %求其频率响应mag=abs(H); %得到幅值db=20*log10((mag+eps)/max(mag));pha=angle(H); %得到相位i=i+1;figure(i)subplot(2,2,1);n=0:N-1;stem(n,h,'.');axis([0,N-1,-0.1,0.3]);hold on;n=0:N-1;x=zeros(N);plot(n,x,'-');xlabel('n');ylabel('h(n)');title('实际低通滤波器的h(n)');text((0.3*N),0.27,string);hold off;subplot(2,2,2);plot(m/pi,db);axis([0,1,-100,0]);xlabel('w/pi');ylabel('dB');title('衰减特性(dB)');grid;subplot(2,2,3);plot(m,pha);hold on;n=0:7;x=zeros(8);plot(n,x,'-');title('相频特性');xlabel('频率(rad)');ylabel('相位(rad)');axis([0,3.15,-4,4]);subplot(2,2,4);plot(m,mag);title('频率特性');xlabel('频率W(rad)');ylabel('幅值');axis([0,3.15,0,1.5]);text(0.9,1.2,string);b=menu('Do You want To Continue ?','Yes','No'); if b==2b=0;endendtemp=menu('Close All Figure ?','Yes','No');if temp==1close allend程序运行结果:运行程序,根据实验容要求和程序提示选择你要进行的实验参数。

三个实验参数选定后,程序运行输出用所选窗函数设计的实际FIR低通数字滤波器的单位脉冲响应h(n)、幅频衰减特性(20lg|H(e jw)|)、相频特性及幅频特性|H(e jw)|的波形,h(n)和|H(e jw)|图中标出了所选窗函数类型及其长度N值。

对四种窗函数(N=15和N=33)的程序运行结果如图4-2到图4-9所示,由图可以看出用各种窗函数设计的FIR滤波器的阻带最小衰减及过渡带均与教材中一致。

在通带均为严格相位特性。

图4-2 矩形窗(N=15)图4-3 矩形窗(N=33)图4-4 哈明窗(N=15)图4-5 哈明窗(N=33)图4-6 汉宁窗(N=15)图4-7 汉宁窗(N=33)图4-8 布莱克曼窗(N=15)五. 实验报告要求(1) 简述实验原理及目的。

(2) 按照实验步骤以及要求,比较各种情况下的滤波性能,说明窗口长度N 和窗函数类型对滤波特性的影响。

(3) 总结用窗函数法设计FIR 滤波器的主要特点。

(4) 简要回答思考题。

思考题如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器,写出设计步骤。

如果要求用窗函数法设计带通滤波器,而且给定上、下边带截止频率为1ω和2ω,试求理想带通的单位脉冲响应()n h d 。

图4-9 布莱克曼窗(N=33)。

相关文档
最新文档