step

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

Выборки ступенчатого импульсного сигнала FM

Синтаксис

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 метод сам Системный объект, замените y = step(obj) по y = obj().

Y = step(sSFM) Возвраты выборки ступенчатых FM-импульсов в вектор-столбец, 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 возвращается как N вектор Z-на-1 или N матрица Z-на- M.

  • Вектор N Z-на-1 возвращается, когда объект OutputFormat установлено на 'Pulses' и NumPulses равно 1. N Z является шириной импульса.

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

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

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

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

Примечание

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

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

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];

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

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.

Подробнее о

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