⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modem.asv

📁 数字通信中的4QAM调制下的解调程序
💻 ASV
字号:
%4QAM Ber simulink

Ber = zeros(1,10);

%simulink from 1dB to 10dB for Eb/N0
for i =1:10
    %EbN0 = idB
    EbN0 = i/2;%unit is dB
    %get SNR in ratio unit, for BPSK, without channel code & alpha index, SNR = EbN0
    SNR = 10^(EbN0/10);
    %calculate AWGN sigma^2
    sigma2 = 1/(2*SNR);
    sigma = sigma2^0.5;
    Error_bit = 0;
    iter_No = 0;%iterative No
    %start to simulink
    while (1)
        %produce random bit
        x = (sign(randn(1,100))+1)/2; % random bits
        x1 = x(1:2:99);%save x1,x3,x5,...x99
        x2 = x(2:2:100);%save x2,x4,x6...x100
        real = x2.*2 -1;
        %add AWGN noise to real
        reak = 
        img = x1.*2 -1;
        %add AWGN noise to img
        
        %4QAM 
        y = real + img*i;
        z = y + sigma*randn(1,100);%add AWGN
        %demodulation
        yo = zeros(1,100);
        yo = z>0;
        %record error demodulated bit No, iterative No
        iter_No = iter_No +1;
        Error_bit = Error_bit + size(find(yo-x),2);
        if (Error_bit >= 100)
            break;
        end;
    end;
    %BER calculate
    Ber(i) = Error_bit/(iter_No*100);
end;
figure, semilogy(Ber);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -