Передача xQAM с аддитивным белым гауссовским шумом
Чтобы смоделировать передачу QPSK // 16QAM // 64QAM // 256QAM с белым аддитивным гауссовским шумом и вывести полученную диаграмму созвездия, можно использовать следующий код
# ---------------------------------------------------- # --- Передатчик # ---------------------------------------------------- using DigitalComm using Plots # --- Параметры snr = 20; mcs = 16; nbBits = 1024* Int(log2(mcs)); # --- Генерация двоичной последовательности bitSeq = genBitSequence(nbBits); # --- QPSK-сопоставление qamSeq = bitMappingQAM(mcs,bitSeq); # ---------------------------------------------------- # --- Канал # ---------------------------------------------------- # --- AWGN # Теоретическая мощность равна 1 (нормализованное созвездие) qamNoise, = addNoise(qamSeq,snr,1); # ---------------------------------------------------- # --- Этап Rx: SRRC # ---------------------------------------------------- # --- Двоичный блок распаковки bitDec = bitDemappingQAM(mcs,qamNoise); # --- Измерение BER ber = sum(xor.(bitDec,bitSeq)) /length(bitSeq); # --- Отображение созвездия plt = scatter(real(qamNoise),imag(qamNoise),label="Noisy"); scatter!(plt,real(qamSeq),imag(qamSeq),label="Ideal"); xlabel!("Real part"); ylabel!("Imag part"); display(plt);
Строит диаграмму принятого созвездия, подвергнутого воздействию шума (здесь используется SNR 20 дБ)