Задайте следующую функцию времени:
Предположим, что радар передает сигнал вида:
where В обозначает несущую частоту. Обратите внимание, что a(t) представляет включенную прямоугольную амплитудную модуляцию несущей частоты. После демодуляции комплексная огибающая x(t) является действительной прямоугольной импульсной a(t) длительностью
Чтобы создать прямоугольную импульсную форму волны, используйте phased.RectangularWaveform
. Можно настроить определенные характеристики формы волны, включая:
Частота дискретизации
Длительность импульса
Частота повторения импульсов
Количество выборок или импульсов в каждом векторе, который представляет форму волны
В этом примере показов, как создать переменную прямоугольную импульсную форму волны с помощью phased.RectangularWaveform
. Пример также строит график импульса и находит полосу пропускания импульса.
Создайте прямоугольную импульсную форму волны длительностью 50 мкс, частотой дискретизации 1 МГц и частотой повторения импульса (PRF) 10 кГц.
waveform = phased.RectangularWaveform('SampleRate',1e6,... 'PulseWidth',50e-6,'PRF',10e3);
Постройте график одного прямоугольного импульса путем вызова plot
непосредственно на прямоугольной переменной формы волны. plot
является методом phased.RectangularWaveform
. Этот метод создает аннотированный график вашего импульсного сигнала.
plot(waveform)
Найдите полосу пропускания прямоугольного импульса.
bw = bandwidth(waveform)
bw = 20000
Пропускная способность, bw
, прямоугольного импульса в герце является приблизительно обратным длительности импульса 1/sRect.PulseWidth
.
Этот пример показывает, как создать прямоугольные импульсные сигналы формы волны, имеющие различные длительности. Пример строит график двух импульсов каждой формы волны.
Примечание.Этот пример выполняется только в R2016b или более поздней версии. Если вы используете более ранний релиз, замените каждый вызов функции на эквивалентный step
синтаксис. Для примера замените myObject(x)
с step(myObject,x)
.
Создайте прямоугольный импульс длительностью 100 мкс и PRF 1 кГц. Установите количество импульсов на выходе равным двум.
waveform = phased.RectangularWaveform('PulseWidth',100e-6,... 'PRF',1e3,'OutputFormat','Pulses','NumPulses',2);
Сделайте копию своего прямоугольного импульса и измените ширину импульса в исходной форме волны на 10 мкс.
waveform2 = clone(waveform); waveform.PulseWidth = 10e-6;
sRect
и sRect1
теперь задайте различные прямоугольные импульсы, потому что вы изменили ширину импульса waveform
.
Выполните Системные объекты, чтобы вернуть два импульса ваших прямоугольных импульсных форм волны.
y = waveform(); y2 = waveform2();
Постройте график действительной части формы волны.
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)