EngeePhased.LinearFMWaveform
Сигнал с линейно-частотной модуляцией (ЛЧМ).
Библиотека |
EngeePhased |
Блок |
Описание
Системный объект LinearFMWaveform создает импульсный сигнал с ЛЧМ. Чтобы получить сигнал, выполните следующие действия:
-
Определите и настройте форму модуляции.
-
Вызовите 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
объект предоставляет на выходе коэффициенты согласованного фильтра, использованные во время моделирования.
Примеры
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
Постройте преобразование Фурье комплексного сигнала.
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
Постройте спектрограмму функции с размером окна 64 отсчета и 50-процентным перекрытием.
nfft1 = 64;
nov = floor(0.5*nfft1);
spectrogram(lfmwav,hamming(nfft1),nov,nfft1,fs,'centered','yaxis')
Этот график показывает увеличение частоты сигнала.
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;