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

合集下载

实验4 FIR滤波器设计

实验4 FIR滤波器设计

长沙理工大学计通学院通信工程系胡双红编数字信号处理A 实验报告实验项目名称: 4 FIR滤波器设计学院:______计算机与通信工程____ 专业:______ _通信工程 _________ 学号:______201xxxxxxxxxx______ 班级:______ 通信1x-x_________ 报告人:________ xx____________指导老师:___ 胡双红 _ ________ 实验时间:_______201x-x-x__________实验目的:1、掌握不同窗函数的性能指标;2、根据指标选择窗函数设计FIR滤波器。

3、掌握频率采样法设计FIR滤波器实验内容:自定滤波器的类型(低通,高通或带通)、设计指标(通带截止频率、通带波纹、阻带截止频率、阻带衰减)1、根据指标选择合适的窗函数,用窗口设计法设计符合指标的FIR滤波器;并验证其性能是否满足预定指标。

参考书上例题2、根据指标选择合适的采样点数,用频率采样法设计符合指标的FIR滤波器;并验证其性能是否满足预定指标。

参考书上例题求出通带内的Rp和阻带内的As,或者用两行两列的子图分别将结果列出来。

3、求输入x(n)=[cos(w1n)+cos(w2n)]u(n)经过系统后的输出y(n)。

其中w1位于通带内,w2位于阻带内,要求做一个两行两列的子图,第一个做x 的时域波形,第二个做x的幅度谱,第三个做y的时域波形,第四个做y 的幅度谱。

实验平台:MATLAB集成软件**版实验流程:1、根据指标选择合适的窗函数,用窗口设计法设计符合指标的FIR滤波器;并验证其性能是否满足预定指标。

2、根据指标选择合适的采样点数,用频率采样法设计符合指标的FIR滤波器;并验证其性能是否满足预定指标。

求出通带内的Rp和阻带内的As,或者用两行两列的子图分别将结果列出来。

3、求输入x(n)=[cos(w1n)+cos(w2n)]u(n)经过系统后的输出y(n)。

用窗函数法设计低通FIR滤波器

用窗函数法设计低通FIR滤波器

%用窗函数法设计低通FIR滤波器clear;close all;clc;wc=0.3*pi;wp=0.25*pi;ws=0.35*pi;disp('窗函数选择哈明窗');%N=ceil(4*pi/(ws-wp));N0=ceil(8*pi/(ws-wp)); %选择窗函数为哈明窗N=N0+mod(N0+1,2); %N个数为奇数alpha=(N-1)/2;n=0:N-1;m=n-alpha+eps;hd=sin(wc*m)./(pi*m);%windows=ones(1,N);windows=(0.54-0.46*cos(2*pi*n/(N-1))).*ones(1,N);%windows=hamming(N);%b=hd.*windows';b=hd.*windows;[H w]=freqz(b,1);dBH=20*log10((abs(H)+eps)/max(abs(H)));subplot(1,2,1);plot(w/pi,dBH);xlabel('频率(单位:\pi)');ylabel('H(e^{j\omega})');title('幅频响应');axis([0,1,-150,10]);grid;set(gca,'XTickMode','manual','XTick',[0 wp/pi wc/pi ws/pi 1]); set(gca,'YTickMode','manual','YTick',[-50 -30 -3 0]);subplot(1,2,2);plot(w/pi,unwrap(angle(H)));grid;xlabel('频率(单位:\pi)');ylabel('\phi');title('相频响应');set(gca,'XTickMode','manual','XTick',[0 wp/pi wc/pi ws/pi 1]); set(gca,'YTickMode','manual','YTick',[0]);f1=50;f2=100;phi1=0;phi2=0;fs=500;T=1;t=0:1/fs:T;A=1;y0=A*sin(2*pi*f1*t+phi1)+A*sin(2*pi*f2*t+phi2);M=length(t);noise=0.5*randn(1,M);f=y0+noise;y=filter(b,1,f);xx=-fs/2:1/T:fs/2;ff=abs(1/fs*fftshift(fft(f)));yy=abs(1/fs*fftshift(fft(y)));figure;subplot(1,2,1);plot(t,f);xlabel('t/s');ylabel('f');title('信号+噪声时域波形');subplot(1,2,2);plot(t,y);xlabel('t/s');ylabel('y');title('滤波后时域波形');figure;subplot(1,2,1);plot(xx,ff);xlabel('f/Hz');ylabel('ff');title('信号+噪声频谱图');subplot(1,2,2);plot(xx,yy);xlabel('f/Hz');ylabel('yy');title('滤波后频谱图');Ps=A^2;Pn1=sum(noise.^2)/M;SNR1=10*log10(Ps/Pn1);disp('输入信噪比如下:'); SNR1yy=filter(b,1,noise); Pn2=sum(yy.^2)/M;SNR2=10*log10(Ps/Pn2); disp('输出信噪比如下:'); SNR2disp('信噪比增益如下:'); SNR2-SNR1。

实验四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滤波器窗函数设计法
FIR (Finite Impulse Response)滤波器的窗函数设计法是一种经典的数字滤波器设计方法。

它通过选择一个合适的窗函数来对滤波器的频率响应进行加权,从而实现对信号的滤波。

窗函数设计法的基本步骤如下:
1. 确定滤波器的设计规格:包括截止频率、通带和阻带的幅频响应要求等。

2. 根据设计规格,计算出滤波器的理想频率响应:可以使用理想滤波器的频率响应作为目标。

3. 选择一个合适的窗函数:常用的窗函数有矩形窗、汉宁窗、汉明窗等。

选择窗函数的关键是考虑到主瓣宽度和副瓣衰减的平衡。

4. 将选择的窗函数应用于理想频率响应上,得到加权后的频率响应。

5. 对加权后的频率响应进行反变换,得到滤波器的时域响应。

6. 根据需要,对时域响应进行截断或零增益处理,以满足设计规格。

7. 最后,根据计算得到的滤波器系数,可以通过巴特沃斯频率抽样公式将其转换为巴特沃斯直接型或传输函数型,以便在数字系统中实现滤波。

需要注意的是,FIR滤波器的窗函数设计法是一种近似方法,设计的滤波器无法完全符合理想要求。

设计过程中需要权衡主瓣宽度和副瓣衰减等因素,以及选择合适的截断或零增益处理方式,以获得满
足实际需求的滤波器性能。

归纳窗函数法设计fir滤波器的设计过程

归纳窗函数法设计fir滤波器的设计过程

归纳窗函数法设计fir滤波器的设计过程“归纳窗函数法设计FIR滤波器的设计过程”是一个涉及数字信号处理领域的内容。

FIR滤波器是一种常用的数字滤波器,广泛应用于信号处理、通信系统等领域。

设计FIR滤波器的过程中,窗函数是其中一个重要的设计工具。

本文将从基本概念、设计过程和实例分析三个方面来详细介绍归纳窗函数法设计FIR滤波器的设计过程。

一、基本概念归纳窗函数法是一种常用的FIR滤波器设计方法。

其基本思想是通过选取合适的窗函数来对滤波器的频率响应进行近似,从而实现对信号的滤波。

在设计过程中,需要明确以下几个基本概念:1.1 FIR滤波器FIR滤波器(Finite Impulse Response Filter)是一种无穷冲激响应的滤波器,其输出序列只与输入序列的有限个值有关。

FIR滤波器由一组滤波器系数决定,称为滤波器的冲激响应。

常见的FIR滤波器类型有低通滤波器、高通滤波器、带通滤波器等。

1.2 窗函数窗函数(Window Function)是信号处理中常用的一种数学函数,用于将信号在时域或频域上进行截断、平滑或加权。

在归纳窗函数法中,利用窗函数对滤波器的频率响应进行调整。

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

二、设计过程下面将详细介绍归纳窗函数法设计FIR滤波器的设计过程。

2.1 确定滤波器的规格首先,需要明确滤波器的规格,包括滤波器的类型(低通、高通、带通等)、截止频率、通带和阻带的衰减要求等。

2.2 确定滤波器的阶数根据滤波器的规格,可以确定滤波器的阶数。

阶数决定了滤波器的复杂度和滤波器系数的数量,一般通过经验公式进行估算。

2.3 选择窗函数根据滤波器的阶数和设计要求,选择合适的窗函数。

不同的窗函数具有不同的频域特性,适用于不同的应用场合。

一般而言,矩形窗适用于近似理想滤波器,汉宁窗适用于要求较窄过渡带的滤波器,汉明窗适用于要求极窄过渡带的滤波器。

2.4 确定窗函数的参数根据滤波器的阶数和设计要求,确定窗函数的参数。

FIR滤波器窗函数设计.

FIR滤波器窗函数设计.

课题名称:FIR滤波器窗函数设计FIR 滤波器窗函数设计引言:数字滤波器(Digital Filter)是指输入、输出都是离散时间信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。

在许多数字信号处理系统中,如图像信号处理等,有限冲激响应(FIR )滤波器是最常用的组件之一,它完成信号预调、频带选择和滤波等功能。

FIR 滤波器虽然在截止频率的边沿陡峭性能上不及无限冲激响应(IIR )滤波器,但是却具有严格的线性相位特性,稳定性好,能设计成多通带(或多阻带)滤波器组,所以能够在数字信号处理领域得到广泛的应用。

一、 数字滤波器的分类(1) 根据系统响应函数的时间特性分为两类1. FIR (Finite Impulse Response )数字滤波器网络()0,0[][]0,Mn k k b n M y n b x n k h n n =≤≤⎧=-⇔⎨⎩∑ 其他 特点:不存在反馈支路,其单位冲激响应为有限长。

2. IIR (Infinite Impulse Response )数字滤波器网络01[][][]M Nk k k k y n b x n k a y n k ===---∑∑ 特点:存在反馈支路,即信号流图中存在环路,其单位冲激响应为无限长。

(2) FIR 数字滤波器IIR 数字滤波器的区别1. 从性能上来说,IIR 滤波器传递函数包括零点和极点两组可调因素,对极点的惟一限制是在单位圆内。

因此可用较低的阶数获得高的选择性,所用的存储单元少,计算量小,效率高。

但是这个高效率是以相位的非线性为代价的。

选择性越好,则相位非线性越严重。

FIR 滤波器传递函数的极点固定在原点,是不能动的,它只能靠改变零点位置来改变它的性能。

所以要达到高的选择性,必须用较高的阶数;对于同样的滤波器设计指标,FIR 滤波器所要求的阶数可能比IIR 滤波器高5-10倍,但是 FIR 滤波器可以得到严格的线性相位。

用窗函数设计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 数字滤波器 一、实验原理、目的与要求1. 实验原理如果所希望的滤波器的理想频率响应函数为,则其对应的单位脉冲响应为:用窗函数w(n)将)(d n h 截断,并进行加权处理,得到:h(n)就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数)(jw H e 为:式中,N 为所选窗函数w(n)的长度。

用窗函数法设计的滤波器性能取决于窗函数w(n)的类型及窗口长度N 。

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

选定窗函数了形和长度N 后,求出单位脉冲响应h(n)=hd(n)·w(n),并可以求出)(jw H e 。

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

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

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

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

要根据所设计的滤波特性正确选择其中一类。

例如,要设计线性相位低通特性,可选择h(n)=h(N-1-n)一类,而不能选h(n)=-h(N-1-n)一类。

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

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

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

3. 实验要求(1)简述实验目的及原理。

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

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

(4)简要回答思考题。

二、实验仪器设备(标注实验设备名称及设备号)Windows 计算机台号 22Matlab 软件三、实验内容步骤及结果分析1.用升余弦窗设计一线性相位低通 FIR 数字滤波器,截至频率wc = π/ 4 rad。

实验四 FIR数字滤波器的设计(实验报告)

实验四  FIR数字滤波器的设计(实验报告)

实验四 FIR数字滤波器的设计(实验报告)《数字信号处理》实验报告学院专业电子信息工程班级姓名学号时间实验四FIR数字滤波器的设计一、实验目的1、掌握用窗函数法、频率采样法及优化算法设计FIR 滤波器的原理及步骤,学会相应的MATLAB编程。

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

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

二、实验内容1、用窗函数法设计一个FIR数字低通滤波器LPDF,验证设计结果的幅频特性和相频特性。

要求:通带截止频率ωp=π,通带波纹Rp=,阻带截止频率ωs=π,阻带衰减As=50dB。

50Magnitude (dB) Frequency ( rad/sample) (degrees)- Frequency ( rad/sample)图1-1 低通滤波器LPDF的频率响应图1-2 低通滤波器LPDF的零极点图单位脉冲响应h(n)的数据长度= 45 对称性为:偶对称得到的滤波器通带边界点( 326 )和阻带边界点参数2、用窗函数法设计一个FIR数字高通滤波器HPDF,验证设计结果的幅频特性和相频特性。

要求:通带截止频率ωp=π,通带波纹Rp=,阻带截止频率ωs=π,阻带衰减As=50dB。

Real Part50Magnitude (dB) Frequency ( rad/sample) (degrees) Frequency ( rad/sample)图2-1 高通滤波器HPDF的频率响应图2-2 高通滤波器HPDF的零极点图-滤波器H(z)零点个数= h(n)对称性为:偶对称得到的滤波器通带边界点( 426 )和阻带边界点参数3、用窗函数法设计一个FIR数字带通滤波器BPDF,验证设计结果的幅频特性和相频特性。

要求:阻带截止频率ωs1=π,衰减65dB,通带截止频率ωp1=π→ωp2=π范围内衰减,高端阻带截止频率ωs2=π,阻带衰减As=65dB。

501Magnitude (dB)0-50-100Imaginary Frequency ( rad/sample) Frequency ( rad/sample) (degrees)0-20XX-4000-6000图3-1 带通滤波器BPDF的频率响应图3-2 带通滤波器BPDF的零极点图 FIR滤波器的阶次= 111 h(n)对称性为:偶对称得到的滤波器通带边界点( 298、704 )和阻带边界点参数中心频率:通带带宽:4、用窗函数法设计一个FIR数字带阻滤波器BSDF,验证设计结果的幅频特性和相频特性。

实验四用窗函数设计fir滤波器数字信号处理实验报告.docx

实验四用窗函数设计fir滤波器数字信号处理实验报告.docx

七程序及图像(1)>> window二ha rm ing(16);>> b=firl (15, [0. 3 0. 5], window) ;freqz (b, 1);改变N二45:» window=hanning(46);>>b=firl (45, [0. 3 0. 5], window) ; freqz (b, 1);(2)改用矩形窗和Blackman窗,设计步骤(1)中的带通滤波器,特性的影响,比较这三种窗函数的特点。

矩形窗:>> window二boxcar(16);>>b=firl (15, [0. 3 0. 5], window) ; freqz (b, 1);•20峙2OO.2O-4O-6Os8p2c6e20.1 0.2 03 0.4 0.5 0.6Normalized Frequency (xx rad/sample)0.7(sae6ap)asecd■150o0.2 0.3 0.4 0.5 0.6 0.7Normalized Frequency (x% rad/sample)0.B0.9观察并记录窗函数对滤波器幅频和相位02 03 040.5 0 6 0708 0950Do1(8P)黑nuu6es0 150(S88J66P) SSBMd01 02 0.3 0.4 05 0.6 0.7 08 09Normalized Frequency (xx rad/$ample)(a|diues/pe> ux) AOUBPBZIIBULON90 SO70E0乙Phase(degrees)唤;。

9(8|dujes;pe- «x) Xou&ntejj pezi|BULOMm OS-051Magnitude(QB ):(rq)zbajj! (A\opuiM^[g -Q £ P] 9巧 2!J 二q «! (9f7)ueui>|3Bjq=A\opuiM« :卯二N 荃妃(e|dujes/pe/ ux) Xouenbajj pazi|eu ;JON(d|duies/pej ux) Xouenbajj paziieiLjo^'o5l-009PuhasmMagMUCO (ds !(T ^q)zbajj! (AKopuTM^[g -Q £ P] G) W!J=q «:(9[)upunpp[qi\opu!M <<2fi upui^oujg;9|duje$/pej ix) Aouenbaig pez |emio'jph¥(degrees)咖S-s(a|diue$/pej rx) Xouenbajj paz |«UJJO >J9090KOE0CO1080Magnitude (d 3® ® w 0O K!(rq)zbajj! (MopuiM^q -Q £ P]切)MH «!(9fz) JP3XOq-A\OpUTM <<(3)用Kaiser窗设计一个专用的线性相位滤波器。

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

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

用窗函数法设计FIR 数字滤波器一、实验目的1、加深对窗函数法设计FIR 数字滤波器的基本原理的理解2、学习用MATLAB 语言的窗函数法编写设计FIR 数字滤波器的程序3、了解MATLAB 有关窗函数法设计的常用子函数二、实验涉及的MATLAB 子函数1、boxcar :矩形窗2、triang :三角窗3、bartlett :巴特利特窗4、hamming :哈明窗5、hanning :汉宁窗6、blackman :布莱克曼窗7、chebwin :切比雪夫窗8、kaiser :凯瑟窗9、firl :基于窗函数的FIR 数字滤波器设计——标准频率响应,以经典方法实现加窗线性相位FIR 滤波器设计,可设计出标准的低通、带通、高通和带阻滤波器。

三、实验原理1、运用窗函数法设计FIR 数字滤波器 FIR 数字滤波器的系统函数为ωN-1-n n=0H(z)=h(n)z ∑N-1-n n=0H(z)=h(n)z ∑这个公式也可以看成是离散LSI 系统的系统函数M-m-1-2-m mm=0012m N -1-2-k-k12k k k=1bz b +b z +b z ++b z Y(z)b(z)H(z)====X(z)a(z)1+a z +a z ++a z1+a z ∑∑ 分母a 0为1,其余a k 全都为0时的一个特例。

由于极点全部集中在零点,稳定和线性相位特性是FIR 滤波器的突出优点,因此在实际中广泛使用。

FIR 滤波器的设计任务是选择有限长度的h(n),使传输函数H(e jw )满足技术要求。

用窗函数法设计FIR 数字滤波器的基本步骤是:1)根据过渡带和阻带衰减设计指标选择窗函数类型,估算滤波器的阶数N ; 2)由数字滤波器的理想频率响应H(e jw )求出其单位冲击响应h d (n)。

2、各种窗函数特性的比较窗函数 旁瓣峰值/dB 近似过渡带宽 精确过渡带宽阻带最小衰减/dB矩形窗 -13 4/N π 1.8/N π 21 三角形窗 -25 8/N π 6.1/N π 25 汉宁窗 -31 8/N π 6.2/N π 44 哈明窗 -41 8/N π 6.6/N π 53 布莱克曼窗 -57 12/N π11/N π 74 凯塞窗-5710/N π803、用窗函数设计FIR 数字低通滤波器4、用窗函数法设计FIR 数字高通滤波器5、用窗函数法设计FIR 数字带通滤波器6、用窗函数法设计FIR 数字带阻滤波器四、实验内容选择合适的窗函数设计FIR 数字低通滤波器,要求:通带ωp =0.2π,Rp=0.05dB ;阻带ωs =0.3π,As=40dB 。

数字信号处理实验——用窗函数设计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数字滤波器

目录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滤波器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数字滤波器clear allclose allN=input('输入窗函数长度N=?(输入0=退出)'); %注意加分号与不加分号的区别while(N~=0)wc=input('输入希望逼近的理想低通滤波器的截止频率Wc=?'); %注意截止频率pi/4的输入,matlab中已经默认定义了pin=0:(N-1);alpha=(N-1)/2;m=n-alpha+eps;hd=sin(wc*m)./(pi*m); %得到理想低通滤波器(教材P333式7-41)k=input('请选择窗函数类型(1=矩形;2=汉宁;3=海明;4=布莱克曼):');if k==1B=boxcar(N); %产生矩形窗string=['Boxcar, N=',num2str(N)]; %text函数使用字符串string在图中标明所用窗的类型及长度elseif k==2 %注意elseif与else if的区别, 有几个独立的if就要求有几个endB=hamming(N);string=['Hamming, N=',num2str(N)];elseif k==3B=hanning(N);string=['Hanning, N=',num2str(N)];elseB=blackman(N)string=['Blackman, N=',num2str(N)];endh=hd.*(B)'; %得到FIR数字滤波器h(n)=hd(n)w(n), 注意*是矩阵相乘,.*是矩阵的对应元素相乘[H,w]=freqz(h,[1],1024); %求滤波器h(n)的频率响应;对FIR而言, H(z)分子分母多项式的系数向量b=[1], a=h;返回向量H的点数N =1024db=20*log10(abs(H)+eps); %得到幅值pha=angle(H); %得到相位%绘制单位脉冲响应h(n)、幅频衰减特性20lg︱H(ejw)︱)、相频特性和幅频特性︱H(ejw)︱的波形figure; %加figure语句,下一个plot所绘出的图不会把上次的图给取代。

窗函数法设计FIR滤波器

窗函数法设计FIR滤波器

实验四窗函数法设计FIR滤波器一、在MATLAB中产生窗函数十分简单:(1)矩形窗(Rectangle Window)调用格式:w=boxcar(n),根据长度n产生一个矩形窗w。

(2)三角窗(Triangular Window)调用格式:w=triang(n) ,根据长度n产生一个三角窗w。

(3)汉宁窗(Hanning Window)调用格式:w=hanning(n) ,根据长度n产生一个汉宁窗w。

(4)海明窗(Hamming Window)调用格式:w=hamming(n) ,根据长度n产生一个海明窗w。

(5)布拉克曼窗(Blackman Window)调用格式:w=blackman(n) ,根据长度n产生一个布拉克曼窗w。

(6)恺撒窗(Kaiser Window)调用格式:w=kaiser(n,beta) ,根据长度n和影响窗函数旁瓣的β参数产生一个恺撒窗w。

二、基于窗函数的FIR滤波器设计利用MATLAB提供的函数firl 来实现调用格式:firl (n,Wn,’ftype’,Window),n为阶数、Wn是截止频率(如果输入是形如[W1 W2]的矢量时,本函数将设计带通滤波器,其通带为W1<ω<W2)、ftype是滤波器的类型(低通-省略该参数、高通-ftype=high、带阻-ftype=stop)、Window是窗函数。

1.设计一个长度为8的线性相位FIR滤波器。

其理想幅频特性满足:Window=boxcar(8);b=fir1(7,0.4,Window);freqz(b,1)Window=blackman(8); b=fir1(7,0.4,Window); freqz(b,1)2.设计线性相位带通滤波器,其长度N=15,上下边带截止频率分别为W1= 0.3π,w2=0.5πWindow=blackman(16);b=fir1(15,[0.3 0.5],Window);freqz(b,1)。

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

实验四用窗函数设计FIR滤波器
上机实验内容
(1)用Hanning窗设计一个线性相位带通滤波器,其长度N=15,上下边带宽截止频率分别为错误!未找到引用源。

,错误!未找到引用源。

,求h(n),绘制它的幅频和相位特性曲线,观察它的实际3dB和3dB带宽。

如果N=45,重复这个设计,观察幅频和相位特性的变化,注意长度N变化对结果的影响。

>> window=hanning(16);
>> b=fir1(15,[0.3 0.5],window);freqz(b,1);
改变N=45:
>> window=hanning(46);
>>b=fir1(45,[0.3 0.5],window);freqz(b,1);
(2)改用矩形窗和Blackman窗,设计步骤(1)中的带通滤波器,观察并记录窗函数对滤波器幅频和相位特性的影响,比较这三种窗函数的特点。

矩形窗:
>> window=boxcar(16);
>> b=fir1(15,[0.3 0.5],window);freqz(b,1);
改变N=45:
>> window=boxcar(46);
>> b=fir1(45,[0.3 0.5],window);freqz(b,1);
Blackman窗:
>> window=blackman(16);
>> b=fir1(15,[0.3 0.5],window);freqz(b,1);
改变N=45:
>> window=blackman(46);
>> b=fir1(45,[0.3 0.5],window);freqz(b,1);
(3)用Kaiser窗设计一个专用的线性相位滤波器。

N=40,当错误!未找到引用源。

值分别为4,6,8时,设计相应的滤波器,比较它们的幅频和相位特性,观察并分析错误!未找到引用源。

值不同的时候对结果有什么影响。

>> window=kaiser(41,4);
>> b=fir1(40,[0.2 0.4],window);freqz(b,1);
>> window=kaiser(41,6);
>> b=fir1(40,[0.2 0.4],window);freqz(b,1);
>> window=kaiser(41,8);
>> b=fir1(40,[0.2 0.4],window);freqz(b,1);。

相关文档
最新文档