x1(t)=sin(100πt),x2(t)=sin(200πt),x3(t)=sin(400πt),用150Hz的抽样频率对这三个连续信号进行抽样,MATLAB画出这三个抽样信号的图形
时间: 2024-12-20 15:22:36 浏览: 4
首先,让我们理解一下题目中的情况。给定的是三个正弦波函数,它们分别是:
1. x1(t) = sin(100πt)
2. x2(t) = sin(200πt)
3. x3(t) = sin(400πt)
每个信号代表了一个不同频率的正弦波:100Hz、200Hz 和 400Hz。题目提到的抽样频率是150Hz,这意味着每秒钟将有150次采样点。
在MATLAB中绘制这些信号的抽样图形,我们可以按照以下步骤操作:
1. **创建时间轴**:
使用`t = linspace(0, 1, 150);`生成从0到1秒(考虑到150Hz抽样率,这是一秒钟的时间)的等间距时间向量。
2. **计算抽样值**:
对于每个输入信号,应用抽样公式 `xns = x(t(1:length(t)));`,其中`xns`是抽样的信号,`x`是你对应的正弦函数。
3. **绘制图形**:
对于每个信号,分别使用`plot(t, xns)`绘制其抽样点。
以下是MATLAB代码示例:
```matlab
% 定义信号和抽样频率
frequencies = [100, 200, 400]; % 波形频率
fs = 150; % 抽样频率
% 创建时间向量
t = linspace(0, 1, fs);
% 抽样每个信号
xsamples = cell(size(frequencies));
for i = 1:length(frequencies)
freq = frequencies(i);
xsamples{i} = sin(2*pi*freq*t); % 注意乘以2*pi是为了匹配标准频率单位
end
% 绘制各个信号
figure;
hold on;
for i = 1:length(xsamples)
plot(t, xsamples{i}, 'LineWidth', 1.5, 'DisplayName', sprintf('f=%d Hz', frequencies(i)));
end
hold off;
% 添加图例并设置标题
legend show;
xlabel('Time (s)');
ylabel('Amplitude');
title('Sinusoidal Signals Sampled at 150 Hz');
```
运行此代码后,你会看到三个叠加在一起的曲线,分别表示了不同频率正弦波经过150Hz抽样后的样子。
阅读全文