matlab 已知一连续周期性方波信号的频率为 200Hz,振幅值幅度为-1V到1V之问。在窗口上显示2个周期的形,用Fs=4kHz 的频率对连续信号进行采样。试显示原连续信号和其采样获得的离散信号波形。
时间: 2024-10-10 21:16:40 浏览: 21
MATLAB 中可以使用 `sin` 函数生成一个给定频率和振幅的正弦波,然后利用 ` linspace` 或 `zeros` 和 `ones` 来创建时间轴,并结合 `plot` 函数绘制连续信号。对于周期性的方波,你可以通过取正弦波的一个完整周期并重复来模拟。
首先,我们需要确定一个周期内的样本点数,这取决于采样率 Fs。由于一个完整的周期是 1/(2*frequency),在这个例子中就是 1/(2*200) 秒,而采样率是每秒 4000 点,所以每个周期将有 2000 个样本点(因为 4000 * (1/4000) = 1 秒)。
下面是一个步骤指南:
```matlab
% 定义频率和振幅
frequency = 200; % Hz
amplitude = [-1, 1]; % -1V to 1V
% 定义采样率
Fs = 4000; % Hz
% 计算一个周期的采样点数
samples_per_period = round(Fs / frequency);
% 创建时间轴,两个完整周期
t = linspace(0, 1/Frequency, samples_per_period * 2);
% 创建连续信号的方波(假设为半个周期,然后复制)
continuous_signal = amplitude .* sign(sin(2*pi*frequency*t));
% 对信号进行采样
sampled_signal = upsample(continuous_signal, [1, samples_per_period]);
% 绘制连续信号和采样信号波形
figure;
subplot(2,1,1);
plot(t, continuous_signal);
title('Continuous Signal');
xlabel('Time (s)');
ylabel('Amplitude');
subplot(2,1,2);
plot((0:length(sampled_signal)-1)/Fs, sampled_signal);
title('Discrete Sampled Signal');
xlabel('Time (Samples)');
ylabel('Amplitude');
```
运行上述代码后,你会看到原始连续方波信号和采样后的离散信号波形在同一图中展示。