Документация Engee

EngeePhased.LinearFMWaveform

Сигнал с линейно-частотной модуляцией (ЛЧМ).

Библиотека

EngeePhased

Блок

Linear FM Waveform

Описание

Системный объект LinearFMWaveform создает импульсный сигнал с ЛЧМ. Чтобы получить сигнал, выполните следующие действия:

  1. Определите и настройте форму модуляции.

  2. Вызовите step для генерации сигнала в соответствии со свойствами EngeePhased.LinearFMWaveform. Поведение step специфично для каждого объекта в панели инструментов.

Вместо использования метода step для выполнения операции, определенной объектом System, вы можете вызывать объект с аргументами, как если бы это была функция. Например, y = step(obj,x) и y = obj(x) выполняют эквивалентные операции. Если единственным аргументом метода step является сам системный объект, замените y = step(obj) на y = obj().

Синтаксис

Вызов конструктора системного объекта возможен следующими способами:

  • object = EngeePhased.LinearFMWaveform создает системный объект ЛЧМ сигнала. Объект генерирует импульсы с ЛЧМ. Пример:

    target = EngeePhased.LinearFMWaveform
  • object = EngeePhased.LinearFMWaveform(Name,Value) создает объект ЛЧМ сигнала, с каждым указанным свойством Name (имя), установленным на указанное Value (значение). Вы можете указать дополнительные аргументы в виде пары имя-значение в любом порядке (Name1,Value1,…​,NameN,ValueN). Пример:

    target = EngeePhased.LinearFMWaveform(OutputFormat=Pulses, CoefficientsOutputPort=true)

Свойства

SampleRate — частота дискретизации
1e6 (по умолчанию)

Details

Частота дискретизации сигнала, заданная в виде положительного скаляра. Отношение частоты дискретизации к частоте повторения импульсов (PRF) должно быть целым положительным числом — каждый импульс должен содержать целое число дискретов.

Единицами измерения – герцы.

DurationSpecification — метод установки длительности импульса
Pulse width (по умолчанию) | Duty cycle

Details

Метод установки длительности импульса (ширины импульса), задаваемый как Pulse width или Duty cycle. Это свойство определяет способ установки длительности импульса. Если вы задаете этому свойству значение Pulse width, то вы устанавливаете длительность импульса непосредственно с помощью свойства PulseWidth. Когда вы устанавливаете это свойство в значение Duty cycle, вы устанавливаете длительность импульса из значений свойств PRF и DutyCycle. Длительность импульса равна обратной величине скважности (Duty Cycle), деленной на PRF.

PulseWidth — ширина импульса
50e-6 (по умолчанию)

Details

Укажите длительность каждого импульса (в секундах) в виде положительного скаляра. Значение должно удовлетворять параметру PulseWidth < = 1./PRF.

DutyCycle — обратная величина скважности сигнала
0.5 (по умолчанию)

Details

Обратная величина скважности, заданная в виде скаляра от 0 до 1 исключительно. Это свойство применяется, если для свойства DurationSpecification установлено значение Duty cycle. Ширина импульса равна значению свойства DutyCycle, деленному на значение свойства PRF.

PRF — частота повторения импульса
10e3 (по умолчанию)

Details

Частота повторения импульсов, PRF, заданная в виде скаляра или вектора строк. Интервал повторения импульсов, PRI, является обратной величиной частоты повторения импульсов, PRF. PRF должна удовлетворять этим ограничениям:

  • Произведение PRF и PulseWidth должно быть меньше или равно единице. Это условие выражает требование, чтобы ширина импульса была меньше одного интервала повторения импульсов. Для фазово-кодированной формы сигнала ширина импульса равна произведению ширины чипа и количества чипов.

  • Отношение частоты дискретизации к любому элементу PRF должно быть целым числом. Это условие выражает требование, чтобы количество выборок в одном интервале повторения импульсов было целым числом.

Вы можете выбрать значение PRF, используя только настройки свойств или используя настройки свойств в сочетании с входным аргументом prfidx метода step.

  • Если PRFSelectionInputPort равен false, вы устанавливаете PRF только с помощью свойств. Вы можете:

    • реализовать постоянный PRF, указав PRF как положительный вещественный скаляр.

    • реализовать ступенчатый PRF, указав PRF как вектор строк с положительными вещественными значениями. Но на этот раз, выполняя метод step, выберите PRF, передав аргумент, указывающий индекс в векторе PRF.

  • Когда PRFSelectionInputPort равен true, вы можете реализовать PRF с возможностью выбора, задав PRF в виде вектора строк с положительными вещественными значениями. Но в этот раз, когда вы выполняете метод step, выберите PRF, передав аргумент, указывающий индекс в векторе PRF.

Во всех случаях количество выходных выборок фиксировано, если свойству OutputFormat присвоено значение Samples. При использовании переменной PRF и установке свойства OutputFormat в значение Pulses количество выборок может меняться.

Единицы измерения — герцы.

PRFSelectionInputPort — вход выбора разрешенной PRF
true | false (по умолчанию)

Details

Включает вход выбора PRF, заданный как true или false. При установке этого свойства в значение false метод step использует значения, заданные в свойстве PRF. При установке этого свойства в значение true в метод step передается аргумент индекса для выбора значения из вектора PRF.

SweepBandwidth — девиация частоты ЛЧМ сигнала
1e5 (по умолчанию)

Details

Девиация частоты (в герцах) в виде положительного скаляра. Значение по умолчанию соответствует 100 кГц.

SweepDirection — направление модуляции
Up (по умолчанию) | Down

Details

Укажите направление линейной FM развертки как одно из Up или Down.

SweepInterval — расположение интервала модуляции
Positive | Symmetric

Details

Если задать этому свойству значение Positive, осциллограмма развернется в интервале от 0 до B, где B — значение свойства SweepBandwidth. Если задать этому свойству значение Symmetric, осциллограмма развернется в интервале от -B/2 до B/2.

Envelope — огибающая функция сигнала с ЛЧМ
Rectangular (по умолчанию) | Gaussian

Details

Укажите функцию огибающей как одну из Rectangular или Gaussian.

FrequencyOffsetSource — источник смещения частоты Property (по умолчанию) | Input port

Details

Источник смещения частоты для осциллограммы, указанный как Property или Input port.

  • Если задать этому свойству значение Property, то смещение определяется значением свойства FrequencyOffset.

  • Когда вы устанавливаете для этого свойства значение Input port, FrequencyOffset определяется входным аргументом freqoffset.

FrequencyOffset — смещение частоты 0 Гц (по умолчанию) | скаляр

Details

Смещение частоты в Гц, заданное в виде скаляра.

Зависимости

Это свойство применяется, если для свойства FrequencyOffsetSource установлено значение Input port.

OutputFormat — формат выходного сигнала
Pulses (по умолчанию) | Samples

Details

Укажите формат выходного сигнала как Pulses или Samples. При установке свойства OutputFormat в значение Pulses выходной сигнал пошагового метода принимает вид нескольких импульсов, заданных значением свойства NumPulses. Количество выборок в импульсе может меняться, если вы изменяете частоту повторения импульсов во время моделирования.

Если для свойства OutputFormat установлено значение Samples, выход шагового метода будет иметь вид нескольких выборок. В этом случае количество выборок выходного сигнала равно значению свойства NumSamples и является фиксированным.

NumSamples — количество отсчетов сигнала на выходе
100 (по умолчанию)

Details

Укажите количество образцов данных на выходе пошагового метода в виде положительного целого числа. Это свойство применяется только в том случае, если для свойства OutputFormat установлено значение Samples.

NumPulses — количество импульсов на выходе 100 (по умолчанию)

Details

Укажите количество образцов в выходных данных пошагового метода в виде положительного целого числа. Это свойство применяется только в том случае, если для свойства OutputFormat установлено значение Samples.

PRFOutputPort — включение вывода PRF
true | false (по умолчанию)

Details

Установите это свойство в true, чтобы вывести PRF для текущего импульса, используя аргумент метода step.

Зависимости

Это свойство можно использовать только в том случае, если для свойства OutputFormat установлено значение Pulses.

CoefficientsOutputPort — включить выходной порт коэффициентов согласованного фильтра
true | false (по умолчанию)

Details

Включите порт вывода коэффициентов согласованного фильтра, заданный как false или true. При установке этого свойства в значение false объект не предоставляет на выход коэффициенты согласованного фильтра, используемые во время моделирования. При установке этого свойства в значение true объект предоставляет на выходе коэффициенты согласованного фильтра, использованные во время моделирования.

Методы

Общие для всех системных объектов

step!

Запустить алгоритм работы системного объекта

release!

Разрешить изменение значения свойства системного объекта

reset!

Сброс внутренних состояний системного объекта

Примеры

Plot LFM Waveform and Spectrum

Создайте и постройте график импульса с ЛЧМ с повышающей разверткой. Частота дискретизации составляет 500 кГц, девиация частоты – 200 кГц, ширина импульса – 1 миллисекунда (равна интервалу повторения импульсов).

fs = 500e3;
sLFM = phased.LinearFMWaveform('SampleRate',fs,...
    'SweepBandwidth',200e3,...
    'PulseWidth',1e-3,'PRF',1e3);

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

lfmwav = step(sLFM);
nsamp = size(lfmwav,1);
t = [0:(nsamp-1)]/fs;
plot(t*1000,real(lfmwav))
xlabel('Time (millisec)')
ylabel('Amplitude')
grid

object phased linear fm waveform 1

Постройте преобразование Фурье комплексного сигнала.

nfft = 2^nextpow2(nsamp);
Z = fft(lfmwav,nfft);
fr = [0:(nfft/2-1)]/nfft*fs;
plot(fr/1000,abs(Z(1:nfft/2)),'.-')
xlabel('Frequency (kHz)')
ylabel('Amplitude')
grid

object phased linear fm waveform 2

Постройте спектрограмму функции с размером окна 64 отсчета и 50-процентным перекрытием.

nfft1 = 64;
nov = floor(0.5*nfft1);
spectrogram(lfmwav,hamming(nfft1),nov,nfft1,fs,'centered','yaxis')

object phased linear fm waveform 3

Этот график показывает увеличение частоты сигнала.

Apply Frequency Offset to Linear FM Waveform

Примените частотное смещение к ЛЧМ импульсу с повышающей частотой. Постройте частотный спектр осциллограммы с применением и без применения частотного смещения.

Создайте объект LFM waveform, который настроен на установку частотного смещения с входа при выполнении объекта.

fs = 500e3;
sLFM = EngeePhased.LinearFMWaveform('SampleRate',fs,'SweepBandwidth',200e3, ...
    'PulseWidth',2e-5,'PRF',1e3,'FrequencyOffsetSource','Input port');

Выполните объект два раза. Сначала установите смещение частоты на 0 Гц, а затем на 2e4 Гц.

lfmwav = sLFM(0);
lfmwav_foffset = sLFM(2e4);

Постройте частотный спектр комплексных сигналов. Сигнал со смещением частоты сдвинут вправо.

[Pxx,f] = pwelch(lfmwav,[],[],[],fs,'centered'); [Pxx_offset,foffset] = pwelch(lfmwav_foffset,[],[],[],fs,'centered'); plot(f/1000,Pxx,foffset/1000,Pxx_offset)
ylabel('PSD');
xlabel('Frequency (kHz)');
legend({'No offset','Offset applied'},'Location','northwest');
grid on;

object phased linear fm waveform 4

Ссылки

  1. Levanon, N. and E. Mozeson. Radar Signals. Hoboken, NJ: John Wiley & Sons, 2004.

  2. Richards, M. A. Fundamentals of Radar Signal Processing. New York: McGraw-Hill, 2005.