相位查表的测试

VS2010

8相位:

    int phase[17]={0};
    //for (int i=0;i<17;i++)
    //{
    //    double i2=1.0*i;
    //    phase[i]=fs(i2/8)*1024;
    //}
    double phase1[17]={1,0.9639,0.8672,0.7275,0.5625,0.3896,0.2266,0.0908,0,-0.0479,-0.0703,-0.0732,-0.0625,-0.0439,-0.0234,-0.0068,0};
    for (int i=0;i<17;i++)
    {

        phase[i]=phase1[i]*1024;
    }

 

int phase[17]={1024,987,888,745,576,399,232,93,0,-49,-72,-75,-64,-45,-24,-7,0};

 

 

 

相位表计算:

f.m

function [fs]=f(w)
        a=-0.5;
        if (abs(w)<=1)
            fs=(a+2).*(abs(w).^3)-(a+3).*(abs(w).^2)+1;
        elseif (abs(w)>1&&abs(w)<=2)
            fs=a.*(abs(w).^3)-5*a.*(abs(w).^2)+8.*a.*abs(w)-4.*a;
        else
            fs=0;
        end
end
for i=0:16
    fs=f(i./8).*1024
end

 

posted @ 2019-04-02 10:37  ostartech  阅读(344)  评论(0)    收藏  举报