通信系统课群综合训练与设计.docx
《通信系统课群综合训练与设计.docx》由会员分享,可在线阅读,更多相关《通信系统课群综合训练与设计.docx(36页珍藏版)》请在冰豆网上搜索。
![通信系统课群综合训练与设计.docx](https://file1.bdocx.com/fileroot1/2023-6/9/41752930-0732-4049-8f3a-c4c3bc828e98/41752930-0732-4049-8f3a-c4c3bc828e981.gif)
通信系统课群综合训练与设计
课程设计任务书
学生姓名:
罗序森专业班级:
通信gj1101
指导教师:
方艺霖工作单位:
武汉理工大学
题目:
通信系统课群综合训练与设计
初始条件
1)MATLAB软件
2)通信原理各模块相关知识
要求完成的主要任务:
主要任务:
利用仿真软件(如Matlab或SystemView),或硬件实验系统平台上设计完成一个典型的通信系统其中信源为随机确定的一个模拟时间函数,数字化方式采用PCM编码,基带码为HDB3码,信道码采用循环码,调制方式为PSK,信道类型为衰落信道。
要求:
掌握以上各种电路与通信技术的基本原理,掌握实验的设计、电路调试与测量的方法。
时间安排:
序号
设计内容
所用时间
1
根据设计任务,分析电路原理,确定实验方案
2天
2
根据实验条件进行电路的测试,并对结果进行分析
7天
3
撰写课程设计报告
1天
合计
2周
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
摘要
通信系统是一个十分复杂的系统,在具体实现上有多种多样的方法,但总的过程却是具有共性的。
对于一个模拟信号数字化传输,过程可分为数字化,信源编解码,信道编解码,调制解调,加扰等。
本实验利用MATLAB实现了PCM编码,HDB3码,循环码,PSK调制,衰落信道及对应的解调过程,完整实现了一个通信系统的全部过程。
MATLAB是由美国Mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
关键字:
通信系统循环码PSK调制衰落信道MATLAB
Abstract
Communicationsystemisaverycomplicatedsystemintheimplementationofavarietyofmethods.Buttheprocesshasgeneralcharacters.Foraanalogsignaldigitaltransmission,theprocesscanbedividedintodigital,sourcedecoding,channeldecoding,modem,scrambling,etc.ThisexperimentusingMATLABthedeltamodulation,Millercode,cyclecode,PSKmodulation,fadingchannelandthecorrespondingdemodulationprocess,completeimplementsacommunicationsystemofallprocess.
MATLABisahigh-leveltechnicalcomputinglanguageandinteractiveenvironmentforalgorithmdevelopment,datavisualization,dataanalysis,andnumericcomputation.UsingMATLAB,youcansolvetechnicalcomputingproblemsfasterthanwithtraditionalprogramminglanguages,suchasC,C++,andFortran.
Keywords:
CommunicationsystemcyclecodePSKmodulationfadingchannelMATLAB
1课程设计任务与要求
1.1课程设计的目的
通过课程设计,使学生加强对电子电路的理解,学会对电路分析计算以及设计。
进一步提高分析解决实际问题的能力,通过完成综合设计型和创新性实验及训练,创造一个动脑动手﹑独立开展电路实验的机会,锻炼分析﹑解决电子电路问题的实际本领,实现由课本知识向实际能力的转化;加深对通信原理的理解,提高学生对现代通信系统的全面认识,增强学生的实践能力。
1.2课程设计的任务与要求
要求利用仿真软件(如Matlab或SystemView),或硬件实验系统平台上设计完成一个典型的通信系统(如图1-1所示)。
其中信源为随机确定的一个模拟时间函数,数字化方式采用PCM编码,基带码为HDB3码,信道码采用循环码,调制方式为PSK,信道类型为衰落信道。
要求完成整个系统各环节以及整个系统的仿真,最终在接收端或者精确或者近似地再现输入(信源),计算失真度,并且分析原因。
图1.1典型的通信系统
2PCM(脉冲编码调制)编译码
2.1脉冲编码调制的基本原理
把从模拟信号抽样、量化,直到变换成为二进制符号的基本过程,称为脉冲编码调制,简称脉码调制。
如:
在下图中,模拟信号的抽样值为3.15,3.96,5.00,6.38,6.80和6.42。
若按照“四舍五入”的原则量化为整数值,则抽样值量化后变为3,4,5,6,7和6。
在按照二进制数编码后,量化值(quantizedvalue)就变成二进制符号:
011、100、101、110、111和110。
图2.1二进制编码原理
图2.2PCM系统的原理方框图
2.2逐次比较法编码
上节编码器(a)中的量化器和编码器常构成一个不能分离的编码电路,这种编码电路有不同的实现方案,最常用的一种方案成为逐次比较法编码,其基本原理方框图如下图所示。
图2.3逐次比较法编码原理方框图
图中示出一个3位编码器。
其输入信号抽样脉冲值在0和7.5之间。
它将输入模拟抽样脉冲编成3位二进制编码c1c2c3。
图中输入信号抽样脉冲电流Is由保持电路短时间保持,并和几个称为权值电流的标准电流Iw逐次比较。
每比较一次,得出1位二进制码。
权值电流Iw是在电路中预先产生的。
Iw的个数决定于编码的位数,现在共有3个不同的Iw值。
因为表示量化值的二进制码有3位,即c1c2c3。
它们能够表示8个十进制数,从0至7,如下表所示。
量化值
c1
c2
c3
量化值
c1
c2
c3
0
0
0
0
4
1
0
0
1
0
0
1
5
1
0
1
2
0
1
0
6
1
1
0
3
0
1
1
7
1
1
1
表1编码表
因此,若按照“四舍五入”原则编码,则此编码器能够对-0.5至+7.5之间的输入抽样值正确编码。
由此表可推知,用于判定c1值的权值电流Iw=3.5,即若抽样值Is<3.5,则比较器输出c1=0;若Is>3.5,则比较器输出c1=1。
c1除输出外,还送入记忆电路暂存。
第二次比较时,需要根据此暂存的c1值,决定第二个权值电流值。
若c1=0,则第二个权值电流值Iw=1.5;若c1=1,则Iw=5.5。
第二次比较按照此规则进行:
若IsIw,则c2=1。
此c2值除输出外,也送入记忆电路。
2.3折叠二进制码原理
表1给出的二进制编码是按照二进制数的自然规律排列的,称为自然二进制码。
但这不是唯一编码方法,常用的还有折叠二进制码。
折叠二进制码是用最高位表示电压的极性正负,而用其他位来表示电压的绝对值。
这就是说,在用最高位表示极性后,双极性电压可以采用单极性编码方法处理,从而使编码电路和编码过程大为简化。
折叠码的另一个优点是误码对于小电压的影响较小。
在13折线法中采用的折叠码有8位。
其中第一位c1表示量化值的极性正负。
后面的7位分为段落码和段内码两部分,用于表示量化值的绝对值。
其中第2至4位(c2c3c4)是段落码,共计3位,可以表示8种斜率的段落;其他4位(c5~c8)为段内码,可以表示每一段落内的16种量化电平。
段内码代表的16个量化电平是均匀划分的。
所以,这7位码总共能表示27=128种量化值。
在下面的表中给出了段落码和段内码的编码规则。
段落序号
段落码
c2c3c4
段落范围
(量化单位)
段落序号
段落码
c2c3c4
段落范围
(量化单位)
8
111
1024~2048
4
011
64~128
7
110
512~1024
3
010
32~64
6
101
256~512
2
001
16~32
5
100
128~256
1
000
0~16
表2段落码编码规则
量化间隔
段内码
c5c6c7c8
量化间隔
段内码
c5c6c7c8
量化间隔
段内码
c5c6c7c8
量化间隔
段内码
c5c6c7c8
15
1111
11
1011
7
0111
3
0011
14
1110
10
1010
6
0110
2
0010
13
1101
9
1001
5
0101
1
0001
12
1100
8
1000
4
0100
0
0000
表3段内码编码规则
在上述编码方法中,虽然段内码是按量化间隔均匀编码的,但是因为各个段落的斜率不等,长度不等,故不同段落的量化间隔是不同的。
其中第1和2段最短,斜率最大,其横坐标x的归一化动态范围只有1/128。
再将其等分为16小段后,每一小段的动态范围只有(1/128)*(1/16)=1/2048。
这就是最小量化间隔,后面将此最小量化间隔(1/2048)称为1个量化单位。
第8段最长,其横坐标x的动态范围为1/2。
将其16等分后,每段长度为1/32。
假若采用均匀量化而仍希望对于小电压保持有同样的动态范围1/2048,则需要用11位的码组才行。
现在采用非均匀量化,只需要7位就够了。
2.4逐次比较法译码原理
下图所示编码器中虚线方框内是本地译码器,而接收端译码器的核心部分原理就和本地译码器的原理一样。
图2.4逐次比较法非均匀编码器原理框图
在此图中,本地译码器的记忆电路得到输入c7值后,使恒流源产生为下次比较所需要的权值电流Iw。
在编码器输出c8值后,对此抽样值的编码已经完成,所以比较器要等待下一个抽样值到达,暂不需要恒流源产生新的权值电流。
在接收端的译码器中,仍保留本地译码器部分。
由记忆电路接收发送来的码组。
当记忆电路接收到码组的最后一位c8后,使恒流源再产生一个权值电流,它等于最后一个间隔的中间值。
在上如中,此中间值等于1248。
由于编码器中的比较器只是比较抽样的绝对值,本地译码器也只是产生正值权值电流,所以在接收端的译码器中,最后一步要根据接收码组的第一位c1值控制输出电流的正负极性。
2.5MATLAB编程实现PCM编译码
1、PCM编码流程图2、PCM译码流程图
图2.5编码流程图图2.6译码流程图
3HDB3码编解码
3.1AMI码编码基本原理
AMI码的全称为传号交替反转码,其编码规则为将消息码的“1”(传号)交替地变换为“+1”和“-1”,而“0”(空号)保持不变。
如:
消息码:
0110000000110011…
AMI码:
0-1+10000000–1+100–1+1…
AMI码对应的波形是具有正、负、零三种电平的脉冲序列。
它可以看成是单极性波形的变形,即“0”仍对应零电平,而“1”交替对应正负电平。
AMI码的优点:
没有直流成分,且高、低频分量少,编译码电路简单,且可利用传号极性交替这一规律观察误码情况;如果它是AMI-RZ波形,接收后只要全波整流,就可变为单极性RZ波形,从中可以提取位定时分量
AMI码的缺点:
当原信码出现长连“0”串时,信号的电平长时间不跳变,造成提取定时信号的困难。
解决连“0”码问题的有效方法之一是采用HDB3码。
3.2HDB3码编码基本原理
HDB3码的全称为3阶高密度双极性码,它是AMI码的一种改进型,改进目的是为了保持AMI码的优点而克服其缺点,使连“0”个数不超过3个。
其编码规则是:
(1)检查消息码中“0”的个数。
当连“0”数目小于等于3时,HDB3码与AMI码一样,+1与-1交替;
(2)连“0”数目超过3时,将每4个连“0”化作一小节,定义为B00V,称为破坏节,其中V称为破坏脉冲,而B称为调节脉冲;
(3)V与前一个相邻的非“0”脉冲的极性相同(这破坏了极性交替的规则,所以V称为破坏脉冲),并且要求相邻的V码之间极性必须交替。
V的取值为+1或-1;
(4)B的取值可选0、+1或-1,以使V同时满足(3)中的两个要求;
(5)V码后面的传号码极性也要交替。
如:
消息码:
10000100001100000000l1
AMI码:
-10000+10000-1+100000000-1+1
HDB3码:
-1000–V+1000+V-1+1-B00–V+B00+V-l+1
其中的V脉冲和B脉冲与1脉冲波形相同,用V或B符号表示的目的是为了示意该非“0”码是由原信码的“0”变换而来的。
HDB3码既要包含AMI的交替特性使输出无直流特性,又要不出现四个以上的连0,因此可以先满足后者。
1)把“0000”换为取代节。
规则:
先将“0000”分离开来,第一个“0000”直接变为“0000”,然后数相邻两个“0000”之间“1”的个数,奇数则变为“000V”,偶数则变为“B00V”。
2)更新符号。
根据HDB3码的编码规则有:
B总是与其前面的1或V符号相反,V总是与前面的1或B相符号相同,1总是与前面的V或B符号相反,就可编符号了。
例如:
消息代码:
1000010000110000110000000011100001
中间码:
1000V1000V11B00V11B00VB00V111000V1
HDB3码:
+1000+V-1000-V+1-1+B00+V-1+1-B00-V+B00+V-1+1-1000-V+1
3.3HDB3码的译码
HDB3码的编码虽然比较复杂,但译码却比较简单。
从上述编码规则看出,每一个破坏脉冲V总是与前一非“0”脉冲同极性(包括B在内)。
这就是说,从收到的符号序列中可以容易地找到破坏点V,于是也断定V符号及其前面的3个符号必是连“0”符号,从而恢复4个连“0”码,再将所有-1变成+1后便得到原消息代码。
解码规则如下:
1)若3连“0”前后非零脉冲同极性,则将最后一个非零元素译为零,如+1000+1就应该译成“10000”;若2连“0”前后非零脉冲极性相同,则两零前后都译为零,如-100-1,就应该译为0000。
2)再将所有的-1变换成+1后,就可以得到原消息代码。
3.4MATLAB实现HDB3码编解码
1、HDB3码编码2、HDB3码解码
图3.1HDB3编码流程图图3.2HDB3解码流程图
4信道编码循环码编译码
4.1循环码编译码原理与特点
设C使某线性分组码的码字集合,如果对任
,它的循环移位
也属于C,则称该码为循环码。
该码在结构上有另外的限制,即一个码字任意循环移位的结果仍是一个有效码字。
其特点是:
(1)可以用反馈移位寄存器很容易实现编码和伴随式的计算;
(2)由于循环码有很多固有的代数结构,从而可以找到各种简单使用的译码办法。
循环码特点有:
1)循环码是线性分组码的一种,所以它具有线性分组的码的一般特性,且具有循环性,纠错能力强。
2)循环码是一种无权码,循环码编排的特点为相邻的两个数码之间符合卡诺中的邻接条件,即相邻数码间只有一位码元不同,因此它具有一个很好的优点是它满足邻接条件,没有瞬时错误(在数码变换过程中,在速度上会有快有慢,中间经过其他一些数码形式,即为瞬时错误)。
3)码字的循环特性,循环码中任一许用码经过牡环移位后,所得到的码组仍然是许用码组。
4.2循环码编码原理
有信息码构成信息多项式
,其中最高幂次为k-1;
用
乘以信息多项式m(x),得到的
,最高幂次为n-1,该过程相当于把信息码(
,
,……,
,
)移位到了码字德前k个信息位,其后是r个全为零的监督位;
用g(x)除
得到余式r(x),其次数必小于g(x)的次数,即小于(n-k),将此r(x)加于信息位后做监督位,即将r(x)于
相加,得到的多项式必为一码多项式。
1)有信息码构成信息多项式m(x)=mk-1xk-1+``````m0
其中高幂次为k-1。
2)用xn-k乘上信息多项式m(x),得最高幂次为n-1,做移位。
3)用g(x)除xn-km(x)和到余式r(x)。
4.3循环码译码原理
1)有接收到的y(x)计算伴了随式s(x)。
2)根据伴随式s(x)找出对应的估值错误图样。
3)计算c^(x)=y(x)+e^(x),得估计码字。
若c^(x)=c(x),则译码正确,否则错误。
由于g(x)的次数为n-k次,g(x)除E(x)后得余式(即伴随式)的最高次数为n-k-1次,故S(x)共有2n-k个可能的表达式,每一个表达式对应一个错误格式。
可以知道(7,4)循环码的S(x)共有2(7-4)=8个可能的表达式,可根据错误图样表来纠正(7,4)循环码中的一位错误。
4.4MATLAB实现循环码编译码
循环码的编译码原理相对复杂,但是MATLAB软件中有可以直接对二进制序列进行编译码的函数,分别为encode编码函数和decode译码函数,它们的用法如下:
1)encode函数
功能:
编码函数
语法:
code=encode(msg,N,K,method,opt)
说明:
用method指定的方法完成纠错编码。
其中msg代表信息码元,是一个K列矩阵,N是编码后的码字长度;K是信息位的长度;opt是有些编码方式需要的参数。
2)decode函数
功能:
译码函数
语法:
msg=decode(code,N,K,method,opt1,opt2,opt3,opt4);
说明:
这个函数对接收到的码字进行译码,恢复出原始的信息,译码参数和方式必须和编码时采用的严格相同。
它对接收到的码字,按method指定的方式进行译码;opt1,…,opt4是可选项的参数。
利用这两个函数可以很方便的实现循环码的编译码,使用(7,4)码进行编解码,循环码编码时,函数变量中的method应为cyclic。
52PSK调制与解调
5.1数字调制技术
为了使数字信号在带通信道中传输,必须用数字基带信号对载波进行调制以使信号与信道的特性相匹配。
这种用数字信号控制载波,把数字基带信号变换为数字带通信号(已调信号)的过程成为数字调制。
在接收端通过解调器把带通信号还原成数字基带信号的过程成为数字解调。
通常把包括调制和解调过程的数字传输系统叫做数字带通传输系统。
一般来说,数字调制与模拟调制的基本原理相同,但是数字调制有离散取值的特点。
因此数字调制技术有两种方法:
①利用模拟调制的方法去实现数字式调制;
②通过开关键控载波,通常称为键控法。
基本键控方式有振幅键控、频移键控、相移键控。
振幅键控频移键控相移键控
图5.1正弦载波的三种键控波形
5.2二进制相移键控(2PSK)基本原理
数字调制可分为二进制调制和多进制调制。
相移键控是利用载波的相位变化来传递数字信息,而振幅和频率保持不变。
在2PSK中,通常用初始相位0和π分别表示二进制“1”和“0”。
因此,2PSK信号的时域表达式为:
式中,n表示第n个符号的绝对相位:
因此,上式可以改写为
由于表示信号的两种码元的波形相同,极性相反,故2PSK信号可以表述为一个双极性全占空矩形脉冲序列与一个正弦载波的相乘:
式中
这里,g(t)是脉宽为Ts的单个矩形脉冲,而an的统计特性为
即发送二进制符号“0”时,e2psk(t)取0相位;发送二进制符号“1”时,e2psk(t)取π相位。
这种以载波的不同相位直接去表示相应二进制数字信号的调制方式,称为二进制绝对相移方式。
(a)模拟调制的方法
(b)键控法
图5.22PSK信号调制器原理方框图
2PSK信号的解调通常采用相干解调法,解调器原理框图如下图5.3所示。
假设数字信息为“10011”,相干解调各点波形如下图5.4所示。
图5.32PSK信号的解调原理框图
图5.42PSK信号相干解调时各点时间波形
5.3MATLAB实现2PSK调制与解调
1、2PSK调制流程图2、2PSK解调流程图
图5.52psk调制图5.62psk解调
5.4瑞利衰落信道方案设计
本次课程设计中要求使用衰落信道,我们采用较为简单的瑞利衰落信道,在无线通信信道环境中,电磁波经过反射折射散射等多条路径传播到达接收机后,总信号的强度服从瑞利分布。
同时由于接收机的移动及其他原因,信号强度和相位等特性又在起伏变化,故称为瑞利衰落。
瑞利衰落中最简单的模型就是两个独立高斯噪声矢量模的平方开方,即是产生的瑞丽衰落信道模型,在MATLAB软件中很容易实现。
瑞利衰落信道是一种无线电信号传播环境的统计模型。
这种模型假设信号通过无线信道之后,其信号幅度是随机的,即“衰落”,并且其包络服从瑞利分布。
在MATLAB软件中有可以产生瑞利衰落信道的函数即rayleignchan函数,用此函数便可以产生一个简单的瑞利衰落信道。
6MATLAB软件仿真
6.1发送端仿真结果
6.1.1PCM编码仿真
图6.1原始信号与PCM编码输出
6.1.2HDB3码及循环码编码仿真
图6.2HDB3编码与循环码信号输出
6.1.32PSK调制以及衰落信道仿真
图6.32PSK调制信号与加噪信号
6.2接收端仿真结果
6.2.12PSK解调仿真
图6.42PSK信号相干解调时间波形
6.2.2循环码及HDB3码解码仿真
图6.5HDB3码解码信号输出
6.2.3PCM解码仿真
图6.6PCM解码信号输出
6.3仿真结果分析
由以上图可知,并比较PCM编码信号、HDB3码编码信号、汉明码编码信号可看出代码正确,能够实现PCM编码、HDB3编码、汉明码编码的功能。
比较汉明码编码信号、2PSK调制信号与2PSK解调信号可看出,2PSK调制与解调代码正确,可实现2PSK调制与解调。
比较原始正弦信号与输出信号波形可看出,最终在接收端能够近似地再现信源