реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> АРУ для M-QAM старших порядков
Grizzzly
сообщение Jan 25 2018, 19:09
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 533
Регистрация: 22-02-13
Пользователь №: 75 748



Подскажите, пожалуйста, как правильно нормировать созвездие 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
Go to the top of the page
 
+Quote Post
petrov
сообщение Jan 26 2018, 10:43
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 181
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



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


АРУ, адаптивные фильтры тоже имеют смещение оценки в зависимости от SNR, что прекрасно видно у них по итоговому созвездию, можно внести поправочку в референсный сигнал, чтобы при каком-то наихудшем рабочем SNR смещения не было.
Go to the top of the page
 
+Quote Post
Grizzzly
сообщение Jan 26 2018, 11:36
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 533
Регистрация: 22-02-13
Пользователь №: 75 748



Цитата(petrov @ Jan 26 2018, 13:43) *
АРУ, адаптивные фильтры тоже имеют смещение оценки в зависимости от 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))) можно пренебречь. Теперь буду уже непосредственно с АРУ экспериментировать.
Go to the top of the page
 
+Quote Post
petrov
сообщение Jan 31 2018, 14:06
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 181
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Grizzzly @ Jan 26 2018, 14:36) *
Теперь буду уже непосредственно с АРУ экспериментировать.


Есть простой универсальный трюк, позволяющий отделять различные воздействия друг от друга, например, АРУ берётся с одного приёмника, который работает по сильно зашумлённому сигналу, и подаётся на вторую копию приёмника, которая работает по тому же, но чистому сигналу, чтобы на созвездии отделить смещение от шума.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd May 2018 - 23:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01006 секунд с 7
ELECTRONIX ©2004-2016