Create a binary signal

15 ビュー (過去 30 日間)
Rafael Rafael
Rafael Rafael 2019 年 3 月 21 日
回答済み: chourouk 2023 年 1 月 31 日
Hello, anyone have any ideia how can I make this signal in a plot? The time must be between -3 and 3 with a range of 1ms.
Thanks

採用された回答

Adam Danz
Adam Danz 2019 年 3 月 22 日
編集済み: Adam Danz 2019 年 3 月 22 日
This solution uses the square() funciton which converts a sin wave into a square wave with normalized values between [-1:1]. All you have to do is create a sin wave that fits your description, convert it to square wave, and then vertically scale it.
% Set params
width = 1.0; % Width of each step
height = 1.0; % Height of step (max - min)
base = 0.0; % min value
start = -3; % starting x value
stop = 3; % ending x value
res = 0.001; % resolution
horzShift = .5; % horizontally shift (negative = leftward)
% Compute square wave
x = start : res : stop;
y = (square(sin((x+horzShift)/width*pi))+1)/2*height + base;
% figure
plot(x,y, 'k-', 'linewidth', 3)
ylim([base - 1, base+height+1])
  2 件のコメント
Rafael Rafael
Rafael Rafael 2019 年 3 月 22 日
Oh thanks, that is an inteligent solution :)
Adam Danz
Adam Danz 2019 年 3 月 22 日
Glad it worked for you!

サインインしてコメントする。

その他の回答 (1 件)

chourouk
chourouk 2023 年 1 月 31 日
comment cree un signal binaire entre recepteur et emetteur?

カテゴリ

Help Center および File ExchangeMultirate Signal Processing についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by