16QAM理论误码率与实际误码率MATLAB仿真程序

%%16QAM
%%等效基带调制
clc;
clear all;
close all;%%关闭所有窗口,比如之前画的图
nsymbol = 10000;%%每种信噪比下符号数的发送符号数,10^6个数
errornumber = zeros(1,10);
errorratio = zeros(1,10);
data = randi([0,1],1,4*nsymbol);%%产生1行,4*nsymbol列均匀分布的随机数
data_mod1 = zeros(1,nsymbol);%%各参量初始化
data_mod2 = zeros(1,nsymbol);
data_demod1 = zeros(1,nsymbol);
data_demod2 = zeros(1,nsymbol);
data_demod3 = zeros(1,nsymbol);
data_demod4 = zeros(1,nsymbol);
s_receive1 = zeros(1,nsymbol);
s_receive2 = zeros(1,nsymbol);
for i = 1:nsymbol  %%格雷码调制到星座图的映射
    if data(4*i-3)==0 && data(4*i-2)==0
        data_mod1(i) = 3;
        if data(4*i-1)==0 && data(4*i)==0
            data_mod2(i) = 3;
        elseif data(4*i-1)==0 && data(4*i)==1
            data_mod2(i) = 1;
        elseif data(4*i-1)==1 && data(4*i)==1
            data_mod2(i) = -1;
        elseif data(4*i-1)==1 && data(4*i)==0
            data_mod2(i) = -3;
        end
精神专科
    elseif data(4*i-3)==0 && data(4*i-2)==1
        data_mod1(i) = 1;
        if data(4*i-1)==0 && data(4*i)==0
            data_mod2(i) = 3;
        elseif data(4*i-1)==0 && data(4*i)==1
            data_mod2(i) = 1;
        elseif data(4*i-1)==1 && data(4*i)==1
            data_mod2(i) = -1;
        elseif data(4*i-1)==1 && data(4*i)==0
            data_mod2(i) = -3;国家统一法律职业资格考试实施办法
        end
    elseif data(4*i-3)==1 && data(4*i-2)==1
        data_mod1(i) = -1;
        if data(4*i-1)==0 && data(4*i)==0
            data_mod2(i) = 3;
        elseif data(4*i-1)==0 && data(4*i)==1
            data_mod2(i) = 1;
        elseif data(4*i-1)==1 && data(4*i)==1
关于文学的资料
            data_mod2(i) = -1;
        elseif data(4*i-1)==1 && data(4*i)==0
            data_mod2(i) = -3;
        end
    elseif data(4*i-3)==1 && data(4*i-2)==0
        data_mod1(i) = -3;
        if data(4*i-1)==0 && data(4*i)==0
            data_mod2(i) = 3;
        elseif data(4*i-1)==0 && data(4*i)==1
            data_mod2(i) = 1;
        elseif data(4*i-1)==1 && data(4*i)==1
坦克巷战            data_mod2(i) = -1;
        elseif data(4*i-1)==1 && data(4*i)==0
            data_mod2(i) = -3;
        end
    end
 
end
SNR_dB = 1:10;%%%信噪比dB形式
SNR = 10.^(SNR_dB/10);%%信噪比转化为线性值
for loop= 1:10
    sigma = sqrt(5/SNR(loop));
    s_receive1 = data_mod1 + sigma * randn(1,length(data_mod1));
    s_receive2 = data_mod2 + sigma * randn(1,length(data_mod2));%%??
    for k = 1:nsymbol
        if s_receive1(k)>2
            data_demod1(k) = 0;
            data_demod2(k) = 0;
            if s_receive2(k)>2
                data_demod3(k) = 0;
                data_demod4(k) = 0;
            elseif s_receive2(k)>0 && s_receive2(k)<2
金属氢
                data_demod3(k) = 0;
                data_demod4(k) = 1;
            elseif s_receive2(k)>-2 && s_receive2(k)<0
                data_demod3(k) = 1;
                data_demod4(k) = 1;
            elseif s_receive2(k)<-2
                data_demod3(k) = 1;
                data_demod4(k) = 0;
            end
        elseif s_receive1(k)>0 && s_receive1(k)<2
            data_demod1(k) = 0;
            data_demod2(k) = 1;
            if s_receive2(k)>2
                data_demod3(k) = 0;
                data_demod4(k) = 0;
            elseif s_receive2(k)>0 && s_receive2(k)<2
                data_demod3(k) = 0;
                data_demod4(k) = 1;
            elseif s_receive2(k)>-2 &&s_receive2(k)<0
                data_demod3(k) = 1;
                data_demod4(k) = 1;
            elseif s_receive2(k)<-2
                data_demod3(k) = 1;
                data_demod4(k) = 0;
            end
        elseif s_receive1(k)<0 && s_receive1(k)>-2
            data_demod1(k) = 1;
            data_demod2(k) = 1;
            if s_receive2(k)>2
                data_demod3(k) = 0;
                data_demod4(k) = 0;
边界元法            elseif s_receive2(k)>0 && s_receive2(k)<2
                data_demod3(k) = 0;
                data_demod4(k) = 1;
            elseif s_receive2(k)>-2 && s_receive2(k)<0
                data_demod3(k) = 1;
                data_demod4(k) = 1;
            elseif s_receive2(k)<-2
                data_demod3(k) = 1;
                data_demod4(k) = 0;
            end
        elseif s_receive1(k)<-2
            data_demod1(k) = 1;
            data_demod2(k) = 0;
            if s_receive2(k)>2
                data_demod3(k) = 0;

本文发布于:2024-09-22 06:47:30,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/294554.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:调制   符号   资格考试   职业   统一   法律
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议