exponenta event banner

шаг

Системный объект: поэтапный. SteppedFMWaveform
Пакет: поэтапный

Образцы ступенчатой формы импульса ЧМ

Синтаксис

Y = step(sSFM)
Y = step(sSFM,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(sSFM) возвращает выборки ступенчатых импульсов ЧМ в векторе столбца, Y. Выходные данные, Y, в результате увеличения частоты предыдущего выхода на величину, заданную FrequencyStep собственность. Если общее увеличение частоты больше значения, указанного SweepBandwidth возвращают выборки прямоугольного импульса.

Y = step(sSFM,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 - ширина импульса.

  • Матрица NZ-by-M возвращается, если OutputFormat установить в значение 'Pulses' и NumPulses больше 1, или OutputFormat имеет значение 'Samples'.

    • При формировании объектом сигнала постоянной длительности импульса (DurationSpecification установить в значение 'Pulse width' или 'Duty cycle' и PRF имеет одно уникальное значение), NZ - ширина импульса и M - количество субимпульсов, NumSteps.

    • При формировании объектом сигнала переменной длительности импульса (DurationSpecification имеет значение 'Duty cycle' и PRF имеет более одного уникального значения), NZ является максимумом длительности импульса и M является произведением NumSteps и количество уникальных PRF.

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

Примечание

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

Примеры

развернуть все

Создание ступенчатого частотно-импульсного волнового объекта с шагом частоты 40 кГц и четырьмя шагами частоты.

waveform = phased.SteppedFMWaveform(...
    'NumSteps',4,'FrequencyStep',40e3,...
    'OutputFormat','Pulses','NumPulses',1);
fs = waveform.SampleRate;

Используйте waveform способ получения импульсов.

Сначала генерируйте импульс 1.

pulse1 = waveform();

Затем генерируют импульс 2, увеличенный на шаг частоты 40 кГц.

pulse2 = waveform();

Затем генерируют импульс 3, увеличенный на шаг частоты 40 кГц.

pulse3 = waveform();

Наконец, генерируют импульс 4, увеличенный на шаг частоты 40 кГц.

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

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

Генерируют выходные выборки и согласованные коэффициенты фильтра ступенчатой формы импульса ЧМ.

waveform = phased.SteppedFMWaveform('NumSteps',2,'NumPulses',1,...
    'CoefficientsOutputPort',true,'PRF',[1e4 1e4 2e4 2e4],...
    'DurationSpecification','Duty cycle','DutyCycle',0.5);
[wav1,coeff1] = waveform(); 
[wav2,coeff2] = waveform();
wav = [wav1 ; wav2];

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

mf = phased.MatchedFilter('CoefficientsSource','Input port');
mfOut1 = mf(wav1,coeff1);
mfOut2 = mf(wav2,coeff2);
subplot(211),plot(real(wav));
xlabel('Samples'),ylabel('Amplitude'),title('Waveform Output');
subplot(212),plot(abs(mfOut1+mfOut2));
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.

Подробнее

развернуть все