Октава - Генерация прямоугольной волны (сигнал / импульс) - PullRequest
0 голосов
/ 07 апреля 2020

Я хочу создать периодическую c прямоугольную волну (сигнал / импульс) в октаве / 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]);

, что дает этот результат:

enter image description here

Как вы можете заметить, амплитуда неверна, но, поскольку я новичок ie, я понятия не имею, как это исправить. Период правильный, но я все еще не уверен, каково это среднее значение в графической точке зрения ...

1 Ответ

0 голосов
/ 07 апреля 2020

это должно быть довольно быстро и просто написать, проверьте мою реализацию.

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')
...