目录
一.问题描述-----------------------------------------3 二.实验原理-----------------------------------------4 三.源程序-------------------------------------------6 四.数据测试----------------------------------------16 五.调试分析----------------------------------------22 六.用户使用手册------------------------------------23 七.心得体会----------------------------------------24
1
一、问题描述
1. 使用matlab编程完成HDB3的编码与解码。
2. 课程设计需要运用MATLAB编程实现2ASK,2FSK,2PSK,2DPSK调制解调过程,并且输出其源码,调制后码元以及解调后码元的波形。
2
二、实验原理
1.HDB3编码解码原理
HDB3码:三阶高密度双极性码。 HDB3码与二进制序列的关系:
(1)二进制信号序列中的“0”码在HDB3码中仍编为“0”码,二进制信号中“1”码,在HDB3码中应交替地成+1和-1码,但序列中出现四个连“0”码时应按特殊规律编码(引入传号交替反转码的“破坏点”V码); (2)二进制序列中四个连“0”按以下规则编码:信码中出现四个连“0”码时,要将这四个连“0”码用000V或B00V取代节来代替(B和V也是“1”码,可正、可负)。这两个取代节选取原则是,使任意两个相邻v脉冲间的传号数为奇数时选用000V取代节,偶数时则选用B00V取代节。 2.二进制数字调制技术原理
数字信号的传输方式分为基带传输和带通传输,在实际应用中,大多数
信道具有带通特性而不能直接传输基带信号。为了使数字信号在带通信道中传输,必须使用数字基带信号对载波进行调制,以使信号与信道的特性相匹配。这种用数字基带信号控制载波,把数字基带信号变换为数字带通信号的过程称为数字调制。通常使用键控法来实现数字调制,比如对载波的振幅、频率和相位进行键控。
(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调制原理方框图如下图。
S(t) 载波 A(t) 移相??码变换
间接法信号调制器原理方框图
3
2DPSK信号的解调,主要有两种方法,即相位比较法和相干解调法。相干解调法原理方框图如下图:
带通滤相乘 低通滤波 抽样判决 逆码变换 本地载波
提取
相干解调法原理方框图
4
三、源程序
clear clc
a=20; %a表示元素个数,可以修改码元为任意个数如1024
r=unidrnd(2,1,a-1); %随机产生离散均匀二值分布(1,2),共a-1个
rn=r-1; %每个元素减1变为(0,1)二值随机数列 rn=[1,rn]; %跟书上一致,从1开始随机产生离散均匀二值分布(1,2),共a个
ori=rn; %将原序列保存起来,便于后面解码后比较 ori
l=1; for k=1:a-3
if abs(rn(k))==1
m=rn(k); %m记录可能存在的连续4个0前面非零码元的符号
end if rn(k)==0
if rn(k+1)==0 if rn(k+2)==0
if rn(k+3)==0 %检测是否连续4个码元都是0 rn(k+3)=2*m; %用2表示书上的V end end end end end
rn ; %插入V(2)后 checked l=1; %l=1表示两个V之间有偶数个非零码,0是偶数,所以初始为1,l=-1表示两个V之间有奇数个非零码 for s=1:a
if abs(rn(s))==2 for d=s+1:a if abs(rn(d))==1 %V之间的非零码只有+1,-1遇到一个一使l变一次号,表示偶数或奇数 l=-l; end
if abs(rn(d))==2 if l~=1
l=1; %不需要插入B时若检测到V也应把计数器清零
5