Передайте и получите данные с помощью непрямоугольной 16-ary совокупности в присутствии Гауссова шума. Покажите график рассеивания шумной совокупности и оцените коэффициент ошибок символа (SER) для двух различных отношений сигнал-шум.
Создайте 16-QAM совокупность на основе стандарта V.29 для модемов телефонной линии.
c = [-5 -5i 5 5i -3 -3-3i -3i 3-3i 3 3+3i 3i -3+3i -1 -1i 1 1i]; M = length(c);
Сгенерируйте случайные символы.
data = randi([0 M-1],2000,1);
Модулируйте данные при помощи функции genqammod
. Общая модуляция QAM необходима, потому что пользовательская совокупность не является прямоугольной.
modData = genqammod(data,c);
Передайте сигнал через канал AWGN, имеющий отношение сигнал-шум (SNR) на 20 дБ.
rxSig = awgn(modData,20,'measured');
Отобразите график рассеивания полученного сигнала и ссылочной совокупности, c
.
h = scatterplot(rxSig); hold on scatterplot(c,[],[],'r*',h) grid hold off
Демодулируйте полученный сигнал при помощи функции genqamdemod
. Определите количество ошибок символа и ошибочного отношения символа.
demodData = genqamdemod(rxSig,c); [numErrors,ser] = symerr(data,demodData)
numErrors = 1
ser = 5.0000e-04
Повторите передачу и процесс демодуляции с каналом AWGN, имеющим ОСШ на 10 дБ. Определите коэффициент ошибок символа для уменьшаемого ОСШ. Как ожидалось производительность ухудшается, когда ОСШ уменьшен.
rxSig = awgn(modData,10,'measured');
demodData = genqamdemod(rxSig,c);
[numErrors,ser] = symerr(data,demodData)
numErrors = 462
ser = 0.2310