时域转频域 MATLAB代码
时间: 2023-10-10 07:12:00 浏览: 112
以下是一个简单的MATLAB代码,用于将一个信号从时域转换为频域。
```matlab
% 生成一个信号
fs = 1000; % 采样频率
t = 0:1/fs:1-1/fs; % 时间向量
f1 = 10; % 第一个频率成分
f2 = 50; % 第二个频率成分
f3 = 100; % 第三个频率成分
x = sin(2*pi*f1*t) + sin(2*pi*f2*t) + sin(2*pi*f3*t);
% 时域分析
subplot(2,1,1);
plot(t,x);
xlabel('时间(秒)');
ylabel('幅度');
title('时域信号');
% 频域分析
N = length(x);
X = fft(x);
f = (0:N-1)*(fs/N);
subplot(2,1,2);
plot(f,abs(X));
xlabel('频率(Hz)');
ylabel('幅度');
title('频域信号');
```
这个代码首先生成一个包含3个正弦波成分的信号。然后,它使用FFT函数将信号从时域转换为频域。最后,它绘制时域信号和频域信号。
阅读全文