注册 登录
编程论坛 Matlab

[求助]用matlab编个快速傅立叶变换(FFT)的程序

wgt0914 发布于 2006-05-16 12:00, 5776 次点击
那位好心人帮我用matlab编个快速傅立叶变换的程序
给的函数是x(t)=10sin(2*π*25*t)
采样点数N=1024,采样频率fs=1000
绘制出幅频和相频图
我人太笨,还望高手劳驾贵手帮小弟编个程序作为参考
我的邮箱是wgt0914@163.com
谢谢了
3 回复
#2
winter8292006-05-16 20:12
matlab里直接可以用fft函数进行变换
#3
wlq1055562007-04-26 19:53


的确是自带fft函数

N=1024; %128个采样点
n=0:N-1;
t=0:0.001:N-1; %时域的点数
q=n*2*pi/N; %频域的点数
X=2*sin(6*pi*t); %要快速傅里叶变换的原始信号
Y=fft(X,N); %快速傅里叶变换
subplot(2,1,1);
plot(q,abs(Y))
subplot(2,1,2);
plot(q,angle(Y))











#4
diagnosis2007-04-28 18:05
不对吧!!
N=1024; %1024个采样点
Fs=1000; %采样频率
t=(0:N-1)/Fs; %时域
X=10*sin(2*pi*25*t); %要快速傅里叶变换的原始信号
Y=fft(X,N); %快速傅里叶变换
f==(0:N-1)*Fs/N; %频域的点数

subplot(2,1,1);
plot(f,abs(Y)) %频谱图
subplot(2,1,2);
plot(f,angle(Y)) %相位谱

[此贴子已经被作者于2007-4-28 18:08:26编辑过]

1