matlab固定采样频率500KHZ,分别对100KHZ,250KHZ,400KHZ的正弦波信号进行采样和重建,比较原信号与重建信号的波形书写downsample和resample代码
时间: 2024-09-25 22:20:34 浏览: 157
基于MATLAB的语音及音乐信号的采样、滤波及处理.zip
5星 · 资源好评率100%
在MATLAB中,要固定采样频率为500kHz对不同频率的正弦波信号进行采样和重建,你可以使用`downsample`函数来进行低通滤波和下采样,然后使用`resample`函数进行插值并重构原始信号。这里是一个简单的示例:
```matlab
% 定义固定的采样频率
fs = 500e3; % 500 kHz
% 不同频率的正弦波信号
frequencies = [100e3, 250e3, 400e3]; % 100kHz, 250kHz, 400kHz
time = 0:1/fs:1; % 生成时间序列,长度取决于采样频率
for i = 1:length(frequencies)
% 生成正弦波信号
signal_i = sin(2*pi*frequencies(i) * time);
% 下采样到固定频率
downsampled_signal_i = downsample(signal_i, round(fs/frequencies(i)));
% 使用原始采样频率重建信号
resampled_signal_i = resample(downsampled_signal_i, fs);
% 绘制原信号和重建后的信号波形
subplot(2, 1, i)
plot(time, signal_i, 'b', time, resampled_signal_i, 'r')
legend('Original Signal', 'Reconstructed Signal', 'Location', 'best')
title(sprintf('Frequency: %dkHz', frequencies(i)))
end
% 提问环节
阅读全文