gpt4 book ai didi

matlab - Matlab-绘制过滤后的音频

转载 作者:行者123 更新时间:2023-12-02 22:48:55 25 4
gpt4 key购买 nike

我正在尝试绘制过滤后的音频,但是我做错了,因为第二个图什么都没显示。

[wave,fs]=wavread('my-audio.wav');
t=0:1/fs:(length(wave)-1)/fs;
figure(1);plot(t,wave);
b = [1.1 1];
a = [-0.1 0 1];
FIR = filter(b,a,wave);
figure(2);plot(t,FIR);

我正在使用的功能是: H(z)=(z + 1.1)/(z^2 - 0.1)
我想念什么?

谢谢!

最佳答案

看起来您已经颠倒了ab vector 中的系数顺序。对于定义传递函数的极点(从而确定滤波器的稳定性)的反馈系数a,将系数的阶数反转尤其显着。因此,最终的滤波输出FIR可能超过了数值浮点容量,这是plot遇到的问题。

根据 filter 's documentation,使用transfer function of the form定义ab系数:

H(z) = \frac{b(1) + b(2)z^{-1} + \dots + b(n)z^{-n}}{a(1) + a(2)z^{-1} + \dots + a(m)z^{-m}}

由于您的传递函数是

\begin{align}H(z) &= \frac{z + 1.1}{z^2 - 0.1} \  &= \frac{z^{-1} + 1.1z^{-2}}{1 - 0.1z^{-2}}\end{align}

您应该使用系数

b = [0  1  1.1]
a = [1 0 -0.1]

关于matlab - Matlab-绘制过滤后的音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40577806/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com