exponenta event banner

шаг

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

Образцы сигнала линейного ЧМ-импульса

Синтаксис

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

Y = step(sLFM) возвращает выборки линейного ЧМ-импульса в векторе столбца 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 возвращается в виде вектора NZ-by-1 или матрицы NZ-by-M.

  • Вектор NZ-by-1 возвращается, если:

    • Объект имеет OutputFormat установить в значение 'Pulses' и NumPulses равно 1. NZ - ширина импульса.

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

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

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

Примечание

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

Примеры

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

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

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

Получение и построение графика линейного ЧМ-сигнала.

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.

Сконструировать шесть линейных импульсов ЧМ-формы, имеющих полосу пропускания свип-сигнала 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);

Получение и построение графика линейных ЧМ-сигналов. Для первых трех вызовов метода 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.

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

waveform = phased.LinearFMWaveform('SweepBandwidth',1e5, ...
    'PulseWidth',5e-5,'OutputFormat','Pulses', ...
    'FrequencyOffset',5e4,'CoefficientsOutputPort',true);
[wav,coeff] = waveform();

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

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.