step

Системный объект: фазированный. RectangularWaveform
Пакет: поэтапный

Образцы прямоугольной импульсной формы волны

Синтаксис

Y = step(sRFM)
Y = step(sRFM,prfidx)
Y = step(sRFM,freqoffset)
[Y,PRF] = step(___)
[Y,COEFF] = step(___)

Описание

Примечание

Начиная с R2016b, вместо использования step метод для выполнения операции, заданной Системной object™, можно вызвать объект с аргументами, как если бы это была функция. Для примера, y = step(obj,x) и y = obj(x) выполнять эквивалентные операции. Когда единственный аргумент в step метод сам Системный объект, замените y = step(obj) по y = obj().

Y = step(sRFM) возвращает выборки прямоугольного импульса в векторе-столбце Y.

Y = step(sRFM,prfidx), использует prfidx индекс для выбора PRF из предопределенного вектора значений, заданных PRF свойство. Этот синтаксис применяется при установке PRFSelectionInputPort свойство к true.

Y = step(sRFM,freqoffset), использует freqoffset чтобы сгенерировать форму волны со смещением, заданным во время шага. Используйте этот синтаксис для случаев, когда частота передающего импульса должна динамически обновляться. Этот синтаксис применяется при установке FrequencyOffsetSource свойство к 'Input port'.

[Y,PRF] = step(___) также возвращает частоту повторения импульса тока, PRF. Чтобы включить этот синтаксис, установите PRFOutputPort свойство к true и установите OutputFormat свойство к 'Pulses'.

[Y,COEFF] = step(___) возвращает коэффициенты согласованного фильтра, COEFF, для импульса тока. Чтобы включить этот синтаксис, задайте CoefficientsOutputPort на true. COEFF возвращается как N вектор Z-на-1 или N матрица Z-на- M.

  • Вектор N Z-на-1 возвращается, когда:

    • Объект имеет OutputFormat установлено на 'Pulses' и NumPulses равно 1. N Z является шириной импульса.

    • Объект сконфигурирован, чтобы сгенерировать постоянные формы волны ширины импульса (DurationSpecification установлено в 'Pulse width' или 'Duty cycle' и PRF имеет одно уникальное значение); и любой из них OutputFormat установлено в 'Pulses' и NumPulses больше 1, или OutputFormat установлено в 'Samples'. В этом случае N Z является шириной импульса.

  • Матрица N Z-by- M возвращается, когда объект генерирует изменяющиеся ширины импульсов (DurationSpecification установлено в 'Duty cycle' и PRF имеет более одного уникального значения); и любой из них OutputFormat установлено на 'Pulses' и NumPulses больше 1, или OutputFormat установлено в 'Samples'. В этом случае N Z является шириной импульса, а M - количеством подимпульсов NumSteps.

Можно объединить необязательные входные и выходные аргументы, когда заданы их разрешающие свойства. Необязательные входные и выходные параметры должны быть перечислены в том же порядке, как и порядок разрешающих свойств. Для примера, [Y,PRF,COEFF] = step(sRFM,prfidx,freqoffset).

Примечание

Объект выполняет инициализацию при первом выполнении объекта. Эта инициализация блокирует нетронутые свойства и входные спецификации, такие как размерности, сложность и тип данных входных данных. Если вы изменяете свойство nontunable или спецификацию входа, системный объект выдает ошибку. Чтобы изменить нетронутые свойства или входы, необходимо сначала вызвать release метод для разблокировки объекта.

Примеры

расширить все

Создайте 10-микросекундный прямоугольный импульс с интервалом повторения импульса 100 микросекунд.

Pulsewidth = 10e-6;
PRI = 100e-6;
sRFM = phased.RectangularWaveform('PulseWidth',Pulsewidth,...
    'OutputFormat','Pulses','NumPulses',1,...
    'SampleRate',1e6,'PRF',1/PRI);
wav = step(sRFM);
plot(wav)
xlabel('Time (\mu sec)')
ylabel('Amplitude')
grid

Figure contains an axes. The axes contains an object of type line.

Создайте прямоугольные формы волны с двумя импульсами каждый. Установите частоту дискретизации равную 1 МГц, ширину импульса 50 микросекунд и коэффициент заполнения 20%. Измените частоту повторения импульса.

Установите частоту дискретизации и PRF. Отношение частоты дискретизации к PRF должно быть целым числом.

fs = 1e6;
PRF = [10000,25000];
waveform = phased.RectangularWaveform('OutputFormat','Pulses','SampleRate',fs,...
    'DurationSpecification','Duty Cycle','DutyCycle',.2,...
    'PRF',PRF,'NumPulses',2,'PRFSelectionInputPort',true);

Получите и постройте график прямоугольных осей. Для первого вызова step метод, установите PRF, чтобы 10kHz с использованием индекса PRF. Для следующего вызова установите PRF на 25 кГц. Для окончательного вызова установите PRF на 10kHz.

wav = [];
wav1 = waveform(1);
wav = [wav; wav1];
wav1 = waveform(2);
wav = [wav; wav1];
wav1 = waveform(1);
wav = [wav; wav1];
nsamps = size(wav,1);
t = [0:(nsamps-1)]/waveform.SampleRate;
plot(t*1e6,real(wav))
xlabel('Time (\mu sec)')
ylabel('Amplitude')
grid

Figure contains an axes. The axes contains an object of type line.

Сгенерируйте выход и согласованный фильтр коэффициенты прямоугольной импульсной волны.

waveform = phased.RectangularWaveform('CoefficientsOutputPort',true, ...
    'PRF',[1e4 2e4],'DurationSpecification','Duty cycle','DutyCycle',0.5, ...
    'OutputFormat','Pulses','NumPulses',2,'PRFSelectionInputPort',true); 
[wav,coeff] = waveform(1);

Создайте согласованный фильтр, которая применяет коэффициенты как входной параметр. Используйте коэффициенты при применении согласованного фильтра к форме волны. Постройте график формы волны и согласованного фильтра выходов.

mf = phased.MatchedFilter('CoefficientsSource','Input port');
mfOut = mf(wav,coeff(:,1));
subplot(211),plot(real(wav));
xlabel('Samples'),ylabel('Amplitude'),title('Waveform Output');
subplot(212),plot(abs(mfOut));
xlabel('Samples'),ylabel('Amplitude'),title('Matched Filter Output');

Figure contains 2 axes. Axes 1 with title Waveform Output contains an object of type line. Axes 2 with title Matched Filter Output contains an object of type line.