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