通信系统仿真实习报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中国地质大学(武汉)机械与电子信息学院
通信系统仿真
实习报告
姓名:陈登
小组成员:黄诗妍李黎过丹婷党小梅林非
班级:75092-21
学号:20091002805
2012-6-28
一、 整体系统
a) 系统主要模块
b) 各模块简述 i.
通信系统 1. 模拟通信系统
2. 数字通信系统
模拟通信系统主要通过模拟方式完成整个通信过程,包括多路信号的输入、调制、频分复用、带通滤波、解调。 数字通信系统主要通过数字方式完成整个通信过程,信号的输入、信源编码、信道编码、调制、加噪、解调、信道解码、信源解码、低通滤波、信号输出。
1.PCM编码
2.DPCM编码
3.DM编码PCM编码模块主要将话音、图像等模拟信号每隔一定时间进行取样,使其离散化,同时将抽样值按分层单位四舍五人取整量化,同时将抽样值按一组二进制码来表示抽样脉冲的幅值。
DPCM编码是对模拟信号幅度抽样的差值进行量化编码的调制方式。这种方式是用已经过去的抽样值来预测当前的抽样值,对它们的差值进行编码。差值编码可以提高编码效率。
DM编码对模拟信号采样,并用每个样值与它的预测值的差值对周期脉冲序列进行调制。已调脉冲序列以脉冲的有、无来表征差值的正负号,也就是差值只编成一位二进制码。
1.汉明码
2.循环码
iv.调制解调
1.2PSK 汉明码是在电信领域的一种线性侦错码。汉明码在传输的讯息流中插入验证码,以侦测并更正单一位元错误。
循环码是是目前研究得最成熟的一类码。它有许多特殊的代数性质,这些性质有助于按所要求的纠错能力系统地构造这类码,且易于实现;同时循环码的性能也较好,具有较强的检错和纠错能力。
2PSK模块用二进制基带信号对载波进行二相调制。即二进制符号0对应于波0相位,符号1对应于载波1相位的一种相移键控技术。这种以载波的不同相位直接表示相应数字信息的绝对移相方式。
2.2DPSK
3.OOK
v.复用系统
1.数字频分复用利用前后码元的相对载波相位值表示数字信息的一种差分移相数字调制技术,设相对载波相位值用相位偏移_Φ表示,则二进制符号0对应的_Φ为0,,符号1对应的_Φ为0,它在抗噪声性能及信道频带利用率等方面性能较好。
OOK模块实现OOK调制。OOK是ASK 调制的一个特例,把一个幅度取为0,另一个幅度为非0,就是OOK。它是以单极性不归零码序列来控制正弦载波的开启与关闭。该调制方式的实现简单。
该模块以数字方式
完成多路信号的复
用,可以正确传输相
应比特流,采取OOK
调制。
二、自制模块
a)汉明编码
i.汉明码原理
1.汉明码纠错思想
如果一条信息中包含更多用于纠错的位,且通过妥善安
排这些纠错位使得不同的出错位产生不同的错误结果,
那么我们就可以找出出错位了。在一个7位的信息中,
单个位出错有7种可能,因此3个错误控制位就足以确
定是否出错及哪一位出错了。
2.汉明码基本算法
a)下列通用算法可以为任意位数字产生一个可以纠错
一位(SEC)的汉明码。
b)从1开始给数字的数据位(从左向右)标上序号, 1,
2,3,4,5...
c)将这些数据位的位置序号转换为二进制,1, 10, 11,
100, 101, 等.
d)数据位的位置序号中所有为二的幂次方的位(编号
1,2,4,8,等,即数据位位置序号的二进制表示
中只有一个1)是校验位
e)所有其它位置的数据位(数据位位置序号的二进制
表示中至少2个是1)是数据位
f)每一位的数据包含在特定的两个或两个以上的校验
位中,这些校验位取决于这些数据位的位置数值的
二进制表示
i.校验位1 覆盖了所有数据位位置序号的二进制
表示倒数第一位是1的数据:1(校验位自身,
这里都是二进制,下同),11,101,111,1001,
等
ii.校验位2 覆盖了所有数据位位置序号的二进制
表示倒数第二位是1的数据:10(校验位自身),
11,110,111,1010,1011,等
iii.校验位4 覆盖了所有数据位位置序号的二进制
表示倒数第三位是1的数据:100(校验位自身),
101,110,111,1100,1101,1110,1111,等iv.校验位8 覆盖了所有数据位位置序号的二进制
表示倒数第四位是1的数据:1000(校验位自身),
1001,1010,1011,1100,1101,1110,1111,
等
简而言之,所有校验位覆盖了数据位置和该校验位位置
的二进制与的值不为0的数。
ii.汉明码实现程序
1.汉明编码函数
[code,create_matrix] = hamming_encode(msg,total_bit,signal_bit)
a)输出:code:编码结果
create_matrix:汉明码生成矩阵
b)输入:msg:输入二进制序列
total_bit:汉明编码的总比特数
signal_bit:总比特数中的信息比特数
2.汉明解码函数
[msg,err,err_loc] = hamming_decode(code,total_bit,signal_bit)
a)输出:msg:解码结果
err:误码位数
err_loc:误码位置
b)输入:code:已编码序列
total_bit:汉明编码的总比特数
signal_bit:总比特数中的信息比特数iii.汉明码仿真结果