how to design a single cycle square wave?

6 Ansichten (letzte 30 Tage)
2NOR_Kh
2NOR_Kh am 13 Sep. 2022
Kommentiert: Chunru am 14 Sep. 2022
I want to design a single cycle square wave and for theat I am using 'square' function but I don't know how to make it a single cycle wave.
I'm not exactly sure that for this purpuse I need to change the duty cycle or not, however I feel that's the case. But I wanted to ask professionals here to assure that.
This is my code for that:
f0=2.25e6;
fs=100e6;
t2=0:1/fs:2/f0;
offset=0;
amp=1;
duty=50;
sq_wav=offset+amp*square(2*pi*f0.*t2,duty);
plot(t2,sq_wav)

Akzeptierte Antwort

Chunru
Chunru am 14 Sep. 2022
% For single square pulse, you can specify:
% pulse width: pw
% simulation time: T
f0=2.25e6;
pw = 1/f0/2;
fs=100e6;
T=2/f0;
offset=0;
amp=1;
%duty=50;
ns = round(T*fs);
t2 = (0:ns-1)/fs;
sq_wav = zeros(ns, 1);
sq_wav(1:ceil(pw*fs)) = 1;
sq_wav=offset+amp*sq_wav;
plot(t2,sq_wav)
  2 Kommentare
2NOR_Kh
2NOR_Kh am 14 Sep. 2022
Thank you!
Could you please explain why you use this line of the code:
ns = round(T*fs);
Chunru
Chunru am 14 Sep. 2022
Number of samples (ns) in the square wave is the prodcut of the simulation time (T) and the sampling frequency (fs) (which is number of samples per unit time).

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by