matlab 中成型濾波器設計有好幾個函數:rcosine
Fd=9600;
Fs=38.4e3;
[num,den] = rcosine(Fd,Fs,'sqrt',0.25);
freqz(num);
其中的Fd表示輸入數據的採樣率。
如果利用matlab中濾波器設計工具FDAtool設計:
設計同樣的濾波器,其中Fc=4800,因為Fc表示截止頻率,Fc=1/2Fd,即截止頻率是輸入數據採樣率的一半。
現在的matlab版本中只推薦使用rcosdesign這個函數來設計成型濾波器了,其用法是:
N = 48(階數)beta= 0.5(滾降係數) Fs = 8000;Fc = 1000;sps = Fs/(2*Fc);span = N/sps;
b1= rcosdesign(beta, span, sps, 'sqrt');
sps表示每個符號的採樣點數,即是採樣頻率比上數據輸入速率,也就相當於上面的Fs/Fd ,也就是sps = Fs/(2*Fc),同樣說明Fc=1/2Fd。span這個參數其實就是用來確定濾波器階數的。