首页 > 解决方案 > 八度 - 生成方波(信号/脉冲)

问题描述

我想在 Octave/Matlab 中生成具有以下属性的周期性方波(信号/脉冲):

  1. 幅度为 0.5
  2. 周期为 0.02 秒
  3. 平均 (Mittelwert) 为 0.5

到目前为止,我有这个:

T = 1/10;
t = linspace(0,T,1001);
y = square(2*pi*50*t);
plot(t,y);
axis([0 0.1 -1.5 1.5]);

这产生了这个结果:

在此处输入图像描述

您可能会看到幅度不正确,但由于我是一个新手,我不知道如何解决它。周期是正确的,但我仍然不确定从图形的角度来看这个平均值是多少......

标签: signalsoctavewavepulse

解决方案


这应该是非常快速和简单的编写,检查我的实现。

function y=square(t)
% License: public domain
t=t*(1/(pi));
y=ones(size(t));
y(find(bitand(abs(floor(t)),1)))=-1;

一个测试脚本:

t = -0.02:.001:.0625;
y = 0.5*square(2*pi*30*t);
plot(t,y,'-o')

推荐阅读