|
发表于 2014-11-2 21:49:52
|
显示全部楼层
本帖最后由 again 于 2014-11-2 21:51 编辑
两个频率的你看下
clear all;clc
N=256;
fs=1000;
f=51.1234;
a=1.2345;
ph=30.123;
dc=0.123;
f2=123.4567;
a2=0.54321;
ph2=9.87654;
t=0:N-1;
x=a*sin(2*pi*f*t/fs+ph*pi/180)+dc;
x=x+a2*sin(2*pi*f2*t/fs+ph2*pi/180);
xfft=fft(x,N);
y=abs(xfft);
[Y1, k]=max(y(2:N/2));
k=k+1;
z1=xfft(k)-(xfft(k-1)+xfft(k+1))/2;
z2=xfft(k+1)-(xfft(k)+xfft(k+2))/2;
ka=abs(z1)/abs(z2);
r=(2-ka)/(1+ka)
fo=(k-1+r)*fs/N
ao=2*pi*r*(1-r*r)*(abs(z1))/(N*sin(r*pi))
pho=(angle(z1)-pi*r)*180/pi+90
y(k-2)=0;
y(k-1)=0;
y(k)=0;
y(k+1)=0;
y(k+2)=0;
[Y1, k]=max(y(2:N/2));
k=k+1;
z1=xfft(k)-(xfft(k-1)+xfft(k+1))/2;
z2=xfft(k+1)-(xfft(k)+xfft(k+2))/2;
ka=abs(z1)/abs(z2);
r=(2-ka)/(1+ka)
fo2=(k-1+r)*fs/N
ao2=2*pi*r*(1-r*r)*(abs(z1))/(N*sin(r*pi))
pho2=(angle(z1)-pi*r)*180/pi+90
输出
r =
0.087606333308264
fo =
51.123462239485406
ao =
1.234492722429198
pho =
30.118693364380803
r =
-0.395071379304881
fo2 =
1.234567524245903e+02
ao2 =
0.543202651514619
pho2 =
9.875865191205620 |
|