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低通滤波器的设计简介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低通滤波器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低通滤波器是一种常用的数字滤波器,可以通过对汉明窗函数与理想低通滤波器的幅度响应进行乘积来实现对输入信号的滤波功能。
(完整word版)窗函数法设计FIR数字滤波器

数字信号处理实验报告---实验4窗函数法设计FIR数字滤波器一、实验目的1.了解常用的几种窗函数,能正确选择适当的窗函数进行滤波器设计;2.掌握窗函数法设计数字低通滤波器。
二、实验原理1.常用的窗函数:矩形窗函数为boxcar和rectwin,调用格式:w= boxcar(N)w= rectwin(N)其中N是窗函数的长度,返回值w是一个N阶的向量。
三角窗函数为triang,调用格式:w= triang(N)汉宁窗函数为hann,调用格式:w= hann(N)海明窗函数为hamming,调用格式:w= hamming(N)三、实验内容题一:生成四种窗函数:矩形窗、三角窗、汉宁窗、海明窗,并观察其频率响应。
题二:根据下列技术指标,设计一个FIR数字低通滤波器:wp=0.2π,ws=0.4π,ap=0.25dB,as=50dB,选择一个适当的窗函数,确定单位冲激响应,绘出所设计的滤波器的幅度响应。
四、上机程序及运行结果题一:n=30;%矩形窗及其频响window1=rectwin(n);[h1,w1]=freqz(window1,1);subplot(4,2,1);stem(window1);title('矩形窗');subplot(4,2,2);plot(w1/pi,20*log(abs(h1))/abs(h1(1)));title('矩形窗频响'); %三角窗及其频响window2=triang(n);[h2,w2]=freqz(window2,1);subplot(4,2,3);stem(window2);title('三角窗');subplot(4,2,4);plot(w2/pi,20*log(abs(h2))/abs(h2(1)));title('三角窗频响'); %汉宁窗及其频响window3=hann(n);[h3,w3]=freqz(window3,1);subplot(4,2,5);stem(window3);title('汉宁窗');subplot(4,2,6);plot(w3/pi,20*log(abs(h3))/abs(h3(1)));title('汉宁窗频响'); %海明窗频响window4=hamming(n);[h4,w4]=freqz(window4,1);subplot(4,2,7);stem(window4);title('海明窗');subplot(4,2,8);plot(w4/pi,20*log(abs(h4))/abs(h4(1)));title('海明窗频响');题二:%理想低通滤波器单位冲激响应函数function hd=ideal_lp1(wc,N);alpha=(N-1)/2;n=0:1:N-1;m=n-alpha+eps;hd=sin(wc*m)./(pi*m);%滤波器幅值、相位响应函数function[db,mag,pha,w]=freqz_m2(b,a);%db:相对幅值响应%mag:绝对幅值响应%pha:相位响应%w:采样频率%b:系统函数H(Z)的分子项(对FIR,b=h)%a:系统函数H(Z)的分母项(对FIR,a=1)[H,w]=freqz(b,a,1000,'whole');H=(H(1:1:501))';w=(w(1:1:501))';mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);%主程序clear all;wp=0.2*pi;ws=0.4*pi;tr_wdith=ws-wp;N=ceil(6.6*pi/tr_wdith)+1;n=0:1:N-1;wc=(ws+wp)/2;%理想低通滤波器的截止频率hd=ideal_lp1(wc,N);%理想低通滤波器的单位冲激响应w_ham=(hamming(N))';%海明窗h=hd.*w_ham;%截取得到实际的单位脉冲响应[db,mag,pha,w]=freqz_m2(h,[1]);%计算实际滤波器的幅度响应delta_w=2*pi/1000;ap=-(min(db(1:1:wp/delta_w+1)));%实际带通波纹as=-round(max(db(ws/delta_w+1:1:501)));%实际阻带波纹subplot(221);stem(n,hd);title('理想单位脉冲响应hd(n)'); subplot(222);stem(n,w_ham);title('海明窗w(n)');subplot(223);stem(n,h);title('实际单位脉冲响应hd(n)'); subplot(224);stem(w/pi,db);title('幅度响应(dB)');axis([0,1,-100,10])五、实验总结及心得。
汉明窗函数优化的FIR低通滤波器设计

汉明窗函数优化的FIR低通滤波器设计FIR(Finite Impulse Response)低通滤波器是一种常用的数字滤波器,用于信号处理和通信系统中的滤波操作。
在FIR滤波器设计中,窗函数的选择对滤波器的性能起着重要的影响。
汉明窗函数是常用的一种窗函数,采用汉明窗函数设计的FIR低通滤波器可以在频域上实现更好的性能。
汉明窗函数是一种典型的平滑窗函数,具有较好的边带抑制和主瓣宽度的折中。
在FIR滤波器设计中,常用汉明窗函数的主要目的是使滤波器的频率响应在过渡带有较低的波纹和较快的下降速度。
因此,使用汉明窗函数优化的FIR低通滤波器能够提供较好的滤波效果。
在设计汉明窗函数优化的FIR低通滤波器时,需要注意以下几个步骤:1. 确定滤波器的需求和规格:首先需要明确滤波器的截止频率、过渡带宽、衰减要求等参数。
这些参数将决定滤波器的性能和设计复杂度。
2. 确定滤波器的阶数:根据滤波器的需求和规格,可以通过经验公式或者滤波器设计工具估算出所需的滤波器阶数。
滤波器的阶数决定了滤波器的复杂度和计算量。
3. 计算滤波器的理想频率响应:利用滤波器设计工具或者数学计算方法,可以得到滤波器的理想频率响应。
理想频率响应是滤波器在截止频率处实现理想衰减的频率响应曲线。
4. 应用汉明窗函数:将汉明窗函数应用于滤波器的理想频率响应上,可以得到实际的频率响应。
汉明窗函数通过平滑在频率响应的过渡带上的波纹,有效地抑制了滤波器非理想衰减带来的干扰。
5. 将频率响应转换为时域系数:利用逆傅里叶变换或者相关算法,将频率域中的频率响应转换为滤波器的时域系数。
时域系数就是FIR滤波器的传输函数的系数,决定了滤波器的时域响应。
6. 优化滤波器的性能:根据需要,可以对设计的滤波器进行进一步的优化。
可以通过调整阶数、窗函数类型等参数来改善滤波器的频率响应和时域响应。
通过以上步骤,就可以得到汉明窗函数优化的FIR低通滤波器的设计。
这种设计方法可以满足滤波器设计的性能要求,得到较好的滤波效果。
fir滤波器窗函数设计法

fir滤波器窗函数设计法
FIR (Finite Impulse Response)滤波器的窗函数设计法是一种经典的数字滤波器设计方法。
它通过选择一个合适的窗函数来对滤波器的频率响应进行加权,从而实现对信号的滤波。
窗函数设计法的基本步骤如下:
1. 确定滤波器的设计规格:包括截止频率、通带和阻带的幅频响应要求等。
2. 根据设计规格,计算出滤波器的理想频率响应:可以使用理想滤波器的频率响应作为目标。
3. 选择一个合适的窗函数:常用的窗函数有矩形窗、汉宁窗、汉明窗等。
选择窗函数的关键是考虑到主瓣宽度和副瓣衰减的平衡。
4. 将选择的窗函数应用于理想频率响应上,得到加权后的频率响应。
5. 对加权后的频率响应进行反变换,得到滤波器的时域响应。
6. 根据需要,对时域响应进行截断或零增益处理,以满足设计规格。
7. 最后,根据计算得到的滤波器系数,可以通过巴特沃斯频率抽样公式将其转换为巴特沃斯直接型或传输函数型,以便在数字系统中实现滤波。
需要注意的是,FIR滤波器的窗函数设计法是一种近似方法,设计的滤波器无法完全符合理想要求。
设计过程中需要权衡主瓣宽度和副瓣衰减等因素,以及选择合适的截断或零增益处理方式,以获得满
足实际需求的滤波器性能。
基于汉明窗函数的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低通滤波器设计方法,并提供详细的步骤来实现该设计。
步骤一:确定滤波器的要求在设计低通滤波器之前,我们需要确定滤波器的要求。
主要包括截止频率、通频带衰减以及过渡带宽等参数。
这些参数将直接影响滤波器的性能。
步骤二:计算滤波器的长度根据汉明窗函数的定义,可以通过以下公式计算滤波器的长度:$$M = \frac{2.2}{\Delta f}$$其中,M代表滤波器的长度,$\Delta f$代表过渡带宽。
步骤三:计算汉明窗函数的系数汉明窗函数的一般形式为:$$w(n) = 0.54 - 0.46 \cos\left(\frac{2\pi n}{M-1}\right), 0 \leq n \leq M-1$$其中,w(n)代表汉明窗函数的系数,M代表滤波器的长度。
步骤四:计算滤波器的频率响应根据离散时间傅里叶变换(DTFT)的定义,滤波器的频率响应可以通过以下公式计算:$$H(e^{j\omega}) = \sum_{n=0}^{M-1} h(n) e^{-j\omega n}$$其中,H(e^{j\omega})代表滤波器的频率响应,$\omega$代表角频率,h(n)代表滤波器的冲激响应。
步骤五:设计滤波器的冲激响应根据汉明窗函数的定义和频率响应的计算结果,可以通过以下公式计算滤波器的冲激响应:$$h(n) = \begin{cases} w(n) \cdot h_{ideal}(n), &0 \leq n \leq M-1 \\ 0, &\text{其他情况} \end{cases}$$其中,h(n)代表滤波器的冲激响应,w(n)代表汉明窗函数的系数,h_{ideal}(n)代表理想的低通滤波器的冲激响应。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
)(9cos 15.0)(12cos 15.0)(1919n R n n R N n n w ⎥⎦⎤
⎢⎣
⎡⎪⎭⎫ ⎝⎛-=⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛--=ππ
2.3进行语音信号的采集
(1)按“开始”-“程序”-“附件”-“娱乐”-“录音机”的顺序操作打开W indo ws系统中的录音机软件。
如图1所示。
图1 wind ows 录音机
(2)用麦克风录入自己的声音信号并保存成wav 文件。
如图2所示。
图2 保存文件
保存的文件按照要求如下:
① 音信号文件保存的文件名为“yuxue jiao .wav ”。
②语音信号的属性为“8.000KHz,8位,单声道 7KB/秒” ,其它选项为默认。
2.4语音信号的分析
将“y ux uejia o.wav ”语音文件复制到计算机装有Matlab 软件的磁盘中相应
图3语音信号的截取处理图
在图3中,其中第一个图为原始语音信号;
第二个图是截短后的信号图。
图4频谱分析图
其中第二个图是信号的FFT 结果,其横坐标的具体值是X(k)中的序号k;第三个图是确定滤波频率范围的参考图,其横坐标的具体值应当是遵循D FT 定义式和频率分辨率求得的:
∑-===1
0)()]([)(N n k N W n x n x DFT k X π
当k 等于0时, 020
j kn N
j
k kn
N
e e
W ==⋅-=π
,从数字角频率上看,对应的正好是0=ω即
直流的位置,也就是说,在取滤波频段时,当将主要能量(即红色框的部分)保留,其余频段部分的信号滤除。
)]([)(n x DFT k X =相当于是信号)(n x 的实际频谱)]([)(n x DFT ej X w =采样,而)(n x 又
是连续时间语音信号)(t x 的采样。
)(k X 的每两个相邻取值之间的频率间隔大小对应到语音信号)(n x 的频谱中去,其频率间隔大小正好是
采样结果的长度
采样速率
==
=∆L f f f s det f ∆称频率分辨率,其中Hz f s 8000=,10000=L ,
p2=sum(s2.^2)-sum(s1.^2);
SNR1=10*log10(p1/p2);
p3=sum(s4.^2)/8000;
p4=sum(s3.^2)/8000-sum(s4.^2)/8000;
SNR2=10*log10(p3/p4);
2.6噪声叠加
图5 语音信号与加噪声后语音信号对比
图五为语音信号与加噪声后语音信号对。
比计算机随即产生的噪声指令为:awgn() 所加的噪声为30 dB。
图6 加噪后语音信号与加噪后信号频谱图
图7滤波器频幅特性与相频特性
图8滤波器单位采样响应
图7是滤波器频幅特性与相频特性,图8是hanning窗函数单位冲激响应系数。
图9 滤波器处理后的信号及频谱图
图10 加噪后的语音信号及处理后的信号图
设计的滤波器是用单位采样响应h(n )表示的,可以利用带噪声语音noise (n)s (n)s 12+=与h(n)做时域卷积,即:h(n)*(n)s y(n)1= 。
在Matlab 中,卷积运算可以用函数“c onv( )”实现。
滤波前(含噪声)的信号和滤波后信号的信噪比, 利用s um求信号的功率。
在m文件中继续编写信噪比代码段:
s 4=con v(s 1,hn1);
p1=su m(s1.^2);
p2=su m(s2.^2)-su m(s1.^2);
SNR1=10*log10(p1/p 2);
p 3=su m(s4.^2)/8000;
p4=sum(s3.^2)/8000-sum(s4.^2)/8000;
SNR2=10*log 10(p 3/p4);
三、设计结果与分析
滤波就是将外界干扰的不需要的频率滤除掉,一面影响要测试数据的结果。
采样间隔也会对实验产生影响,取的过大会导致频率混叠。
3.1比较滤波前(含噪声信号的文件)和滤波后的语音信号效果。
图10 利用hamming窗FIR低通滤波器滤波效果图
图10为滤波前后的效果图,第一个图是加噪后的图,图中波形的毛刺部分(即干扰噪声)被滤除,输入的带噪声信号经过滤波器滤波后,即第二个图中所示波形。
图中有明显的滤波效果,滤波器不仅把30dB的噪声滤掉了,同时也也能滤掉了原信号的声音,因此在实际的实验会和理论有误差,许多时候得不到完美的效果。
3.2滤波前(含噪声)的信号和滤波后信号的信噪比
图11相关参数的截图,其中snr为信噪比
图11是利用“信噪比代码段”做出来的效果图,图中名称snr1为最滤波前的信噪比,snr2为滤波后的信噪比,snr2大于snr1,最终达到了效果。
四、设计体会
在本次课程设计中,让我更加了解了数字信号处理在实际上的应用,课程设计不仅要求对滤波器理论的研究,更重要的是实际设计中遇到的问题。
因为有了这次课程设。