Перейти к содержанию
    

АРУ для M-QAM старших порядков

Подскажите, пожалуйста, как правильно нормировать созвездие QAM на приемной стороне? Допустим, передатчик формирует сигнал со средней мощностью созвездия, равной 1. АРУ работает со смесью сигнала и шума. Получается, что на входе мощность (1+10^(-SNR/10)). То есть нужно еще оценивать отношение С/Ш, чтобы домножать созвездие для принятия решения? Ведь для малых SNR без этого опорное и принятое созвездия будут существенно отличаться по средней мощности.

 

UPD.: Нашел, как считают бины в созвездии: https://ecommons.usask.ca/bitstream/handle/...MQAM_Thesis.pdf. П. 4.5.1 и 4.5.2.

 

UPD2.: Нашел примерчик в Simulink, где используется, помимо АРУ, адаптивный фильтр, работающий по преамбуле, для более точной подстройки: https://www.mathworks.com/help/hdlcoder/exa...d-receiver.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

UPD2.: Нашел примерчик в Simulink, где используется, помимо АРУ, адаптивный фильтр, работающий по преамбуле, для более точной подстройки: https://www.mathworks.com/help/hdlcoder/exa...d-receiver.html

 

АРУ, адаптивные фильтры тоже имеют смещение оценки в зависимости от SNR, что прекрасно видно у них по итоговому созвездию, можно внести поправочку в референсный сигнал, чтобы при каком-то наихудшем рабочем SNR смещения не было.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

АРУ, адаптивные фильтры тоже имеют смещение оценки в зависимости от SNR, что прекрасно видно у них по итоговому созвездию, можно внести поправочку в референсный сигнал, чтобы при каком-то наихудшем рабочем SNR смещения не было.

Спасибо. Попробую.

Сейчас замоделировал в MATLAB простенький пример анализа помехоустойчивости. Опорные созвездия имеют расстояние 2, в канале передается сигнал, средняя мощность которого равна 1. Для этого есть коэффициент scale. Перед демодуляцией в первом случае я увеличиваю мощность сигнала с учетом SNR, чтобы вписать его в опорное созвездие. Во втором - нет. Мне казалось, что будут результаты хуже, а они почти совпадают. Видимо, при малых SNR и так BER большой, а при больших эта поправка настолько мала, что соизмерима с дисперсией ошибки при генерации белого шума.

 

N = 10000;

M = 16;
hMod = comm.RectangularQAMModulator('ModulationOrder',M);
hDemod = comm.RectangularQAMDemodulator('ModulationOrder',M);

const = step(hMod,(0:M-1)');
scale = modnorm(const, 'avpow', 1);

EbN0 = 5;
SNR = EbN0 + 10*log10(log2(M));

dataIn = randi([0 M-1],N,1);
txSig = step(hMod,dataIn);
txSig = txSig*scale;

rxSig = awgn(txSig,SNR);
rxSig = rxSig/std(rxSig);

rxSig1 = rxSig/scale*sqrt((1+10^(-SNR/10)));
dataOut1 = step(hDemod,rxSig1);

rxSig2 = rxSig/scale;
dataOut2 = step(hDemod,rxSig2);

bi = de2bi(dataIn); % input bits
bi = reshape(bi',1,N*log2(M));

bo1 = de2bi(dataOut1); % received bits
bo1 = reshape(bo1',1,N*log2(M));
bo2 = de2bi(dataOut2); % received bits
bo2 = reshape(bo2',1,N*log2(M));

sum(abs(rxSig1).^2)/length(rxSig1)
sum(abs(rxSig2).^2)/length(rxSig2)

BER1 = sum(xor(bi,bo1))/(N*log2(M))
BER2 = sum(xor(bi,bo2))/(N*log2(M))

 

UPD.: Разобрался. Построил scatterplot при отсутствии шума для разных коэффициентов, на которые умножается принятый сигнал. Посмотрел для разных М, с какого значения начинается ошибка в виде полки. Действительно, sqrt((1+10^(-SNR/10))) можно пренебречь. Теперь буду уже непосредственно с АРУ экспериментировать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Теперь буду уже непосредственно с АРУ экспериментировать.

 

Есть простой универсальный трюк, позволяющий отделять различные воздействия друг от друга, например, АРУ берётся с одного приёмника, который работает по сильно зашумлённому сигналу, и подаётся на вторую копию приёмника, которая работает по тому же, но чистому сигналу, чтобы на созвездии отделить смещение от шума.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...