欢迎来到天天文库
浏览记录
ID:6820455
大小:179.00 KB
页数:17页
时间:2018-01-27
《通信原理matlab课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、一、问题描述1.使用matlab编程完成HDB3的编码与解码。2.课程设计需要运用MATLAB编程实现2ASK,2FSK,2PSK,2DPSK调制解调过程,并且输出其源码,调制后码元以及解调后码元的波形。二、实验原理1.HDB3编码解码原理HDB3码:三阶高密度双极性码。HDB3码与二进制序列的关系:(1)二进制信号序列中的“0”码在HDB3码中仍编为“0”码,二进制信号中“1”码,在HDB3码中应交替地成+1和-1码,但序列中出现四个连“0”码时应按特殊规律编码(引入传号交替反转码的“破坏点”V码);(2)二进制序列中四个连“0”按以下规则编
2、码:信码中出现四个连“0”码时,要将这四个连“0”码用000V或B00V取代节来代替(B和V也是“1”码,可正、可负)。这两个取代节选取原则是,使任意两个相邻v脉冲间的传号数为奇数时选用000V取代节,偶数时则选用B00V取代节。2.二进制数字调制技术原理数字信号的传输方式分为基带传输和带通传输,在实际应用中,大多数信道具有带通特性而不能直接传输基带信号。为了使数字信号在带通信道中传输,必须使用数字基带信号对载波进行调制,以使信号与信道的特性相匹配。这种用数字基带信号控制载波,把数字基带信号变换为数字带通信号的过程称为数字调制。通常使用键控法来
3、实现数字调制,比如对载波的振幅、频率和相位进行键控。(1)2ASK信号的产生方法通常有两种:模拟调制和键控法。解调有相干解调和非相干解调。P=1时f(t)=Acoswt;p=0时f(t)=0;其功率谱密度是基带信号功率谱的线性搬移(2)一个2FSK信号可以看成是两个不同载波的2ASK信号的叠加。其解调和解调方法和ASK差不多。2FSK信号的频谱可以看成是f1和f2的两个2ASK频谱的组合。(3)2PSK以载波的相位变化作为参考基准的,当基带信号为0时相位相对于初始相位为0,当基带信号为1时相对于初始相位为180°。(4)2DPSK调制原理方框图
4、如下图。17S(t) 载波移相p码变换A(t) 间接法信号调制器原理方框图2DPSK信号的解调,主要有两种方法,即相位比较法和相干解调法。相干解调法原理方框图如下图: 带通滤波相乘低通滤波抽样判决逆码变换本地载波提取相干解调法原理方框图三、源程序clearclca=20;%a表示元素个数,可以修改码元为任意个数如1024r=unidrnd(2,1,a-1);%随机产生离散均匀二值分布(1,2),共a-1个rn=r-1;%每个元素减1变为(0,1)二值随机数列rn=[1,rn];%跟书上一致,从1开始随机产生离散均匀二值分布
5、(1,2),共a个ori=rn;%将原序列保存起来,便于后面解码后比较oril=1;fork=1:a-3ifabs(rn(k))==1m=rn(k);%m记录可能存在的连续4个0前面非零码元的符号17endifrn(k)==0ifrn(k+1)==0ifrn(k+2)==0ifrn(k+3)==0%检测是否连续4个码元都是0rn(k+3)=2*m;%用2表示书上的Vendendendendendrn;%插入V(2)后checkedl=1;%l=1表示两个V之间有偶数个非零码,0是偶数,所以初始为1,l=-1表示两个V之间有奇数个非零码fors=
6、1:aifabs(rn(s))==2ford=s+1:aifabs(rn(d))==1%V之间的非零码只有+1,-1遇到一个一使l变一次号,表示偶数或奇数l=-l;endifabs(rn(d))==2ifl~=1l=1;%不需要插入B时若检测到V也应把计数器清零%最初版本的升级处1else%检测到下一个V时,若为偶数个,则插入Brn(d-3)=3*(-(rn(d-4))/(abs(rn(d-4))));%3代表B,插入不带符号的Brn(d:a)=-rn(d:a);end%V后的符号再交替endendendendrn%到此处完成了插入不带符号的B
7、%fors=1:a%ifabs(rn(s))==3%找到B%rn(s)=rn(s)*(-(rn(s-1))/(abs(rn(s-1))));%B(3)与前一个位置的带符号的归一值相乘再取反,实现符号B(3)的极性与前一非符号的相反17%B后面第三个就是接下来的V,从它开始非零码正负号交替变化%end%endHDB=rn;%给B(3)添加了符号,并且实现了V后的符号再交替HDB%以上便实现了HDB3的编码%下面进行解码fork=1:aifabs(rn(k))==2rn(k-3)=0;rn(k)=0;%每个V(2)都变成0,V前面第三个有可能是B(
8、3)有可能是0也恢复为0endifabs(rn(k))==1rn(k)=1;endendrn%解码后的恢复序列rn-ori%解码与原码比较全为0则解码
此文档下载收益归作者所有