BER результат для QAM модуляции Matlab

Я пытаюсь провести двоичный вектор через модулятор 16-QAM, канал AWGN, демодулятор и в конце измерить BER. по какой-то причине он продолжает давать мне BER=0, даже после того, как я изменю длину вектора. (Я должен был сделать это с каналом Рэлея позже, но я еще не там).
когда я делаю то же самое, но без модулятора я получаю BER!=0 что хорошо
что мне здесь не хватает?
вот мой код:

Sig = randi([0 1],1,1E5);
SigMod=qammod(Sig,16);
y=awgn(SigMod,50);
SigDemod=qamdemod(y,16);
z=SigDemod>0;
BER = biterr(Sig,z) 

2 ответа

Решение

Второй вход в awgn SNR в дБ. В вашем примере SNR составляет 50 дБ, что дает очень маленький BER.

Попробуйте уменьшить SNR, например, до 5 дБ, и вы увидите некоторые битовые ошибки.

Попробуйте увидеть этот пример в Matlab:

SNR = 3; frameLen = 100;

x = randi ([0 1], frameLen, 1);

y = awgn (2 * x-1, SNR);

z = y> 0;

битерр (х, я)

Другие вопросы по тегам