离散信号怎样用Matlab进行FFT变换

2025年03月23日 11:37
有3个网友回答
网友(1):

Matlab中FFT有1D和2D的,FFT得到的是信号的频谱即t-》f

clear
%编写骆遥
fs=1000
t=0:1/fs:0.6;
f1=100;
f2=300;
x=sin(2*pi*f1*t)+sin(2*pi*f2*t);
subplot(711)
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(713)
plot(f,abs(y));
title('f1\f2的正弦信号的FFT(512点)')
xlabel('频率Hz')
grid on

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

y=fft(x,number);
n=0:length(y)-1;
f=fs*n/length(y);
subplot(717)
plot(f,abs(y));
title('原f1\f2的正弦信号(含随机噪声)的FFT(512点)')
xlabel('频率Hz')
grid on

网友(2):

这个题目很简单,都是基本功:(1) 向量 在matlab里怎么表示,(2)查Matlab 傅里叶转换的相关函数 ,常用绘图函数,(3) 搞懂频谱图的含义:横向坐标是频率,纵向坐标是幅值 ,滤波就是在频谱图上,把那个频率对应的值设为0,然后再逆傅里叶变换回来,滤波就完成了 (4)搞不明白的,百度,再或者利用matlab help

网友(3):

哦原来周一