How to filter a wav signal using IIR using fdatool?
I used fdatool to design an IIR filter , after the design i exported the co-ofcients SOS
and G
then i used Output1=filtfilt(SOS,G,wave);
, is that correct , because when it runs it take a very long time and when i plot the frequency and time response, no values appear ?开发者_如何学编程?
The filtfilt
function is expecting the numerator and denominator coefficient vectors (B and A, respectively) of the transfer function as the first two arguments. you can use the SOS2TF function to convert the second order sections into these coeffectient vectors:
[B,A] = sos2tf(SOS,G);
Then you can use the filtfilt function:
Output = filtfilt(B,A,wave);
While this would work, I would watch out when using high order systems; breaking up a high order filter into many cascaded low order filters is a good way to avoid coefficient error.
精彩评论