How to generate a discrete square pulse, lets say N times?

Lets say sample rate =20kHz symbol rate =1khz

1 Comment

https://in.mathworks.com/matlabcentral/answers/155687-how-to-generate-a-discrete-square-pulse-lets-say-n-times#comment_238487

Sign in to comment.

Answers (2)

Make up one cycle, then use repmat() to make as many copies as you want.
squareWave = repmat([1,1,1,1,0,0,0,0], [1, N]);
What is a "symbol rate"?

10 Comments

I want this type of pulse train but in discrete form. Do you know how to do it?
it is the number of symbol change, the inverse of symbol duration time. simply from physics viewpoint, its the frequency of the waveform.
I'm not familiar with that terminology. I see a period of 0.1 seconds, and a duty cycle of roughly 30%, and a sampling rate that can't be determined from the plot but he says it's 20,000 per second or 5e-05 seconds between samples.
Try this:
fontSize = 20;
% One cycle in a 1/10 of a second = 2000 samples
oneCycle = zeros(1, 2000);
% Have a duty cycle of 30%, or 15% at the start and 15% at the end
% 15% of the elements = 300
oneCycle(1:300) = 1;
oneCycle(end-300:end) = 1;
% Now we have one cycle, use repmat to make 10 copies
tenCycles = repmat(oneCycle, [1, 10]);
% Set up the t axis
t = linspace(0, 1, length(tenCycles));
plot(t, tenCycles, 'b-', 'LineWidth', 2);
grid on;
xlabel('Seconds', 'FontSize', fontSize);
ylabel('Amplitude', 'FontSize', fontSize);
ylim([-0.5, 1.5]);
the questioner said that he wants a discrete type of the square wave not the square wave itself, which is not clear yet.
I don't understand the difference. Everything in computers is discrete/binary/digitized/quantized. And my plot looks just like the one he said he wanted.
its true, waiting for some explanation.
I don't think he will. I think he's ignoring this thread because he posted the same question here an hour after I gave my answer. Well, who knows. Maybe he will come back some day.
i think 'discrete form' means a graph with '--' notation.
sir how to generate a power spectrum for this Wave form
Sir how to generate a power spectrum for this wave form

Sign in to comment.

You can either write the function or use built-in function, here is an example using 1000 samples :
N=1e+3;
Fs=20e+3;
f=1e+3;
Ts=1./Fs;
t=0:Ts:N*Ts-Ts;
y=square(2*pi*f*t);
figure; plot(t,y);

2 Comments

You are using square function to generate square wave, what i want is square pulse in discrete form. I am confused using pulstran @rectpuls as it generates continuous rectangular pulses
Yes, square() is in the Signal Processing Toolbox - do you have that toolbox? I have not heard of those two other functions you mention.

Sign in to comment.

Tags

Asked:

on 21 Sep 2014

Commented:

on 22 May 2017

Community Treasure Hunt

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

Start Hunting!