step

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

  • Вектор Z-1 N возвращен когда:

    • Объект имеет OutputFormat установите на 'Pulses' и NumPulses равно 1. N Z является шириной импульса.

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

  • Матрица Z-by-M N возвращена, когда объект генерирует различную ширину импульса (DurationSpecification установлен в 'Duty cycle' и PRF имеет больше чем одно уникальное значение); и любой OutputFormat установите на 'Pulses' и NumPulses больше 1, или OutputFormat установлен в 'Samples'. Для этого случая N Z является шириной импульса, и 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

Создайте прямоугольные формы волны с двумя импульсами каждый. Установите частоту дискретизации на 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 к 10 кГц с помощью индекса PRF. Для следующего вызова, набор PRF к 25 кГц. Для итогового вызова, набор PRF к 10 кГц.

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

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

waveform = phased.RectangularWaveform('CoefficientsOutputPort',true, ...
    'PRF',[1e4 2e4],'DurationSpecification','Duty cycle','DutyCycle',0.5, ...
    'OutputFormat','Pulses','NumPulses',2,'PRFSelectionInputPort',true); 
[wav,coeff] = waveform(1);

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

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');