ljsr1001
2008-03-15, 21:07
MATLAB程序
clear
fs=1000 ;
k=1;
t=0:1/fs:0.6;
f1=300;
x=10*sin(2*pi*f1*t)
for n=64:64:2048
n1(k)=n;
y=fft(x,n);
n=0:length(y)-1;
f=fs*n/length(y);
plot(f,abs(y))
[a,b]=max(abs(y));
z=f(b)-300
P3(k)=abs(z)
k=k+1;
end
plot(n1,P3)
我想问两个问题:
1.为什么刚开始64~200左右误差非常的大
2.为什么会出现振荡现象
谢谢了~
clear
fs=1000 ;
k=1;
t=0:1/fs:0.6;
f1=300;
x=10*sin(2*pi*f1*t)
for n=64:64:2048
n1(k)=n;
y=fft(x,n);
n=0:length(y)-1;
f=fs*n/length(y);
plot(f,abs(y))
[a,b]=max(abs(y));
z=f(b)-300
P3(k)=abs(z)
k=k+1;
end
plot(n1,P3)
我想问两个问题:
1.为什么刚开始64~200左右误差非常的大
2.为什么会出现振荡现象
谢谢了~