Примените незапоминающуюся нелинейность к комплексному сгенерированному модулированному сигналу
The comm.MemorylessNonlinearity
Система object™ применяет незапоминающиеся нелинейные искажения к сгенерированному модулированному сигналу. Используйте этот системный объект для моделирования незапоминающихся нелинейных нарушений, вызванных усилением сигнала в радиочастотном (RF) передатчике или приемнике. Для получения дополнительной информации см. «Незабываемые нелинейные обесценения».
Чтобы применить незапоминающиеся нелинейные искажения к комплексному сгенерированному модулированному сигналу:
Создайте comm.MemorylessNonlinearity
Объекту и установите его свойства.
Вызывайте объект с аргументами, как будто это функция.
Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».
создает безпамятный системный объект, который моделирует нелинейные искажения RF.mnl
= comm.MemorylessNonlinearity
задает свойства, используя один или несколько аргументы пары "имя-значение". Заключайте каждое имя свойства в кавычки. Для примера, mnl
= comm.MemorylessNonlinearity(Name
,Value
)'Method','Saleh model'
устанавливает метод моделирования на метод Салеха.
Если не указано иное, свойства являются нетронутыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируются, когда вы вызываете их, и release
функция разблокирует их.
Если свойство настраивается, можно изменить его значение в любой момент.
Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Использование Системных объектов.
Method
- Метод нелинейного моделирования'Cubic polynomial'
(по умолчанию) | 'Hyperbolic tangent'
| 'Saleh model'
| 'Ghorbani model'
| 'Modified Rapp model'
| 'Lookup table'
Метод нелинейного моделирования, заданный как 'Cubic polynomial'
, 'Hyperbolic tangent'
, 'Saleh model'
, 'Ghorbani model'
, 'Modified Rapp model'
, или 'Lookup table'
. Для получения дополнительной информации см. «Незабываемые нелинейные обесценения».
Типы данных: char
| string
InputScaling
- Коэффициент масштабирования входного сигнала0
(по умолчанию) | скаляромКоэффициент масштабирования входного сигнала в децибелах, заданный как скаляр. Это свойство масштабирует коэффициент усиления степени входного сигнала.
Настраиваемый: Да
Чтобы включить это свойство, установите Method
свойство к 'Saleh model'
или 'Ghorbani model'
.
Типы данных: double
LinearGain
- Линейное усиление0
(по умолчанию) | скаляромЛинейный коэффициент усиления в децибелах, заданный как скаляр. Это свойство масштабирует степень усиление сигнала выхода.
Настраиваемый: Да
Чтобы включить это свойство, установите Method
свойство к 'Cubic polynomial'
, 'Hyperbolic tangent'
, или 'Modified Rapp model'
.
Типы данных: double
TOISpecification
- Спецификация нелинейности третьего порядка для кубического полинома'IIP3'
(по умолчанию) | 'OIP3'
| 'IP1dB'
| 'OP1dB'
| 'IPsat'
| 'OPsat'
Спецификация третьего порядка для кубического полинома, заданная как 'IIP3'
, 'OIP3'
, 'IP1dB'
, 'OP1dB'
, 'IPsat'
, или 'OPsat'
. Для получения дополнительной информации см. «Кубический полином коэффициента третьего порядка».
Чтобы включить это свойство, установите Method
свойство к 'Cubic polynomial'
.
Типы данных: char
| string
IIP3
- Входная точка точки пересечения третьего порядка30
(по умолчанию) | скаляромВходная точка точки пересечения третьего порядка в дБм, заданная как скаляр.
Настраиваемый: Да
Чтобы включить это свойство, установите Method
свойство к 'Cubic polynomial'
или 'Hyperbolic tangent'
.
Типы данных: double
OIP3
- Выходная точка точки пересечения третьего порядка30
(по умолчанию) | скаляромВыходная точка точки пересечения третьего порядка в дБм, заданная как скаляр.
Настраиваемый: Да
Чтобы включить это свойство, установите Method
свойство к 'Cubic polynomial'
и TOISpecification
свойство к 'OIP3'
.
Типы данных: double
IP1dB
- Одна входная точка сжатия дБ30
(по умолчанию) | скаляромОдна входная точка сжатия дБ в дБм, заданная как скаляр.
Настраиваемый: Да
Чтобы включить это свойство, установите Method
свойство к 'Cubic polynomial'
и TOISpecification
свойство к 'IP1dB'
.
Типы данных: double
OP1dB
- Одна выходная точка сжатия дБ30
(по умолчанию) | скаляромОдна выходная точка сжатия дБ в дБм, заданная как скаляр.
Настраиваемый: Да
Чтобы включить это свойство, установите Method
свойство к 'Cubic polynomial'
и TOISpecification
свойство к 'OP1dB'
.
Типы данных: double
IPsat
- Входная точка насыщения30
(по умолчанию) | скаляромВходная насыщенность в дБм, заданная как скаляр.
Настраиваемый: Да
Чтобы включить это свойство, установите Method
свойство к 'Cubic polynomial'
и TOISpecification
свойство к 'IPsat'
.
Типы данных: double
OPsat
- Выходная точка насыщения30
(по умолчанию) | скаляромВыходная точка насыщения в дБм, заданная как скаляр.
Настраиваемый: Да
Чтобы включить это свойство, установите Method
свойство к 'Cubic polynomial'
и TOISpecification
свойство к 'OPsat'
.
Типы данных: double
AMPMConversion
- Коэффициент линейного преобразования AM/PM10
(по умолчанию) | скаляромКоэффициент линейного преобразования AM/PM в степенях на децибел, заданный как скаляр. Для получения дополнительной информации см. «Методы кубической полиномиальной и гиперболической тангенциальной модели».
Настраиваемый: Да
Чтобы включить это свойство, установите Method
свойство к 'Cubic polynomial'
или 'Hyperbolic tangent'
.
Типы данных: double
AMAMParameters
- параметры AM/AM[2.1587 1.1517]
| [8.1081 1.5413 6.5202 -0.0718]
| вектор-строкаПараметры AM/AM, используемые для вычисления амплитудного усиления для входного сигнала, заданные как вектор-строка.
Когда Method
для свойства задано значение 'Saleh model'
это свойство должно быть двухэлементным вектором, который задает альфа- и бета- значения. В этом случае значение по умолчанию является [2.1587 1.1517]
.
Когда Method
для свойства задано значение 'Ghorbani model'
это свойство должно быть вектором с четырьмя элементами, который задает x 1, x 2, x 3 и x 4 значения. В этом случае значение по умолчанию является [8.1081 1.5413 6.5202 -0.0718]
.
Для получения дополнительной информации см. Saleh Model Method и Ghorbani Model Method.
Настраиваемый: Да
Чтобы включить это свойство, установите Method
для свойства задано значение 'Saleh model'
или 'Ghorbani model'
.
Типы данных: double
AMPMParameters
- Параметры AM/PM[4.0033 9.1040]
| [4.6645 2.0965 10.88 -0.003]
| вектор-строкаПараметры AM/PM, используемые для вычисления изменения фазы для входного сигнала, заданные как вектор-строка.
Когда Method
для свойства задано значение 'Saleh model'
это свойство должно быть двухэлементным вектором, который задает альфа- и бета- значения. В этом случае значение по умолчанию является [4.0033 9.1040]
.
Когда Method
для свойства задано значение 'Ghorbani model'
это свойство должно быть вектором с четырьмя элементами, который задает y 1, y 2, y 3 и y 4 значения. В этом случае значение по умолчанию является [4.6645 2.0965 10.88 -0.003]
Для получения дополнительной информации см. Saleh Model Method и Ghorbani Model Method.
Настраиваемый: Да
Чтобы включить это свойство, установите Method
для свойства задано значение 'Saleh model'
или 'Ghorbani model'
.
Типы данных: double
PowerLowerLimit
- Нижний предел входной степени10
(по умолчанию) | скаляромНижний предел входной степени в дБм, заданный как скаляр меньше, чем PowerUpperLimit
значение свойства. Преобразование AM/PM масштабируется линейно для значений входной степени в области значений [PowerLowerLimit
, PowerUpperLimit
]. Если степень входного сигнала ниже входа степени нижнего предела, сдвиг фазы, возникающий в результате преобразования AM/PM, равна нулю. Для получения дополнительной информации см. «Методы кубической полиномиальной и гиперболической тангенциальной модели».
Настраиваемый: Да
Чтобы включить это свойство, установите Method
для свойства задано значение 'Cubic polynomial'
или 'Hyperbolic tangent'
.
Типы данных: double
PowerUpperLimit
- Верхний предел входной степениinf
(по умолчанию) | скаляромВерхний предел входной степени в дБм, заданный как скаляр, больший PowerLowerLimit
. Преобразование AM/PM масштабируется линейно для значений входной степени в области значений [PowerLowerLimit
, PowerUpperLimit
]. Если входной сигнал степени выше верхнего предела входа степени, сдвиг фазы, возникающий в результате преобразования AM/PM, является постоянным. Для получения дополнительной информации см. «Методы кубической полиномиальной и гиперболической тангенциальной модели».
Настраиваемый: Да
Чтобы включить это свойство, установите Method
для свойства задано значение 'Cubic polynomial'
или 'Hyperbolic tangent'
.
Типы данных: double
OutputScaling
- Коэффициент масштабирования выходного сигнала0
(по умолчанию) | скаляромКоэффициент масштабирования выходного сигнала в децибелах, заданный как скаляр. Это свойство масштабирует степень усиление сигнала выхода.
Настраиваемый: Да
Чтобы включить это свойство, установите Method
для свойства задано значение 'Saleh model'
или 'Ghorbani model'
.
Типы данных: double
Smoothness
- Коэффициент сглаживания амплитуды0.5
(по умолчанию) | скаляромКоэффициент плавности амплитуды, заданный как скаляр. Для получения дополнительной информации смотрите Измененный метод модели Rapp.
Настраиваемый: Да
Чтобы включить это свойство, установите Method
для свойства задано значение 'Modified Rapp model'
.
Типы данных: double
PhaseGainRadian
- Коэффициент усиления фазы для модифицированной модели Раппа0
(по умолчанию) | скаляромКоэффициент усиления фазы для модифицированной модели Раппа в радианах, заданный как скаляр. Значение -0.45
является типичным. Для получения дополнительной информации смотрите Измененный метод модели Rapp.
Настраиваемый: Да
Чтобы включить это свойство, установите Method
для свойства задано значение 'Modified Rapp model'
.
Типы данных: double
PhaseSaturation
- насыщение фазы для модифицированной модели Раппа0.88
(по умолчанию) | положительная скалярная величинаФаза насыщения для измененной модели Раппа в радианах, заданная как положительная скалярная величина. Для получения дополнительной информации смотрите Измененный метод модели Rapp.
Настраиваемый: Да
Чтобы включить это свойство, установите Method
для свойства задано значение 'Modified Rapp model'
.
Типы данных: double
PhaseSmoothness
- Плавность фазы для модифицированной модели Раппа3.43
(по умолчанию) | положительная скалярная величинаСглаживаемость фазы для измененной модели Раппа в радианах, заданная как положительная скалярная величина. Для получения дополнительной информации смотрите Измененный метод модели Rapp.
Настраиваемый: Да
Чтобы включить это свойство, установите Method
для свойства задано значение 'Modified Rapp model'
.
Типы данных: double
OutputSaturationLevel
- Выходной уровень насыщения1
(по умолчанию) | положительная скалярная величинаВыходной уровень насыщения, заданный как скаляр. Для получения дополнительной информации смотрите Измененный метод модели Rapp.
Настраиваемый: Да
Чтобы включить это свойство, установите Method
для свойства задано значение 'Modified Rapp model'
.
Типы данных: double
Table
- Интерполяционная таблица характеристик усилителяИнтерполяционная таблица характеристик усилителя, заданная как матрица N-на-3 характеристик измеренного усилителя степени (PA). Каждая строка имеет вид [P in, P out, В]. P in задает входной сигнал в дБм, P out задает выходной сигнал в дБм, а Значение по умолчанию [-25, 5.16, -0.25; -20, 10.11, -0.47; -15, 15.11, -0.68; -10, 20.05, -0.89; -5, 24.79, -1.22; 0, 27.64, 5.59; 5, 28.49, 12.03]
.
Измеренные характеристики PA, заданные этим свойством, используются для вычисления нелинейных характеристик обесценения AM/AM (в дБм/дБм) и AM/PM (в дБм).
Примечание
Определить соответствующий P и ΔΦ оценивает за любой P в значениях вне области значений значений, определенных в Table
свойство, Системный объект применяет линейную экстраполяцию от первых двух или последних двух [P в, P, ΔΦ] строки Table
.
Настраиваемый: Да
Чтобы включить это свойство, установите Method
свойство к 'Lookup table'
.
Типы данных: double
Reference impedance
- Эталонное сопротивление1
(по умолчанию) | положительная скалярная величинаСсылка сопротивление в омах, заданное как положительная скалярная величина. Это значение используется для преобразования значений напряжения в значения мощности.
Настраиваемый: Да
Типы данных: double
insig
- Входной радиочастотный сигнал полосы частотВход RF- сгенерированного модулированного сигнала, заданный как скаляр, вектор-столбец или матрица.
Типы данных: double
outsig
- Выходной радиочастотный сигнал полосы частотВыход RF сгенерированного модулированного сигнала, возвращенный как скаляр, вектор-столбец или матрица. Это выход из совпадающего типа данных как вход.
Чтобы использовать функцию объекта, задайте системный объект в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj
, используйте следующий синтаксис:
release(obj)
comm.MemorylessNonlinearity
release | Отпустите ресурсы и допустите изменения в значениях свойств системного объекта и входных характеристиках |
clone | Создайте повторяющийся системный объект |
isLocked | Определите, используется ли системный объект |
plot (memorylessnonlinearity) | Постройте графики нелинейности AM/AM и AM/PM |
Примените кубическую полиномиальную нелинейность к двум 16-QAM сигналам. Первый уровень степени входного сигнала находится в линейной области кривой характеристики степени усилителя. Второй уровень степени входного сигнала находится в нелинейной области кривой характеристики степени усилителя. Покажите кривую характеристики степени усилителя и сигнальные созвездия для усиленных сигналов 16-QAM.
Инициализация симуляции
Инициализируйте переменные для симуляции и создайте системные объекты для безпамятного ухудшения нелинейности усилителя и диаграммы созвездия. Так, что созвездие показывает только сжатие степени (и отсутствие вращения фазы), сконфигурируйте безпамятное нарушение усилителя нелинейности с искажением AM-PM, установленным на нуль.
M = 16; % Modulation order sps = 4; % Samples per symbol pindBm = [12 25]; % Input power gain = 10; % Amplifier gain amplifier = comm.MemorylessNonlinearity("Method","Cubic polynomial", ... "LinearGain",gain,"AMPMConversion",0,"ReferenceImpedance",50); refConst = qammod([0:M-1],M); axisLimits = [-gain gain]; constdiag = comm.ConstellationDiagram("NumInputPorts",2, ... "ChannelNames",["Linear" "Nonlinear"],"ShowLegend",true, ... "ReferenceConstellation",refConst, ... "XLimits",axisLimits,"YLimits",axisLimits);
Усиление и построение сигнала
Применить 16-QAM к входному сигналу случайных данных. Усильте сигнал и используйте plot
функция comm.MemorylessNonlinearity
Системный объект, чтобы показать выходы степени и фазового отклика. Первый уровень степени входного сигнала составляет 12 дБм и находится в линейной области кривой характеристики степени усилителя. Второй уровень степени входного сигнала составляет 25 дБм и находится в нелинейной области кривой характеристики степени усилителя.
pin = 10.^((pindBm-30)/10); % Convert dBm to linear Watts data = randi([0 M-1],1000,1); modOut = qammod(data,M,"UnitAveragePower",true)*sqrt(pin*amplifier.ReferenceImpedance); ampOut = amplifier(modOut); plot(amplifier);
Добавьте AWGN к двум усиленным сигналам и покажите сигналам сигнальное созвездие.
snr = 25; noisyLinOut = awgn(ampOut(:,1),snr,"measured"); noisyNonLinOut = awgn(ampOut(:,2),snr,"measured"); constdiag(noisyLinOut,noisyNonLinOut);
Сгенерируйте 16-QAM данные со средней степени 10 мВт и ссылки импедансом 1 Ом. Передайте данные через нелинейный усилитель степени (PA).
M = 16; data = randi([0 (M - 1)]',1000,1); avgPow = 1e-2; minD = avgPow2MinD(avgPow,M);
Создайте безпамятный Системный объект нелинейности, задав метод модели Салеха.
saleh = comm.MemorylessNonlinearity('Method','Saleh model');
Сгенерируйте модулированные символы и передайте их через модель нелинейности PA.
modData = (minD/2).*qammod(data,M); y = saleh(modData);
Сгенерируйте график поля точек результатов.
scatterplot(y)
Нормализация средней степени входного сигнала.
function minD = avgPow2MinD(avgPow,M) % Average power to minimum distance nBits = log2(M); if (mod(nBits,2)==0) % Square QAM sf = (M - 1)/6; else % Cross QAM if (nBits>4) sf = ((31*M/32) - 1)/6; else sf = ((5*M/4) - 1)/6; end end minD = sqrt(avgPow/sf); end
Постройте график сжатия усилителя нелинейного усилителя для сигнала 16-QAM.
Задайте порядок модуляции и выборки по параметрам символа.
M = 16; sps = 4;
Моделируйте нелинейный усилитель, путем создания беспамятного Системного объекта нелинейности с 30 дБ входа точки пересечения точкой третьего порядка. Создайте приподнятый Системный объект передающего фильтра косинуса.
amplifier = comm.MemorylessNonlinearity('IIP3',30); txfilter = comm.RaisedCosineTransmitFilter( ... 'RolloffFactor',0.3,'FilterSpanInSymbols',6, ... 'OutputSamplesPerSymbol',sps,'Gain',sqrt(sps));
Задайте вход степени в дБм и ссылку сопротивление 1 Ом. Преобразуйте вход степени в W и инициализируйте вектор усиления.
pindBm = -5:25; pin = 10.^((pindBm-30)/10); gain = zeros(length(pindBm),1);
Выполните основной цикл обработки, который включает эти шаги.
Сгенерируйте символы случайных данных.
Модулируйте символы данных и настройте среднюю степень сигнала.
Фильтрация модулированного сигнала.
Усильте сигнал.
Измерьте коэффициент усиления.
for k = 1:length(pin) data = randi([0 (M - 1)],1000,1); modSig = qammod(data,M,'UnitAveragePower',true)*sqrt(pin(k)); filtSig = txfilter(modSig); ampSig = amplifier(filtSig); gain(k) = 10*log10(mean(abs(ampSig).^2) / mean(abs(filtSig).^2)); end
Постройте график усиления усилителя как функции от степени входного сигнала. Точка сжатия усиления 1 дБ происходит в течение входа степени 18,5 дБм. Чтобы увеличить точку, в которой наблюдается сжатие 1 дБ, увеличьте точку точки пересечения третьего порядка, amplifier.IIP3
.
arrayplot = dsp.ArrayPlot('PlotType','Line','XLabel','Power In (dBm)', ... 'XOffset',-5,'YLimits',[-5 5]); arrayplot(gain)
Примените характеристики нелинейного усилителя степени (PA) с 50 импеданс сигналу 16-QAM. Загрузите характеристики PA путем установки Method
свойство к 'Lookup table'
. The pa_performance_characteristics
helper function выводит интерполяционную таблицу характеристик эффективности усилителя.
Задайте параметры для порядка модуляции, выборки на символ и входной степени. Создайте случайные данные.
M = 16; % Modulation order sps = 4; % Samples per symbol pindBm = -8; % Input power pin = 10.^((pindBm-30)/10); % power in Watts data = randi([0 (M - 1)],1000,1); refdata = 0:M-1; refconst = qammod(refdata,M,'UnitAveragePower',true); paChar = pa_performance_characteristics();
Создайте безпамятный Системный объект нелинейности, Системного объекта передающего фильтра и Системного объекта сигнализации созвездия. Значения интерполяционной таблицы по умолчанию используются для незапоминающихся Системных объектов нелинейности.
amplifier = comm.MemorylessNonlinearity('Method','Lookup table','Table',paChar,'ReferenceImpedance',50); txfilter = comm.RaisedCosineTransmitFilter('RolloffFactor',0.3, ... 'FilterSpanInSymbols',6,'OutputSamplesPerSymbol',sps,'Gain',sqrt(sps)); constellation = comm.ConstellationDiagram('SamplesPerSymbol',4, ... 'Title','Amplified/Distorted Signal','NumInputPorts',2, ... 'ReferenceConstellation', refconst,'ShowLegend',true, ... 'ChannelNames',{'Filtered signal','Amplified signal'});
Модулируйте случайные данные. Отфильтруйте и примените характеристики нелинейного усилителя к символам модуляции.
modSig = qammod(data,M,'UnitAveragePower',true)*sqrt(pin * amplifier.ReferenceImpedance);
filtSig = txfilter(modSig);
ampSig = amplifier(filtSig);
Вычислите входы и выходного сигналов и сдвиг фазы.
pSig = abs(ampSig).^2 / amplifier.ReferenceImpedance; poutdBm = 10 * log10(pSig) + 30; pfiltSig = abs(filtSig).^2 / amplifier.ReferenceImpedance; simulated_pindBm = 10 * log10(pfiltSig) + 30; phase = rad2deg(angle(ampSig.*conj(filtSig)));
Постройте график характеристик AM/AM, характеристик AM/PM и результатов созвездия.
figure set(gcf,'units','normalized','position',[.25 1/3 .5 1/3]) subplot(1,2,1) plot(simulated_pindBm,poutdBm,'.'); hold on plot(amplifier.Table(:,1),amplifier.Table(:,2),'.','Markersize',15); xlabel('Input Power (dBm)') ylabel('Output Power (dBm)'); grid on; title('AM/AM Characteristics'); leglabel = {'Simulated results','Measurement'}; legend (leglabel,'Location','south'); subplot(1,2,2) plot(simulated_pindBm,phase,'.'); hold on plot(amplifier.Table(:,1),amplifier.Table(:,3),'.','Markersize',15); legend (leglabel,'Location','south'); xlabel('Input Power (dBm)'); ylabel('Output Phase Shift (degrees)'); grid on; title('AM/PM Characteristics');
Для сравнения созвездий нормализуйте усиленный сигнал и отфильтрованный сигнал. Сгенерируйте сигнальное созвездие фильтрованного сигнала и усиленного сигнала. Нелинейные характеристики усилителя вызывают сжатие усиленного сигнального созвездия по сравнению с отфильтрованным созвездием.
filtSig = filtSig/mean(abs(filtSig)); % Normalized filtered signal ampSig = ampSig/mean(abs(ampSig)); % Normalized amplified signal constellation(filtSig,ampSig)
Функция помощника
function paChar = pa_performance_characteristics()
Эксплуатационные спецификации усилителя Doherty на основе LDMOS:
Частота 2110 МГц
Пиковая степень 300 Вт
Небольшой коэффициент усиления сигнала 61 дБ
Каждая строка в HAV08_Table
задает Pin (dBm), коэффициент усиления (dB), сдвиг фазы ( степени), как получено из рисунок Hammi, Oualid, et al. «Оценка модели усилителей степени и количественная оценка интенсивности эффектов памяти с использованием незабываемого метода после компенсации». Транзакции IEEE по теории и методам СВЧ 56.12 (2008): 3170-3179.
HAV08_Table =...
[-35,60.53,0.01;
-34,60.53,0.01;
-33,60.53,0.08;
-32,60.54,0.08;
-31,60.55,0.1;
-30,60.56,0.08;
-29,60.57,0.14;
-28,60.59,0.19;
-27,60.6,0.23;
-26,60.64,0.21;
-25,60.69,0.28;
-24,60.76,0.21;
-23,60.85,0.12;
-22,60.97,0.08;
-21,61.12,-0.13;
-20,61.31,-0.44;
-19,61.52,-0.94;
-18,61.76,-1.59;
-17,62.01,-2.73;
-16,62.25,-4.31;
-15,62.47,-6.85;
-14,62.56,-9.82;
-13,62.47,-12.29;
-12,62.31,-13.82;
-11,62.2,-15.03;
-10,62.15,-16.27;
-9,62,-18.05;
-8,61.53,-20.21;
-7,60.93,-23.38;
-6,60.2,-26.64;
-5,59.38,-28.75];
Преобразуйте второй столбец HAV08_Table из коэффициента усиления в значение Pout для использования безпамятным Системным объектом нелинейности.
paChar = HAV08_Table;
paChar(:,2) = paChar(:,1) + paChar(:,2);
end
Безпамятные нелинейные искажения искажают амплитуду и фазу входного сигнала. Амплитудное искажение является амплитудно-амплитудной модуляцией (AM/AM), и фазовое искажение является амплитудно-фазовой модуляцией (AM/PM). Эти методы модели доступны для симуляции безпамятных нелинейных моделей ухудшения.
Метод модели | Безпамятное нелинейное ухудшение |
---|---|
Кубический полином | Применяется AM/AM и AM/PM |
Гиперболический тангенс | |
Модель Салеха | |
Модель Горбани | |
Измененная модель Раппа | |
Интерполяционная таблица | Применяет нарушение согласно [P в, P, ΔΦ] особенности усилителя, определенные Table свойство |
Смоделированные искажения применяются к искажениям AM/AM и AM/PM по-разному в соответствии с заданным вами методом модели. Модели применяют безпамятное нелинейное ухудшение к входному сигналу путем следования этим шагам.
Умножьте сигнал на входной коэффициент усиления.
Примечание
Можно нормировать сигнал к 1, установив входное масштабирование для обратной амплитуды входного сигнала.
Разделите комплексный сигнал на величину и угловые компоненты. Для реальных входных сигналов мнимый компонент устанавливается в нуль.
Примените искажение AM/AM к величине сигнала, согласно выбранному методу модели, чтобы получить величину выходного сигнала.
Примените искажение AM/PM к фазе сигнала, согласно выбранному методу модели, чтобы получить угол выходного сигнала.
Объедините новую величину и компоненты угла в комплексный сигнал. Затем умножьте результат на выходной коэффициент усиления.
Методы модели применяют искажения AM/AM и AM/PM, как показано на этом рисунке.
Метод интерполяционной таблицы использует интерполяционную таблицу характеристик усилителя степени (PA), заданную как N-на-3 матрица измеренных характеристик PA. Каждая строка имеет вид [P in, P out, В]. P in задает входной сигнал PA в дБм, P out задает выходной сигнал PA в дБм, а Измеренные характеристики PA, заданные Table
свойство используется для вычисления AM/AM (в дБм/дБм) и AM/PM (в град/дБм) нелинейных характеристик обесценения. Системный объект искажает входной сигнал вычисленными значениями AM/AM (в д Бм/д Бм) и AM/PM (в град/д Бм).
Примечание
Определить соответствующий P и ΔΦ оценивает за любой P в значениях вне области значений значений, определенных в Table
свойство, Системный объект применяет линейную экстраполяцию от первых двух или последних двух [P в, P, ΔΦ] строки Table
.
Этот рисунок показывает поведение преобразования AM/PM для методов кубической полиномиальной и гиперболической тангенциальной модели.
Преобразование AM/PM масштабируется линейно с входным значением степени между нижним и верхним пределами входного уровня степени. Вне этой области значений преобразование AM/PM является постоянным при значениях, соответствующих нижнему и верхнему входам степени, которые являются нулем и (AM/PM conversion) × (upper input power limit - lower input power limit), соответственно.
Метод кубической полиномиальной модели использует линейный коэффициент усиления мощности для определения линейного коэффициента полинома третьего порядка и либо входной, либо выходной мощности в дБм для точки точки пересечения третьего порядка (IP3), на один дБ ниже выходной мощности (P1dB) или степени насыщения (Psat) для определения коэффициента третьего порядка Этот рисунок показывает пример графика, сгенерированного при установке Method
свойство к 'Cubic polynomial'
.
Общий вид кубической нелинейности моделирует характеристики AM/AM как
где FAM/AM(|u|)
- амплитуда выходного сигнала, |u| - амплитуда входного сигнала, c 1 - коэффициент линейного члена усиления, а c 3 - коэффициент кубического члена усиления. Результаты для IIP3, OIP3, IP1dB, OP1dB, IPsat и OPsat берутся из [6]. Коэффициентные c 3 значения приведены в этой таблице.
Тип нелинейности | Описание | Уравнение |
---|---|---|
IIP3 | Входной уровень мощности, при котором степень от линейного усиления равна степени от нелинейности третьего порядка | где IIP3 дается в дБм. |
OIP3 | Выход мощности, при котором степень от линейного усиления равна мощности от нелинейности третьего порядка | где OIP3 дается в дБм. |
IP1dB | Входной уровень степени, при котором выходная степень на один дБ меньше, чем степень от линейного усиления | где IP1dB дается в дБм. |
OP1dB | Выход степени на один дБ меньше, чем степень от линейного усиления | где OP1dB задано в дБм, а LGdB - линейный коэффициент усиления в дБ |
IPsat | Входная степень, при которой выходная степень насыщается | где IPsat дается в дБм. |
OPsat | Выходная степень насыщения | где OPsat дается в дБм. |
Этот рисунок показывает поведение AM/AM (выходное напряжение от входного напряжения для искажения AM/AM) и поведение AM/PM (выходная фаза от входного напряжения для искажения AM/PM) для метода модели Салеха.
Параметры AM/AM, αAMAM и βAMAM, используются, чтобы вычислить амплитудное искажение входного сигнала при помощи
где u - величина масштабированного сигнала.
Параметры AM/PM, αAMPM и βAMPM, используются для вычисления фазы искажения входного сигнала при помощи
где u - величина масштабированного сигнала. Параметры α и β для AM/AM и AM/PM аналогично названы, но различны.
Метод модели Горбани применяет искажения AM/AM и AM/PM, как описано в этом разделе.
Параметры AM/AM (x 1, x 2, x 3 и x 4) используются, чтобы вычислить амплитудное искажение входного сигнала при помощи
где u - величина масштабированного сигнала.
Параметры AM/PM (y 1, y 2, y 3 и y 4) используются, чтобы вычислить искажение фазы входного сигнала при помощи
где u - величина масштабированного сигнала.
Модифицированный метод модели Rapp применяет искажения AM/AM и AM/PM, как описано в этом разделе.
Амплитуда и фаза искажение входного сигнала заданы как
где:
g lin равно 10(LinearGain
/20)) и амплитудный коэффициент усиления усилителя.
u - величина сигнала.
S - коэффициент плавности, заданный Smoothness
свойство.
O sat является выходным уровнем насыщения, заданным OutputSaturationLevel
свойство.
A - коэффициент усиления фазы в радианах, заданный PhaseGainRadian
свойство.
B - насыщение фазы, заданная PhaseSaturation
свойство.
q - гладкость фазы, заданная PhaseSmoothness
свойство.
[1] Салех, А.А.М. Частотно-независимые и частотно-зависимые нелинейные модели усилителей TWT. Транзакции IEEE по коммуникациям 29, № 11 (ноябрь 1981): 1715-20. https://doi.org/10.1109/TCOM.1981.1094911.
[2] Горбани, А. и М. Шейхан. «Нелинейности Эффекта усилителей Степени твердого тела (SSPA) на MPSK и передаче сигнала M-QAM». В 1991 году шестая Международная конференция по цифровой обработке сигналов в связи, 193-97, 1991 год.
[3] Rapp, Ch. «Effects of HPA-Nonlinearity on a 4-DPSK/OFDM-Signal for a Digital Sound Broadcasting System». В Трудах Второго Европейского Конф. на Sat. Comm. (ESA SP-332), 179-84. Льеж, Бельгия, 1991. https://elib.dlr.de/33776/.
[4] Choi, C., et.al. «модели искажения RF для симуляции SYS/PHY в диапазоне 60 ГГц». IEEE 802.15-06-0477-01-003c. Ноябрь 2006.
[5] Perahia, E. «Методология оценки TGad». IEEE 802.11-09/0296r16. 20 января 2010 года. https://mentor.ieee.org/802.11/dcn/09/11-09-0296-16-00ad-evaluation-methodology.doc.
[6] Кундерт, Кен. «Точное и быстрое измерение IP2 и IP3.» Сообщество Designer Guide. 22 мая 2002 года.
Указания и ограничения по применению:
Смотрите Системные объекты в Генерации кода MATLAB (MATLAB Coder).
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.