step

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

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

Синтаксис

Y = step(sLFM)
Y = step(sLFM,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(sLFM) возвращает выборки линейного FM импульса в векторе-столбце Y.

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

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

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

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

Примечание

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

Примеры

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

Создайте линейную FM волну, имеющую полосу пропускания 300 кГц, частоту дискретизации 1 МГц, ширину импульса 50 микросекунд и частоту повторения импульса 10 кГц. Сгенерируйте два импульса.

sLFM = phased.LinearFMWaveform('SweepBandwidth',3e5,...
    'OutputFormat','Pulses','SampleRate',1e6,...
    'PulseWidth',50e-6,'PRF',10e3,'NumPulses',2);

Получите и постройте график линейной формы FM волны.

wav = step(sLFM);
numpulses = size(wav,1);
t = [0:(numpulses-1)]/sLFM.SampleRate;
plot(t*1e6,real(wav))
xlabel('Time (\mu sec)')
ylabel('Amplitude')

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

Создайте шесть линейных FM-импульсов с шириной полосы свип-сигнала 300 кГц, частотой дискретизации 1 МГц, шириной импульса 50 микросекунд и коэффициентом заполнения 20%. Измените частоту повторения импульса.

Установите частоту дискретизации и PRF. Отношение частоты дискретизации к PRF должно быть целым числом.

fs = 1e6;
PRF = [10000,25000];
sLFM = phased.LinearFMWaveform('SweepBandwidth',3e5,...
    'OutputFormat','Pulses','SampleRate',fs,...
    'DurationSpecification','Duty Cycle','DutyCycle',.2,...
    'PRF',PRF,'NumPulses',1,'PRFSelectionInputPort',true);

Получите и постройте график линейных FM-сигналов. Для первых трех вызовов метода step установите PRF, чтобы 10kHz с использованием индекса PRF. Для следующих трех вызовов установите PRF на 25 кГц.

wav = [];
for n = 1:6
    idx = floor((n-1)/3)+1;
    wav1 = step(sLFM,idx);
    wav = [wav;wav1];
end
nsamps = size(wav,1);
t = [0:(nsamps-1)]/sLFM.SampleRate;
plot(t*1e6,real(wav))
xlabel('Time (\mu sec)')
ylabel('Amplitude')

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

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

waveform = phased.LinearFMWaveform('SweepBandwidth',1e5, ...
    'PulseWidth',5e-5,'OutputFormat','Pulses', ...
    'FrequencyOffset',5e4,'CoefficientsOutputPort',true);
[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.

Для просмотра документации необходимо авторизоваться на сайте