MATLAB 中以下信号的代码是什么?

信息处理 matlab 连续信号
2022-02-16 12:32:05

我试图产生这样的信号: 在此处输入图像描述

到目前为止,我已经这样做了:

clc;
clear all;
close all;
t = 0:.1:10;
f=.5;
y=.2*sin(2*pi*f*t);
plot(t,abs(y));
axis([0 10 -2 2]);
grid on;

我该怎么做才能获得所需的输出?

1个回答

好吧,到目前为止,使用您的代码,您将获得以下信息:

clc;
clear all;
close all;
t = 0:.1:10;
f=.5;
y=.2*sin(2*pi*f*t);
plot(t,abs(y));
axis([0 10 -2 2]);
grid on;

在此处输入图像描述

所以现在,唯一缺少的部分是使用占空比为 25% 的 PWM 信号将所有样本归零。例如,这可以使用方波来完成。它的值介于 +1 和 -1 之间,因此只需添加 1 并使用 signum 函数(或将其除以 2):

在此处输入图像描述

把所有这些放在一起:

clc;
clear all;
close all;
t = 0:.1:10;
f=.5;
y=.2*sin(2*pi*f*t);
s=sign(square(t/2*pi, 25)+1);
x=y.*s;
plot(t,x);
axis([0 10 -2 2]);
grid on;

在此处输入图像描述