Create a binary signal

13 visualizzazioni (ultimi 30 giorni)
Rafael Rafael
Rafael Rafael il 21 Mar 2019
Risposto: chourouk il 31 Gen 2023
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

Risposta accettata

Adam Danz
Adam Danz il 22 Mar 2019
Modificato: Adam Danz il 22 Mar 2019
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 Commenti
Rafael Rafael
Rafael Rafael il 22 Mar 2019
Oh thanks, that is an inteligent solution :)
Adam Danz
Adam Danz il 22 Mar 2019
Glad it worked for you!

Accedi per commentare.

Più risposte (1)

chourouk
chourouk il 31 Gen 2023
comment cree un signal binaire entre recepteur et emetteur?

Community Treasure Hunt

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

Start Hunting!

Translated by