云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 16QAM理论误码率与实际误码率MATLAB仿真程序

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

  • 62 次阅读
  • 3 次下载
  • 2025/5/1 7:32:36

%QAM %%等效基带调制 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; 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 end

if (data_demod1(k) ~= data(k*4-3)) || (data_demod2(k) ~= data(k*4-2))||(data_demod3(k) ~= data(k*4-1)) || (data_demod4(k) ~= data(k*4))

errornumber(loop) = errornumber(loop) + 1; end end

errorratio(loop) = errornumber(loop)/nsymbol; end

t = 0.75*erfc(sqrt(3*SNR/30));

ser_theory = 1-(1-t).^2;%理论误码率,注意Q函数和误差函数的对应关系 semilogy(SNR_dB,errorratio,'-k*',SNR_dB,ser_theory,'-ro'); title('16QAM信号在AWGN信道下的性能(格雷码)'); xlabel('信噪比/dB');ylabel('误码率'); legend('误码率','理论误码率'); grid on;%%坐标线

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

%QAM %%等效基带调制 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,nsymb

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com