?? amplres.m
字號:
function [A,w,type,tao]=amplres(h)
%《數字信號處理教程——MATLAB釋義與實現》子程序
% 給定FIR濾波器系數求濾波器符幅特性
% 電子工業出版社出版 陳懷琛編著 2004年9月
%
% [A,w,type,tao]=amplres(h)
% -------------------------------------------------------------
% h=FIR濾波器的脈沖響應或分子系數向量
% A=濾波器的符幅特性
% w=取的頻率向量,在0到pi之間分成500份,501個點
% type=線性相位濾波器的類型
% tao=符幅特性的群遲延
%
N=length(h);tao=(N-1)/2; L=floor(tao); %求濾波器階次及符幅特性的階次
n=1:L+1;w=[0:511]*pi/512; % 取濾波器頻率向量
if all(abs(h(n)-h(N-n+1))<1e-8) % 判斷濾波器系數若為對稱
A=2*h(n)*cos(((N+1)/2-n)'*w)-mod(N,2)*h(L+1); % 對稱條件下計算A(兩種類型)
% 在N=奇數時h(L+1)項存在,N為偶數時,要取消這項,故乘以mod(N,2)
type =2-mod(N,2); % 判斷并給出類型
elseif all(abs(h(n)+h(N-n+1))<1e-8)&(h(L+1)*mod(N,2)<=1e-8) % 系數若為反對稱
% 在N=奇數時要求h(L+1)項必須為零,在N=偶數時不要這條件,故乘以mod(N,2)。
A=2*h(n)*sin(((N+1)/2-n)'*w); % 反對稱條件下計算A的公式(兩種類型相同)
type =4-mod(N,2); % 判斷并給出類型
else error('錯誤:這不是線性相位濾波器!') % 濾波器系數非對稱,報告錯誤
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -