2.对信号进行 fft 变换:对给定的信号,fs=128,采样点数为 1024, x=2sin(2pi11t)+0.5cos(2pi29t)+sin(2pi59*t) 求其傅里叶变换求matlab代码输出信号时域图和信幅频特性曲线图
时间: 2024-03-07 09:52:15 浏览: 96
好的,根据您的要求,我来为您回答这个问题。
首先,根据题目给出的信号公式,我们可以使用Matlab来生成这个信号。代码如下:
```matlab
fs = 128; % 采样频率
t = 0:1/fs:1023/fs; % 时间序列
x = 2*sin(2*pi*11*t) + 0.5*cos(2*pi*29*t) + sin(2*pi*59*t); % 原始信号
plot(t, x); % 绘制时域图
xlabel('Time(s)');
ylabel('Amplitude');
title('Time domain plot');
```
运行上述代码可以得到时域图如下:

接下来,我们需要对信号进行FFT变换。代码如下:
```matlab
N = length(x); % 采样点数
X = fft(x)/N; % 傅里叶变换
f = (0:N-1)*(fs/N); % 频率序列
plot(f, 2*abs(X)); % 绘制幅频特性曲线图
xlabel('Frequency (Hz)');
ylabel('Amplitude');
title('Amplitude-frequency characteristic');
```
运行上述代码可以得到信幅频特性曲线图如下:

至此,对给定的信号进行FFT变换的Matlab代码已经完成。
阅读全文
相关推荐















