matlab完成实验内容3(1),注意题目要求的采样频率
时间: 2024-12-06 13:20:42 浏览: 70
### 实验内容3(1)的MATLAB实现
#### 实验目的
1. 深入理解快速傅里叶变换(FFT)在频谱分析中的应用。
2. 掌握不同采样频率下信号的频谱特性。
#### 实验步骤
1. 定义连续时间信号 \( x(t) \),该信号由两个正弦信号叠加而成,频率分别为 5 Hz 和 9 Hz。
2. 设置不同的采样频率 \( f_s = 5f_{\text{max}}, 15f_{\text{max}}, 40f_{\text{max}} \),其中 \( f_{\text{max}} = 9 \) Hz。
3. 对信号进行采样,获取 128 点离散序列。
4. 使用 FFT 计算频谱,并绘制时域波形和频域幅度谱。
#### MATLAB代码
```matlab
% 参数设置
f1 = 5; % 第一个正弦信号的频率 (Hz)
f2 = 9; % 第二个正弦信号的频率 (Hz)
fs_values = [5*f2, 15*f2, 40*f2]; % 不同的采样频率
N = 128; % 离散序列的点数
t_max = 1; % 观察时间
% 绘制不同采样频率下的时域波形和频域幅度谱
for i = 1:length(fs_values)
fs = fs_values(i);
t = 0:1/fs:t_max;
% 连续时间信号
x = sin(2*pi*f1*t) + sin(2*pi*f2*t);
% 采样后的离散时间序列
xn = x(1:N);
% 计算 FFT
Xk = fft(xn, N);
% 频率轴
f = (0:N-1)*(fs/N);
% 绘制时域波形
subplot(3, 2, 2*i-1);
plot(t(1:N), xn);
title(['采样频率 fs = ', num2str(fs), ' Hz 的时域波形']);
xlabel('时间 (s)');
ylabel('幅值');
% 绘制频域幅度谱
subplot(3, 2, 2*i);
stem(f, abs(Xk));
title(['采样频率 fs = ', num2str(fs), ' Hz 的频域幅度谱']);
xlabel('频率 (Hz)');
ylabel('幅度');
end
```
#### 结果分析
1. **采样频率 \( f_s = 45 \) Hz**:
- 时域波形较为粗糙,因为采样点较少。
- 频域幅度谱中可以看到 5 Hz 和 9 Hz 的主峰,但可能有混叠现象。
2. **采样频率 \( f_s = 135 \) Hz**:
- 时域波形较为平滑,采样点较多。
- 频域幅度谱中 5 Hz 和 9 Hz 的主峰清晰可见,无明显混叠现象。
3. **采样频率 \( f_s = 360 \) Hz**:
- 时域波形非常平滑,采样点最多。
- 频域幅度谱中 5 Hz 和 9 Hz 的主峰非常清晰,无任何混叠现象。
#### 总结
通过不同采样频率的对比,可以看出:
- 较低的采样频率会导致时域波形粗糙,频域中可能出现混叠现象。
- 较高的采样频率能够更好地捕捉信号的细节,避免频谱混叠,使频域分析更为准确。
希望这段代码和分析对你有所帮助!如果有任何问题,请随时提问。
阅读全文
相关推荐


















