?? hc736.m
字號:
%《數字信號處理教程——MATLAB釋義與實現》第七章例7.3.6程序hc736
% 用凱澤窗函數設計低通濾波器
% 電子工業出版社出版 陳懷琛編著 2004年9月
%
wp = 0.2*pi; ws = 0.3*pi; As = 50; % 給定指標
deltaf= (ws - wp)/(2*pi); % 過渡帶寬Δf的計算
N0 = ceil((As-7.95)/(14.36* deltaf))+1; % 按(7.3.16)式計算所需的濾波器長度N0
N=N0+mod(N0+1,2); % 為了實現第一類偶對稱濾波器,應使其長度N為奇數
beta = 0.1102*(As-8.7) % 按(7.3.17)式計算凱澤窗的β值
wdkai = (kaiser(N,beta))'; % 求凱澤窗函數
wc = (ws+wp)/2; hd = ideallp(wc,N); % 求理想脈沖響應
h = hd .* wdkai; % 設計的脈沖響應(即系數)為理想脈沖響應與窗函數乘積
[db,mag,pha,grd,w] = myfreqz(h,[1]); % 對設計結果進行檢驗
dw = 2*pi/1000;
Rp = -(min(db(1:wp/dw+1))) % 檢驗通帶波動
As = -round(max(db(ws/dw+1:501))) % 檢驗最小阻帶衰減
%繪圖
n=0:N-1;
subplot(2,2,1); stem(n,hd,'.'); title('理想脈沖響應')
axis([0 N-1 -0.1 0.3]); ylabel('hd(n)');text(N+1,-0.1,'n')
subplot(2,2,2); stem(n,wdkai,'.');title('凱澤窗')
axis([0 N-1 0 1.1]); ylabel('w(n)');text(N+1,0,'n')
subplot(2,2,3); stem(n,h,'.');title('實際脈沖響應')
axis([0 N-1 -0.1 0.3]); xlabel('n'); ylabel('h(n)')
subplot(2,2,4);plot(w/pi,db);title('幅度響應(單位: dB)');grid
axis([0 1 -100 10]); xlabel('頻率(單位:pi)'); ylabel('分貝數')
set(gcf,'color','w'); % 置圖形背景色為白
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -