zoukankan      html  css  js  c++  java
  • matlab中设计低通滤波器

    方法1

    可以通过Filter Builder交互界面设计,这里选择Lowpass。

    指定参数,选择FIR滤波器,采样频率128Hz,通带截止频率15Hz,阻带截止频率16Hz。通带最大波纹0.1dB,阻带最小衰减60dB。这里选用Kaiser窗法设计(或等波纹法equiripple)。

     可以生成对应的代码

    function Hd = getFilter
    %GETFILTER Returns a discrete-time filter object.
    
    % MATLAB Code
    % Generated by MATLAB(R) 9.3 and DSP System Toolbox 9.5.
    % Generated on: 22-Jun-2020 15:08:24
    
    Fpass = 15;   % Passband Frequency
    Fstop = 16;   % Stopband Frequency
    Apass = 0.1;    % Passband Ripple (dB)
    Astop = 60;   % Stopband Attenuation (dB)
    Fs    = 128;  % Sampling Frequency
    
    h = fdesign.lowpass('fp,fst,ap,ast', Fpass, Fstop, Apass, Astop, Fs);
    
    % 等波纹法
    %Hd = design(h, 'equiripple', 'MinOrder', 'any', 'StopbandShape', 'flat');
    % kaiser窗法
    Hd = design(h, 'kaiserwin');

    查看滤波器特性

    Hlp = getFilter;
    freqz(Hlp) 
    % fvtool(lpFilt)
    

     

    通过filtfilt获得零相位延迟的滤波

    y = filtfilt(Hlp.Numerator, 1, x); % filtfilt(b, 1, x)

     滤波结果

     

    方法2

    也可以直接通过fdesign和design设计,跟前面是等价的。

    Fpass = 15;   % Passband Frequency
    Fstop = 16;   % Stopband Frequency
    Apass = 0.1;    % Passband Ripple (dB)
    Astop = 60;   % Stopband Attenuation (dB)
    Fs    = 128;  % Sampling Frequency
    
    h = fdesign.lowpass('fp,fst,ap,ast', Fpass, Fstop, Apass, Astop, Fs);
    
    % 等波纹法
    %Hd = design(h, 'equiripple', 'MinOrder', 'any', 'StopbandShape', 'flat');
    % kaiser窗法
    Hd = design(h, 'kaiserwin');

    方法3

    也可以通过designfilt设计数字滤波器,结果是一样的。

    lpFilt = designfilt('lowpassfir','PassbandFrequency',15/64, ...
             'StopbandFrequency',16/64,'PassbandRipple',0.1, ...
             'StopbandAttenuation',60,'DesignMethod','kaiserwin');
    
    y = filtfilt(lpFilt, x);
    

     滤波结果

     

  • 相关阅读:
    PhpStorm 2019.3 汉化包
    PHP性能监控
    Jsonp post 跨域方案
    解决前后端调用,跨域二次请求Access-Control-Max-Age
    npm安装全局模块之后项目提示找不到的解决
    centos7 安装nodejs 最新版
    基于 ThinkJS 的 WebSocket 通信详解
    php方法注释
    恶意评论过滤插件
    redis与memcached区别
  • 原文地址:https://www.cnblogs.com/jiangkejie/p/13935890.html
Copyright © 2011-2022 走看看