如何通过 MATLAB 绘制离散时间信号
How to plot discrete time signal by MATLAB
给定消息信号s(t) = 2cos(40*pi*t) - sin(12*pi*t)
,如何在2秒内绘制s(t)
,2秒后s(t) = 0
,频率=200Hz,采样数=500点?
以特定频率和设定的样本数对信号进行采样
这个问题有几个部分。第一项任务是创建一个由 Sampling_Period
分隔的向量 t
。这里 Sampling_Frequency
等于 200Hz,因此 Sampling_Period = 1/Sampling_Frequency;
等于 0.005 秒。此向量应 运行 从 0.005 秒(样本 1)到 2.5 秒(样本 500)。第二个任务是创建一个阶跃函数,表示为 u
。这里我使用了一个匿名函数,时间后等于0,t大于2秒。通过将此阶跃函数与正弦曲线相乘,创建了 2 秒后为 0 的函数的 t运行 版本。
抽样约定:
采样频率 = 200Hz
采样周期 = 1/200Hz = 0.005s
开始时间 = 0.005s
结束时间=(样本数)×(采样周期)=(500个样本)×(0.005s)= 2.5s
%Sampling properties%
Sampling_Frequency = 200;
Sampling_Period = 1/Sampling_Frequency;
Number_Of_Samples = 500;
%Creating the time vector%
Start_Time = 0;
End_Time = Number_Of_Samples*Sampling_Period;
t = (Sampling_Period: Sampling_Period: End_Time);
%Step function that ends at 2s%
u = @(t) (t <= 2);
s = @(t) (2*cos(40*pi*t) - sin(12*pi*t)).*u(t);
stem(t,s(t),'Marker','.');
title("Sinusoid Sampled at " + num2str(Sampling_Frequency) + " Hz and the First " + num2str(Number_Of_Samples) + " Samples");
xlabel("Time (s)"); ylabel("Amplitude");
运行 使用 MATLAB R2019b
给定消息信号s(t) = 2cos(40*pi*t) - sin(12*pi*t)
,如何在2秒内绘制s(t)
,2秒后s(t) = 0
,频率=200Hz,采样数=500点?
以特定频率和设定的样本数对信号进行采样
这个问题有几个部分。第一项任务是创建一个由 Sampling_Period
分隔的向量 t
。这里 Sampling_Frequency
等于 200Hz,因此 Sampling_Period = 1/Sampling_Frequency;
等于 0.005 秒。此向量应 运行 从 0.005 秒(样本 1)到 2.5 秒(样本 500)。第二个任务是创建一个阶跃函数,表示为 u
。这里我使用了一个匿名函数,时间后等于0,t大于2秒。通过将此阶跃函数与正弦曲线相乘,创建了 2 秒后为 0 的函数的 t运行 版本。
抽样约定:
采样频率 = 200Hz
采样周期 = 1/200Hz = 0.005s
开始时间 = 0.005s
结束时间=(样本数)×(采样周期)=(500个样本)×(0.005s)= 2.5s
%Sampling properties%
Sampling_Frequency = 200;
Sampling_Period = 1/Sampling_Frequency;
Number_Of_Samples = 500;
%Creating the time vector%
Start_Time = 0;
End_Time = Number_Of_Samples*Sampling_Period;
t = (Sampling_Period: Sampling_Period: End_Time);
%Step function that ends at 2s%
u = @(t) (t <= 2);
s = @(t) (2*cos(40*pi*t) - sin(12*pi*t)).*u(t);
stem(t,s(t),'Marker','.');
title("Sinusoid Sampled at " + num2str(Sampling_Frequency) + " Hz and the First " + num2str(Number_Of_Samples) + " Samples");
xlabel("Time (s)"); ylabel("Amplitude");
运行 使用 MATLAB R2019b