我在信號處理方面相當新穎,我的一個項目是實現一個C++濾波器類。我需要典型濾波器的更高階係數,比如Chebyshev類型I和II,Butterworth,Elliptic,不幸的是,網絡中的大多數係數表只列出最高10階。我決定用MATLAB來生成這些濾波器並得到它們的高階係數,然而我所困惑的一件事是它們只給出了一組係數,我假設它們類似於說(ao,a1,a2 .....一個)。我知道IIR濾波器有兩組係數,通常表示爲a0,a1 ... an和b0,b1,...,bn。這裏是我的MATLAB代碼來生成這些coefs並將其導出到Excel文件:MATLAB:IIR濾波器係數
%Chebyshev Filter Coefficients
filename = 'cheby2coefs.xlsx';
for Order = 1:64
fprintf('This is');
disp(Order);
fprintf('coefficients');
[i,j] = cheby2(Order, 20, 300/500);
disp([i,j]);
fprintf('\n');
xlswrite(filename,[i,j]',Order);
end
到目前爲止,已經就如何想出這些係數與MATLAB淨源少,所以我有很難。我的問題是,如何產生這些濾波器的IIR係數(假設它們是IIR)?
那麼你的問題是什麼? –
@EitanT編輯我的帖子,對此感到抱歉。 – Erasmus