完整版通信系统课程设计Word格式文档下载.docx
《完整版通信系统课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《完整版通信系统课程设计Word格式文档下载.docx(23页珍藏版)》请在冰点文库上搜索。
②信道编码的原理:
对传
输的信息码元按一定的规则加入一些冗余码(监督码),形成新的码字,接收端按照约定好
的规律进行检错甚至纠错。
③信道编码又称为差错控制编码、抗干扰编码、纠错编码。
4、数字调制
1数字调制技术的概念:
把数字基带信号的频谱搬移到高频处,形成适合在信道中传输的频
带信号。
2数字调制的主要作用:
提高信号在信道上传输的效率,达到信号远距离传输的目的。
3基本的数字调制方式:
振幅键控ASK频移键控FSK相移键控PSK
5、信道:
信道是信号传输媒介的总称,传输信道的类型有无线信道(如电缆、光纤)和有线信道(如自由空间)两种。
6、噪声源:
1通信系统中各种设备以及信道中所固有的,为了分析方便,把噪声源视为各处噪声的集中表现而抽象加入到信道。
1.2信源码——PCM码
通常是把从模拟信号抽样、量化,直到变换成为二进制符号的基本过程,称为脉冲编码
调制PCM,简称脉码调制。
在编码器中由冲激脉冲对模拟信号抽样,得到在抽样时刻上的信号抽样值。
这个抽样值仍是模拟量。
在量化之前,通常由保持电路将其作短暂保存,以便
电路有时间对其量化。
在实际电路中,常把抽样和保持电路做在一起,称为抽样保持电路。
图中的量化器把模拟抽样信号变成离散的数字量,然后在编码器中进行二进制编码。
这样每
个二进制码组就代表一个量化后的信号抽样值。
抽样是对模拟信号进行周期性的扫描,把时间上连续的信号变成时间上离散的信号。
经
过抽样的信号应包含原信号的所有信息,即能无失真地恢复出原模拟信号。
量化是把经抽样得到的瞬时值进行幅度离散,即指定Q规定的电平,把抽样值用最接近的电平表示。
编码是用二进制码组表示有固定电平的量化值。
实际上量化是在编码过程中同时完成的。
卩律和A律压缩特性:
1n(1x)1x1)卩律:
y((式1-1)1n
(1)
Ax10|x|1InAAyA律:
(式11nA|x|1|x|111nAA
1-2)
式中,x为归一化输入,y为归一化输出,A、卩为压缩系数。
数字压扩技术:
一种通过大量的数字电路形成若干段折线,并用这些折线来近似A律或卩
律压扩特性,从而达到压扩目的方法。
即对数压扩特性的折线近似法。
我国一般都采用A
律。
本文设计方案也采用A律-13折线法。
1.3基带码——Miller码
Miller码也称延迟调制码,是一种变形双向码。
其编码规则:
对原始符号“1”码元起
始不跃变,中心点出现跃变来表示,即用10或01表示。
对原始符号“0”则分成单个“0”
还是连续“0”予以不同处理;
单个“0”时,保持0前的电平不变,即在码元边界处电平不跃变,在码元中间点电平也不跃变;
对于连续“0”,则使连续两个“0”的边界处发生电平
跃变。
1.3.1密勒码简介及其编码规则
Miller码又称延迟调制码,它可看成是双相码的一种变形。
一、编码规则:
消息代码中的1用10或01表示;
消息代码中的0分两种情况:
单个"
0"
在码元持续时间内不出现电平跳变,且与相邻码元的边界处也不跳变;
连"
串在两个"
码的边界处出现电平跳变,即"
00"
与"
11"
交替。
1.3.2密勒码原理
Miller码又称延迟调制码,其编码规则为:
信码“1”用“01”或“10”交替表示,信码“0”用“00”或“11”交替表示。
它的主要特点是:
(1)由编码规则可知,当信码序列出
现“101”时,Miller码出现最大脉冲宽度为两个码元周期,而信码出现连“0时,它的最小
脉冲宽度为一个码元周期,这一性质可用于进行误码检测。
(2)比较双相码与Miller码的
码型,可以发现后者时前者经过一级触发器得来。
由上述特点可知Miller码的编码过程:
将NRZ编码为BHP码,再由BHP码经过一级触发器即得Miller码。
Miller码得解码方法与
BHP码相同,只要将判决条件改为NRZ与Miller码的对应关系即可。
1.4信道码一一汉明码
汉明码Hammingcode:
用于数据传送,能检测所有一位和双位差错并纠正所有一位差错的二进制代码。
与其他的错误校验码类似,汉明码也利用了奇偶校验位的概念,通过在数
据位后面增加一些比特,可以验证数据的有效性。
利用一个以上的校验位,汉明码不仅可以
验证数据是否有效,还能在数据出错的情况下指明错误位置。
在接受端通过纠错译码自动纠
正传输中的差错来实现码纠错功能,称为前向纠错FEC在数据链路中存在大量噪音时,FEC
可以增加数据吞吐量。
通过在传输码列中加入冗余位(也称纠错位)可以实现前向纠错。
但这
种方法比简单重传协议的成本要高。
汉明码利用奇偶块机制降低了前向纠错的成本。
现以数据码1101为例讲讲汉明码的编码原理,此时D8=1、D4=1、D2=0、D1=1,在P1
编码时,先将D8、D4、D1的二进制码相加,结果为奇数3,汉明码对奇数结果编码为1,偶数结果为0(奇数位。
若奇数结果编码为0.偶数结果为1,则叫偶数位),因此P1值为1,D8+D2+D1=2,为偶数,那么P2值为0,D4+D2+D仁2,为偶数,P3值为0。
这样,参照上文的位置表,汉明码处理的结果就是1010101。
在这个4位数据码的例子中,我们可以发现每个汉明码都是以三个数据码为基准进行编码的。
从编码形式上,我们可以发现汉明码是一个校验很严谨的编码方式。
在这个例子中,通
过对4个数据位的3个位的3次组合检测来达到具体码位的校验与修正目的(不过只允许一个位出错,两个出错就无法检查出来了,这从下面的纠错例子中就能体现出来)。
在校验时则把每个汉明码与各自对应的数据位值相加,如果结果为偶数(纠错代码为0)就是正确,
如果为奇数(纠错代码为1)则说明当前汉明码所对应的三个数据位中有错误,此时再通过
其他两个汉明码各自的运算来确定具体是哪个位出了问题。
还是刚才的1101的例子,正确的编码应该是1010101,如果第三个数据位在传输途中因干扰而变成了1,就成了1010111。
检测时,P1+D8+D4+D1的结果是偶数4,第一位纠错代码为0,正确。
P2+D8+D2+D1的结果是奇数3,第二位纠错代码为1,有错误。
P3+D4+D2+D1的结果是奇数3,第三位纠错代码为1,有错误。
那么具体是哪个位有错误呢?
三个纠错代码从高到低排列为二进制编码110,换算成十进制就是6,也就是说第6位数据错了,而数据第三位在汉明码编码后的位置正好是第6位。
1.5噪声信道——AWGN
加性高斯白噪声AWGN(AdditiveWhiteGaussianNoise)是最基本的噪声与干扰模型。
加性噪声:
叠加在信号上的一种噪声,通常记为n(t),而且无论有无信号,噪声n(t)都是始终
存在的。
因此通常称它为加性噪声或者加性干扰。
白噪声:
噪声的功率谱密度在所有的频率上均为一常数,则称这样的噪声为白噪声。
如果白噪声取值的概率分布服从高斯分布,则称这样的噪声为高斯白噪声。
.各模块的MATLAB实现
2.1信号源的实现根据题目的要求,自己构造一个时间函数,模拟话音信号,因为话音信号的
频率在300Hz~3400Hz之间,取典型值300Hz。
构造一个模拟正弦函数。
设定采
样频率为6000Hz,因而采样点间步长为1/6000S。
程序为:
fs=6000;
%设定采样频率dt=1/fs;
%设定步长N=20;
long=N;
n=0:
N-1;
t=n*dt;
%截止时间fc=300;
%时间函数频率y=Sin(2*pi*fc*t);
%构造正弦函数figure
(1);
plot(t,y);
%绘制时间函数图象title('
源信号时间函数波形'
)
绘制出构造的信号波形如图2-1所示:
JE10*
图2-1信号源时间函数波形
2.2信源编码一一PCM编码
2.2.1PCM编码原理
本设计采用A律折线法。
实际中A律常用13折线法近似如图2-2所示:
图2-2A律13折线
其具体分法如下:
先将X轴的区间[0,1]一分为二,其中点为1/2,取区间[1/2,1]作为第八段;
区间[0,1/2]再一分为二,其中点为1/4,取区间[1/4,1/2]作为第七段;
区间[0,1/4]再一分为二,其中点为1/8,取区间[1/8,1/4]作为第六段;
区间[0,1/8]一分为二,中点为1/16,取区间[1/16,1/8]作为第五段;
区间[0,1/16]一分为二,中点为1/32,取区间[1/32,1/16]作为第四段;
区间[0,1/32]—分为二,中点为1/64,取区间[1/64,1/32]作为第三段;
区间[0,1/64]一分为二,中点为1/128,区间[1/128,1/64]作为第二段;
区间[0,1/128]作为第一段。
然后将Y轴的[0,1]区间均匀地分成八段,从第一段到第八段
分别为[0,1/8],(1/8,2/8],(2/8,3/8],(3/8,4/8],(4/8,5/8],(5/8,6/8],(6/8,7/8],(7/8,1]。
分别与X轴对应。
码位的安排:
目前国际上普遍采用8位非线性编码。
例如PCM30/32路终端机中最大输入信号幅度对应4
096个量化单位(最小的量化间隔称为一个量化单位),在4096单位的输入幅度范围内,被
分成256个量化级,因此须用8位码表示每一个量化级。
用于13折线A律特性的8位非线
性编码的码组结构如表2-1所示:
极性码
段落码
段内码
Ml
M2M3M4
M5M6M7MS
表2-18位非线性编码的码组结构
其中,第1位码M1的数值“1”或“0”分别代表信号的正、负极性,称为极性码。
从折叠二进制码的规律可知,对于两个极性不同,但绝对值相同的样值脉冲,用折叠码表示时,除
极性码M1不同外,其余几位码是完全一样的。
因此在编码过程中,只要将样值脉冲的极性判出后,编码器便是以样值脉冲的绝对值进行量化和输出码组的。
这样只要考虑13折线中
对应于正输入信号的8段折线就行了。
这8段折线共包含128个量化级,正好用剩下的7
位码(M2,,,M8)就能表示出来。
2.2.2PCM编码的实现
设计处理段落码子程序mdIGetDuanLuoMa,功能是对采样得到的信号进行比较,确定
其PCM编码对应的段落码。
functionduanLuoMa=mdlGetDuanLuoMa(table,Is,i)
switchi,
case2,
duanLuoMa=(ls>
=table(4,2));
case3,
duanLuoMa=(ls<
table(4,2)&
ls>
=table(2,2))|(ls>
=table(6,2));
case4,
=table(2,2)&
ls>
=table(3,2))|(ls<
table(4,
2)&
ls<
table(2,2)&
=table(1,2))|(ls>
=table(4,2)&
ls<
……
table(6,2)&
=table(5,2))|(ls>
=table(4,2)&
ls>
=table(6,2)&
=table(7,2));
end
设计子程序pcmcoder,计算出相应段落码区间里的段内号以及极性码,完成PCM编码。
2.3基带编码——Miller编码
编写实现Miller编码子程序,即对PCM编码后的信号进行处理,遇1则编为10,遇0
则编为01即可。
functionmcst=mcstcoder(y,long)mcst=zeros(1,16*long);
forn=1:
8*long
if(y(n)==1)
mcst(2*n-1)=1;
mcst(2*n)=0;
elseif(y(n)==0)
mcst(2*n-1)=0;
mcst(2*n)=1;
2.4信道编码一一汉明码编码汉明码编码分析:
现在以(7,4)分组码为例来说明汉明码的特点。
其主要参数如下:
m码长:
n2
1
m信息位:
k
21m
校验位:
mn
k,且m
3
最小距离:
dmind03
其生成矩阵
G(前四位为信息位,后三位为冗余位)如下:
1000110
0100011G(式2-1)0010111
0001101
系统码可分为消息部分和冗余部分两部分,根据生成矩阵,输出码字可按下式计算:
10001100100011a,a,a),a,a,a0)(式2-2)210321b(a3,G
(a0010111
所以有
b6a3b5a2b4a1b3a0
b2a3a1a0b1a3a2a1b0a2a1a0
信息位冗余位
由以上关系可以得到(7,4)汉明码的全部码字如表2-2所示。
表2-2(7,4)汉明码的全部码字
汉明码的MATLAB实现:
functionh=hanmincoder(s,L)ifmod(L,4)==1;
L=L+3;
s(L)=0;
s(L-1)=0;
s(L-2)=0;
elseifmod(L,4)==2;
L=L+2;
elseifmod(L,4)==3;
L=L+1;
s(L)=0;
end
h=zeros(1,L+L/4*3);
N=L+L/4*3;
j=1;
fork=0:
L/4-1
i=4*k+1;
h(j)=s(i);
h(j+1)=s(i+1);
h(j+2)=s(i+2);
h(j+3)=s(i+3);
h(j+4)=xor(xor(s(i),s(i+1)),s(i+2));
h(j+5)=xor(xor(s(i),s(i+1)),s(i+3));
h(j+6)=xor(xor(s(i),s(i+2)),s(i+3));
j=j+7;
endend
由程序可见,程序先将输入的信号序列补0至4的倍数,然后每4个相邻数据作为一组,进行处理,h序列即为编码后的序列,h(j)、h(j+1)、h(j+2)、h(j+3)为信息位,h
(j+4)、h(j+5)、h(j+6)为冗余位。
2.5ASK调制ASK调制原理:
理论上数字调制与模拟调制在本质上没有什么不同,它们都属于正弦波调制。
但是,数
字调制是源信号为离散型的正弦波调制,而模拟调制则是源信号为连续型的正弦波调制,因
而,数字调制具有由数字信号带来的一些特点。
这些特点主要包括两个方面:
第一,数字调制信号的产生,除把数字的调制信号当作模拟信号的特例而直接采用模拟调制方式产生数字调制信号外,还可以采用键控载波的方法。
第二,对于数字调制信号的解调,为提高系统的
抗噪声性能,通常采用与模拟调制系统中不同的解调方式。
振幅键控是正弦载波的幅度随数
字基带信号而变化的数字调制,即源信号为“1”时,发送载波,源信号为“0”时,发送0
电平。
所以也称这种调制为通、断键控(OOK)。
当数字基带信号为二进制时,也称为二
进制振幅键控(2ASK,2ASK信号的调制方法有模拟幅度调制方法和键控方法两种。
2ASK信号是数字调制方式中最早出现的,也是最简单的,但其抗噪声性能较差,因此实际应用并不广泛,但经常作为研究其它数字调制方式的基础。
2ASK的时域特征2ASK信号的
时域表示式为:
其中,为随机的单极性矩形脉冲序列,是经过基带成型处理之后的脉冲
序列。
2ASK信号的时域波形如图2-6所示:
旬('
图2-62ASK时域波形
ASK调制的MATLAB实现:
先将汉明码序列进行扩展,每个数据都重复8次然后重组,与对应的余弦载波进行相乘,得
到调制后的信号。
调制后的部分波形图如图2-7所示
图2-7ASK调制信号
2.6信道噪声——AWGN
Matlab本身自带了于某信号中加入高斯白噪声的函数:
AWGN――y=awgn(x,SNR)在信
号x中加入高斯白噪声。
SNR为信噪比,以dB为单位。
x的强度假定为OdBW。
设定SNR信噪比为13dB。
绘制出收到噪声干扰的传输信号波形图如图2-8所示:
图2-8加入高斯白噪声的调制波
2.7ASK解调
本设计采用相干解调,即采用与载波信号同步的信号与已调信号相乘,再通过FIR低通
滤波器,即可解调出调制信号。
解调框图如图2-9所示:
rask图2-9ASK解调框图解调后的波形图如图2-10所示:
图2-10ASK相干解调后波形
2.8汉明码解码
汉明码校验:
在发送端信息码元M利用式(8-16),实现信道编码,产生线性分组码A;
在传输过程中有可能出现误码,设接收到的码组为B。
则收发码组之差为:
(式2-3)这
里,,表示i位有错,这样的原则接收端利用接收到的码组B计算:
,表示i位无错。
基于
(式2-4)因此,校正子仅与E有关,即错误图样与校正子之间有确定的关系。
对于上述
(7,4)码,校正子S与错误图样的对应关系可由式(2-4)求得,其计算结果见表2-3所示。
在接收端的译码器中有专门的校正子计算电路,从而实现检错和纠错。
表2-3(7,4)
码校正子与错误图样的对应关系汉明码译码程序:
根据上节推算的校验子S,可以推算出
出对应的信息位,并能对发生一位错误的信息进行纠正。
将接收到的汉明码每7个为一组进行解码,即可得到相应的4位信息,重组后得到整个汉明码组的译码结果。
结果图如图2-11所示。
序
号
锚误码位
E
音6
^5
芒4
e2
僧1
eO
Si
S2
SI
/
bO
2
bl
b2
4
b3
5
b4
6
b5
b6
Q
图2-11汉明码解码
2.9miller译码
Miller译码即为其编码的逆过程,将收到的序列每2个分为一组,遇“10”则译为“1”,
遇"
01”则译为“0”。
functiondemcst=mcstdecoder(y,L)demcst=zeros(1,L/2);
for
n=1:
L/2if(y(2*n-1)==1&
&
y(2*n)==0)demcst(n)=1;
elseif(y(2*n-1)==0&
y(2*n)==1)
demcst(n)=0;
endendendend解码后的结果如图2-12所示:
图2-12miller解码
2.10PCM译码
PCM译码对接收到的二进制PCM编码序列进行分组,每8个数据为一组,相应的对应着
极性码、段落码、段内码。
译码时,先由极性码确定信号的符号,再由段落码确定信号所在码段,同时由段内码确定段内量化单位数。
由段落数确定段落起点电平和段内量化值。
最后
译码得至U的信号out=duanstartpoint+duanneima.*duanneijianju.从而将二进制序歹U译
码出对应的模拟信号采样的值。
PCM译码后的结果如图2-13所示:
图2-13PCM译码后的
波形2.11误码率的计算通过比较PCM编码后与miller译码后的两组数据,统计出不一致的数据的个数,除以总的PCM编码个数,即可得到误码率。
通过分析误码率的大小可以判断此通信系统的好坏。
len=length(demcst);
errornum=0;
fori=1:
len
if(demcst(i)~=pcmy(i))errornum=errornum+1;
endenddisp('
误码率为'
);
errornum/len
O.B
FCM^525的W龛
0246&
1012141®
IS2Q
3.仿真结果分析
3.1源信号与接收信号波形对比
对比输入的源信号与经过噪声信道后接收到的信号波形,分别如图3-1a和图3-1b所示:
源信号时间函数波形x10-3PCM译码后的波形图3-1a信源信号图3-1b接收信号如图可见,复原后的信号大致与源信号相同,但还是出现了毛刺,这是因为ASK调制方式的抗
噪声性能并不是很好,当高斯白噪声同时干扰了一组码中的二个以上的码元时,便会出现误
码。
3.2误码率统计
通过误码率统计函数,可以精确的算出每次仿真的误码率,仿真的误码率结果如图3-2
所示:
图3-2误码率统计