窗函数设计FIR低通滤波器汇总
用窗函数设计FIR数字低通滤波器
用MATLAB设计FIR数字滤波器一、实验原理:1、用窗函数法设计FIR数字滤波器2、各种窗函数特性的比较3、用窗函数法设计FIR数字低通滤波器4、用窗函数法设计FIR数字高通滤波器二、实验内容选择合适的窗函数设计FIR数字低通滤波器,要求:ωp=0.2π,R p=0.05dB;ωs=0.3π,A s=40dB。
描绘该滤波器的脉冲响应、窗函数及滤波器的幅频响应曲线和相频响应曲线。
wp=0.2*pi;ws=0.3*pi;deltaw=ws-wp;N0=ceil(6.2*pi/deltaw);N=N0+mod(N0+1,2);windows=(hanning(N))';wc=(ws+wp)/2;hd=ideal_lp(wc,N);b=hd.*windows;[db,mag,pha,grd,w]=freqz_m(b,1);n=0:N-1;dw=2*pi/1000;Rp=-(min(db(1:wp/dw+1)));As=-round(max(db(ws/dw+1:501)));subplot(2,2,1);stem(n,b);axis([0,N,1.1*min(b),1.1*max(b)]);title(' 实际脉冲响应');xlabel('n');ylabel('h(n)');subplot(2,2,2);stem(n,windows);axis([0,N,0,1.1]);title('窗函数特性');xlabel('n');ylabel('wd(n)'); subplot(2,2,3);plot(w/pi,db);axis([0,1,-80,10]);title('幅度频率响应'); xlabel('频率');ylabel('H(e^{j\omega})');set(gca,'XTickMode','manual','XTick',[0,wp/pi,ws/pi,1]);set(gca,'YTickMode','manual','YTick',[-50,-20,-3,0]);gridsubplot(2,2,4);plot(w/pi,pha);axis([0,1,-4,4]);title('相位频率响应'); xlabel('频率');ylabel('\phi(\omega)');set(gca,'XTickMode','manual','XTick',[0,wp/pi,ws/pi,1]);set(gca,'YTickMode','manual','YTick',[-3.1416,0,3.1416,4]);grid2、用凯塞窗设计一个FIR数字高通滤波器,要求:ωp=0.3π,R p=0.1dB;ωs=0.2π,A s=50dB。
基于汉明窗函数的FIR低通滤波器设计与性能分析
基于汉明窗函数的FIR低通滤波器设计与性能分析1. 引言在信号处理领域,滤波器是一种常用的工具,用于去除不需要的频率分量或对特定频率分量进行增强。
其中,低通滤波器常用于去除高频噪声或保留低频信号。
本文将介绍基于汉明窗函数设计的FIR低通滤波器,并对其性能进行分析。
2. 汉明窗函数汉明窗函数是一种常见的窗函数,其形式为:w[n] = 0.54 - 0.46 * cos(2πn/(N-1)), 0 ≤ n ≤ N-1汉明窗函数具有以下特性:- 主瓣宽度较窄,抑制能力强;- 窗函数的边界平滑,信号截断较小;- MMSE(均方误差最小估计)性能较好。
3. FIR低通滤波器设计FIR低通滤波器可通过卷积运算实现。
设计步骤如下:- 确定截止频率:根据应用需求确定滤波器的截止频率。
- 确定滤波器阶数:根据截止频率和滤波器性能要求来确定阶数N。
- 确定理想低通滤波器的频率响应:根据截止频率确定理想低通滤波器的频率响应Hd(ω)。
- 应用汉明窗函数:将汉明窗函数与理想低通滤波器的频率响应相乘,得到实际滤波器的频率响应H(ω)。
- 逆傅里叶变换:将H(ω)进行逆傅里叶变换,得到时域的系数序列h[n]。
- 对h[n]进行归一化:将h[n]的最大值设置为1或0dB。
4. 性能分析对设计好的FIR低通滤波器进行性能分析,可从以下几个方面入手:- 频率响应:分析滤波器的截止频率、通频带边界、抑制带边界等重要参数,确保滤波器的性能与设计要求相符。
- 平均功率:计算滤波后信号的平均功率,评估滤波器的增益特性。
- 相位响应:分析滤波器的相位特性,检测滤波器对信号的引入的延迟。
- 稳态和瞬态特性:观察滤波器的稳态和瞬态响应,检验滤波器对不同类型输入信号的处理效果。
- 线性相位特性:验证滤波器是否具有线性相位特性,因为线性相位滤波器可以保持信号的波形不失真。
5. 实验与结果分析为了验证基于汉明窗函数设计的FIR低通滤波器的性能,可以进行一系列实验,并对结果进行分析。
基于汉明窗函数的FIR低通滤波器的设计
基于汉明窗函数的FIR低通滤波器的设计简介FIR低通滤波器是一种常用的数字信号处理滤波器,它可以用来滤除高频成分,保留低频成分。
汉明窗函数是一种常用的窗函数,用于设计FIR滤波器时可以有效降低频域泄漏现象。
本文将介绍基于汉明窗函数的FIR低通滤波器的设计方法和实现过程。
FIR滤波器的基本原理FIR滤波器是一种非递归滤波器,其输出仅由输入和滤波器的系数决定。
其基本原理是将输入信号与滤波器的冲激响应进行卷积运算,从而得到输出信号。
FIR滤波器的离散时间域表达式如下:y[n] = \\sum_{k=0}^{M} h[k] \\cdot x[n-k]其中,y[n]为滤波器的输出,x[n]为输入信号,h[k]为滤波器的系数,M为滤波器的阶数。
汉明窗函数汉明窗函数是一种常用的窗函数,用于在频域上抑制泄漏现象。
汉明窗函数的表达式如下:w[n] = 0.54 - 0.46 \\cdot \\cos \\left(\\frac {2\\pi n}{N-1}\\right)其中,w[n]为汉明窗函数的值,n为窗函数的点数,N为窗函数的长度。
在FIR滤波器设计中,可以使用汉明窗函数对滤波器的冲激响应进行加权,以实现频域上的泄漏抑制。
基于汉明窗函数的FIR低通滤波器设计方法基于汉明窗函数的FIR低通滤波器的设计方法如下:1.确定滤波器的阶数M,一般情况下,阶数的选择要取决于所需的滤波器的响应特性。
2.计算窗函数的长度N,一般情况下,窗函数的长度应为M+1。
3.根据窗函数的表达式计算窗函数的值,并将其作为滤波器的系数h[k],其中k=0,1,...,M。
4.对滤波器的系数进行归一化处理,以保证滤波器的幅度响应符合要求。
5.完成滤波器的设计。
汉明窗函数的特性汉明窗函数具有以下特性:1.对称性:汉明窗函数在窗口的两侧具有对称性,这使得滤波器的响应具有良好的频域特性。
2.正频响特性:汉明窗函数具有较低的副瓣水平,能够实现较好的频谱特性。
窗函数法设计FIR滤波器
FIR 数字滤波器的设计方法IIR 数字滤波器最大缺点:不易做成线性相位,而现代图像、语声、数据通信对线性相位的要求是普遍的。
正是此原因,使得具有线性相位的FIR 数字滤波器得到大力发展和广泛应用。
1. 线性相位FIR 数字滤波器的特点FIR DF 的系统函数无分母,为∑∑-=--=-==11)()(N n n N i ii z n h zb z H ,系统频率响应可写成:∑-=-=10)()(N n jwn jwe n h e H ,令)(jw e H =)()(w j e w H Φ,H(w)称为幅度函数,)(w Φ称为相位函数。
这与模和幅角的表示法有所不同,H(w)为可正可负的实数,这是为了表达上的方便。
如某系统频率响应)(jw e H =wj we34sin -,如果采用模和幅角的表示法,w 4sin 的变号相当于在相位上加上)1(ππj e =-因,从而造成相位曲线的不连贯和表达不方便,而用)()(w j e w H Φ这种方式则连贯而方便。
线性相位的FIR 滤波器是指其相位函数)(w Φ满足线性方程:)(w Φ=βα+-w (βα,是常数)根据群时延的定义,式中α表示系统群时延,β表示附加相移。
线性相位的FIR 系统都具有恒群时延特性,因为α为常数,但只有β=0的FIR 系统采具有恒相时延特性。
问题:并非所有的FIR 系统都是线性相位的,只有当它满足一定条件时才具有线性相位。
那么应满足什么样的条件?从例题入手。
例题:令h(n)为FIR 数字滤波器的单位抽样相应。
N n n ≥<或0时h(n)=0,并假设h(n)为实数。
(a ) 这个滤波器的频率响应可表示为)()()(w j jwew H e H Φ=(这是按幅度函数和相位函数来表示的,不是用模和相角的形式),)(w H 为实数。
(N 要分奇偶来讨论) (1) 当h(n)满足条件)1()(n N h n h --=时,求)(w H 和)(w Φ(π≤≤w 0) (2) 当h(n)满足条件)1()(n N h n h ---=时,求)(w H 和)(w Φ(π≤≤w 0)(b ) 用)(k H 表示h(n)的N 点DFT(1) 若h(n)满足)1()(n N h n h ---=,证明H(0)=0; (2) 若N 为偶数,证明当)1()(n N h n h --=时,H(N/2)=0。
基于汉明窗函数设计的FIR低通滤波器
基于汉明窗函数设计的FIR低通滤波器FIR低通滤波器是一种常用的数字滤波器,可以用于信号的去噪、降噪、频率选择等信号处理任务。
在设计FIR低通滤波器时,我们可以使用汉明窗函数来实现。
汉明窗函数是一种常见的窗函数,其特点是在频率域上具有较好的副瓣抑制能力。
在FIR滤波器设计中,我们可以通过将输入信号与汉明窗函数进行卷积来实现滤波功能。
下面将介绍如何基于汉明窗函数设计FIR低通滤波器。
首先,我们需要确定滤波器的阶数和截止频率。
阶数决定了滤波器的复杂度,阶数越高,滤波器的性能越好,但计算量也会增加。
截止频率则决定了滤波器的截止频率,即在该频率以下的信号将被保留,而在该频率以上的信号将被削弱。
接下来,我们可以通过以下步骤来设计基于汉明窗函数的FIR低通滤波器:1. 确定滤波器系数:根据滤波器的阶数和截止频率,可以采用窗函数设计方法来计算滤波器的系数。
具体来说,我们可以使用窗函数对理想低通滤波器的幅度响应进行加窗。
汉明窗函数的表达式为:w(n)=0.54-0.46cos(2πn/(N-1))其中,n为窗函数的索引,N为窗函数的长度。
2. 计算理想低通滤波器的幅度响应:根据滤波器的截止频率,可以计算理想低通滤波器的幅度响应。
理想低通滤波器在截止频率之前为1,在截止频率之后为0。
3. 加窗:将理想低通滤波器的幅度响应与窗函数进行乘积,得到加窗后的幅度响应。
4. 归一化:将加窗后的幅度响应进行归一化处理,使滤波器的增益为1。
5. 反变换:对归一化后的幅度响应进行反变换,得到滤波器的系数。
设计完滤波器后,我们可以将输入信号与滤波器系数进行卷积运算,得到滤波后的输出信号。
此时,输入信号中的高频成分将被抑制,而低频成分将被保留。
需要注意的是,调整滤波器的阶数和截止频率可以影响滤波器的性能。
阶数过高可能引起滤波器的过长延迟和过高的计算复杂度,而截止频率的选择应根据具体的信号处理任务来确定。
总结起来,基于汉明窗函数设计的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滤波器的一种常用方法。
其基本原理是将滤波器的频率响应与理想滤波器的频率响应进行乘积。
理想滤波器的频率响应通常为矩形函数,而窗函数则用于提取有限长度的理想滤波器的频率响应。
窗函数的选择在FIR滤波器的设计中起着重要的作用。
常用的窗函数包括矩形窗、汉宁窗、汉明窗、布莱克曼窗等。
对于每种窗函数,都有不同的特性和性能指标,如主瓣宽度、副瓣抑制比等。
根据不同的应用需求,可以选择合适的窗函数。
窗函数法设计FIR滤波器的具体步骤如下:1.确定滤波器的阶数N。
阶数N决定了滤波器的复杂度,一般情况下,阶数越低,滤波器的简单度越高,但频率响应的近似程度也会降低。
2.确定滤波器的截止频率。
根据应用需求,确定滤波器的截止频率,并选择合适的窗函数。
3.根据窗函数长度和截止频率计算理想滤波器的频率响应。
根据所选窗函数的特性,计算理想滤波器的频率响应。
4.根据理想滤波器的频率响应和窗函数的频率响应,得到所需的FIR滤波器的频率响应。
将理想滤波器的频率响应与窗函数的频率响应进行乘积,即可得到所需滤波器的频率响应。
5.对所得到的频率响应进行逆傅里叶变换,得到时域的滤波器系数。
6.实现滤波器。
利用所得到的滤波器系数,可以通过卷积运算实现滤波器。
三、实验结果与分析本实验以Matlab软件为平台,利用窗函数法设计了一个低通滤波器。
滤波器的阶数为16,截止频率为500Hz,采样频率为1000Hz,选择了汉宁窗。
根据上述步骤,计算得到了所需的滤波器的频率响应和时域的滤波器系数。
利用这些系数,通过卷积运算,实现了滤波器。
为了验证滤波器的性能,将滤波器应用于输入信号,观察输出信号的变化。
基于汉明窗函数的FIR低通滤波器的设计
基于汉明窗函数的FIR低通滤波器的设计1. 滤波器的概念和作用滤波是信号处理中重要的一个部分,可以去除噪声、修复信号、提取特定频率成分等。
滤波器则是一种用来实现滤波功能的电路或软件,其主要作用是选择性地影响输入信号的不同频率成分。
在数字信号处理中,滤波器通常是由一组数字滤波器系数组成的,其中FIR滤波器(Finite Impulse Response)是最简单和最容易实现的一种。
FIR滤波器的基本原理是将输入信号与滤波器系数的乘积相加,从而产生输出信号。
而滤波器系数的选择则决定了滤波器的特性。
在本文中,我们将介绍一种基于汉明窗函数的FIR低通滤波器的设计方法。
2. 汉明窗函数的基本原理汉明窗函数是一种广泛应用于数字信号处理中的窗函数,其形式为:$$w(n) = 0.54 - 0.46\cos\frac{2\pi n}{N-1}, \quad 0 \leq n \leq N-1 $$其中,$N$为窗口长度,决定了窗口的主瓣宽度和副瓣抑制程度。
汉明窗函数的特点是在窗口内具有平坦的频率响应和较高的副瓣抑制能力,而主瓣宽度较大。
3. FIR低通滤波器的设计过程在设计FIR低通滤波器时,我们的目标是将信号中高于一定频率的部分滤除,从而达到降噪的效果。
因此,我们需要选择适当的滤波器系数来实现这一目标。
具体设计过程如下:3.1 确定滤波器参数在设计FIR滤波器时,需要确定一些关键参数,包括:(1)采样频率:即采样器的采样率,一般情况下为信号最高频率的两倍以上。
(2)截止频率:即希望滤除的信号部分的最高频率。
(3)滤波器阶数:阶数越高,滤波器的频率响应越陡峭。
(4)窗口长度:即用于窗函数的样本点数。
3.2 选择窗函数在滤波器设计中,窗函数的选择对于滤波器性能有很大的影响。
通常,我们可以选择常用的窗函数,如矩形窗函数、汉明窗函数、升余弦窗函数等。
在本文中,我们将选择汉明窗函数作为窗口函数。
3.3 计算滤波器系数通过选择合适的窗口函数,我们可以得到对应的窗口系数,然后将其与所需滤波器类型(低通、高通、带通等)的理想频率响应进行卷积,即可得到所需的滤波器系数。
基于汉明窗函数的FIR低通滤波器设计及性能分析
基于汉明窗函数的FIR低通滤波器设计及性能分析FIR低通滤波器是一种常用的数字滤波器,用于处理数字信号中频率较低的成分,将高频成分滤除。
在设计FIR低通滤波器时,常使用汉明窗函数来实现。
本文将介绍基于汉明窗函数的FIR低通滤波器的设计方法和性能分析。
首先,要设计一个FIR低通滤波器,需要确定以下几个参数:滤波器阶数N、采样频率fs、截止频率fc和窗函数类型。
本文将以汉明窗函数为例,演示如何设计FIR低通滤波器。
1. 滤波器阶数N的确定:滤波器阶数N决定了滤波器的复杂度和性能。
一般来说,阶数越高,滤波器的性能越好,但计算复杂度也相应增加。
因此,需要在滤波器性能和计算复杂度之间做出平衡。
常用的方法是根据滤波器的截止频率和采样频率来确定阶数N。
一般可以使用公式N=4fs/fc来初步估计阶数N,然后根据实际需求进行调整。
2. 窗函数的选择:本文选择汉明窗函数作为设计FIR低通滤波器的窗函数。
汉明窗函数在频域上具有较好的副瓣抑制性能,适合用于低通滤波器设计。
3. 窗函数的定义:汉明窗函数的表达式为:w(n) = 0.54 - 0.46*c os(2πn/(N-1)), 0 ≤ n ≤ N-1其中,N为窗函数的长度,n为窗函数的离散时间索引。
4. FIR低通滤波器的设计:设计FIR低通滤波器的步骤如下:1)确定滤波器阶数N;2)选择截止频率fc;3)计算滤波器系数h(n);4)对滤波器系数h(n)进行归一化处理。
5. 滤波器系数的计算:滤波器系数h(n)的计算公式为:h(n) = wc/pi * sinc(wc*(n-(N-1)/2)/pi)其中,wc为归一化的截止频率,wc=2πfc/fs。
sinc(x)为正弦函数sin(x)/x。
6. 归一化处理:对滤波器系数h(n)进行归一化处理,即将系数乘以汉明窗函数的值。
即:hn(n) = h(n) * w(n),0 ≤ n ≤ N-17. 性能分析:设计完毕后,需要进行性能分析来评估滤波器的性能。
用窗函数法设计FIR数字低通滤波器要点
河北科技大学课程设计报告学生姓名: 学号:专业班级:课程名称:学年学期指导教师:20年月课程设计成绩评定表目录1. 窗函数设计低通滤波器1.1设计目的 (1)1.2设计原理推导与计算 (1)1.3设计内容与要求 (2)1.4设计源程序与运行结果 (3)1.5思考题……………………………………………………………………101.6心得体会 (14)参考文献……………………………………………………………………… 151.窗函数设计低通滤波器1.1设计目的1. 熟悉设计线性相位数字滤波器的一般步骤。
2. 掌握用窗函数法设计FIR 数字滤波器的原理和方法。
3. 熟悉各种窗函数的作用以及各种窗函数对滤波器特性的影响。
4. 学会根据指标要求选择合适的窗函数。
1.2设计原理推导与计算如果所希望的滤波器的理想的频率响应函数为()ωj d e H ,则其对应的单位脉冲响应为()()ωπωωππd e e H n h j j d d ⎰-=21 (4.1)窗函数设计法的基本原理是设计设计低通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用有限长单位脉冲响应序列()n h 逼近()n h d 。
由于()n h d 往往是无限长序列,而且是非因果的,所以用窗函数()n ω将()n h d 截断,并进行加权处理,得到:()()()n n h n h d ω=(4.2)()n h 就作为实际设计的FI R数字滤波器的单位脉冲响应序列,其频率响应函数()ωj e H 为()()nj N n j en h eH ωω∑-==1ﻩ ﻩ(4.3)式中,N 为所选窗函数()n ω的长度。
基于汉明窗函数的FIR低通滤波器设计方法及性能分析
基于汉明窗函数的FIR低通滤波器设计方法及性能分析FIR(有限脉冲响应)滤波器是一种常用的数字滤波器,其特点是稳定性好、易于实现和灵活性高。
汉明窗函数是一种常用于FIR滤波器设计的窗函数之一,本文将介绍基于汉明窗函数的FIR低通滤波器的设计方法,并对其性能进行分析。
1. 汉明窗函数汉明窗函数是一种常用的平滑窗函数,其公式为:w(n) = 0.54 - 0.46 * cos(2πn/(M-1))其中,n为窗函数序列的索引,M为窗函数序列的长度。
汉明窗函数的特点是在频域上具有良好的副瓣抑制能力。
2. FIR滤波器设计步骤(1)确定滤波器的通带截止频率和阻带截止频率。
根据具体应用需求,确定滤波器的频率特性。
(2)计算滤波器的阶数。
阶数决定了滤波器的抗混淆能力,一般越高越好,但也会增加计算复杂性。
(3)选择合适的窗函数。
根据滤波器的要求,选择适合的窗函数,本文以汉明窗函数为例。
(4)计算滤波器的截止频率。
利用窗函数的主瓣宽度和滤波器的通带截止频率,可以计算出滤波器的截止频率。
(5)计算窗函数序列。
根据窗函数的公式,计算窗函数序列。
(6)计算滤波器的频率响应。
利用窗函数序列和滤波器的阶数,可以计算出滤波器的频率响应。
(7)滤波器的性能分析。
通过分析滤波器的频率响应曲线、幅频响应和相频响应等,评价滤波器的性能。
3. 性能分析(1)频率响应:通过绘制滤波器的频率响应曲线,可以观察滤波器在通带和阻带中的幅值响应。
频率响应曲线应表现出低通滤波器的特性,即在通带中幅度应接近1,而在阻带中应接近0。
(2)幅频响应:幅频响应是指滤波器输出与输入信号的振幅之比,通过分析幅频响应曲线可以了解滤波器的增益特性。
低通滤波器应该在截止频率处降低输入信号的振幅。
(3)相频响应:相频响应是指滤波器输出与输入信号的相位差,它影响滤波器对信号的时域特性。
理想的低通滤波器应该对信号的相位没有明显改变。
4. 结论基于汉明窗函数的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(Finite Impulse Response)滤波器是一种常用的数字滤波器,通过对输入信号进行加权求和的方式实现信号的滤波处理。
而汉明窗函数是一种常用的窗函数,可用于设计FIR滤波器。
基于汉明窗函数的FIR低通滤波器设计方法是一种常用的滤波器设计方法。
下面将详细介绍该设计方法的步骤和原理。
首先,我们需要确定滤波器的一些基本参数,包括截止频率、通带衰减和阻带衰减等。
这些参数将决定滤波器的性能。
接下来,根据所给的任务名称,我们采用基于汉明窗函数的FIR滤波器设计方法。
该方法的基本思想是,在频域中使用汉明窗函数对频率响应进行加权,从而实现对输入信号的滤波。
具体步骤如下:1. 确定滤波器的长度:根据所给的任务名称,我们需要设计一个低通滤波器。
滤波器的长度通常通过窗函数的主瓣宽度来确定。
根据经验公式,滤波器的长度可选择为:N = (A / Δω) + 1其中,N为滤波器的长度,A为通带衰减(单位:dB),Δω为截止频率与折返频率之差。
2. 计算窗函数:根据滤波器的长度N,我们可以计算得到相应的汉明窗函数。
汉明窗函数的表达式为:w(n) = 0.54 - 0.46 * cos(2πn / (N-1))其中,w(n)为窗函数的值,n为窗函数的索引。
3. 计算频率响应:将窗函数应用于单位冲激响应,得到滤波器的频率响应。
频率响应的表达式为:H(ω) = ∑[h(n) * e^-jωn]其中,H(ω)为频率响应,h(n)为滤波器的单位冲激响应。
4. 归一化频率响应:为了保证滤波器的稳定性和满足系统要求,我们需要将频率响应进行归一化处理。
具体操作是将频率响应除以最大响应的模值,得到归一化频率响应。
5. 滤波器系数计算:根据归一化频率响应,通过反变换得到滤波器的单位冲激响应。
具体操作是将归一化频率响应进行反离散傅里叶变换(IDFT),得到滤波器的单位冲激响应。
然后,我们可以得到滤波器的系数,即为所要求的滤波器设计。
用窗函数法设计FIR滤波器_C++程序
用窗函数法设计 FIR 滤波器
#include <stdio.h> #include <dos.h> #include <graphics.h> #include <stdlib.h> #include <math.h> #include <conio.h> #include <bios.h> #define NFFT 512 /*length of fft*/
float ino(float x); void cfft(float x[],float y[],int M,int N,int lc); void plot(float h[],int n,int color); int pow2(int k); void main() { float hd[NFFT],h[NFFT],w[NFFT],wc,pi,him[NFFT],R[NFFT]; float a,b,beta,bes,g,q,p,wf; int m,n,k,i; char ch; printf("this is a fir system design program.\n"); printf(" m represents window function.\n"); printf(" 1........rectangular window function.\n"); printf(" 2........kaiser window function.\n"); loop:printf("choose m, m is 1 or 2\n m=\n"); scanf("%d",&m); printf("choose window length n ...21,51,101,201.\n n=\n"); scanf("%d",&n); printf("choose wc,wc is between 0.1 to 0.99\n wc=\n"); scanf("%f",&wc); a=(n-1)/2; pi=4.0*atan(1.0); for(i=0;i<n;i++) { if(i==a) hd[i]=wc; else {b=i-a; hd[i]=sin(pi*b*wc)/(pi*b);} } switch(m)
基于汉明窗函数的FIR低通滤波器设计及性能优化分析
基于汉明窗函数的FIR低通滤波器设计及性能优化分析1. 引言FIR(Finite Impulse Response)低通滤波器是一种常用的数字滤波器,用于在信号处理中去除高频噪声或不需要的频率分量。
本文将介绍基于汉明窗函数的FIR 低通滤波器的设计方法,并分析如何优化其性能。
2. FIR低通滤波器的基本原理FIR低通滤波器通过将输入信号与滤波器的冲激响应序列进行卷积运算来实现滤波效果。
其输出取决于输入信号的频谱和滤波器的频率响应。
3. 汉明窗函数的特点汉明窗函数是一种广泛用于FIR滤波器设计的窗函数。
它具有窄主瓣宽度和快速下降的旁瓣特性,能够提供良好的频率响应特性。
汉明窗函数的数学表达式为:w(n) = 0.54 - 0.46 * cos(2πn/(N-1)),其中,N为窗函数长度,n为窗函数的索引。
4. FIR低通滤波器的设计步骤(1)确定滤波器的截止频率和通带波动。
(2)选择滤波器的阶数和窗函数长度。
(3)计算窗函数中各个采样点的权值。
(4)将窗函数与理想低通滤波器的频率响应相乘得到实际的频率响应。
(5)对实际频率响应进行归一化处理,得到滤波器的系数。
(6)进行滤波器的性能分析。
5. 滤波器性能优化分析(1)截止频率和通带波动的选择:根据应用需求选择合适的截止频率和通带波动,权衡频域性能和时间域性能。
(2)窗函数长度与滤波器阶数的关系:增加窗函数长度可以提高滤波器的突变特性,但也会增加计算复杂度。
选择适当的窗函数长度可以在保持性能的同时减少计算负担。
(3)频率响应的平滑:通过增加滤波器的阶数或增加窗函数长度可以使频率响应更加平滑,减少旁瓣波动。
(4)实时性要求:在某些实时应用中,滤波器的延迟是一个重要的性能指标。
根据实时性要求,合理选择滤波器的阶数和窗函数长度。
6. 总结基于汉明窗函数的FIR低通滤波器设计是一种常用且有效的方法。
通过选择合适的截止频率、通带波动、窗函数长度和滤波器阶数,可以得到性能优良的滤波器。
2016-2017年用窗函数法设计FIR数字滤波器(总结)
用窗函数法设计FIR 数字滤波器一、实验目的1.掌握用窗函数法设计FIR 数字滤波器的原理和方法。
2.熟悉线性相位FIR 数字滤波器特征。
3.了解各种窗函数对滤波特性的影响。
二、实验仪器微型计算机 matlab 软件三、实验原理和方法如果所希望的滤波器的理想频率响应函数为 )(ω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 =∑-=-10)(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 。
如果要观察细节,补零点数增多即可。
如果)(ωj e H 不满足要求,则要重新选择窗函数类型和长度N ,再次验算,直至满足要求。
如果要求线性相位特性,则)(n h 还必须满足)1()(n N h n h --±= (2-4)根据上式中的正负号和长度N 的奇偶性又将线性相位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(Finite Impulse Response)低通滤波器是一种常用的数字滤波器,常用于信号处理和通信系统中,可以用于信号去噪、信号平滑和频率分析等应用。
本文将讨论基于汉明窗函数的FIR低通滤波器的设计原理和步骤。
汉明窗函数是一种常用的窗函数,它能够在频域上对滤波器的频率响应进行调整,从而实现滤波器在频率上的截止效果。
汉明窗函数的特点是窗口两端的幅度衰减较慢,能够提供较好的低频衰减特性。
设计基于汉明窗函数的FIR低通滤波器,一般包括以下步骤:1. 确定滤波器的阶数和截止频率:阶数决定了滤波器的复杂度,而截止频率则决定了滤波器的频率截止效果。
根据具体应用需求,选择适当的阶数和截止频率。
2. 计算滤波器的理想频率响应:理想的低通滤波器频率响应在截止频率之前的幅度为1,截止频率之后的幅度为0。
根据滤波器的阶数和截止频率,计算出滤波器的理想频率响应。
3. 计算滤波器的单位冲激响应:使用逆离散傅里叶变换(IDFT)将滤波器的理想频率响应转换为单位冲激响应。
单位冲激响应描述了滤波器对单位冲激信号的响应。
4. 应用窗函数:将计算得到的单位冲激响应与汉明窗函数进行卷积操作,从而得到最终的滤波器冲激响应。
窗函数的作用是降低滤波器的频率响应在截止频率附近的波动,使滤波器具备较好的截止频率特性。
5. 设计具体的滤波器系数:通过对滤波器的冲激响应进行采样,得到滤波器的系数。
滤波器系数是滤波器的频率响应和相位响应的离散表示,决定了滤波器的实际滤波效果。
6. 优化滤波器性能:可以采用窗函数和滤波器阶数的调整来优化滤波器的性能。
调整窗函数可以改变滤波器的频率特性,调整阶数可以改变滤波器的频率截止效果。
在设计完成后,可以将设计得到的FIR低通滤波器应用于实际的信号处理或通信系统中。
通过滤波器的输入信号与滤波器系数的卷积运算,可以得到滤波器输出信号,从而实现对输入信号的滤波处理。
需要注意的是,在实际应用中,可能还需要考虑滤波器的响应时间、滤波器的实现形式(直接形式、级联形式等)等因素。
基于汉明窗函数的FIR低通滤波器设计与实现
基于汉明窗函数的FIR低通滤波器设计与实现FIR(Finite Impulse Response)滤波器是一种常用的数字滤波器。
本文将基于汉明窗函数设计并实现一个FIR低通滤波器。
首先,我们需要了解什么是汉明窗函数。
汉明窗函数是一种常用的窗函数类型,用于在时域上对信号进行截断。
它的数学表达式为:w(n) = 0.54 - 0.46 * cos(2πn/(N-1))其中,n是窗口的索引,N是窗口的长度。
汉明窗函数的特点是中心幅度较高,边缘幅度较低,适合用于低通滤波器的设计。
接下来,我们将具体介绍如何设计和实现基于汉明窗函数的FIR低通滤波器。
1. 确定设计参数:- 我们需要确定滤波器的抽样频率Fs。
- 确定滤波器的截止频率Fc,它决定了我们希望滤除的高频信号。
- 确定滤波器的阶数N,它决定了滤波器的性能。
2. 计算滤波器系数:- 根据滤波器的长度N,计算出汉明窗函数w(n)的系数。
- 设计一个理想的低通滤波器的频率响应Hd(f),理想情况下,在截止频率Fc之前,全部通过;在截止频率Fc之后,全部抑制。
- 将Hd(f)与w(n)进行卷积,得到滤波器的时域响应h(n)。
- 将h(n)进行归一化处理,得到滤波器的系数。
3. 实现滤波器:- 根据所选的软件或硬件平台,选择适当的工具和编程语言进行实现。
- 将滤波器系数输入到实现平台,并通过数字信号处理算法对输入信号进行滤波。
4. 验证和优化:- 验证滤波器的性能,包括滤波器的截止频率、幅频响应、相频响应等。
- 如果需要进一步优化性能,可以尝试不同的窗函数类型、滤波器阶数等参数的组合。
需要注意的是,FIR滤波器的主要优点是线性相位响应和稳定性。
但它的缺点是计算复杂度较高,尤其是在滤波器阶数较高时。
总结起来,本文基于汉明窗函数介绍了FIR低通滤波器的设计和实现过程。
根据任务描述的要求,我们避免了出现网址链接和设计政治内容。
这个滤波器设计方法可以应用于音频信号处理、图像处理、通信系统等领域中,具有较好的滤波效果和实际应用价值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西南科技大学课程设计报告课程名称:数字信号处理与通信原理课程设计设计名称: FIR数字滤波器分析与应用姓名:学号:班级:指导教师:起止日期: 6.26 – 7.6课程设计任务书学生班级:通信学生姓名:学号:设计名称:窗函数设计FIR低通滤波器起止日期: 6.26~7.6 指导教师:课程设计学生日志课程设计考勤表课程设计评语表窗函数设计FIR 低通滤波器一、设计目的和意义:1、目的(1) 掌握用窗函数法设计FIR 数字滤波器的原理和方法。
(2) 熟悉线性相位FIR 数字滤波器特性。
(3) 了解各个窗函数对滤波器特性的影响。
2、意义:有限长单位冲激响应数字滤波器可以做成具有严格的线性相位,同时又可以具有任意的幅度特性。
滤波器的性能只由窗函数的形状决定。
二、设计原理:假如题目所要求设计的滤波器的频率响应为H d (e ωj ),则要设计一个FIR 滤波器频应为H(eωj )=∑=-1-N 0n j )(nen h ω()1来逼近。
但是设计却是在时域进行的,所以用傅氏反变换导出h d (n):h d (n) =ωπππωωd e e H nj j d ⎰-)(21()2但是要求设计的FIR 滤波器,它的h(n)是有限长的,但是h d (n)却是无限长的,所以要用一个有限长度的窗函数)(n ω来截取h d (n),即h(n)= )(n ωh d (n)()3h(n)就是实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数即为()1式,其中N 就是所选择的窗函数)(n ω的长度。
本课程设计的要求是利用矩形窗,海宁窗,汉明窗各设计一个FIR 低通滤波器。
因此首先对这三个窗函数进行简要说明。
1.矩形窗:)(n ω=R N (n )()42.汉宁窗:ω(n)=[sin 2(1-N n π)]R N (n) ()5 3.海明窗:ω(n)=[0.54-(1-0.54)cos(12-N nπ)]R N (n) ()6 用窗函数设计的滤波器的性能由窗函数)(n ω的性能和窗口长度N 的取值决定。
设计的时候,窗函数类型和长度N ,应由对阻带最小衰减和过渡带宽度的要求而选择。
设计所要求的三种窗函数可达到的阻带最小衰减和过渡带宽度见表1。
如何根据滤波器长度N 的奇偶性,选择h(n)的奇偶对称性则是另外一个需要考虑的问题。
先行相位实系数FIR 滤波器按其N 值奇偶和h(n)的奇偶对称性,可以分位四种,它们具有不同的幅频和相位特性: 1.h(n)为偶对称,N 为奇数:H(eωj )=[h(21-N )+∑-=+-2/)1(1cos )21(2N n n n N h ω]e 21--N j ω ()7它的幅度是关于ω=0,π,2π点成偶对称。
2.h(n)为偶对称,N 为偶数:H(eωj )={∑-=-+-2/)1(1)]21(cos[)12(2n n n n N h ω} e21--N j ω ()8它的幅度是关于ω=π点成奇对称,ω=π处有零点,所以它不适合于做高通滤波器。
3.h(n)为奇对称,N 为奇数:H(eωj )=[∑-=+-2/)1(1sin )21(2N n n n n h ω]e]221[πω+--N j ()9它的幅度是关于ω=0,π,2π点成奇对称。
H(e ωj )在ω=0,π,2π处都有零点。
所以,它不适用于低通和高通。
4.h(n)为奇对称,N为偶数:H(eωj)=[∑-=-+-2/)1(1)21(sin)21(2Nnnnnhω]e]221[πω+--Nj()10它的幅度是关于ω=0,π,2π点成奇对称。
H(eωj)在ω=0,2π处都有零点。
因此,它不适合用于低通。
在滤波器设计过程中,只有根据上述四种线性相位滤波器传递函数的性质,合理地选择应采用的种类,构造出Hd(eωj)的幅频特性和相位特性,才能求得所需要的,具有单位脉冲响应的线性相位FIR滤波器传递函数。
三、详细设计步骤1、窗函数法设计线性相位FIR滤波器可以按如下步骤进行:(1)确定数字滤波器的性能要求。
确定各临界频率kω和滤波器单位脉冲响应长度N。
(2)根据性能要求和N值,合理的选择单位脉冲响应h(n)的奇偶对称性,从而确定理想频率响应Hd(eωj)的幅频特性和相位特性。
(3)利用()2式,求得理想脉冲响应h d(n)。
(4)选择适当的窗函数ω(n),根据()3式,求得所设计的FIR滤波器单位脉冲响应。
(5)用傅立叶变换公式求得其频率响应H(eωj),分析它的幅频特性,若不满足要求,可适当改变窗函数形式或者长度N,重复上述过程,直到得到满意的结果。
注意:在步骤(3)中,利用()2式求h d(n),这里的积分运算,在计算机中可以取其数值解:hd (n)≈M1∑-=1MkdH(e k M jπ2)e knMjπ2()11其中0≤n≤N-1,而M≥8N,这样,数值解才能较好地逼近解析解。
2、设Hd(eωj)为理想线性滤波器Hd (eωj)={,0,ωτje-其他cωω≤||()12★给定三组滤波器的性能指标,根据这些指标选择适宜的窗函数设计低通滤波器。
见表2。
◆ 分析设计如下:⑴ 分析第一组数据:① 由所给的指标,可以求得对应的数字频率:通带截止频率 p ω=sp f Ω=2πsp ΩΩ=0.4π阻带起始频率 st ω=s st f Ω=2πsst ΩΩ=0.6π 阻 带 衰 减 2δ=20dB② 因为H d (eωj )={,0,ωτj e - 其他cωω≤||首先由所需低通滤波器的过渡带求截止频率c Ωc Ω=21(ρΩ+st Ω)=2π⨯3.75⨯103(rad/sec ) 其对应的数字频率为c ω=sc f Ω=2s c ΩΩπ=0.5π因此,由()2式可得h d (n)=ωπππωωτd e e nj j ⎰--21= ωπωωπωd e cn j ⎰--)(21={,)],(sin[)(1πωτωτπc c n n --ττ=≠n n()13其中τ=21-N ③ 由阻带衰减2δ来确定窗函数,由过渡带宽确定N :因为2δ=20dB,由表1知道,可选用矩形窗,因为它的最小衰减-21dB 符合题目设计要求。
要求的过渡带宽 spst ΩΩ-Ω=∆πω2=43105.12105.122⨯⨯⨯⨯⨯πππ=0.2πN=21,τ=10。
④ 由矩形窗表达式)(n ω=R N (n )()4以及()13式来确定FIR 滤波器的h(n)⑤ 由()1式H(eωj )=∑=-1-N 0n j )(nen h ω得出频率范围图象。
⑵ 分析第二组数据:按照分析第一组数据的方法,可得出:① 通带截止频率 p ω=sp f Ω=2πsp ΩΩ=0.2π阻带起始频率 st ω=s st f Ω=2πsst ΩΩ=0.4π 阻 带 衰 减 2δ=50dB② 通带截止频率 c ω=sc f Ω=2s c ΩΩπ=0.3πh d (n)和()13式一样。
⑤ 因为2δ=50dB ,所以由表1可知,选用海明窗。
过渡带宽 πω2.0=∆,又因为N πω6.6=∆,所以N=33,1621=-=N τ ⑥ 由海明窗表达式ω(n)=[0.54-(1-0.54)cos(12-N nπ)]R N (n) ()6 以及()13式来确定FIR 滤波器的h(n)h(n)= h d (n)• ω(n)=)]16(46.054.0[)16()]16(3.0sin[nn n πππ-•-- R N (n)⑤ 由()1式H(e ωj )=∑=-1-N 0n j )(nen h ω得出频率范围图象。
★ 验证型:设c ω=0.5π,N=51。
选用汉宁窗进行验证。
3、编制窗函数设计FIR 滤波器的主程序及相应的子程序。
(1) 傅立叶反变换数值计算子程序,用于计算设计步骤(3)中的傅立叶反变换,给定H d (ek Mj π2),k=0,1,…,M-1,按照公式()11求得理想单位脉冲响应h d (n),n=0,…,N-1。
(2) 窗函数产生子程序,用于产生几种常见的窗函数序列。
本课程设计要求产生的窗函数序列有:矩形窗,升余玄窗,改进的升余玄窗。
根据给定的长度,按照()4到()6式生成响应的窗函数序列。
(3) 主程序,在上述子程序的基础上,设计主程序完成FIR 滤波器的窗函数法设计。
程序如下:N=input('Input the length of the windows N=:\n'); w=input('Input the Wc:\n'); b=1; close all; i=0;while(b);n=[0:(N-1)];hd=ideal(w,N);k=input('请选择窗口类型:1(boxcar);2(hamming);3(hanning):\n'); 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)];endendendh=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('h(n)');title('实际低通滤波器的h(n)');text(1,1,string);text((0.3*N),0.27,string);hold onsubplot(2,2,2);plot(m/pi,db);axis([0 1 -100 0]);xlabel('w/pi');ylabel('衰减特性dB');grid onsubplot(2,2,3);plot(m,pha);hold onn=0:7x=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=input('Do you want to continue? 1(Continue),0(exit):\n');if b==1N=input('Input the length of the windows:\n');w=input('Input the Wc:\n');endend子程序:产生理想低通滤波器单位脉冲响应hd(n)function hd=ideal(w,N);alpha=(N-1)/2;n=[0:(N-1)];m=n-alpha+eps;hd=sin(w*m)./(pi*m);对上面设计的计算结果用本程序进行验证,比较,看结果是否符合要求。