?? samp7_4.m
字號:
%Samp7_4
wp=0.5*pi;ws=0.66*pi; %濾波器邊界頻率
wdelta=ws-wp; %過渡帶寬
N=ceil(8*pi/wdelta) %根據過渡帶寬等于表 7-2中Hanning窗函數主瓣寬求得濾波器所用窗函數的最小長度
Nw=N;
wc=(wp+ws)/2; %截止頻率在通帶和阻帶邊界頻率的中點
n=0:N-1;
alpha=(N-1)/2; %求濾波器的相位延遲
m=n-alpha+eps; %eps為MATLAB系統的精度
hd=sin(wc*m)./(pi*m); %由(7-20)式求理想濾波器脈沖響應
win=hanning(Nw); %采用漢寧窗
h=hd.*win'; %在時間域乘積對應于頻率域的卷積
b=h;
figure(1)
[H,f]=freqz(b,1,512,50); %采用 50 Hz 的采樣頻率繪出該濾波器的幅頻和相頻響應
subplot(2,1,1),plot(f,20*log10(abs(H)))
xlabel('頻率/Hz');ylabel('振幅/dB');grid on;
subplot(2,1,2),plot(f,180/pi*unwrap(angle(H)))
xlabel('頻率/Hz');ylabel('相位/^o');grid on;
%impz(b,1); %可采用此函數給出濾波器的脈沖響應
%zplane(b,1); %可采用此語句給出濾波器的零極點圖
%grpdelay(b,1); %可采用此函數給出濾波器的群延遲
f1=3;f2=20; %檢測輸入信號含有兩種頻率成分
dt=0.02; t=0:dt:3; %采樣間隔和檢測信號的時間序列
x=sin(2*pi*f1* t)+cos(2* pi*f2* t); %檢測信號
%y=filter(b,1,x); %可采用此函數給出濾波器的輸出
y=fftfilt(b,x); %給出濾波器的輸出
figure(2)
subplot(2,1,1), plot(t,x),title('輸入信號') %繪輸入信號
subplot(2,1,2),plot(t,y) % 繪輸出信號
hold on; plot([1 1]*(N-1)/2*dt,ylim, 'r') %繪出延遲到的時刻
xlabel('時間/s'),title('輸出信號')
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -