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

上传人:ni****g 文档编号:498016812 上传时间:2024-01-17 格式:DOCX 页数:7 大小:9.68KB
返回 下载 相关 举报
理论误码率与实际误码率仿真程序_第1页
第1页 / 共7页
理论误码率与实际误码率仿真程序_第2页
第2页 / 共7页
理论误码率与实际误码率仿真程序_第3页
第3页 / 共7页
理论误码率与实际误码率仿真程序_第4页
第4页 / 共7页
理论误码率与实际误码率仿真程序_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《理论误码率与实际误码率仿真程序》由会员分享,可在线阅读,更多相关《理论误码率与实际误码率仿真程序(7页珍藏版)》请在金锄头文库上搜索。

1、%16QAM%等效基带调制clc;clear all;close all;%关闭所有窗口,例如之前画旳图nsymbol = 10000;%每种信噪比下符号数旳发送符号数,106个数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_demo

2、d2 = 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 & d

3、ata(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; el

4、seif 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)

5、=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 d

6、ata(4*i-1)=1 & data(4*i)=0 data_mod2(i) = -3; end end endSNR_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_rece

7、ive1(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 & s_receive2(k)0 data_demod3(k) = 1; data_demod4(k) = 1; elseif s_receive2(k)0 & s_receive1(k)2 data_demod3(k) = 0; data_demod4(k) = 0; elseif s_receive2

8、(k)0 & 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) = 1; if s_receive2(k)2 data_demod3(k) = 0; data_demod4(k) = 0; elseif s_receive2(k)0 & s_receive

9、2(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_demod3(k) = 0; data_demod4(k) = 0; elseif s_receive2(k)0 & 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)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号