step

Системный объект: phased.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 возвращен или как вектор Z-1 N или как матрица Z-by-M N.

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

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

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

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

Можно объединить дополнительные аргументы ввода и вывода, когда их свойства включения установлены. Дополнительные вводы и выводы должны быть перечислены в том же порядке как порядок свойств включения. Например, [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 частоты kHz.

pulse2 = waveform();

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

pulse3 = waveform();

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

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 object. The axes object 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 objects. Axes object 1 with title Waveform Output contains an object of type line. Axes object 2 with title Matched Filter Output contains an object of type line.

Больше о

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