精华内容
下载资源
问答
  • 有限脉冲响应(FIR滤波器在保证幅度特性满足要求的情况下,很容易做到线性相位特性。 1. 函数介绍 hn=fir1(M,wc,'ftype',window) M - 滤波器阶数,如果窗口长度为N,那么M就是N-1 wc - 6dB截止频率,wc = (wp + ...

    本文是FIR数字滤波器设计,如果需要了解模拟滤波器或者IIR的内容,可以看我写的另外两篇博客,如下:

    1.巴特沃斯模拟滤波器(低通,高通,带通,带阻)设计-MATLAB实现

    2.MATLAB实现无限脉冲响应数字滤波器(IIR)

    前言

    • IIR数字滤波器主要是模仿模拟滤波器的设计方法,所以在设计中只考虑了幅度特性,没有考虑相位特性,设计出来的滤波器一般是非线性的。
    • 有限脉冲响应(FIR)滤波器在保证幅度特性满足要求的情况下,很容易做到线性相位特性。

    1. 函数介绍

    hn=fir1(M,wc,'ftype',window)
    

    M - 滤波器阶数,如果窗口长度为N,那么M就是N-1
    wc - 6dB截止频率,wc = (wp + ws) / 2;
    ftype: 滤波器类类型

    • 当输入wc为一维向量时:
      设计的低通滤波器的话ftype不需要填,设计高通滤波器的话令’ftype’=’high’

    • 当输入wc为二维向量[wcl,wcu]时:
      设计的带通滤波器的话ftype不需要填,设计带阻滤波器的话令’ftype’=’stop’

    window - 窗口类型,包括下面这些类型

    • boxcar(N) - 矩形窗
    • bartlett(N) - 三角形窗
    • hanning(N) - 汉宁窗
    • hamming(N) - 哈明窗
    • blackman(N) - 布莱克曼窗
    • kaiser(N,beta) - 凯赛窗

    2. 设计方法

    以低通滤波器设计为例

    例: 设计线性低通滤波器,通带频率wp = pi / 4 rad, 阻带频率 ws = pi / 2;通带衰减1dB,阻带衰减40dB。

    (1)选择窗口类型

    各种类型窗口的具体参数如下:
    在这里插入图片描述

    本题中阻带最小衰减40dB,而汉宁窗最小衰减达到了44dB,所以选择汉宁窗

    (2)首先计算窗口长度N

    本题中,过渡带带宽为 Bt=wswp=0.25πB_t = w_s-w_p=0.25\pi

    N6.2πBt=6.2π0.25π=24.8N\geq\frac{6.2\pi}{B_t}=\frac{6.2\pi}{0.25\pi}=24.8

    这里我们向上取整,取窗口长度 N=25

    (3)求截止频率

    截止频率
    wc=wp+ws2=0.375π(rad)w_c=\frac{w_p+w_s}{2}=0.375\pi (rad)
    π\pi 归一化后得 wc=0.375wc = 0.375

    (4)调用fir1计算

    计算函数如下:

    hn=fir1(N-1,wc,hanning(N))
    

    (5)滤波

    调用filter函数,如下:

    y=filter(hn,1,x);
    

    这里hn是刚设计好的滤波器,x是输入信号,y就是滤波后的信号。

    2. 低通数字滤波器设计

    例: 设计线性低通滤波器,通带频率wp = pi / 4 rad, 阻带频率 ws = pi / 2;通带衰减1dB,阻带衰减40dB。

    计算流程刚已经讲过了,直接上代码

    %低通滤波器
     
    wp=pi/4;ws=pi/2;
    DB=ws-wp;           %计算过渡带宽度
    N=ceil(6.2*pi/DB); %根据表7.2.2汉宁窗计算所需h(n)长度N0
     
    wc=(wp+ws)/2/pi;    %计算低通滤波器截止频率(关于π归一化)
    hn=fir1(N-1,wc,hanning(N));  %调用fir1计算低通滤波器参数
    

    至此,FIR数字低通滤波器设计完成了,如果有输入噪声信号x的话,调用y = filter(hn,1,x),得到的y就是滤波后的信号了。

    接着我们画出数字低通滤波器的幅频特性曲线,代码如下:

    %以下是绘图部分
    %计算hn的1024点fft,即求其幅频特性
    M=1024;
    hk=fft(hn,M);
     
    %1024点对应2pi,512点对应pi,我们在1-pi之间取点,求出该点的幅度
    k=1:M/2;
    fd = abs(hk(k));
     
    %横坐标对pi归一化一下,表示起来更清楚,对pi归一化就是0-511 对 M/2归一化
    w=(0:M/2-1)/(M/2);
     
    figure;
    plot(w,20*log10(fd));
    axis([0,1,-80,5]);
    xlabel('ω/π');ylabel('20lg|Hg(ω)|');
    grid on
    

    结果如下:

    在这里插入图片描述

    3. 高通数字滤波器设计

    高通滤波器与低通滤波器设计方法类似,不过要注意,设计高通和带阻FIR滤波器时,窗口长度N必须为奇数。

    例: 设计线性高通滤波器,通带频率wp = pi / 2 rad, 阻带频率 ws = pi / 4;通带衰减1dB,阻带衰减40dB。

    代码如下:

    %高通滤波器
     
    wp=pi/2;ws=pi/4;
    DB=wp-ws;           %计算过渡带宽度
    N0=ceil(6.2*pi/DB); %计算所需h(n)长度N0
    
    N = N0 + mod(N0+1,2); %保证N为奇数
    
    wc=(wp+ws)/2/pi;    %计算高通滤波器截止频率(关于π归一化)
    hn=fir1(N-1,wc,'high',hanning(N));  %调用fir1计算高通滤波器参数
    

    至此,FIR数字高通滤波器设计完成了

    如果有输入噪声信号x的话,调用y = filter(hn,1,x),得到的y就是滤波后的信号了。

    接着我们画出数字高通滤波器的幅频特性曲线,代码如下:

    %以下是绘图部分
    %计算hn的1024点fft,即求其幅频特性
    M=1024;
    hk=fft(hn,M);
     
    %1024点对应2pi,512点对应pi,我们在1-pi之间取点,求出该点的幅度
    k=1:M/2;
    fd = abs(hk(k));
     
    %横坐标对pi归一化一下,表示起来更清楚,对pi归一化就是0-511 对 M/2归一化
    w=(0:M/2-1)/(M/2);
     
    figure;
    plot(w,20*log10(fd));
    axis([0,1,-80,5]);
    xlabel('ω/π');ylabel('20lg|Hg(ω)|');
    grid on
    

    结果如下:
    在这里插入图片描述

    4. 带通数字滤波器设计

    例: 设计线性相位带阻滤波器,通带下频率wpl = 0.35 pi,通带上截止频率wpu = 0.65 pi,,通带衰减Rp = 1dB,阻带下截止频率wsl = 0.2pi,阻带上截止频率wsu = 0.8pi,阻带衰减As=60dB。

    由于此处阻带衰减为60dB,所以我们选用 布莱克曼窗

    过渡带带宽为 Bt=wplwsl=0.15πB_t = w_{pl}-w_{sl}=0.15\pi

    N12πBt=12π0.25π=80N\geq\frac{12\pi}{B_t}=\frac{12\pi}{0.25\pi}=80

    这里我们取窗口长度 N=80。

    归一化后的截止频率 wc=[(wpl+wsl)/2/pi, (wpu+wsu)/2/pi];

    代码如下:

    %带通滤波器
    wpl = 0.35 * pi;
    wpu = 0.65 * pi;
    Rp = 1;
    wsl = 0.2 * pi;
    wsu = 0.8 * pi;
    As = 60;
     
    DB=wpl-wsl;           %计算过渡带宽度
    N=ceil(12*pi/DB); %计算所需h(n)长度N
     
    wc=[(wpl+wsl)/2/pi, (wpu+wsu)/2/pi];    %计算带通滤波器截止频率(关于π归一化)
    hn=fir1(N-1,wc,blackman(N));  %调用fir1计算带通滤波器参数
    

    至此,FIR数字带通滤波器设计完成了

    如果有输入噪声信号x的话,调用y = filter(hn,1,x),得到的y就是滤波后的信号了。

    接着我们画出数字带通滤波器的幅频特性曲线,代码如下:

    %以下是绘图部分
    %计算hn的1024点fft,即求其幅频特性
    M=1024;
    hk=fft(hn,M);
     
    %1024点对应2pi,512点对应pi,我们在1-pi之间取点,求出该点的幅度
    k=1:M/2;
    fd = abs(hk(k));
     
    %横坐标对pi归一化一下,表示起来更清楚,对pi归一化就是0-511 对 M/2归一化
    w=(0:M/2-1)/(M/2);
     
    figure;
    plot(w,20*log10(fd));
    axis([0,1,-100,5]);
    xlabel('ω/π');ylabel('20lg|Hg(ω)|');
    grid on
    

    绘图结果如下:
    在这里插入图片描述

    5. 带阻数字滤波器设计

    例: 设计线性相位带阻滤波器,通带下频率wpl = 0.2 pi,通带上截止频率wpu = 0.8 pi,,通带衰减Rp = 1dB,阻带下截止频率wsl = 0.35pi,阻带上截止频率wsu = 0.65pi,阻带衰减As=60dB。

    由于此处阻带衰减为 60dB ,所以我们选用布莱克曼窗

    过渡带带宽为 Bt=wslwpl=0.15πB_t = w_{sl}-w_{pl}=0.15\pi

    N12πBt=12π0.25π=80N\geq\frac{12\pi}{B_t}=\frac{12\pi}{0.25\pi}=80

    由于设计的是带阻滤波器,N需要为奇数,所以这里我们取窗口长度N=81

    归一化后的截止频率 wc=[(wpl+wsl)/2/pi, (wpu+wsu)/2/pi];

    代码如下:

    %带阻滤波器
    wpl = 0.2 * pi;
    wpu = 0.8 * pi;
    Rp = 1;
    wsl = 0.35 * pi;
    wsu = 0.65 * pi;
    As = 60;
     
     
    DB=wsl-wpl;           %计算过渡带宽度
    N0=ceil(12*pi/DB); %计算所需h(n)长度N
     
    N = N0 + mod(N0+1,2); %N需要为奇数
     
    wc=[(wpl+wsl)/2/pi, (wpu+wsu)/2/pi];    %计算带阻滤波器截止频率(关于π归一化)
    hn=fir1(N-1,wc,'stop',blackman(N));  %调用fir1计算带阻滤波器参数
    

    至此,FIR数字带阻滤波器设计完成了

    如果有输入噪声信号x的话,调用y = filter(hn,1,x),得到的y就是滤波后的信号了。

    接着我们画出数字带阻滤波器的幅频特性曲线,代码如下:

    %以下是绘图部分
    %计算hn的1024点fft,即求其幅频特性
    M=1024;
    hk=fft(hn,M);
     
    %1024点对应2pi,512点对应pi,我们在1-pi之间取点,求出该点的幅度
    k=1:M/2;
    fd = abs(hk(k));
     
    %横坐标对pi归一化一下,表示起来更清楚,对pi归一化就是0-511 对 M/2归一化
    w=(0:M/2-1)/(M/2);
     
    figure;
    plot(w,20*log10(fd));
    axis([0,1,-100,5]);
    xlabel('ω/π');ylabel('20lg|Hg(ω)|');
    grid on
    

    绘图结果如下:
    在这里插入图片描述

    展开全文
  •  LTI数字滤波器通常分成有限脉冲响应(finite impulse response∶也就是FIR和无限脉冲响应(infinite impulse response,也就是IIR)两大类。顾名思义,FIR滤波器由有限个采样值组成,将上述卷积的数量降低到在每个...
  • 引言 本文引用了《understanding digital signal processing-Richard G.Lyons》 数字滤波器得到发展,意识到了...给定一个时域有限长度的输入序列,FIR滤波器的输出通常总会是一个时域有限长度的序列,这就是F...

    引言

    数字滤波器得到发展,意识到了计算机不仅可以分析信,而且能够改变数字信号的本质特征。

    • 介绍
      滤波器就是允许我们想要的频率分量通过,同时删减我们不想要的频率分量。
      传统的数字滤波器主要分为两大类:有限脉冲响应(FIR)滤波器和无线脉冲响应(IIR)滤波器。

    • 5.1
      给定一个时域有限长度的输入序列,FIR滤波器的输出通常总会是一个时域有限长度的序列,这就是FIR滤波器名字的由来。

    • FIR滤波器的介绍

    想象一下,统计过去5分钟的平均车流量,我们应该怎样来统计呢?
    第一分钟,10
    第二分钟 ,22
    第三分钟, 24
    第四分钟, 42
    第五分钟, 37
    ‘-----------------------------------于是过去五分钟平均每分钟是 27
    第六分钟 ,77
    ‘------------------------------------于是过去五分钟平均每分钟是 40.4(从第二分钟到第六分钟)
    第七分钟, 89
    ‘------------------------------------于是过去五分钟平均每分钟是 53.8 (从第三分钟到第七分钟)
    以此类推
    在这里插入图片描述
    从上图我们可以看到,这种滑动平均的方法能够有效的使波形变得缓慢。

    • 结构
      我们把上述的思想在FPGA等设备里实现,流水结构如下图
      在这里插入图片描述
      以例子中,我们以过去5分钟来统计,平均每分钟,那么这个5分钟,我们称之为5抽头的抽头线FIR滤波器

    在理解FIR滤波器时候,最重要的一点就是能够准确地预知所涉及的滤波器在输入各种各样的正弦信号时,究竟会有怎样的输出行为,例如能够估计出滤波器的频率响应。
    影响滤波器频率响应的最重要的两个因素是:滤波器抽头系数的个数和具体的抽头系数值

    展开全文
  • 在本研究中,针对四种常规滤波器(低通、带通、带阻和高通)实施了基于窗口的有限脉冲响应 (FIR) 滤波器设计方法。 描述了详细的步骤。 相关代码已上传至mathworks.com网站共享。 提供完整的文档以供重复。
  • 有限脉冲响应FIR滤波器是一种LTI滤波器。N阶的FIR滤波器的输出对应于输入时间序列xn的关系形式如下: hk为滤波器系数。 y0 = h0*x0 y1 = h0*x1 + h1*x0 y2 =h0*x2 + h1*x1 + h2*x0 ...................


    数字滤波器通常用于修正或者改变时域或频域中信号的特性。最为普通的数字滤波器就是线性时不变LTI滤波器。

    有限脉冲响应FIR滤波器是一种LTI滤波器。N阶的FIR滤波器的输出对应于输入时间序列xn的关系形式如下:

    hk为滤波器系数。

    y0 = h0*x0

    y1 = h0*x1 + h1*x0

    y2 =h0*x2 + h1*x1 + h2*x0

    .................................................

    公式展开如上,可使用之前介绍的分布式算法实现FIR滤波器。

    FIR滤波器有多种实现形式:

    等波纹

    最小二乘法

    窗函数等

    等波纹设计法:

    如上图,FIR等波纹低通滤波器滤波器,matlab下的参数设计,通过matlab的fadtool,可以得到滤波器的系数,从而实现最终的FIR滤波器设计。

    Response Type:选择FIR滤波器的类型:低通、高通、带通和带阻等。在DDC/DUC模块设计中,抽取和内插需要使用Halfband Lowpass类型,而channel filter需要使用Raised-cosine类型。

    Design Method:FIR滤波器设计方法有多种,最常用的是窗函数设计法(Window)、等波纹设计法(Equiripple)和最小二乘法(Least-Squares)等。其中窗函数设计法在学校课堂中是重点讲解的,提到FIR滤波器肯定会想到hamming、kaiser窗,但是实际应用中却很少使用,因为如果采用窗函数设计法,达到所期望的频率响应,与其它方法相比往往阶数会更多;而且窗函数设计法一般只参照通频带wp、抑制频带ws和理想增益来设计滤波器,但是实际应用中通频带和抑制带的波纹也是需要考虑的,那在这种情况下,采用等波纹设计法就非常适用了。

    Filter Order:设置滤波器的阶数,这个选项直接影响滤波器的性能,阶数越高,性能越好,但是相应在FPGA实现耗用的资源需要增多。在这个设置中提供2个选项:Specify order和Minimum order,Specify order是工程师自己确定滤波器的阶数,Minimum order是让工具自动确定达到期望的频率相应所需要的最小阶数,因此具体选择哪个选项得视实际情况而定了。

    density factor:这个参数控制了频率网的密度。提高这个参数的值可以使设计出的滤波器更加接近理想的频率响应,但这样会增加滤波的计算量。因为滤波器设计要求频率网上每个频点都要满足理想滤波器的指标规格,频率网越密,设计出的滤波器公式越复杂。

    Frequency Specification:设置频率响应的参数,包括采样频率Fs、通带频率Fpass和阻带频率Fstop。

    magnitude specifications:定义幅值衰减,单位是db,分贝。Apass表示通带衰减,Astop表示阻带衰减。Apass/Astop = 20*log10(输出/输入)。

    用等波纹最佳逼近法设计的滤波器,其通带和阻带均为等波纹特性,且通带最大衰减和阻带最小衰减可以分别控制,所以其指标均匀分布,没有资源浪费,所以阶数低得多。


    版权所有权归卿萃科技 杭州FPGA事业部,转载请注明出处

    作者:杭州卿萃科技ALIFPGA

    原文地址:杭州卿萃科技FPGA极客空间 微信公众号


    扫描二维码关注杭州卿萃科技FPGA极客空间


     

    转载于:https://www.cnblogs.com/alifpga/p/9232102.html

    展开全文
  • 6.1 基础 非递归滤波器有限脉冲响应滤波器,finite impulse response filter)仅取决与过去的...其脉冲响应为有限项,因此称为有限脉冲响应滤波器FIR滤波器FIR滤波器的设计就是选择合适的系数 以得...

    6.1 基础

    非递归滤波器(有限脉冲响应滤波器,finite impulse response filter)仅取决与过去的输入,与输出无关

                     image                       (1)

    其脉冲响应为有限项,因此称为有限脉冲响应滤波器(FIR滤波器)

                    image

    FIR滤波器的设计就是选择合适的系数image 以得到所需要的滤波器特性。一般,滤波器的滚降越陡峭,需要的系数也就越多。

    6.2滑动平均滤波器

    它计算数字采样序列的滑动平均值。

    考虑一个五项滑动平均滤波器           

                          image

    它的传输函数image ,频响为image

    从下图中它的滤波器形状可证实滑动平均滤波器是低通滤波器。

    image

    6.3 相位失真

    当正弦信号通过线性滤波器时,其幅度和相位都要改变。对于输入image ,输出为image ,输入频率和输出频率相同,但幅度和相位发生变换,其中image 为滤波器在image 处的增益,image 为相位差。

    由于信号中的不同频率分量通过滤波器产生的相位延迟不同,因此产生相位失真。要确保不产生相位失真的唯一办法就是保证不同频率分量通过滤波器时有相同的延迟。

    6.4 理想低通滤波器

    理想低通滤波器的单边幅度响应:

             image

    产生理想低通滤波器的脉冲响应计算公式:image

    1)n=0时,脉冲响应表示为Sinc函数,其定义为image 。Sinc函数的图形如下:

                       image

    2)理想低通滤波器的脉冲响应如下图,它在每个方向上有无限个采样点,它的包络是Sinc函数

                         image 

    要设计一个理想低通滤波器并不是那么简单:

    1)由于脉冲响应是非因果的(n=0之前就存在,由上图可看出)。并且,n<0时的非零值无限多,它不能像滑动平均滤波器那样进行时移。

    2)它有无限多项,因此不能转换为非递归差分方程。

    最简单的解决办法就是截断脉冲响应值很小的采样点,从而变换有限长,能够位移且为因果的。

                                 image

    截断后会对频率响应产生影响,滤波器形状不再是矩形。保留的采样点越多(忽略的信息越少),滤波器形状就越接近矩形。

                                 image

    转载于:https://www.cnblogs.com/pegasus/archive/2011/02/15/1955548.html

    展开全文
  • IIR滤波器FIR滤波器的对比

    千次阅读 2019-04-04 09:11:53
    1.两种滤波器都是数字滤波器。根据冲激响应的不同,将数字滤波器分为有限冲激响应(FIR滤波器和无限冲激响应(IIR)滤波器。...2.FIR有限脉冲响应滤波器。有限说明其脉冲响应是有限的。与IIR相比...
  • 该结构构成有限脉冲响应(FIR)网络,网络传输矩阵H(z)与电压V具有一一对应关系。利用z变换原理,运用待定系数法求解H(z),从而推导所需电压值V,实现了电光调谐逆向可导。加入不同电压,可以实现自由光谱范围(FSR...
  • 广泛用于对信号的过滤检测与参数的估计等信号处 理中数字滤波器是使用最为广泛的装置在工业农业和其他行业均有应用[1] 数字滤波器按其单位脉 冲响应的长度可分为有限脉冲响应FIR 滤波器和 无限脉冲响应IIR 滤波器两...
  • 细讲IIR滤波器FIR滤波器的区别

    千次阅读 2018-11-16 10:58:14
    1.两种滤波器都是数字滤波器。根据冲激响应的不同,将数字滤波器分为有限冲激响应(FIR滤波器和无限冲激响应(IIR)滤波器。...2.FIR有限脉冲响应滤波器。有限说明其脉冲响应是有限的。与IIR相比,...
  • 滤波器FIR与IIR)

    2020-11-22 15:43:13
    文章目录前言一、滤波器1.1 简介1.2 类型1.3 应用二、FIR与IIR滤波2.1 脉冲响应2.2 FIR与IIR比较2.3 滤波方法三、python实现总结 ...本文主要介绍在数字信号处理(DSP)中经常使用的两种基本的低通滤波器有限脉冲
  • 在此基础上利用数字信号处理中的Z变换方法对其进行简化, 使其满足有限脉冲响应(FIR)表达式, 继而利用数字信号处理中的FIR理论设计不等带宽型交错滤波器。其中晶体和检偏器的偏角根据系统光谱透射率的表达式反向推...
  • 滤波器简介:FIR与IIR

    万次阅读 多人点赞 2019-07-19 16:24:15
    关于本博文的说明:本博文为翻译文章,主要分享数字滤波器相关知识,包括有限脉冲响应数字滤波器(finiteimpulseresponse, FIR)和无限脉冲响应数字滤波器(infiniteimpulseresponse,IIR). 原文为‘Introduction to ...
  • FIR滤波器设计

    万次阅读 2018-01-20 11:36:59
    实际上有限长的单位脉冲响应也是通过将非因果的有限脉冲响应截断所得到的,这样就导致了FIR滤波器在通带存在纹波,这也就是所谓的吉布斯效应。产生这个现象的根本原因就是截断相当于在时域乘以一个矩形框,矩形框...
  • 有限脉冲响应数字滤波器的设计 一、FIR滤波器的特点 1.严格的线性相位特性 2.h(n)有限长,系统永远稳定 3.h(n)经延时,将系统变成因果系统 4.h(n)有限长,可利用FFT计算 二、用窗函数设计FIR滤波器的步骤 1.一般给定...
  • FIR和IIR滤波器

    2020-07-18 09:41:52
    FIR, Finite impulse response filters, 有限脉冲响应滤波器 IIR, Infinite impulse response filters,无限脉冲响应滤波器 与IIR相比,FIR具有线性相位、容易设计的优点。这也就说明,IIR滤波器具有相位不线性,...
  • 有限脉冲响应(FIR)数字滤波器由于设计灵活,滤波效果好以及过渡带宽易控制,因此在数字信号处理领域得到了广泛的应用。FIR数字滤波器的典型设计方法主要有窗函数法和频率采样法。正确理解和掌握这两种设计方法是...
  • 基于 Matlab 的 FIR 滤波器设计 摘 要 在数字控制系统中输入信号中所含的干扰对...工作原理针对 FIR 滤波器有各种不同的设计方法有限脉冲响应FIR 滤 波器在保证幅度特性满足技术要求的同时很容易做到有严格的线性相位特
  • 6)的低通有限脉冲响应(FIR滤波器。 归一化截止频率。 with是采样频率。 过滤器表达式由下式给出 为了实现目的,输入,输出和系数使用16位表示。 对于系数,可以使用以下值 最终项目报告包含: 总体介绍 项目步骤...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 196
精华内容 78
关键字:

有限脉冲滤波器fir