matlab 16qam误码率图,16qam理论误码率与实际误码率matlab仿真程序.docx

该文档提供了一个MATLAB程序,用于仿真16QAM(16正交幅度调制)的理论误码率与实际误码率。程序首先生成随机数据,然后进行格雷码调制,并在不同信噪比条件下引入高斯白噪声。通过对接收信号的解调和错误计数,计算误码率,最后展示了信噪比对误码率的影响。
摘要由CSDN通过智能技术生成

41528d3028836879cd698677c3999917.gif16qam理论误码率与实际误码率matlab仿真程序.docx

%%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 if data(4*i-1)==0 elseif data(4*i-1)==0 elseif data(4*i-1)==1 elseif data(4*i-1)==1 endelseif data(4*i-3)==0 if data(4*i-1)==0 elseif data(4*i-1)==0 elseif data(4*i-1)==1 elseif data(4*i-1)==1 endelseif data(4*i-3)==1 if data(4*i-1)==0 elseif data(4*i-1)==0 elseif data(4*i-1)==1 elseif data(4*i-1)==1 endelseif data(4*i-3)==1 if data(4*i-1)==0 elseif data(4*i-1)==0 elseif data(4*i-1)==1 elseif data(4*i-1)==1 endendend SNR_dB = 1:10;%%% 信噪比 dB 形式 SNR = 10.^(SNR_dB/10);%% 信噪比转化为线性值 for loop= 1:10sigma = 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:nsymbolif s_receive1(k)>2 data_demod1(k) = 0;data_demod2(k) = 0;if s_receive2(k)>2data_demod3(k) = 0;data_demod4(k) = 0;elseif s_receive2(k)>0 data_demod4(k) = 0;elseif s_receive2(k)>0 data_demod2(k) = 1;if s_receive2(k)>2data_demod3(k) = 0;data_demod4(k) = 0;elseif s_receive2(k)>0 data_demod4(k) = 0;elseif s_receive2(k)>0 && s_receive2(k)-2 && s_receive2(k)<0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值