QAM仿真代码(matlab)_第1页
QAM仿真代码(matlab)_第2页
QAM仿真代码(matlab)_第3页
QAM仿真代码(matlab)_第4页
QAM仿真代码(matlab)_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、% 16QAM 系统仿真function ber_AWGN,ber_Ray = M16QAM()EbN0dB=1:3:30。EbN0dB1=1:10。N=4*100000 。for ii=1:length(EbN0dB)sigma2(ii)=2.5/(2*4*(10A(EbN0dB(ii)/10)。sigma21(ii)=2.5/(2*4*(10A(EbN0dB1(ii)/10)。bits=randint(1,N) 。%调制s=M16QAM_modulate(bits,length(bits(:) 。% Rayleign信道干扰noise=sqrt(sigma2(ii)*( randn(1,N

2、/4)+ 1i*randn(1,N/4) )。h= sqrt(0.5)*(randn(1,N/4) + 1i*randn(1,N/4) ) 。receiver=s.*h+noise 。 %Rayleign 衰减信道% 高斯信道干扰noise1=sqrt(sigma21(ii)*( randn(1,N/4)+ 1i*randn(1,N/4) )。receiver1=s+noise1 。%高斯信道% 信道均衡receiver = receiver./h 。%解调并计算误码率Rayleign 信道demodata = M16QAM_demodulate( receiver,length(receiv

3、er(:) ) 。errCount=sum(abs(bits-demodata) 。ber_Ray(ii)=errCount/N 。%解调并计算误码率高斯信道demodata = M16QAM_demodulate( receiver1,length(receiver1(:) )。errCount=sum(abs(bits-demodata) 。ber_AWGN(ii)=errCount/N 。end end% 16QAM 调制function s = M16QAM_modulate( bits,N) ii=0。for i=1:4:Nii=ii+1 。if bits(i)=0&&

4、;bits(i+1)=0&&bits(i+2)=0&&bits(i+3)=0 s(ii)=sqrt(2)/2*exp(1i*pi/4) 。elseif bits(i)=1&&bits(i+1)=0&&bits(i+2)=0&&bits(i+3)=0 s(ii)=sqrt(2)/2*exp(1i*3*pi/4) 。elseif bits(i)=1&&bits(i+1)=0&&bits(i+2)=1&&bits(i+3)=0 s(ii)=sqrt(2)/2*exp(1i*

5、5*pi/4) 。elseif bits(i)=0&&bits(i+1)=0&&bits(i+2)=1&&bits(i+3)=0 s(ii)=sqrt(2)/2*exp(1i*7*pi/4) 。elseif bits(i)=0&&bits(i+1)=1&&bits(i+2)=0&&bits(i+3)=0 s(ii)=sqrt(10)/2*exp(1i*atan(1/3) 。elseif bits(i)=0&&bits(i+1)=0&&bits(i+2)=0&&

6、amp;bits(i+3)=1 s(ii)=sqrt(10)/2*exp(1i*atan(3) 。elseif bits(i)=1&&bits(i+1)=0&&bits(i+2)=0&&bits(i+3)=1 s(ii)=sqrt(10)/2*exp(1i*(atan(1/3)+pi/2) 。elseif bits(i)=1&&bits(i+1)=1&&bits(i+2)=0&&bits(i+3)=0 s(ii)=sqrt(10)/2*exp(1i*(pi-atan(1/3) 。elseif bit

7、s(i)=1&&bits(i+1)=1&&bits(i+2)=1&&bits(i+3)=0 s(ii)=sqrt(10)/2*exp(1i*(atan(1/3)+pi) 。elseif bits(i)=1&&bits(i+1)=0&&bits(i+2)=1&&bits(i+3)=1 s(ii)=sqrt(10)/2*exp(1i*(3*pi/2-atan(1/3)。elseif bits(i)=0&&bits(i+1)=0&&bits(i+2)=1&&

8、bits(i+3)=1 s(ii)=sqrt(10)/2*exp(1i*(atan(1/3)+3*pi/2)。elseif bits(i)=0&&bits(i+1)=1&&bits(i+2)=1&&bits(i+3)=0 s(ii)=sqrt(10)/2*exp(1i*(2*pi-atan(1/3)。elseif bits(i)=0&&bits(i+1)=1&&bits(i+2)=0&&bits(i+3)=1 s(ii)=sqrt(2)*3/2*exp(1i*pi/4) 。elseif bits(i

9、)=1&&bits(i+1)=1&&bits(i+2)=0&&bits(i+3)=1 s(ii)=sqrt(2)*3/2*exp(1i*3*pi/4)。elseif bits(i)=1&&bits(i+1)=1&&bits(i+2)=1&&bits(i+3)=1 s(ii)=sqrt(2)*3/2*exp(1i*5*pi/4)。elseif bits(i)=0&&bits(i+1)=1&&bits(i+2)=1&&bits(i+3)=1 s(ii)=s

10、qrt(2)*3/2*exp(1i*7*pi/4)。endendend% 16 QAM 解调function demodata = M16QAM_demodulate( receiver ,N)A=0 1 0 1。 -1 0 0 1。 -1 0 -1 0。 0 1 -1 0。1 inf 0 1 。 0 1 1 inf。 -1 0 1 inf。 -inf -1 0 1 。-inf -1 -1 0。 -1 0 -inf -1 。 0 1 -inf -1 。 1 inf -1 0。1 inf 1 inf。 -inf -1 1 inf。 -inf -1 -inf -1 。 1 inf -inf -1

11、。for k=1:Nif (real(receiver(k)>=A(1,1)&&(real(receiver(k)<A(1,2)&&.(imag(receiver(k)>=A(1,3)&&(imag(receiver(k)<A(1,4)demodata(k*4-3)=0 。demodata(k*4-2)=0 。demodata(k*4-1)=0 。demodata(k*4)=0 。elseif (real(receiver(k)>=A(2,1)&&(real(receiver(k)<A(2,2)

12、.&&(imag(receiver(k)>=A(2,3)&&(imag(receiver(k)<A(2,4) demodata(k*4-3)=1 。demodata(k*4-2)=0 。demodata(k*4-1)=0 。demodata(k*4)=0 。elseif (real(receiver(k)>=A(3,1)&&(real(receiver(k)<A(3,2).&&(imag(receiver(k)>=A(3,3)&&(imag(receiver(k)<A(3,4)d

13、emodata(k*4-3)=1 。demodata(k*4-2)=0 。demodata(k*4-1)=1 。demodata(k*4)=0 。elseif (real(receiver(k)>=A(4,1)&&(real(receiver(k)<A(4,2).&&(imag(receiver(k)>=A(4,3)&&(imag(receiver(k)<A(4,4)demodata(k*4-3)=0 。demodata(k*4-2)=0 。demodata(k*4-1)=1 。demodata(k*4)=0 。elsei

14、f (real(receiver(k)>=A(5,1)&&(real(receiver(k)<A(5,2).&&(imag(receiver(k)>=A(5,3)&&(imag(receiver(k)<A(5,4)demodata(k*4-3)=0 。demodata(k*4-2)=1 。demodata(k*4-1)=0 。demodata(k*4)=0 。elseif (real(receiver(k)>=A(6,1)&&(real(receiver(k)<A(6,2).&&

15、(imag(receiver(k)>=A(6,3)&&(imag(receiver(k)<A(6,4)demodata(k*4-3)=0 。demodata(k*4-2)=0 。demodata(k*4-1)=0 。demodata(k*4)=1 。elseif (real(receiver(k)>=A(7,1)&&(real(receiver(k)<A(7,2).&&(imag(receiver(k)>=A(7,3)&&(imag(receiver(k)<A(7,4)demodata(k*4-

16、3)=1 。demodata(k*4-2)=0 。demodata(k*4-1)=0 。demodata(k*4)=1 。elseif (real(receiver(k)>=A(8,1)&&(real(receiver(k)<A(8,2).&&(imag(receiver(k)>=A(8,3)&&(imag(receiver(k)<A(8,4)demodata(k*4-3)=1 。demodata(k*4-2)=1 。demodata(k*4-1)=0 。demodata(k*4)=0 。elseif (real(rece

17、iver(k)>=A(9,1)&&(real(receiver(k)<A(9,2).&&(imag(receiver(k)>=A(9,3)&&(imag(receiver(k)<A(9,4) demodata(k*4-3)=1 。demodata(k*4-2)=1 。demodata(k*4-1)=1 。demodata(k*4)=0 。elseif (real(receiver(k)>=A(10,1)&&(real(receiver(k)<A(10,2).&&(imag(rec

18、eiver(k)>=A(10,3)&&(imag(receiver(k)<A(10,4)demodata(k*4-3)=1 。demodata(k*4-2)=0 。demodata(k*4-1)=1 。demodata(k*4)=1 。elseif (real(receiver(k)>=A(11,1)&&(real(receiver(k)<A(11,2).&&(imag(receiver(k)>=A(11,3)&&(imag(receiver(k)<A(11,4)demodata(k*4-3)=

19、0 。demodata(k*4-2)=0 。demodata(k*4-1)=1 。demodata(k*4)=1 。elseif (real(receiver(k)>=A(12,1)&&(real(receiver(k)<A(12,2).&&(imag(receiver(k)>=A(12,3)&&(imag(receiver(k)<A(12,4)demodata(k*4-3)=0 。demodata(k*4-2)=1 。demodata(k*4-1)=1 。demodata(k*4)=0 。elseif (real(receiver(k)>=A(13,1)&&(real(receiver(k)<A(13,2).&&(imag(receiver(k)>=A(13,3)&&(imag(receiver(k)<A(13,4)demodata(k*4-3)=0 。demodata(k*4-2)=1 。demodata(k*4-1)=0 。demodata(k*4)=1 。elseif (real(receiver(k)>=A(1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论