Grizzly 0 25 января, 2018 Опубликовано 25 января, 2018 · Жалоба Подскажите, пожалуйста, как правильно нормировать созвездие 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 6 26 января, 2018 Опубликовано 26 января, 2018 · Жалоба UPD2.: Нашел примерчик в Simulink, где используется, помимо АРУ, адаптивный фильтр, работающий по преамбуле, для более точной подстройки: https://www.mathworks.com/help/hdlcoder/exa...d-receiver.html АРУ, адаптивные фильтры тоже имеют смещение оценки в зависимости от SNR, что прекрасно видно у них по итоговому созвездию, можно внести поправочку в референсный сигнал, чтобы при каком-то наихудшем рабочем SNR смещения не было. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Grizzly 0 26 января, 2018 Опубликовано 26 января, 2018 · Жалоба АРУ, адаптивные фильтры тоже имеют смещение оценки в зависимости от 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))) можно пренебречь. Теперь буду уже непосредственно с АРУ экспериментировать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 6 31 января, 2018 Опубликовано 31 января, 2018 · Жалоба Теперь буду уже непосредственно с АРУ экспериментировать. Есть простой универсальный трюк, позволяющий отделять различные воздействия друг от друга, например, АРУ берётся с одного приёмника, который работает по сильно зашумлённому сигналу, и подаётся на вторую копию приёмника, которая работает по тому же, но чистому сигналу, чтобы на созвездии отделить смещение от шума. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться