用matlab计算信号频率为20HZ,幅度为1的函数sin(x)的fft变换
时间: 2023-12-14 09:38:26 浏览: 260
MATLAB实现fft变换的算法
首先,需要生成一个20Hz频率、1秒钟、采样率为1000Hz的sin信号:
```
t = 0:0.001:1; % 时间向量
f = 20; % 频率
x = sin(2*pi*f*t); % 生成信号
```
然后,对信号进行FFT变换,并绘制幅度谱:
```
N = length(x); % 信号长度
Y = fft(x); % FFT变换
P2 = abs(Y/N); % 双边频谱
P1 = P2(1:N/2+1); % 单边频谱
P1(2:end-1) = 2*P1(2:end-1);
f = 1000*(0:(N/2))/N; % 频率向量
plot(f,P1) % 绘制幅度谱
xlabel('频率 (Hz)')
ylabel('幅度')
```
运行以上代码,即可得到频率为20Hz,幅度为1的sin信号的FFT变换幅度谱。
阅读全文