matlab与傅里叶变换

来源:百度知道 编辑:UC知道 时间:2024/06/07 23:33:19
设计一个因果稳定的信号,求其傅立叶变换。用matlab实现。matlab我们这学期根本就没有学过,但老师现在却要我们用matlab做课程设计。希望有懂matlab的朋友帮我写一下这个程序,因果稳定的信号随便找一个最简单的就行了。

你可以看一下下面的程序不知道对你有没有帮助。这是一个电力系统信号,其中频率为200和300.应用付立叶变换并求你频谱图

clc;
clf;
clear all;
fs=1000;
t=0:1/fs:0.6;
f1=200;
f2=300;
x=sin(2*pi*f1*t)+sin(2*pi*f2*t);
subplot(411);
plot(x);
title('f1(100Hz)\f2(300Hz)的正弦信号,初相0');
xlabel('序列(n)');
grid on;

number=512;

y=fft(x,number);
n=0:length(y)-1;
f=fs*n/length(y);
subplot(412);
plot(f,abs(y)/max(abs(y)));
hold on;
plot(f,abs(fftshift(y))/max(abs(y)),'r');
title('f1\f2的正弦信号的FFT(512点)');
xlabel('频率Hz');
grid on;

x=x+randn(1,length(x));
subplot(413);
plot(x);
title('原f1\f2的正弦信号(含随机噪声)');
xlabel('序列(n)');
grid on;

y=fft(x,number);
n=0:length(y)-1;
f=fs*n/length(y);
subplot(414);
plot(f,abs(y)/max(abs(y)));
title('原f1\f2的正弦信号(含随机噪声)的FFT(51