Matlab - 使用 conv 而不是 filter 来处理信号
Matlab - Using conv instead of filter to process a signal
我有以下代码来处理来自音频的信号
[wave,fs]=wavread('my-audio.wav');
t=0:1/fs:(length(wave)-1)/fs;
figure(1);plot(t,wave);
b = [0 1 1.1];
a = [1 0 -0.1];
FIR = filter(b,a,wave);
figure(2);plot(t,FIR);
我想知道,如果可能的话,我如何才能对 conv
函数做完全相同的事情,会有什么区别。
到目前为止,我猜我必须将音频从立体声转换为单声道。我说的对吗?
谢谢!
您可以使用conv
进行FIR滤波,但不能进行IIR滤波。在这种情况下,您有非平凡的分母系数,滤波器是 IIR,因此 filter
是可行的方法。
我有以下代码来处理来自音频的信号
[wave,fs]=wavread('my-audio.wav');
t=0:1/fs:(length(wave)-1)/fs;
figure(1);plot(t,wave);
b = [0 1 1.1];
a = [1 0 -0.1];
FIR = filter(b,a,wave);
figure(2);plot(t,FIR);
我想知道,如果可能的话,我如何才能对 conv
函数做完全相同的事情,会有什么区别。
到目前为止,我猜我必须将音频从立体声转换为单声道。我说的对吗?
谢谢!
您可以使用conv
进行FIR滤波,但不能进行IIR滤波。在这种情况下,您有非平凡的分母系数,滤波器是 IIR,因此 filter
是可行的方法。