0
我剛剛在MATLAB中用fdatool設計了一個IIR濾波器,並將這些係數導出到一個頭文件中。我將數組複製到MATLAB,現在我試圖繪製頻率響應。然而,由於某些原因,數組是多維的,我不知道如何讓MATLAB處理它。MATLAB多維濾波器陣列
這是我的濾波器係數的樣子:
num = [
[0.7167852126947,0,0],
[1,-1.919646855375,1],
[0.4393545211166,0,0],
[1,-1.603319802493,1],
[0.03175470360035,0,0],
[1,-1.942960840584,1],
[1,0,0]
];
den = [
[1,0,0],
[1,-1.904445073337,0.9382561062801],
[1,0,0],
[1,-1.837789625289,0.8507293334097],
[1,0,0],
[1,-1.942552416592,0.9865719866549],
[1,0,0]
];
如果他們是一維的我可以將它們傳遞到freqz功能的MATLAB像這樣:
freqz(num,den);
但這給我一個上述數組的錯誤。
繪製濾波器頻率響應的最佳方法是什麼?
這樣擺脫了錯誤,但它仍然看上去一點也不像在的FDATool過濾器預覽。我使用了以下代碼: freqz(num,den,1:1:10000,48000) 這就是它的樣子:http://i.imgur.com/CZwBaOh.png – codedude 2015-04-04 15:25:25
只需使用'num'和你在你的問題和我發佈的代碼中有沒有其他的變化。那麼你將得到相同的預覽在'fdatool' – hbaderts 2015-04-04 15:47:07
這產生這個:http://i.imgur.com/0Eaimb2.png – codedude 2015-04-04 15:49:53