ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:172.58KB ,
资源ID:11122551      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11122551.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(通信原理实验QPSK及汉明码纠错.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

通信原理实验QPSK及汉明码纠错.docx

1、通信原理实验QPSK及汉明码纠错通信原理实验QPSK及汉明码纠错实验报告 QPSK 通信系统的Monte Carlo 仿真 马涛、米廷振 一、实验目的 1. 提高独立学习的能力 2. 培养发现问题,解决问题,分析问题的能力 3. 学习 Matlab 的使用 4. 掌握 4PSK 通信系统的Monte Carlo 仿真方法 5. 掌握 4PSK 通信系统的组成原理 6. 比较编码信号与未编码信号在随机信道中的传输,加深对纠错编码原理的理解。 二、实验原理 1、调制解调原理: 4PSK将四进制符号映射到四种相位,利用相位传递信息。 (1)调制 经变换后可发现一个相位调制信号可以看作两个正交载波Sm

2、c和Sms的矢量和,起幅度取决于在每个信号区间内的相位。数字相位调 制信号在几何上可用Smc和Sms的二维向量来表示。 在AWGN 信道中,在一个区间内接受到的带通信号可以表示为 r(t) = um (t)+ n(t) = um (t)+ nc (t)cos(2fct)? ns (t)sin(2fct) =Smc cos(2fct)-Sms sin(2fct) + nc (t)cos(2fct)? ns (t)sin(2fct) =rc cos(2fct)-rs sin(2fct) r(t)可用二维向量rc,rs表示 (2)解调 有两种方法: 最大投影点准则进行判决:将接收到的信号向量r 投射

3、到M 个可能的传输信号向量 sm 之一上去,并选取对应与最大投影的向量; 最小距离法:分别计算信号到星座图上符号间的距离选取最小距离对应的符号。 2、 信道纠错编码 由发送端的信道编码器在信息码元序列中增加一些监督码元。这些监督码元和信码之间有一定的关系,使接收端可以利用这种关系由信道译码器来发现或纠正可能存在的错码。 汉明码: 发送端按照规定,计算出监督位S1 S2 S3的数值。S1 S2 S3 的值最终与错码位置的对应。 接收端收到每个码组后,先按式(8,2),(8,4)计算出S1 、S2 和S3 ,再按表 8-2 判断错码情况。按上述方法构造的码称为汉明码。表8-2 中所列的(7,4)汉

4、明码的 最小码距d0 ,3,因此,这种码能纠正一个错码或检测两个错码。 三、系统框图 (一)未加信道纠错编码的4PSK 调制通信系统 (二)信道纠错编码(7,4)汉明码+4PSK 调制的通信系统 四、实验过程 (一)未加信道纠错编码的4PSK 调制通信系统 1.实验程序: 主程序(main) clc N=100;%码元长度 sigma2=1; s=source(2*N);%产生信源bit序列,每个码元由2bit构成,故二进制序列长度为2*N nc,ns=nr(sigma2,N);%nr(eb,snr_db,n) subplot(2,2,1);stem(s,.);axis(0,2*N,0,1.5

5、); mc,ms=psk(s);%调制 rc=mc+nc; rs=ms+ns; subplot(2,2,2);stem(rc,rs,.); r=ipsk(rc,rs);%最大投影法解调 subplot(2,2,3);stem(r,.);axis(0,2*N,0,1.5); pb,pB=pe(s,r)%pb,pB分别为误比特率和误码率 rdis=ipskdis(rc,rs);%最小距离法解调 subplot(2,2,4);stem(rdis,.);axis(0,2*N,0,1.5); pbdis,pBdis=pe(s,rdis) %pbdis,pBdis分别为误比特率和误码率 子程序: (1)信

6、源(source) function s=source(N) s=rand(1,N);%产生二进制序列 for i=1:N if s(i)=0.5 s(i)=1; else s(i)=0; end end (2)噪声(nr) functionnc,ns=nr(sigma2,n) %噪声 sigma=sqrt(sigma2); for i=1:n u=rand; z=sigma*sqrt(2*log10(1/(1-u); u=rand; nc(i)=z*cos(2*pi*u); ns(i)=z*sin(2*pi*u); end (3)调制(psk) function mc,ms=psk(s) %

7、映射关系:由2bit二进制数转成四进制m=(0,1,2,3)带入映射公式 %mc=1,ms=0-00 %mc=0,ms=1-01 %mc=-1,ms=0-10 %mc=0,ms=-1-11 N=length(s); for i=1:2:N-1 mc(i+1)/2)=cos(2*pi*(s(i)*2+s(i+1)/4); ms(i+1)/2)=sin(2*pi*(s(i)*2+s(i+1)/4); end (4)最大投影法(ipsk) function r=ipsk(rc,rs) %最大投影点准则判决 %判断依据:无噪声干扰时rc=mc,ms=rs %mc=1,ms=0-00-靠近*c轴(abs

8、(rc)abs(rs)且在第一、四象限 %mc=0,ms=1-01-靠近*s轴(abs(rc)abs(rs)且在第二、三象限 %mc=0,ms=-1-11-靠近*c轴(abs(rc)abs(rs(i) if (rc(i)0) r(j:j+1)=0,0; else r(j:j+1)=1,0; end else if(rs(i)0) r(j:j+1)=0,1; else r(j:j+1)=1,1; end end j=j+2; end (5)最小距离法(ipskdis) function r=ipskdis(rc,rs) %最小距离法判决 %判决方法:依次计算出每对rc,rs构成的坐标距离各码元对

9、应坐标的距离 std=0,0,0,1,1,0,1,1; k=1; for i=1:length(rc) dis(1)=(rc(i)-1)2+rs(i)2; dis(2)=rc(i)2+(rs(i)-1)2; dis(3)=(rc(i)+1)2+rs(i)2; dis(4)=rc(i)2+(rs(i)+1)2; %与std中码元的顺序对应求取距离 p=min(dis);% 求得最小距离 for j=1:4 if(dis(j)=p) %得到最小距离的序号,由于dis的标号是与std码元的顺序相对应 %的,因此可由下面的语句得到对应的码元 r(k:k+1)=std(2*j-1:2*j); k=k+2

10、; end end end end (6)误比特率和误码率计算 function b,B=pe(s,r) b=0%误bit率 B=0;%误码元率,每个码元由两个bit构成,=1个bit错误均会引起1个码元错误 for i=1:length(s) if(s(i)=r(i) b=b+1; end end for i=1:2:length(s)-1 if (s(i)=r(i) B=B+1; elseif(s(i+1)=r(i+1) B=B+1; end end b=b/length(s); B=B*2/length(s); 2、实验结果: (1)最大投影点准则、最小距离法进行判决 a, 计算噪声方差

11、 2分别为0、0.1、0.5、1.0时的符号差错概率和比特差错概率; N=100: 噪声方差为0: pb = 0 pB = 0 pbdis = 0 pBdis = 0 噪声方差为0.1: pb = 0 pB = 0 pbdis = 0 pBdis = 0 噪声方差为0.5: pb = 0.0550 pB = 0.0900 pbdis = 0.0550 pBdis = 0.0900 噪声方差为1.0: pb = 0.2700 pB = 0.3200 pbdis = 0.2700 pBdis = 0.3200 b, 画出在每种 2时,在检测器输入端1000 个接收到的信号加噪声的样本(星座图);

12、N=1000 噪声方差为0: 噪声方差为0.1: 噪声方差为0.5:噪声方差为1.0: c, 分别画出数据点为1000、5000、10000、100000 时的Monte Carlo 仿真误比特率曲 线和理论误比特率曲线,比较差别,分析数据点的数量对仿真结果的影响; 主程序: subplot(2,1,1); sigma2=0,0.1,0.5,1; for N=1000,5000,10000,100000 figure; for i=1:length(sigma2) s=source(2*N);%?bit?2bit?2*N nc,ns=nr(sigma2(i),N);%nr(eb,snr_db,

13、n) mc,ms=psk(s); rc=mc+nc; rs=ms+ns; r=ipsk(rc,rs); pb,pB=pe(s,r); px(i)=pb; pq(i)=qfunct(sigma2(i),s); end subplot(2,1,1);plot(sigma2,px);hold on; subplot(2,1,2);plot(sigma2,pq);hold on; end 子程序 function y=Qfunct(sigma2,s) e=0; for i=1:length(s) e=e+s(i)2; end eb=e/length(s); x=eb/sigma2; y=(1/2)*e

14、rfc(x/sqrt(2); 结果: sigma2=0:均为0 sigma2=0.1: sigma2=0.5: sigma2=1: (二)信道纠错编码(7,4)汉明码+4PSK 调制的通信系统 1.实验程序: 主程序(main) clear; N=100; sigma2=1; s=source(2*N); %产生信源bit序列subplot(2,2,1);stem(s,.);axis(0,2*N,0,1.5); %(7,4)汉明码四个原始信息比特一组,若序列长度非4的整数倍,补齐 q=mod(N,4); if q=0 s(N+1:N+4-q)=zeros(1,N+4-q); end n=len

15、gth(s); %加入监督码sham(5:8)对应源信息序列的是s(1:4)和a3-a6,sham(5:8)对应a2-a0 %sham(0)插入一个0,使序列为2(8)的整数倍,以便于4psk调制 for i=(1:n/4)-1 sham(8*i+1)=0; sham(8*i+5:8*i+8)=s(4*i+1:4*i+4); sham(8*i+2),sham(8*i+3),sham(8*i+4)=watchout(sham(8*i+5),sham(8*i+6),sham(8*i+7),sham(8*i+8); end m=length(sham); nc,ns=nr(sigma2,m/2);

16、mc,ms=psk(sham); rc=mc+nc; rs=ms+ns; subplot(2,2,2);stem(rc,rs,.); rham=ipsk(rc,rs); subplot(2,2,3);stem(rham,.); rham=checkerror(rham); r=zeros(1,N*2); for i=(1:n/4)-1 r(4*i+1:4*i+4)=rham(8*i+5:8*i+8); end subplot(2,2,4);stem(r,.); pb,pB=pe(s,r) 子程序: (1)信源(source) function s=source(N) s=rand(1,N);%

17、产生二进制序列 for i=1:N if s(i)=0.5 s(i)=1; else s(i)=0; end end (2)噪声(nr) functionnc,ns=nr(sigma2,n) %噪声 sigma=sqrt(sigma2); for i=1:n u=rand; z=sigma*sqrt(2*log10(1/(1-u); u=rand; nc(i)=z*cos(2*pi*u); ns(i)=z*sin(2*pi*u); end (3)调制(psk) function mc,ms=psk(s)%映射关系:由2bit二进制数转成四进制m=(0,1,2,3)带入映射公式 %mc=1,ms

18、=0-00 %mc=0,ms=1-01 %mc=-1,ms=0-10 %mc=0,ms=-1-11 N=length(s); for i=1:2:N-1 mc(i+1)/2)=cos(2*pi*(s(i)*2+s(i+1)/4); ms(i+1)/2)=sin(2*pi*(s(i)*2+s(i+1)/4); end (4)最大投影法(ipsk) function r=ipsk(rc,rs) %最大投影点准则判决 %判断依据:无噪声干扰时rc=mc,ms=rs %mc=1,ms=0-00-靠近*c轴(abs(rc)abs(rs)且在第一、四象限 %mc=0,ms=1-01-靠近*s轴(abs(r

19、c)abs(rs)且在第二、三象限 %mc=0,ms=-1-11-靠近*c轴(abs(rc)abs(rs(i) if (rc(i)0) r(j:j+1)=0,0; else r(j:j+1)=1,0; end else if(rs(i)0) r(j:j+1)=0,1; else r(j:j+1)=1,1; end end j=j+2; end (5)误比特率和误码率计算 function b,B=pe(s,r) b=0%误bit率 B=0;%误码元率,每个码元由两个bit构成,=1个bit错误均会引起1个码元错误 for i=1:length(s) if(s(i)=r(i) b=b+1; en

20、d end for i=1:2:length(s)-1 if (s(i)=r(i) B=B+1; elseif(s(i+1)=r(i+1) B=B+1; end end b=b/length(s); B=B*2/length(s); (6)加监督码 function a,b,c=watchout(d,e,f,g) std=0,0,0,0,1,1,1,0,1,1,1,0,1,1,0,1,0,1,0,1,1,0,0,0,1,1,1,1,0,0,0,1,0,0,0,1,0,0,1,0,1,0,1,0,0,1,1,1; s=d+e*2+f*4+g*8; a=std(3*s+1); b=std(3*s+

21、2); c=std(3*s+3); (7)纠错 function r=checkerror(rham) r=rham; std=4,3,5,2,6,7,8,1;%001-a0-sham(4);010-a1-sham(3);011-a3-sham(5); %100-a2-sham(2);101-a4-sham(6);110-a5-sham(7); %111-a6-sham(8);000-sham(1) %第一位为插入的无用的0,对最终结果没有影响 n=length(rham); for i=(1:n/8)-1 s(1)=xor4(rham(i*8+8),rham(i*8+7),rham(i*8+

22、6),rham(i*8+2); s(2)=xor4(rham(i*8+8),rham(i*8+7),rham(i*8+5),rham(i*8+3); s(3)=xor4(rham(i*8+8),rham(i*8+6),rham(i*8+5),rham(i*8+4); s=s(3)+2*s(2)+4*s(1); if s=0 s=s+8; %第一位为插入的无用的0,对最终结果没有影响 end k=std(s); r(i*8+k)=not(rham(i*8+k); %错码取反进行纠错 end (8)四输入异或 function s=xor4(a,b,c,d)% 四输入异或 s=xor(a,b); s=xor(s,c); s=xor(s,d); 2.实验结果 误码率和误比特率:N=100 星座图:N=1000 噪声方差为0: pb = 0 pB = 0 噪声方差为0.1: pb = 0 pB = 0 噪声方差为0.5: pb = 0.0250 pB = 0.0300 噪声方差为1.0: pb = 0.1250 pB = 0.2000比较相同信道状态下的误码性能及星座图可发现: 编码信号的传输的可靠性明显高于无编码信号。这个结果可以看做是通过牺牲有效性来提高了可靠性。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1