step

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

Выборки закодированной по фазе формы волны

Синтаксис

Y = step(sPCW)
Y = step(sPCW,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(sPCW) Возвраты выборки импульса с фазовым кодом в вектор-столбец, Y.

Y = step(sPCW,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 является максимальным значением ненулевой ширины импульса.

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

Примечание

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

Входные параметры

sPCW

Закодированный по фазе объект формы волны.

Выходные аргументы

Y

Вектор-столбец, содержащий выборки формы волны.

Примеры

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

Сгенерируйте выборки двух импульсов закодированной в фазе импульсного сигнала, которая использует код Задоффа-Чу.

sPCW = phased.PhaseCodedWaveform('Code','Zadoff-Chu',...
    'ChipWidth',1e-6,'NumChips',16,...
    'OutputFormat','Pulses','NumPulses',2);
wav = step(sPCW);
fs = sPCW.SampleRate;
nsamps = size(wav,1);
t = [0:(nsamps-1)]/fs;
plot(t*1e6,real(wav))
title('Waveform: Real Part')
xlabel('Time (\mu sec)')
ylabel('Amplitude')
grid

Figure contains an axes. The axes with title Waveform: Real Part contains an object of type line.

Создайте и постройте двухимпульсные закодированные по фазе формы волны, которые используют код Задоффа-Чу. Установите частоту дискретизации 1 МГц, ширину чипа 5 микросекунд, 16 чипов на импульс. Измените частоту повторения импульса.

fs = 1e6;
PRF = [5000,10000];
waveform = phased.PhaseCodedWaveform('SampleRate',fs,...
    'Code','Zadoff-Chu','PRFSelectionInputPort',true,...
    'ChipWidth',5e-6,'NumChips',16,'PRF',PRF,...
    'OutputFormat','Pulses','NumPulses',2);

Получите и постройте график закодированных по фазе осциллограмм. Для первого вызова 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)]/fs;
plot(t*1e6,real(wav))
xlabel('Time (\mu sec)')
ylabel('Amplitude')

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

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

waveform = phased.PhaseCodedWaveform('Code','Barker','NumChips',5, ...
    'CoefficientsOutputPort',true,'PRF',[1e4 2e4],'ChipWidth',5e-6, ...
    'OutputFormat','Samples','NumSamples',150);
[wav,coeff] = waveform();

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

mf = phased.MatchedFilter('CoefficientsSource','Input port');
mfOut = mf(wav,coeff);
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.