网站大量收购独家精品文档,联系QQ:2885784924

QPSK和16QAM信号通过AWGN信道的误比特率.doc

QPSK和16QAM信号通过AWGN信道的误比特率.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%

%本程序用于仿真QPSK,16QAM,通过AWGN信道的BER随SNR的变化规律。

%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

clearall;

clc

M_4psk=4;%4psk的进制数

k_4psk=log2(M_4psk);%4psk的一个符号包含的比特数

M_16qam=16;%16qam的进制数

k_16qam=log2(M_16qam);%16qam一个符号包含的比特数

NumSymbols=10^6;%定义要发送的比特数

rngdefault%使用默认的随机数生成器

dataIn=randi([01],NumSymbols,1);%生成二进制发送数据

dataInMatrix_4psk=reshape(dataIn,length(dataIn)/2,2);%将发送二进制数据整理成两个一行,准备进行进制转换

dataSymbolsIn_4psk=bi2de(dataInMatrix_4psk);%转换成十进制

dataInMatrix_16qam=reshape(dataIn,length(dataIn)/4,4);%将发送二进制数据整理成四个一行,准备进行进制转换

dataSymbolsIn_16qam=bi2de(dataInMatrix_16qam);%转换成十进制

dataModG_4psk=pskmod(dataSymbolsIn_4psk,M_4psk,0,gray);%4psk调制以及格雷码编码

dataModG_16qam=qammod(dataSymbolsIn_16qam,M_16qam,0,gray);%16qam调制以及格雷码编码

EbNo=[-2:2:15];%设置SNR范围

berG_4psk=zeros(1,length(EbNo));%定义4psk误码率数组

berG_16qam=zeros(1,length(EbNo));%定义16qam误码率数组

forindex=1:length(EbNo)

%计算以db表示的SNR

snr_4psk=EbNo(index)+10*log10(k_4psk);

snr_16qam=EbNo(index)+10*log10(k_16qam);

%信号通过AWGN信道

receivedSignalG_4psk=awgn(dataModG_4psk,snr_4psk,measured);

receivedSignalG_16qam=awgn(dataModG_16qam,snr_16qam,measured);

%解调以及格雷码解码

dataSymbolsOutG_4psk=pskdemod(receivedSignalG_4psk,M_4psk,0,gray);

dataSymbolsOutG_16qam=qamdemod(receivedSignalG_16qam,M_16qam,0,gray);

dataOutMatrixG_4psk=de2bi(dataSymbolsOutG_4psk,k_4psk);%十进制转二进制,准备计算BER

dataOutG_4psk=dataOutMatrixG_4psk(:);%将数据转化成一维向量

dataOutMatrixG_16qam=de2bi(dataSymbolsOutG_16qam,k_16qam);%十进制转二进制,准备计算BER

dataOutG_16qam=dataOutMatrixG_16qam(:);%将数据转化成一维向量

[numErrorsG_4psk,berG_4psk(index)]=biterr(dataIn,dataOutG_4psk);%计算4psk误码率

[numErrorsG_16qam,berG_16qam(i

文档评论(0)

180****2140 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档