数字基带传输系统仿真及性能分析.docx
《数字基带传输系统仿真及性能分析.docx》由会员分享,可在线阅读,更多相关《数字基带传输系统仿真及性能分析.docx(40页珍藏版)》请在冰点文库上搜索。
![数字基带传输系统仿真及性能分析.docx](https://file1.bingdoc.com/fileroot1/2023-5/25/3c984ecc-1d44-4649-a1ad-60be4c32151a/3c984ecc-1d44-4649-a1ad-60be4c32151a1.gif)
数字基带传输系统仿真及性能分析
数字基带传输系统仿真及性能分析
通信系统综合训练
题目:
数字基带传输系统仿真及性能分析
—HDB3及循环码
学院:
大数据与信息工程学院
专业:
通信工程
班级:
通信
学号:
学生姓名:
指导教师:
2014年7月6日
摘要
数字信号的基带传输是通信系统中的一个重要环节,对基带传输研究的意义在于现代通信系统中广义上的任一线性调制的频带传输系统均可等效为基带传输系统,即数字基带传输中本就包含了频带传输的一些基本问题。
同时,就数字基带传输自身而言,随着数字通信技术的发展也被越来越多的应用。
在基带传输理论学习过程中涉及到的信道编码、传输信道特性、接收滤波、抽样判决等环节存在较为抽象不易理解的问题,如果不经过实践环节,这些抽象的计算和变换难以较快的掌握。
MATLAB是一款功能强大的工程技术数值运算跨平台语言,利用它的通信工具箱和可视化仿真模型库Simulink可有效实现通信系统的仿真。
Simulink可对动态系统进行建模、仿真并对仿真结果进行分析,其可视化建模的特点尤其适合于通信系统仿真等工作。
关键词:
数字基带传输系统;HDB3;循环码
前言
随着通信系统的规模和复杂度不断增加,传统的设计方法已经不能适应发展传的需要,通信系统的模拟仿真技术越来越受到重视。
传统的通信仿真技术主要分为手工分析与电路试验2种,但耗时长方法比较繁杂,而通信系统的计算机模拟仿真技术是介于上述2种方法的一种系统设计方法,它可以让用户在很短的时间内建立整个通信系统模型,并对其进行模拟仿真
。
数字信号的传输方式按其在传输中对应的信号的不同可分为数字基带传输系统和数字频带传输系统。
不使用调制和解调而直接传输数字基带信号的系统称为数字基带传输系统。
虽然在实际使用的数字通信系统中基带传输不如频带传输那样广泛,但是,对于基带传输系统的研究仍然是十分有意义的。
1)在频带传输制式里同样存在基带传输的问题(如码间干扰等),因为信道的含义是相对的,若把调制解调器包括在信道中(如广义信道),则频带传输就变成了基带传输。
可以说基带传输是频带传输的基础。
2)随着数字通信技术的发展,基带传输这种方式也有迅速发展的趋势。
目前,它不仅用于低速数据传输,而且还用于高速数据传输。
3)理论上也可以证明,任何一个采用线性调制的频带传输系统,总是可以由一个等效的基带传输系统所替代。
对数字基带传输系统的仿真而言。
仿真工具是MATLAB中的simulink模块对其仿真。
特点是将数值分析、矩阵计算、图形、图像处理和仿真等诸多强大功能集成在一个极易使用的交互式环境中伪科学研究、工程设计以及必须进行有效数值计算的众多学科提供了一种高效率的华仿真工具。
运用MATLAB中的simulink可以对数字基带传输系统进行较为全面地研究。
一、数字基带传输系统
1、数字基带传输系统的简介
概述
数字基带传输的研究的意义
数字基带信号的基本要求
常用的基带传输信号
数字基带传输系统
2、基带传输系统设计中的误码
产生误码的原因
解决误码的方法
二、HDB3码的基带传输
1、HDB3码简介
编码原理
码的特点
2、数字基带信号传输码系统组成
3、无码间串扰的传输特性的设计:
三、基带传输系统实现HDB3码形变换的设计
1、基带传输系统的设计
设计方案
设计思路
函数程序流程图
2、HDB3码形变换的仿真
相关程序代码
调试与仿真
四、实现信道编码和译码—循环码
1、编码原理
2、译码原理
3、纠错原理
4、仿真分析
5、实验程序
五、MATLAB对通信系统的仿真
1、MATLAB主要模块及参数设置
2、通信系统的仿真图和结果分析
3、加入噪声及干扰时系统性能指标的变化分析
六、设计总结
一、数字基带传输系统
1、数字基带传输系统的简介
概述
在数字传输系统中其传输的对象通常是二进制数字信号,它可能是来自计算机、电传打字机或其它数字设备的各种数字脉冲,也可能是来自数字电话终端的脉冲编码调制(PCM)信号
。
这些二进制数字信号的频带范围通常从直流和低频开始直到某一频率,我们称这种信号为数字基带信号。
在某些有线信道中特别是在传输距离不太远的情况下,数字基带信号可以不经过调制和解调过程在信道中直接传送,这种不使用调制和解调设备而直接传输基带信号的通信系统,我们称它为基带传输系统。
而在另外一些信道,特别是无线信道和光信道中,数字基带信号则必须经过调制过程,将信号频谱搬移到高频处才能在信道中传输,相应地在接收端必须经过解调过程才能恢复数字基带信号。
我们把这种包括了调制和解调过程的传输系统称为数字载波传输系统。
数字基带传输系统的模型主要包括码型变换器、发送滤波器、信道、接收滤波器、均衡器和取样判决器等部分
。
数字基带传输的研究的意义
第一:
在利用对称电缆构成的近程数据通信系统中广泛采用这种传输方式。
第二:
数字基带传输方式迅速发展,用于低速或高速数据传输。
第三:
基带传输系统的许多问题也是带通传输系统必须考虑的问题。
第四:
任一个线性调制的带通传输系统,可以等效为一个基带传输系统。
数字基带信号的基本要求
不同形式的数字基带信号(又称为码型),具有不同的频谱结构。
为适应信道的传输特性及接收端再生、恢复数字基带信号的需要,必须合理地设计数字基带信号,即选择合适的信号码型。
适合于在有线信道中传输的数字基带信号形式称为线路传输码型。
一般来说选择数字基带信号码型时,应遵循以下基本原则:
①不含直流分量且低频分量尽量少。
②应含有丰富的定时信息,以便于从接受码流中提取定时信号。
③功率谱的主瓣宽度窄,以节省传输频带。
④不受信息源统计特性的影响,即能适应于信息源的变化。
⑤具有内在的检错能力,即码型应具有一定的规律性,以便宏观监测。
⑥编译码简单,已降低通信延时和成本。
常用的基带传输信号
为满足基带传输系统的特性要求,必须选择合适的传输码型。
基带传输系统中常用的线路传输型码主要有:
传号交替反转码---AMI码、三阶高密度双极性码---HDB3码、分相码---Manchester码、传号反转码---CMI码以及4B3T码等
。
数字基带传输系统
基带传输包含着数字通信技术的许多问题,频带传输是基带信号调制后再传输的,因此频带传输也存在基带问题。
基带传输的许多问题,频带传输同样须考虑。
如果把调制与解调过程看作是广义信道的一部分,则任何数字传输系统均可等效为基带传输系统。
理论上还可证明,任何一个采用线性调制的频带传输系统,总是可以由一个等效的基带传输系统来代替
。
数字基带系统的基本结构如图所示:
图数字基带系统的基本结构
2、基带传输系统设计中的误码
产生误码的原因
基带传输中的误码将造成基带系统传输误码率的提升,影响基带系统工作性能。
误码是由接收端抽样判决器的错误判决造成的,造成错误判决的原因主要有两个:
码间串扰和信道加性噪声的影响。
码间串扰是由于系统传输总特性(包括收发滤波器和信道特性)不理想,导致前后码元的波形畸变、展宽,并使前面波形出现很长的拖尾,蔓延到当前码元的抽样时刻上,从而对当前码元的判决造成干扰。
接收端能否正确恢复信息,在于能否有效地抑制噪声和减小码间串扰。
解决误码的方法
(1)码间串扰的解决方法
解决码间串扰的方法是要求基带系统的传输函数H(W)应具有理想低通特性和具有余弦滚降特性,理想低通特性应满足奈奎斯特第一准则:
(2-8)
若不能满足奈奎斯特第一准则,在接收端加入时域均衡,减小码间干扰。
(2)信道加性噪声的解决方法
解决信道加性噪声的方法有两个办法:
一是在接收端进行抽样判决;二是
匹配滤波,使得系统输出信噪比最大。
二、HDB3码的基带传输
1、HDB3码简介
编码原理
先把消息代码变换成AMI码,然后去检查AMI码的连0串情况,当没有4个以上连0串时,则这时的AMI码就是HDB3码;当出现4个以上连0串时,则将每4个连0小段的第4个0变换成与其前一非0符号(+1或–1)同极性的符号。
显然,这样做可能破坏“极性交替反转”的规律。
这个符号就称为破坏符号,用V符号表示(即+1记为+V, –1记为–V)。
为使附加V符号后的序列不破坏“极性交替反转”造成的无直流特性,还必须保证相邻V符号也应极性交替。
这一点,当相邻符号之间有奇数个非0符号时,则是能得到保证的;当有偶数个非0符号时,则就得不到保证,这时再将该小段的第1个0变换成+B或–B符号的极性与前一非0符号的相反,并让后面的非0符号从V符号开始再交替变化。
示例:
HDB3码的特点:
①有检错能力。
②解决了连“0”时位定时信息提取困难。
③无直流分量。
④B码和V码各自保持极性交替变化,以确保无直流分量。
⑤可能存在误码扩散的问题。
2、数字基带信号传输码系统组成
(1)信道信号形成器:
信道信号形成器的作用就是把原始基带信号变换成适合于信道传输的基带信号,这种变换主要是通过码型变换和波形变换来实现的,其目的是与信道匹配,便于传输,减小码间串扰,利于同步提取和抽样判决。
(2)滤波器:
基带系统设计的核心问题是滤波器的选取,为了使系统冲激响应h(t)拖尾收敛速度加快,减小抽样时刻偏差造成的码间干扰问题,要求发送滤波器应具有升余弦滚降特性;要得到最大输出信噪比,就要使接收滤波器特性与其输入信号的频谱共扼匹配
,同时系统函数满,H(ω)=GT(ω)GR(ω)考虑在t0时刻取样,上述方程改写为
,于是有
,因此,在构造最佳基带传输系统时要使用平方根升余弦滤波器作为滤波器。
(3)
传输信道:
信道是允许基带信号通过的媒质,通常为有线信道,如市话电缆、架空明线等。
信道的传输特性通常不满足无失真传输条件,且含有加性噪声。
因此本次系统仿真采用高斯白噪声信道。
(4)抽样判决器:
抽样判决器是在传输特性不理想及噪声背景下,在规定时刻(由位定时脉冲控制)对接收滤波器的输出波形进行抽样判决,以恢复或再生基带信号。
抽样判决关键在于判决门限的确定,由于本次设计采用双极性码,故判决门限为0。
(5)自同步法的同步提取电路:
自同步法的同步提取电路有两部分组成,包括非线型变换处理电路和窄带滤波器或锁相环。
非线型变换处理电路的作用是使接收信号或解调后的数字基带信号经过非线型变换处理电路后含有位同步分量或位同步信息。
窄带滤波器或锁相环的作用是滤除噪声和其他频谱分量,提取纯净的位同步信号。
3、无码间串扰的传输特性的设计:
①理想低通特性
H(t)=Sa[π/Ts]←→H(W)=TsRet(W/WS)
Sa(πt/T)
信号带宽最小的波形
理想低通信号的主要缺点
a.工程上难以实现;
b.尾部衰减慢(冲激响应h(t)波形收敛速度较慢,拖尾以1/t速率衰减,当存在定时误差时会带来比较大的干扰)
②升余弦滚降特性:
H(t)=Sa(πt/Ts)cos(aπt/Ts)/[(1-4aatt)/Ts]
H(w)=Ts;∣w∣<π/Ts(1-a)
H(w)=0;∣w∣>π/Ts(1-a)
升余弦滚降信号的波形与频谱:
传输宽带:
B=(1+a)/2rs
频带利用率:
g=rs/B=2/(1+a)
全升余弦系统:
a=1
三、基带传输系统实现HDB3码形变换的设计
1、基带传输系统的设计
1.1设计方案
实验流程:
设计思路:
(1)信源:
生成欲传送的01比特流,将个数N作为函数的输入;使用函数rand(1,N),使得大于某个特定值的数值为1,反之,小于则为0。
<注>:
因本实验采用HDB3码作为基带传输码型,所以使用作为0和1的分界线,这样可以生成低密度的01比特流,使得在程序运行的时候,只通过连续的少量bit就可以HDB3的编码与译码的正确性。
(2)码型编码:
将生成的01比特流作为码型转换函数的输入,函数输出为码型转换后的HDB3。
流程图如下:
(3)升余弦滚降系统:
将HDB3码作为滤波器的输入,函数输出系统输出信号;利用滤波器设计器FDATool设计Nyquist滤波器,其中参数设定:
比特传输速率Rb=16b/s每bit抽样点数N=16,滚降因子Rolloff=,其中抽样速率fs=256Hz,Nyquist带宽Band=8Hz;
(4)抽样判决:
将系统输出信号作为判决器函数的输入,进行抽样判决。
选择每bit的中心抽样进行抽样,当信号抽样值>某个特定值,则信号恢复时函数为1,若信号抽样值是某一特定值,则信号恢复时信号值设定为-1,其余恢复为0。
一般判定值不设定为0,因为若有噪声等对信号进行干扰,导致系统输出信号不是理想的。
(5)码型译码:
将抽样判决后的信号作为函数的输入,进行码型反变换,函数输出为恢复了的欲传送的01比特流。
编写程序时,首先进行设定标记Last_V、Last_B(初始设定默认为-1,与码型编码相对应),设定输入信号为signal,码型译码后的信号ssignal,其中N为每bit抽样点数。
其函数程序流程图如下:
2、HDB3码形变换的仿真
相关程序代码
(1)主函数:
clearall;
N=100;%生成的bit个数
n=16;%每个bit的抽样点数
signal=signalsource(N);
hdb3_signal=hdb3(signal,n);
filtersignal=filter_Nyquist(hdb3_signal);
samplesignal=sampling(filtersignal,n);
ssignal=reverse_hdb3(samplesignal,n);
draw(N,n,signal,hdb3_signal,filtersignal,samplesignal,ssignal);
(2)信源:
functionsignal=signalsource(N)
Signal=rand(1,N)>;
(3)码型编码—HDB3码
①functionhdb3NRZ_signal=hdb3NRZ(signal)
last_V=-1;
last_B=-1;
hdb3NRZ_signal=zeros(size(signal));
count=0;
fori=1:
length(signal)
ifsignal(i)==1
hdb3NRZ_signal(i)=-last_B;
last_B=hdb3NRZ_signal(i);
count=0;
else
count=count+1;
ifcount==4
count=0;
hdb3half_signal(i)=-last_V;
last_V=hdb3NRZ_signal(i);
ifhdb3NRZ_signal(i)*last_B==-1
end
②functionhdb3_signal=hdb3(signal,n)
%hdb3_signal=hdb3RZ(signal,n)
%函数输出hdb3_signal为码型转换后的传输码型HDB3码
a=hdb3NRZ(signal);
a0=zeros(1,n/2);
hdb3_signal=[];
forj=1:
length(signal);
a1=[];
forjj=1:
n/2
a1=[a1,a(j)];
end
hdb3_signal=[hdb3_signal,a1,a0];
End
(4)基带成型网络——升余弦滚降系统
functionfiltersignal=filter_Nyquist(signal)
%函数输入signal为传输码型的HDB3码
filtersignal=filter(mynum,den,signal);
(5)抽样判决——恢复为HDB3码
functionsamplesignal=sampling(signal,n)
%函数输出samplesignal为抽样判决后恢复的信息
%函数输入n为每个bit的抽样点数
samplesignal=[];
fori=n/2:
n:
length(signal)
ifsignal(i)>
forj=1:
n
samplesignal=[samplesignal,1];
end
elseifsignal(i)<
forj=1:
n
samplesignal=[samplesignal,-1];
end
else
forj=1:
n
samplesignal=[samplesignal,0];
End
(6)码型译码——恢复为欲传输的01比特流
functionsignal=reverse_hdb3(hdb3_signal,n)
%函数输入hdb3_signal为经过抽样之后形成的双极性的不归零的HDB3码
signal=[];
last_B=-1;
last_V=-1;
j=0;
fori=n/2:
n:
length(hdb3_signal)
j=j+1;
ifhdb3_signal(i)==1|hdb3_signal(i)==-1
signal(j)=1;
iflast_B*hdb3_signal(i)==1
signal(j)=0;
iflast_V*hdb3_signal(i)==-1
signal(j-3)=0;
end
last_B=hdb3_signal(i);
else
signal(j)=0;
end
end
调试与仿真
首先编写码型编码的代码的时候依照理解的HDB3码的编码规则进行编写代码,完成了双极性的HDB3码,利用bit抽样的时候将每bit中后1/2的抽样点设定为0,才成功调试了正确的双极性的,归零的HDB3码。
运行结果及分析
a.码型编码后的HDB3码
b.升余弦滚降系统输出的信号
c.进行抽样判决之后,恢复的不归零的HDB3码
d.码型译码的输出,恢复为欲传送的01bit流
e.基带后存数系统合成图:
f.运行完程序之后的workspace
(N为欲传送的比特个数,signal为生成的欲传送的01比特流,n为每bit的抽样点数,hdb3_signal为码型编码之后的HDB3码,filtersignal为经过基带成型网络(升余弦滚降系统)之后的信号,samplesignal为进行抽样判决之后的信号,sinalsg为码型译码恢复为欲传送的01bit流)
四、实现信道编码和译码—循环码
1、编码原理
有信息码构成信息多项式
,其中最高幂次为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)。
编码过程流程图:
2、译码原理
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)循环码中的一位错误。
解码过程流程图:
否
存储c(x)
3、纠错原理
由于循环码是一种线性分组码,所以其纠检错能力与线性分组码相当。
而线性分组码的最小距离可用来衡量码的抗干扰能力,那么一个码的最小距离就与它的纠检错能力有关。
定理:
对于任一个
线性分组码,若要在码字内
(1)检测
个错误,要求码的最小距离
;
(2)纠正
个错误,要求码的最小距离
;
(3)纠正
个错误同时检测
个错误,则要求
;
循环码的译码分检错译码与纠错译码两类。
在无记忆信道上,对码字c,差错图案
和接收向量
的多项式描述为
定义
的伴随多项式为
由于
所以
由此可见,
则一定有差错产生,或说满足
的差错图样
产生,它满足
。
循环码的检错译码即是计算
并判断是否为0
4、仿真分析
1、实验测试结果,包括译码结果、误码率与信噪比之间的关系、生成多项式
理想状态下,对信号随机的提取,编码器输入为000,
通过encode函数后,因为加入了监督码,信号变得复杂密集,
编码输出为00
通过译码输出为000,与编码输入一致。
说明循环码的检错和纠错能力性能好。
输出多项式为:
g(x)=(x+a)(x+a2)(x+a3)=a6+a5x+a4x+a3x2+a3x+a2x+x3
以randint函数重新做一个输入信号并进行编码,结果与上例相似,输入与输出一致。
由上面所有的图可以发现,编码器输入信号并不完全相同,因为对信号的提取是随机的,所以码元也是随机的,信号经过编码器后,因为要加入监督码,所以波形变得更加密集了。
信号经过译码后,波形和编码器输入信号大致相同,说明循环码的检错和纠错能力可以。
信噪比与误码率的关系比较,从图中可看出,当信噪比在20以内时,误码率相对比较大,最高达到以上,而当SNR大于20后,信噪比保持很稳定。
下面是误码率的数字显示:
5、实验程序
1、循环码编码与解码Matlab源程序(实验以(7,4)循环码进行分析)
m=3;
n=2^m-1;%定义码长
k=n-m;%信息位长
msg=randint(k*4,1,2);%随机提取信号,引起一致地分布的任意整数矩阵
subplot(2,2,1)
stem(msg)
title('编码器输入信号')
p=cyclpoly(n,k)%循环码生成多项式,n=7,k=4
code=encode(msg,n,k,'cyclic',p);%编码函数,对信号进行差错编码
subplot(2,2,2)
stem(code)
title('编码器输出信号')
recode=decode(code,n,k,'cyclic',p)%对信号进行译码,
对接收到的码字进行译码,恢复出原始的信息,译码参数和方式必须和编码时采用的严格相同
subplot(2,2,3)
stem(recode)
title('译码器输出信号')
t=-1:
:
1;
x=recode;%将recode赋值给x,并进行长度与fft设定
N=length(x);
fx=fft(x);
df=100/N;
n=0