exponenta event banner

шаг

Системный объект: поэтапный. 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 метод - это сам объект System, замените 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 возвращается в виде вектора NZ-by-1 или матрицы NZ-by-M.

  • Вектор NZ-by-1 возвращается, если:

    • Объект имеет OutputFormat установить в значение 'Pulses' и NumPulses равно 1. NZ - ширина импульса.

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

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

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

Примечание

Объект выполняет инициализацию при первом выполнении объекта. Эта инициализация блокирует неперестраиваемые свойства и входные спецификации, такие как размеры, сложность и тип данных входных данных. При изменении неперестраиваемого свойства или входной спецификации системный объект выдает ошибку. Чтобы изменить неперестраиваемые свойства или входные данные, необходимо сначала вызвать 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);

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

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.