⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iir_dirfreq.m

📁 the file contain many matlab signal source code and many example .
💻 M
字号:
function [A,para]=IIR_dirFreq(Hd,k)
u=0.001;N=5000;E=zeros(1,N+1);
M=length(Hd);
w=0:pi/(M-1):pi;
z1=exp(-j.*w);z2=z1.*z1;
fai=zeros(1,4*k);diff_fai=zeros(1,4*k);
E(2)=-0.5;n=3;
while(abs(E(n-1)-E(n-2))>0.001&(n<=N))
    P=abs(IIR(fai,M));
    A0=abs((P*Hd')/(P*P'));
    E(n)=sum((A0*P-abs(Hd)).^2);
    for n1=1:k;
        m1=4*(n1-1);
        c=2*A0*(A0.*P-abs(Hd));
        diff_fai(m1+1)=c*(P.*real(z1./(1+fai(m1+1)*z1+fai(m1+2)*z2)))';
        diff_fai(m1+2)=c*(P.*real(z2./(1+fai(m1+1)*z1+fai(m1+2)*z2)))'; 
        diff_fai(m1+3)=c*(-P.*real(z1./(1+fai(m1+3)*z1+fai(m1+4)*z2)))';
        diff_fai(m1+4)=c*(-P.*real(z2./(1+fai(m1+3)*z1+fai(m1+4)*z2)))';
    end
    fai=fai-u.*diff_fai;
    n=n+1;
end
para=fai;
A=A0;

⌨️ 快捷键说明

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