Define the following function of time:
Assume that a radar transmits a signal of the form:
To create a rectangular pulse waveform, use
You can customize certain characteristics of the waveform, including:
Pulse repetition frequency
Number of samples or pulses in each vector that represents the waveform
This example shows how to create a rectangular pulse waveform variable using
phased.RectangularWaveform . The example also plots the pulse and finds the bandwidth of the pulse.
Construct a rectangular pulse waveform with a duration of 50 μs, a sample rate of 1 MHz, and a pulse repetition frequency (PRF) of 10 kHz.
waveform = phased.RectangularWaveform('SampleRate',1e6,... 'PulseWidth',50e-6,'PRF',10e3);
Plot a single rectangular pulse by calling
plot directly on the rectangular waveform variable.
plot is a method of
phased.RectangularWaveform. This method produces an annotated graph of your pulse waveform.
Find the bandwidth of the rectangular pulse.
bw = bandwidth(waveform)
bw = 20000
bw, of a rectangular pulse in hertz is approximately the reciprocal of the pulse duration
This example shows how to create rectangular pulse waveform signals having different durations. The example plots two pulses of each waveform.
Note: This example runs only in R2016b or later. If you are using an earlier release, replace each call to the function with the equivalent
step syntax. For example, replace
Create a rectangular pulse with a duration of 100 μs and a PRF of 1 kHz. Set the number of pulses in the output equal to two.
waveform = phased.RectangularWaveform('PulseWidth',100e-6,... 'PRF',1e3,'OutputFormat','Pulses','NumPulses',2);
Make a copy of your rectangular pulse and change the pulse width in your original waveform to 10 μs.
waveform2 = clone(waveform); waveform.PulseWidth = 10e-6;
sRect1 now specify different rectangular pulses because you changed the pulse width of
Execute the System objects to return two pulses of your rectangular pulse waveforms.
y = waveform(); y2 = waveform2();
Plot the real part of the waveforms.
totaldur = 2*1/waveform.PRF; totnumsamp = totaldur*waveform.SampleRate; t = unigrid(0,1/waveform.SampleRate,totaldur,'[)'); subplot(2,1,1) plot(t.*1000,real(y)) axis([0 totaldur*1e3 0 1.5]) title('Two 10-\musec duration pulses (PRF = 1 kHz)') set(gca,'XTick',0:0.2:totaldur*1e3) subplot(2,1,2) plot(t.*1000,real(y2)) axis([0 totaldur*1e3 0 1.5]) xlabel('Milliseconds') title('Two 100-\musec duration pulses (PRF = 1 kHz)') set(gca,'XTick',0:0.2:totaldur*1e3)