【问题标题】:Implement a low-pass single pole with 20 Hz cutoff frequency实现具有 20 Hz 截止频率的低通单极点
【发布时间】:2013-07-23 05:28:26
【问题描述】:

我正在尝试以这种方式实现低通,就像在Digital signal processing guide 书中一样,但我的alfa = 2.660393305517957e-55 显然是错误的。代码如下:

x = exp(-2*pi*20);

a0 = 1 - x;
b1 = x;

eda2(1) = eda_raw2(1);

for n = 2:length(eda_raw2)
    eda2(n) = a0*eda_raw2(n) + b1.*eda2(n - 1);
end

【问题讨论】:

    标签: matlab lowpass-filter


    【解决方案1】:

    问题在于您如何计算离散时间滤波器的极点 (x)。您没有考虑采样频率!计算应为x = exp(-2*pi*20/fm);,其中fm 是以Hz 为单位的采样频率。

    【讨论】:

    • 即使使用我的采样频率 100 Hz,该值仍然是 0.28,因此根本没有过滤
    • x = exp(-2*pi*20/100) = 0.2846;
    • 当然有过滤。在eda_raw2 = [1 zeros(1,9) ]; 上试试你的代码,看看eda2 是如何慢慢衰减的
    • 我的窗口大小也很重要吗? 30秒
    • 窗口大小是多少?
    【解决方案2】:

    查看在线数学作品页面:Low Pass Filter Design

    【讨论】:

    • 我明白这一点,但我正试图了解这个实现有什么问题。这与 Matlab 无关。
    猜你喜欢
    • 2014-08-29
    • 2012-09-02
    • 2019-02-23
    • 1970-01-01
    • 2016-01-12
    • 1970-01-01
    • 2012-08-19
    • 2012-07-21
    • 1970-01-01
    相关资源
    最近更新 更多