




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、格状编码调制TCM格状编码调制是为解决卫星通信中信道噪声对接收的影响及带宽的限制而产生的,其将信道编码与调制很好的结合起来,并且能发挥各自的优点,这种方法在不增加带宽和相同的信息速率下可获得36dB的功率增益。其中信道编码主要使用卷积码,为了适应卷积码则应用了多进制移相键控调制(亦可用多进制QAM),并且根据Ungerboack提出的规律:对经过编码的调制系统来说,其信道信号数目只要是未经编码的调制系统的两倍,便可得到足够的编码增益,对于每符号传送k比特的系统,应选择有m=2k+1点的扩张信号星座形式传送信息,对于信号集合划分规则等不作太多的阐述,本实验选择k=2,则m=8,即使用8PSK调制
2、器,为此,TCM结构图如下:其中为了得到足够大的编码增益,未编码比特为k=1,对这样的系统卷积码编码器的结构为:对于卷积码的编码可用以下程序实现:k=1;g=1 0 1;0 0 1; int=input('xulie')m=size(int,1);y=zeros(1,m)for n=1:m y(:,n)=int(n,1)end;z=cnv_encd(g,k,y);并且在卷积码编码过程中,添零数为k1*(L-1)=2,(注:L=3),再对序列进行图示的映射,可通过以下程序实现:tyu=length(z)/2;s=zeros(1,3*tyu);for i=1:m s(:,3*i-2
3、)=int(i,2)ends(:,3*m+1)=0;s(:,3*(m+1)+1)=0;for j=1:tyu s(:,3*j-1)=z(2*j-1)end;for k2=1:tyu s(:,3*k2)=z(2*k2)end;uu=reshape(s,3,tyu);kk=uu';(注意:对添零后卷积编码的处理),将编码处理后的信号进行调制,相位调制实现比较容易,对于通过信道后的解调,有两种实现途径:接收信号通过相关器后,将接收到的信号矢量映射到M个可能发送的信号矢量上去,并且选出对应于最大映射的矢量;亦可计算接收信号矢量的相位,并从M个可能发送的信号矢量中选出相位最接近的信号。本实验就是
4、通过第二个途径实现的。其具体程序如下:n1=gngauss(sgma); n2=gngauss(sgma);for i=1:tyu f(i)=bin2deci(kk(i,:); u=cos(2*pi*fc*t+2*pi*f(i)/8); if (f(i)>=3)&(f(i)<7) R(i)=sqrt(Es)*cos(2*pi*f(i)/8)+n1; H(i)=sqrt(Es)*sin(2*pi*f(i)/8)+n2; T(i)=pi+atan(H(i)/R(i) elseif f(i)<3 R(i)=sqrt(Es)*cos(2*pi*f(i)/8)+n1; H(i)
5、=sqrt(Es)*sin(2*pi*f(i)/8)+n2; T(i)=atan(H(i)/R(i) else R(i)=sqrt(Es)*cos(2*pi*f(i)/8)+n1; H(i)=sqrt(Es)*sin(2*pi*f(i)/8)+n2; T(i)=2*pi+atan(H(i)/R(i) end;end;cc=zeros(tyu,8);dd=zeros(tyu,8);for i=1:tyu for j=0:7 cc(i,j+1)=2*pi*j/8-T(i) dd=abs(cc) end; if dd(i,1)=min(dd(i,:) mm(i)=0; elseif dd(i,2)=
6、min(dd(i,:) mm(i)=1; elseif dd(i,3)=min(dd(i,:) mm(i)=2; elseif dd(i,4)=min(dd(i,:) mm(i)=3; elseif dd(i,5)=min(dd(i,:) mm(i)=4; elseif dd(i,6)=min(dd(i,:) mm(i)=5; elseif dd(i,7)=min(dd(i,:) mm(i)=6; else dd(i,8)=min(dd(i,:) mm(i)=7; end;end;out=reshape(mm,tyu,1)对于解码则是编码的逆过程,在此将解调后的信号经反映射,变换为卷积码的码序
7、列,应用viterbi实现解码:k1=size(out,1);z=zeros(3,k1) for i=1:k1 m1=deci2bin(out(i,1),3) z(:,i)=m1'end;hh=reshape(z,1,3*k1)ty=zeros(k1-2,2);for i=1:k1-2 ty(i,2)=hh(:,3*i-2);end;for j=1:k1 hh(:,2*j-1)=;end;ww,tt,ee=viterbi(g,k,hh)for i=1:k1-2 ty(i,1)=ww(i);end;ip=reshape(int,1,2*m);op=reshape(ty,1,2*m);当然
8、在此基础上可进行误码率的分析,最简单的方法是将以上ip,op对应元素比较,若不相等,计数器加1,可以使用以下程序如下:numoferr=0;for w=1:2*m if ip(w)=op(w) numoferr=numoferr+1; end;end;对此程序的一点说明:此程序可实现误码的估计,为了从真正意义上对其优点的认识,可仿真8PSK的误码性能,可调用以下程序:function pb=smld(snr_in_dB)N=input(number);Eb=1;snr=10(snr_in_dB/10);sgma=sqrt(1/(2*snr);s000=1 0;s001=sqrt(2)/2 sq
9、rt(2)/2;s011=0 1;s010=-sqrt(2)/2 sqrt(2)/2;s110=-1 0;s111=-sqrt(2)/2 -sqrt(2)/2;s101=0 -1;s100=sqrt(2)/2 -sqrt(2)/2;for i=1:N, temp=rand; if (temp<0.125), dsource1(i)=0; dsource2(i)=0; dsource3(i)=0; elseif (temp<0.25), dsource1(i)=0; dsource2(i)=0; dsource3(i)=1 elseif (temp<0.375), dsourc
10、e1(i)=0; dsource2(i)=1; dsource3(i)=0; elseif (temp<0.5), dsource1(i)=0; dsource2(i)=1; dsource3(i)=1; elseif (temp<0.625), dsource1(i)=1; dsource2(i)=0; dsource3(i)=0; elseif (temp<0.75), dsource1(i)=1; dsource2(i)=0; dsource3(i)=1; elseif (temp<0.875), dsource1(i)=1; dsource2(i)=1; dso
11、urce3(i)=0; else dsource1(i)=1; dsource2(i)=1; dsource3(i)=1; end;end;numoferr=0;for i=1:N, n(1)=gngauss(sgma); n(2)=gngauss(sgma); if (dsource1(i)=0)&(dsource2(i)=0)&dsource3(i)=0), r=s000+n; elseif (dsource1(i)=0)&(dsource2(i)=0)&(dsource3(i)=1), r=s001+n; elseif(dsource1(i)=0)&
12、;(dsource2(i)=1)&(dsource3(i)=0), r=s010+n; elseif(dsource1(i)=0)&(dsource2(i)=1)&(dsource3(i)=1), r=s011+n; elseif(dsource1(i)=1)&(dsource2(i)=0)&(dsource3(i)=0), r=s100+n; elseif(dsource1(i)=1)&(dsource2(i)=0)&(dsource3(i)=1), r=s101+n; elseif(dsource1(i)=1)&(dsourc
13、e2(i)=1)&(dsource3(i)=0), r=s110+n; else(dsource1(i)=1)&(dsource2(i)=1)&(dsource3(i)=1), r=s111+n; end; c000=dot(r,s000); c001=dot(r,s001); c010=dot(r,s010); c011=dot(r,s011); c100=dot(r,s100); c101=dot(r,s101); c110=dot(r,s110); c111=dot(r,s111); c_max=max(c000 c001 c010 c011 c100 c101
14、c110 c111); if (c000=c_max), decis1=0;decis2=0;decis3=0; elseif (c001=c_max), decis1=0;decis2=0;decis3=1; elseif (c010=c_max), decis1=0;decis2=1;decis3=0; elseif (c011=c_max) decis1=0;decis2=1;decis3=1; elseif (c100=c_max) decis1=1;decis2=0;decis3=0; elseif (c101=c_max) decis1=1;decis2=0;decis3=1; e
15、lseif (c110=c_max) decis1=1;decis2=1;decis3=0; else decis1=1;decis2=1;decis3=1; end; if (decis1=dsource1(i), numoferr=numoferr+1; end; if (decis2=dsource2(i), numoferr=numoferr+1; end; if (decis3=dsource3(i), numoferr=numoferr+1; end; end; pb=numoferr/(3*N);对TCM的仿真调用程序:function p=smld2(snr_in_dB)N=i
16、nput('number');Es=3;snr=10(snr_in_dB/10);sgma=sqrt(1/(2*snr);k=1;g=1 0 1;0 0 1; for i=1:N, temp=rand; if (temp<0.25), dsource1(i)=0; dsource2(i)=0; elseif (temp<0.5) dsource1(i)=0; dsource2(i)=1; elseif (temp<0.75) dsource1(i)=1; dsource2(i)=0; else dsource1(i)=1; dsource2(i)=1; end
17、;end;int=zeros(1,2*N);for o=1:N, int(1,2*o-1)=dsource2(o);end;for b=1:N, int(1,2*b)=dsource1(b);end;rrr=reshape(int,2,N);eee=rrr'm=size(eee,1);y=zeros(1,m)for n=1:m y(:,n)=eee(n,1)end;z=cnv_encd(g,k,y);tyu=length(z)/2;s=zeros(1,3*tyu);for i=1:m s(:,3*i-2)=eee(i,2)ends(:,3*N+1)=0;s(:,3*(N+1)+1)=0
18、;for j=1:tyu s(:,3*j-1)=z(2*j-1);end;for k2=1:tyu s(:,3*k2)=z(2*k2);end;uu=reshape(s,3,tyu);kk=uu'n1=gngauss(sgma);n2=gngauss(sgma)for i=1:tyu f(i)=bin2deci(kk(i,:); if (f(i)>=3)&(f(i)<7) R(i)=sqrt(Es)*cos(2*pi*f(i)/8)+n1; H(i)=sqrt(Es)*sin(2*pi*f(i)/8)+n2; T(i)=pi+atan(H(i)/R(i); else
19、if f(i)<3 R(i)=sqrt(Es)*cos(2*pi*f(i)/8)+n1; H(i)=sqrt(Es)*sin(2*pi*f(i)/8)+n2; T(i)=atan(H(i)/R(i); else R(i)=sqrt(Es)*cos(2*pi*f(i)/8)+n1; H(i)=sqrt(Es)*sin(2*pi*f(i)/8)+n2; T(i)=2*pi+atan(H(i)/R(i); end;end;cc=zeros(tyu,8);dd=zeros(tyu,8);for i=1:tyu for j=0:7 cc(i,j+1)=2*pi*j/8-T(i); dd=abs(c
20、c); end; if dd(i,1)=min(dd(i,:) mm(i)=0; elseif dd(i,2)=min(dd(i,:) mm(i)=1; elseif dd(i,3)=min(dd(i,:) mm(i)=2; elseif dd(i,4)=min(dd(i,:) mm(i)=3; elseif dd(i,5)=min(dd(i,:) mm(i)=4; elseif dd(i,6)=min(dd(i,:) mm(i)=5; elseif dd(i,7)=min(dd(i,:) mm(i)=6; else dd(i,8)=min(dd(i,:) mm(i)=7; end;end;out
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业上市居间合同范本
- 2025年沈阳货运资格证考试中心
- 农资货物销售合同范本
- 出售桌球桌子合同范本
- 全手机购销合同范本
- 劳动解约合同范本
- 划线施工合同范例
- 《第一单元 参考活动1 唱响团歌》教学设计 -2023-2024学年初中综合实践活动苏少版八年级上册
- 内墙翻新粉刷合同范本
- 3人合伙养殖合同范本
- 人行道道铺设施工方案
- 【历史】元朝的建立与统一课件 2024-2025学年统编版七年级历史下册
- 2025年度游戏工作室游戏客服中心用工合同
- 2025湖北社会工作师历年高频重点提升(共500题)附带答案详解
- 桥梁拆除施工方案及安全措施
- 2024年吉林长春市总工会公招聘工会社会工作者笔试真题
- 【历史】2025年春季七下历史新教材课本答案大全(想一想、材料研读、读地图、课后活动)
- 2025中国烟草/中烟工业招聘高频重点提升(共500题)附带答案详解
- 江苏省中小学生金钥匙科技竞赛(高中组)考试题及答案
- 2025造价咨询工作计划范本
- 关于谷爱凌的课件
评论
0/150
提交评论