?? firlowf.m
字號:
%用fir1函數設計低通濾波器
clf;
[y,fs,bits]=wavread('C:\MATLAB701\work\test',65535); %將文件讀進來
spectrum=fft(y,n1); %對采樣點進行fft變換
n2=length(spectrum); %計算fft變換后向量的長度
t2=0:n2-1;
subplot(2,2,1);
spreal=abs(spectrum) ; %計算fft變換后序列的實部
spimag=angle(spectrum) ; %計算fft變換后序列的虛部
plot(t2,spreal)
xlabel('k') %把x軸定義為w
title('原信號幅度') %標明此圖形畫的是幅度
subplot(2,2,2)
plot(t2,spimag) ;
xlabel('k') %把x軸定義為虛部
title('原信號相位') %把x軸定義為虛部
%設計低通濾波器
wp=1000/(fs/2); %計算通帶的頻率
ws=1200/(fs/2); %計算阻帶的頻率
b=fir1(90,(wp+ws)/2); %取濾波器的階數為90,可以改變
%freqz(b,1) %畫出濾波器的幅度相應和相位響應
y=fftfilt(b,y); %用低通濾波器對抽樣信號進行濾波
n=length(y);
xx=0:n-1;
yreal=abs(y);
yimag=angle(y);
subplot(2,2,3);
plot(xx,yreal)
xlabel('n')
ylabel('幅度');
title('經過低通濾波器后信號幅度')
subplot(2,2,4)
plot(xx,yimag);
xlabel('n');
ylabel('相位');
title('經過低通濾波器后信號相位')
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -