dir2fs.m

来自「信号分析与处理的一些源代码」· M 代码 · 共 37 行

M
37
字号
function [A,B,C]=dir2fs(h,r)
%To convert direct form of FIR to frequency sampling structure
% h(n)---Impulse responce of a FIR filter
% r------Diameter of cycle for frequency sampling r>0.9
% A------Matrix of denominator coefficents
% B------Matrix of numerator coefficents
% C------Matrix of gain coefficients
N=length(h);
H=fft(h,N);
magH=abs(H);
phaH=angle(H)';
if(rem(N,2)==0)
   L=N/2-1;
   A1=[1 -1 0;1 1 0];
   C1=[real(H(1)),real(H(L+2))];
else
   L=(N-1)/2;
   A1=[1 -1 0];
   C1=[real(H(1))];
end
k=[1:L]';
B=zeros(L,2);
A=ones(L,3);
%Compute Matrix of denominator coefficents
A(1:L,2)=-2*r*cos(2*pi*k/N);
A(1:L,3)=r^2;
A=[A;A1];
%Compute Matrix of numerator coefficents
B(1:L,1)=cos(phaH(2:L+1));
B(1:L,2)=-r*cos(phaH(2:L+1)-(2*pi*k/N));
%Compute Matrix of gain coefficients
C=[2*magH(2:L+1),C1]';




⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?