[工学]第四讲数字通信系统的仿真.ppt

上传人:仙人指路1688 文档编号:2955196 上传时间:2023-03-05 格式:PPT 页数:255 大小:15.05MB
返回 下载 相关 举报
[工学]第四讲数字通信系统的仿真.ppt_第1页
第1页 / 共255页
[工学]第四讲数字通信系统的仿真.ppt_第2页
第2页 / 共255页
[工学]第四讲数字通信系统的仿真.ppt_第3页
第3页 / 共255页
[工学]第四讲数字通信系统的仿真.ppt_第4页
第4页 / 共255页
[工学]第四讲数字通信系统的仿真.ppt_第5页
第5页 / 共255页
点击查看更多>>
资源描述

《[工学]第四讲数字通信系统的仿真.ppt》由会员分享,可在线阅读,更多相关《[工学]第四讲数字通信系统的仿真.ppt(255页珍藏版)》请在三一办公上搜索。

1、第四讲 数字通信系统的仿真,4.1 概 述,实际的通信系统需要完成从信源到信宿的全部功能,如果对这个系统做任何改动都可能影响整个系统的性能和稳定性。因此,在对原通信系统进行修改时,需要进行建模和仿真,通过仿真结果衡量方案的可行性,在选择合理的系统配置和参数设置,应用于实际系统中。,Communications Blockset(工具箱):,4.2 信 源,信源决定通信系统的信号类型,不同信源构成不同的系统。,信源的分类:,根据信号的特点,可分为数字信号源和模拟信号源;根据信号是否周期出现,信源信号可分为周期信号源和非周期信号源。,下面针对Matlab中的几种主要的信源进行讨论。,4.2.1 锯

2、齿波信号,周期信号:指每隔固定的时间间隔T,周而复始重现的信号,可表示为:x(t)=x(t+nT)。锯齿波信号由Repeating Sequence(重复序列)模块产生。,使用模块的两个参数Time values和Out values,可以得到任意的锯齿波波形。,锯齿波信号产生的仿真框图,是连续时间Source blocks,采样周期为0,产生一个连续时间信号。,锯齿波信号的时域图和频域图,4.2.2 方波信号,方波信号由Signal Generator(信号发生器)产生,信号发生器能产生三种不同的波形:正弦波、方波和锯齿波。,方波信号产生的仿真框图,与零阶采样保持电路的采样时间参数设定相同。

3、,方波信号的时域图和频域图,思考题:由信号发生器产生锯齿波信号进行仿真。,4.2.3 脉冲信号,脉冲信号由Bernoulli Binary Generator(伯努利二进制发生器)产生。,产生一个采样周期为30的随机方波信号。,上升沿模块提取方波信号的上升沿。,零阶采样保持电路的采样时间决定了输出脉冲的脉宽。,对基于采样的输出信号,表示向量元素的周期;对于基于帧的矩阵,表示的周期。,关系操作符模块对它的两个输入实现各种指定的比较。,存储器模块:将上一仿真时间步的输入转换为当前的输出,等效于对输入信号进行积分和采样保持。,输出脉冲的脉宽为15,由采样保持电路的取样时间决定。,4.2.4 扫频信号

4、,由Chirp Signal(扫频信号)模块产生一个正弦信号,其频率随着时间的变化而线性增长。,例:扫频信号产生的仿真框图,初始频率,默认值为0.1Hz。,目标时间:信号频率达到Frequency at target time的时间,在此之后频率会按同样的速率连续变化,默认值100。,在目标时间时信号达到的频率,默认值为1。,这三个参数决定了模块的输出,可以是标量或阵列,所有阵列参数必须有相同的维数。,扫频信号的时域图和频域图,4.2.5 压控振荡器,压控振荡器(VCO):输出信号的频率随输入信号幅度的变化而变化的设备。工作原理:,可以看出:输出信号y(t)的频率取决于输入信号电压u(t)的大

5、小,因此称为压控振荡器。影响VCO的参数还有信号幅度Ac、中心振荡频率fc、输入信号灵敏度kc、初始相位。,(5.1),对式5.1进行变换,取输出相角为,对输出信号的相角微分,得到输出信号角频率和频率f分别为:,可以看出:VCO输出信号的频率f与输入信号幅度u(t)成正比。因此,通过改变输入信号的幅度大小就可以准确地控制输出信号的频率。,例:做一个压控振荡器的仿真。其中,fc30kHz,kc10kHz/V,u(t)0.2V,VCO的振荡频率为32kHz。,输出信号的幅度。,输入信号为0时,振荡器的输入频率。,输入信号灵敏度:决定了输入电压与输出电压信号频率和振荡频率差的比例。,压控振荡器输出信

6、号的时域图和频域图,U(t)0.2V,f32kHz,U(t)2V,f50kHz,4.3 信 源 编 码,如何将信源输出的信息在接受端的信宿处精确或近似地复制出来,是通信系统需要解决的根本问题。,什么是信源编码?,信源编码利用信源的统计特性,解除信源的相关性,去掉信源的冗余信息,从而达到压缩信源的信息率,提高通信系统的有效性。因此,信源编码是产生信源有效数据的源头。,对语音信号而言,在传输中既可采用模拟调制,也可采用数字调制。,模拟调制:直接对语音信号进行幅度或频率调制,实 现简单。,数字调制:语音信号先通过量化编码器,把连续的语音信号转换为离散的数字信号,再对数字信号进行调制。接受端通过相反的

7、变换过程,由量化解码器把数字序列还原成语音信号。,本节将通过仿真演示如何进行信号的模/数转换。,4.3.1 取样及取样定律,在数字通信系统中传输模拟信号,首先进行模/数转换。发送端先将模拟信号取样,转换为离散的取样值,再将取样值量化为有限的量化值,并经过编码变换成数字信号,用数字通信方式传输。接收端把接收的数字信号恢复成模拟信号。采样频率越高,量化级越多,越能表现信号的细节。,例1:模拟信号取样转换为离散样值信号的仿真。将一个正弦信号转换为离散信号。,脉冲信号发生器产生采样脉冲序列。,取样定律:对某一带宽有限的时间连续信号进行采样,若采样频率达到两倍以上的信号最高工作频率,则根据这些抽样值可以

8、还原出原始信号。,注意示波器采样时间的设置。,连续、离散正弦及脉冲信号波形的示波器显示图,例2:将一个连续锯齿信号转换为离散信号。,连续、离散锯齿波及采样脉冲信号波形的示波器显示图,采样后的锯齿波信号是锯齿波信号与采样脉冲序列的乘积。,离散锯齿信号波形的频谱显示图,采样后的信号的频谱是锯齿波信号的频谱与采样脉冲序列的频谱(间隔为40Hz的序列谱线)的卷积。,结论:在各种不同信号的傅里叶分析中,周期性和离散性之间存在着一种对偶关系,即:如果信号在时域是周期的,则它在频域的频谱就是离散的;反之,如果信号在时域是离散的,则它在频域的频谱就是周期的。由于离散时间周期信号在时域中既具有周期性,又具有离散

9、性,因此,它在频域中的频谱也具有离散性和周期性这两个特性。,4.3.2 量化及编码,因此,为完成模/数,当模拟信号进行抽样后,要进行量化。,模拟信号进行抽样后,其抽样值还是随信号幅度连续变化的。当其通过噪声信道传输时,接收端不能准确地估值所发送的抽样。若发送端用预先规定的有限个电平来表示抽样,且电平间隔比干扰噪声大,则接收端可准确地估值所发送的抽样。,编码:把信号的抽样量化值转换成代码的过程,其相反的过程称为译码。,量化:把连续的信号样值转换成离散的由有限个电平组成的序列,或者说,就是将一个有连续幅度值的信号映射成幅度离散的信号的过程。,Matlab提供了量化编码器,作用就采样量化编码产生抽样

10、量化后的输出。量化解码器作用与量化编码器相反,把量化后的信号还原为原始信号。,例:模拟信号量化仿真。,采样量化编码器:输出端口1:输出(编码后的)数字信号输出端口2:输出信号的量化电平输出端口3:输出信号的量化误差,输入信号采样值,按15级量化后的量化电平,量化误差的均方值,量化后的数字信号,整数数字信号转换为二进制的编码值,量化解码器,整数变二进制数转换器,量化间隔:是长度为n的实向量,元素严格递增的。,量化码本:长度为n1,表示每个量化区间得量化值。,输入信号向量长度。,输出的采样时间。,量化码本必须与输入信号的量化编码器使用的码本相同。是一个实数向量。,量化解码器:从一个被量化的信号恢复

11、信息,将量化间隔转换成相应的量化值。量化解码器得输出信号等于量化编码器得第二个输出端口的输出信号。,示波器显示仿真上:信源编码前的正弦信号下:信源编码后的正弦信号,指令窗显示s s1 s2 s3 s4的部分结果,习题:,使用量化编码器Sampled Quantizer Encode模块对一个实数向量进行量化的仿真。,上图中:Signal From Workspace模块将实数序列设为2.4,1,0.2,0,0.2,1,1.2,1.9,2,2.9,3,3.5;Sampled Quantizer Encode模块的参数设置为:量化间隔:0,1,3;量化码本:1,0.5,2,3问:编码后的信号是什么

12、?,解:X=2.4,1,0.2,0,0.2,1,1.2,1.9,2,2.9,3,3.5V=0,1,3C=1,0.5,2,3计算得:y=0,0,0,0,1,1,2,2,2,2,2,3编码后得信号值为:X1=1,1,1,1,0.5,0.5,2,2,2,2,2,3,实数序列量化仿真波形图,4.4 调 制 技 术,从信源产生的原始信号(基带信号)具有频率较低的频谱分量,在许多信道中不适宜传输,因次,在发送端要将基带信号调制在载波上,在接收端进行解调。,什么是调制?,调制:按调制信号(基带信号)的变化规律去改变载波某些参数的过程。,调制的分类:模拟调制 数字调制,载频信号的幅度、频率、相位随欲传输的模拟

13、输入信号的变化而相应变化的调制方式。,4.4.1 AM幅度调制,1、双边带幅度调制(DSB),DSB幅度调制的输入信号是u(t),输出信号是y(t),若 u(t)u0cost,则,(88),其中,是输入信号偏移,fc是载波频率,初始相位,Uc载波幅度,m调制指数。1,传输载波,0,不传输载波。,由(88)式得:,从上式可看出,幅度调制结果含有:载频c、上边带(c)、下边带(c),正弦调制得调幅波频谱,例:双边带幅度调制仿真。,双边带频带幅度调制器,双边带幅度解调器,通过包络检测对信号进行解调,再用低通滤波器滤除残余高频成分。,双边带通带幅度调制模块:,功能:对输入信号进行双边带幅度调制。,如果

14、输入为时间函数u(t),那么输出为:,式中:k为模块参数Input signal offset,fc为模块参数Carrier frequency,为参数Initial phase。,通常将k的值设为输入信号u(t)负值部分最小值的绝对值。,信源参数,输入信号偏移。,载波频率。,载波的初始相位。,双边带频带幅度调制模块参数设置,低通滤波器传函的分子多项式,用一个向量形式表示,按降幂的顺序排列分子参数。,与调制模块中的参数Input signal offset 含义相同。,低通滤波器传函的分母多项式,用一个向量形式表示,按降幂的顺序排列分母参数。对于FIR滤波器,这项参数设为1。,输出信号的采样时

15、间。,输入采样时间的倒数是调制载频的4倍。则载频可位于频谱仪显示窗中心。,解调波形原始波形调制波形(载波幅度随调制信号变化规律而变化),DSB幅度调制后信号的频谱图(0.18-0.008、0.18、0.180.008Hz),例:双边带抑制载波幅度调制仿真。,2、双边带抑制载波幅度调制(VSB),双边带抑制载波幅度调制:为提高调制效率,在双边带幅度调制的基础上抑制载波分量,使总功率全部包含在双边带中。,输入采样时间的倒数是载波频率的4倍。则载频可位于频谱仪显示窗中心,载波频率。,载波的初始相位。,双边带抑制载波幅度调制后信号的频谱图,双边带抑制载波幅度调制后信号的时域图,3、单边带幅度调制(SS

16、B),SSB调制:双边带抑制载波调制虽然抑制了载波,提高了调制效率,但调制后的频带宽度仍是基带信号带宽的2倍(2)。上、下边带完全对称,所携带信息完全相同,因此,从信息传输角度看,只传输一个边带就可以了。SSB调制后的频带宽度只有DSB调制信号的一半,所以具有更高的频率利用率。,例:单边带频带幅度调制的系统仿真。,滤波器法,双边带频带幅度调制器模块。,模拟滤波器设计模块。,模拟滤波器设计:,功能:能设计并实现一个Butterworth、Chebyshev type 1、Chebyshev type 2或Elliptic的低通、高通、带通和带阻滤波器。,通带低端频率:F c-F=1000-100

17、Hz(下边频),模拟滤波器的阶数。,通带高端频率:F c+F=1000+100Hz(下边频),输入采样时间的倒数是载波频率的4倍。则载频可位于频谱仪显示窗中心,单边带频带幅度调制后信号的时域图,单边带频带幅度调制后信号的频谱图(含载波),4.4.2 FM、PM角度调制,频率调制的载波(一般为正弦波)的频率与输入信号的幅度成正比。设输入信号u(t),输出信号y(t),则输入信号与输出信号满足:,其中:f c是载波频率,是初始相位,k c是调制常数。,1、FM频率调制,例:频带频率调制的系统仿真。,调制常数 k f,输出信号的采样时间,输入采样时间的倒数是载波频率的4倍。则载频可位于频谱仪显示窗中

18、心,FM调制后信号的时域图可看出:已调波瞬时频率受调制信号控制作周期性变化,变化的大小与调制信号的强度成线性变化,已调波振幅保持不变,不受调制信号影响。,FM调制后信号的频谱图,PM Modulator Passband(频带相位调制器)对输入的实信号实施相位调制。设输入信号u(t),输出信号y(t),则输入信号与输出信号满足:,其中:f c是载波频率,是初始相位,k c是调制常数。,2、PM相位调制,例:频带相位调制的系统仿真。,调制常数 k fm k f V,PM调制后信号的频谱图,PM调制后信号的时域图已调波瞬时频率变化随输入信号的幅度改变而改变。,若增加调制信号频率,其它参数均不改变:

19、,400Hz,100Hz,FM:调相波频带宽度随调制频率增加几乎不变。,400Hz,100Hz,400Hz,PM:调相波频带宽度随调制频率增加而增加。,数字调制可分为基带调制和频带调制。把频谱从零开始而未经调制的数字信号所选用的频率范围叫基带频带,简称基带。选取频率一定的模拟信号,作为载波,用它所传输所要传输的数字信号,称为频带传输。,4.5 数字调制技术,4.5.1 ASK幅度键控,幅度键控(数字幅度调制)就是把频率、相位作为常量,而把振幅作为变量。幅度随着输入的数字信号的变化而相应地变化。程序5-2,4.5.2 基带移频键控,用二进制数字基带信号控制载频的频率实现调制称为移频键控FSK。,

20、用二进制数字基带信号控制载频的相位来实现调制称为移相键控PSK,即随着基带信号0、1的变化,载波的相位发生0、的变化。MATLAB中的BPSK(二进制移相键控)模块,完成调制解调的工作。如果载波是一对正交的函数,譬如sint、cost,同时对它们进行PSK调制,这样的调制称为QPSK(正交移相键控)。,4.5.3 基带移相键控,显然,用于QPSK调制的基带信号应该是两个二进制码,即2个比特,每个对应一个载波。所以QPSK调制是四进制调制。在传输相同信息的情况下,QPSK的1个符号比BPSK的时间长1倍(频带变窄)。而在相同符号宽度的情况下,QPSK传输的信息比BPSK多1倍。如果将两个载波的调

21、制时间错开半个码元宽度,这样的调制称为OQPSK(偏置正交移相键控)。OQPSK降低了载波包络的突变,具有更好的性能。本小节中列举三个基带移相键控调制的仿真例子,了解它们的工作特性及占用带宽。,5.6 多元调制仿真,频率间隔:应与Output sample time(输出采样时间)以及误码表的Receive delay(接收延迟)相适应。,基带每符号采样数:应与误码表的Receive delay(接收延迟)相适应。,5.7 差错控制,5.7.1线性码线性码是一种分组码,在编码的过程中,首先将数据每k个比特分为一组,记做m,称为信息组。然后将长度为k的信息组进行映射运算(编码),得到一个n比特构

22、成的码字ci。这样得到的分组码称为(n,k)码,定义k/n=Rc为编码效率。分组码的一个重要特点就是它的码元仅与当前编码的信息序列有关,而与过去的信息序列无关,也就是说,分组编码器是无记忆的。,如果ci中的n个元素都可以用m中的k个元素的线性组合形成,我们把它称为线性分组码。线性分组码的编码过程可以描述为一个矢量和一个矩阵乘积的结果,即c=mG(5-31)其中G是由k个n维矢量g0,g1,gk-1构成的矩阵,m是信息序列分组m0,m1,,mk-1,c是编码得到的n维编码输出c0,c1,ck-1。根据式(5-31),码字c可表示为c=m0 g0+m1 g1+mk-1 gk-1(5-32),而矩阵

23、G称为编码生成矩阵,形式为 图5-67所示是线性码的仿真模型。信号源是伯努利随机二进制信号发生器,产生采样时间为1的二进制信号,传输环境是差错率为5%的二进制平衡信道。在发射端和接收端分别设置了线性编码和解码器。虽然因为信道编码的结果使得传输效率变为4/7,即发送的7个码元中仅传递了4个码元的有效信息,但是使得差错率从5%降为2%。,(5-33),线性码的仿真框图,二进制线性编码器:根据生成矩阵G产生二进制线性码。,生成矩阵,生成矩阵:k行n列,应与k行设置相对应,由MATLAB按照生成矩阵自动生成一个译码表。,为了得到线性码的信号误码率与信道差错概率之间的曲线图,此时将Binary Symm

24、etric Channel(二进制均衡信道)的Error probability(差错概率)变量设置为errB后,运行下列程序:程序5-3er=0:.01:.05;Er=er;er;er;er;er;er;er;for n=1:length(er)err B=Er(:,n);sim(linearsqeX)S1(n)=mean(s);EN(n)=er(n);endplot(EN,(S1);grid,图5-68 线性码的误码率曲线图,横坐标是二进制均衡信道的差错概率,纵坐标是经过差错控制后仿真系统的误码率,5.7.2 循环码循环码是线性码的一个子集,因此它除了具有线性码的一般特性外,还满足下列的循

25、环移位特性:如果c=cn-1cn-2c1c0是某循环码的码字,那么由c的元素循环移位得到的cn-2c1c0cn-1也是该循环码的一个码字,也就是说,码字c的所有循环移位都是码集合中的码字。循环码的码字可以用矢量的形式表示,即 c=c0,c1,cn-1,也可以用多项式的形式表示为c(x)=c0+c1x+cn-1xn-1(5-35)此多项式称为码多项式。循环码的码字可以表示为如下形式:c(x)=d(x)g(x)(5-36)其中g(x)是xn+1的n-k次因子,称为生成多项式。假设二进制循环编码器的输入信号是一个k列的行矢量,输出的是n列的行矢量,则它产生的是一个(n,k)的循环码,其中n=2m-1

26、,m3。在信息栏长度处或者设为k,或者设为cyclpoly(n,k,min)。(注意,并不是所有的n,k组合都可以构成循环码。),图5-69 循环码的仿真系统,保持一致,码字长度,信息位长度,图5-70 循环码的误码率曲线图,5.7.3 卷积码卷积码是将发送的信息序列通过一个线性的、有限状态的移位寄存器进行编码。分组码:任何一段规定时间内编码器的输出完全取决于这段时间中的输入信息;卷积码:任何一段规定时间内产生的n个码元不仅取决于这段时间内的k个信息位,而且还取决于前N-1段时间内的信息位,这个N称为卷积码的约束长度。,卷积码也可以像分组码一样用多项式或者生成矩阵等形式来描述。此外,根据卷积码

27、的特点,还可以用StateDiagram(状态图)、Tree(树图)以及Trellis(格图)来描述。,图5-72卷积编码器的几种电路结构(a)卷积码poly2trelilis(9,753 561)的电路结构;,卷积编码器反馈连线的位置用二进制代码表示:111 101 011 101 110 001,图5-72卷积编码器的几种电路结构(b)卷积码poly2trelilis(54,27 33 0;0 5 13)的电路结构;,图5-72卷积编码器的几种电路结构(c)卷积码poly2trelilis(5,3733,37)的电路结构,运行模式(1)continues:持续运行,在整个仿真过程中不对寄存

28、器复位。(2)truncated:在每帧数据开始之前自动对寄存器复位(3)reset on nonzero input via port:增加一个复位端口,用于输入复位信号,并且在复位信号不等于零时对寄存器复位。,卷积译码是卷积编码的逆过程,用于从卷积编码器的输出信号中恢复出原始的信息序列。卷积码的译码方法主要有两种:代数译码和概率译码。代数译码是根据卷积码的本身编码结构进行译码,译码时不考虑信道的统计特性。概率译码在计算时要考虑信道的统计特性。典型的算法有:最大似然译码、Viterbi(维特比)译码、序列译码等。本例是采用Viterbi译码。,表5-66 维特比译码器的判决类型,在维特比译码

29、器的参数设置中,判决类型有3种:Unquantized(非量化)、HardDecision(硬判决)和SoftDecision(软判决),如表所示,判决类型有3种:Unquantized(非量化)、HardDecision(硬判决)SoftDecision(软判决),3种操作模式:Continuous、Terminated和Truncated。如果输出信号是抽样信号,则应该把本参数设置为Continuous模式;当输入信号是帧数据时,操作模式可以是Continuous、Terminated或Truncated。Continuous:维特比译码器在每帧数据结束时保存译码器的内部状态,用于对下一帧

30、数据实施解码;Terminated:适用于卷积编码器的每帧输入信号的末尾有足够的零,能够把卷积编码器在完成一帧数据的编码之后把内部状态复位为0;Truncated:解码器在每帧数据结束的时候总能恢复到全零的状态。,对Reset input参数来说,当Operation mode参数设置为Continuous并且选中了本选项前面的复选框之后,维特比译码器增加一个输入信号端Rst。同时,当Rst的输入信号非0时,维特比译码器复位到初始状态。,参数设置时请注意:(1)并不是所有的移位寄存器的反馈连接都可以构成好的卷积编码器,本例是用IS-95CDMA下行信道的卷积编码器。本仿真系统可以用作寻找卷积好

31、码的试验平台。(2)卷积编码器和卷积解码器的网格结构应是一致。(3)卷积解码器的Tracebackdepth(反馈深度)设置应为约束长度的58倍以上,这样效果较好。(4)误码表的Receivedelay(接收延迟)应与卷积解码器的Tracebackdepth(反馈深度)相当。本例中是相等。,为了得到卷积码的信号误码率与信道信噪比之间的关系图,此时将AWGNChannel(加性高斯白噪声信道)的Errorprobability(差错概率变量)设置为errB后,可以运行下列程序:图5-73图5-71所示仿真系统的传输特性,程序5-4ErproVec=-4:.25:1.25;forn=1:lengt

32、h(ErproVec)errB=ErproVec(n);sim(baseband2)S2(n)=mean(s);S3(n)=S2(n)+eps;EN(n)=ErproVec(n);endsemilogy(EN,(S3)axis(-4,0.5,1e-8,1);grid,图5-73 图5-71所示仿真系统的传输特性,横坐标是信噪比SNR,纵坐标是误码率。当信噪比是0.2dB时基本没有误码,可见卷积码有着很强的纠错能力。,4.7.4 李德-索罗蒙(RS)码Reed-Solomon码是根据它的两个发明人Reed和Solomon的名字命名的。它是一种重要的线性编码方式,有较强的纠错能力,被DVB标准采用

33、。在(n,k)RS码中,输入信号分成km比特为一组,每组包括k个符号,每个符号由m个比特组成。假设RS码的码字长度为n=2m-1。信息位的长度等于k,则监督位的长度r=n-k。,为了纠正t个符号的错误,需要2t个符号的监督码,这样RS码的监督位长度r和t之间应该满足关系:r=n-k=2t,因此RS码的码字长度与信息位的差值应该是一个偶数,同时,RS的最小码元距离d0=r+1=2t+1。若指定Generator Polynomial生成多项式可以用“rsgenpoly(n,k)”表示,Primitive Polynomial本原多项式可以用“primpoly(m)”所描述的多项式的二进制代码,则

34、能纠正t个符号错误的RS码的生成多项式为 g(x)=(x+0)(x+1)(x+2)(x+2t-1)(5-37)用MATLAB指令“rsgenpoly(n,k)”(其中k=n-2*t)可以求得。,例如,构造一个能纠正3个错误符号,码长为15,m=4的RS码,由RS码的参数可知,该码的码距为7,监督段为6个符号。因此该码为(15,9)RS码。生成的多项式为g(D)=(D+)(D+2)(D+3)(D+4)(D+5)(D+6)(5-38),1整型RS码整型RS编码器产生一个信息位为k,编码长度为n的RS码。并且输入信号必须是一个帧长度等于k的帧信号,经过编码后,输出信号也必须是一个帧长度为n的帧信号。

35、,图5-74 整型RS编解码的仿真系统,随机整数发生器产生的是十六进制的,帧长为9的随机整数。,整型RS编码器产生信息位k=9,码长n=15,纠错能力为(n-k)/2=3的整型RS码。,解缓存器将编码后得到的帧输出转换为串行序列,以便进入加性噪声传输环境。,Buffer(缓存器)将串行序列恢复为15码元为一帧,便于RS解码器处理。,图5-75 整型RS编解码的仿真系统中加性噪声传输环境的展开图,Poisson Random Integer Generator(泊松随机整数发生器)产生由泊松分布中决定的0和1的二进制序列。愈大,1越多。1与另一个十六进制的随机整数发生器产生的整数相乘后得到有别于

36、进入传输环境的十六进制序列的序列。由于不可能很大,故序列中0占大多数。该序列与进入传输环境的序列在Fcn(函数)中进行模16相加,大多数与0相加的码元保持不变,少数与泊松随机整数发生器产生的1相对应的码元,与一个非0的十六进制数进行模16相加后改变了原来的数值,在解码过程中如果得不到纠正,将会出现误码。,模16相加,2二进制RS码图5-76所示是二进制RS编解码的仿真系统。参数码字长n应是2m-1,信息k是n-2t,t是可以纠错的码数。如果需要指定Generator Polynomial生成多项式可以填写“rsgenpoly(n,k)”。Primitive Polynomial本原多项式可以填

37、写“primpoly(m)”所描述的多项式的二进制代码。,图5-76 二进制RS编解码的仿真系统,产生的是二进制的,帧长为15的二进制随机数。,产生信息位k=5,码长n=7,纠错能力为(n-k)/2=1的二进制RS码。,产生的是二进制的,帧长为15的二进制随机数。它的输出参数Samples per frame每帧取样,应该取k的整数倍。,图5-77 二进制RS编解码系统的传输特性,5.7.5 BCH码 BCH码是循环码中的一个重要子类,它是以三个发明者博斯(Bose)、查德胡里(Chaudhuri)和霍昆格姆(Hocquenghem)名字的开头字母命名的。若循环码的生成多项式具有如下形式:g(

38、D)=LCMm1(D),m3(D),m2t-1(D)这里t为纠错个数,mi(D)为最小多项式,LCM表示取最小公倍式,最小码距dmin=2t+1,则由此生成的循环码称之为BCH码。,BCH码具有纠多个错误的能力,它的生成多项式与最小码距之间有密切的关系,可以根据所要求的纠错能力t构造出BCH码,BCH码只能对特定长度为k的信息序列进行编码。对于BCH码来说,当确定了码字长度n(只能取2P-1,P10是正整数)之后,只有对应特定的信息序列k才能产生BCH码。在MATLAB中提供了一个函数“bchpoly(n)”,用来给出当n等于7、15、31、63、127、255或511时哪些参数k是有效的。下

39、面程序列出了当n等于31时所有的k(第二列)与t(第三列)的数值。,程序5-6 a=bchpoly(31)a=31 26 1 31 21 2 31 16 3 31 11 5 31 6 7,图5-78 BCH码的仿真框图,(1)n=2m-1,m3。(2)k应该是bchpoly(n)所列的第二列中的某个数,第三列中对应的值就是纠错能力。编码效率越低,纠错能力越强。,输出帧长应该等于k,图5-79 BCH码的误码率曲线图,5.7.6 汉明码 汉明码属于线性分组码。汉明码的抗干扰能力较强,它能够纠正单个随机错误。,设汉明码编码器的输入信号的长度为k,输出信号的长度为n,则产生的是一个(n,k)汉明码,

40、其中n=2m-1,m3,并且满足n=k+m。MATLAB提供了一个函数“gfrimfd(m,min)”用来找到一个最小的本原多项式。下面程序列出了当n等于4时最小的本原多项式。a=gfprimfd(4,min)a=1 1 0 0 1,(1)n=2m-1,m3。本例中m=3,n=7。(2)k必须满足k=n-m。本例中k=4;或者设置为“length(gfprimfd(3,min)”,即1101,式中3即是m。,图5-81 所示的误码率曲线图,4.8 交织与置乱,4.8.1 交织在数字通信中遇到的各种干扰中,突发干扰是一类常见也是重要的一种干扰。针对不同干扰产生的原理,有着不同的差错控制方法。交织

41、就是用于解决突发干扰的有效手段。简而言之,交织就是改变输入信号序列的秩序,解交织就是恢复信号序列的秩序。交织的跨度愈大,克服大尺寸的突发干扰越有效,相应的时间延迟就越长。还有的交织器的交织跨度随着交织时间的增加而变化(随机变化以及某种趋向的缓慢变化)。,有的交织器需要相应的缓存器,将串行的数据形成数据块。缓存器的使用,进一步加大了时间延迟。MATLAB工具箱里有丰富的交织方法,它的相关的原理可以参看参考文献1、9。可以根据系统的传输环境、系统信号的特征,选择合适的交织方案。下面对它们的使用方法做一简要的讨论。研究的方法是对各种交织模块设置一定的参数,输入一个斜坡函数,其后使用一个零阶采样保持电

42、路,采样时间设为1,得到一个线性增长的整数序列,分别在交织、解交织、原始序列经过一定延迟以后的地方,放置三个ToWorkspace(至工作空间)模块采集数据。数据序列的变量名分别为s1、s2、s3,可以用“s1 s2 s3”指令在MATLAB指令窗中打开,以观察交织、解交织、与原始序列的关系和变化的规律。,正确地设置Dealy(时间延迟)可以使s3与s2对齐,这个延迟时间就是在特定的参数设置条件下的交织与解交织所需的时间,这在通信仿真系统设计时是十分需要的。为了将数字序列更为直观地展现,可以用“plot”指令将未延迟的原始序列与s1(交织以后的序列)画在一张图上,可以方便地看出交织跨度。MAT

43、LAB的通信工具箱中有两类交织模块,一类是卷积交织,即下面介绍的第1、2、3种;另一类是块交织,即下面介绍的第4、5、6、7、8种。卷积交织某一段时间的输出不仅有该段时间的输入信号,还有该段时间以前的输入信号。块交织则不同,某一段时间的输出仅有该段时间的输入信号。,1General Multiplexed Interleaver(通用多路交织器)通用多路交织器采用多个并行的移位寄存器对输入信号实施交织,这些并行的移位寄存器的存储单元设置为不同的数目,通过产生不同的输出时延而实现交织。通用多路交织器模块的输入信号可以是标量,也可以是帧格式的列向量,其中的元素可以是实信号,也可以是复信号。因为只是

44、改变输入数字序列的排列顺序,通用多路交织器模块的输出信号的抽样间隔与输入信号相同。,设通用多路交织器有N个并行的移位寄存器,其中第i(1iN)行移位寄存器有Li(1iN)个存储单元。输入信号依次进入这N个移位寄存器,进入第i行的数据顺序进入第i个移位寄存器。输出端将此时N个移位寄存器的输出信号排列后输出。例如,当N等于6,且这六行移位寄存器分别具有2、0、1、3、1、0个存储单元时,通用多路交织器的结构如图5-82所示。,图5-82 通用多路交织器的原理示意图,通用多路解交织器也采用N个并行的移位寄存器对信号进行解交织。假设产生交织信号的多路复用交织器第i(1iN)行移位寄存器有Li个寄存器,

45、则在通用多路复用解交织器中,第i行移位寄存器有 个寄存器。图5-83所示是与图5-82所示的通用多路交织器相对应的通用多路解交织器的结构图,其中N等于6,通用多路交织器分别具有2、0、1、3、1、0个存储单元,这里。因此,在通用多路解交织器中,各行移位寄存器的存储单元的数目分别为1、3、2、0、2、3。,图5-83 通用多路解交织器的原理示意图,图5-84 通用多路交织器的系统仿真框图,图5-85 将s1s2s3在指令窗内展开得到的数据,图5-86 数值交织后变化规律的可视化图,2ConvolutionalInterleaver(卷积交织器)卷积交织器是通用多路交织器的一种特殊形式,它采用与通

46、用多路交织器相同的原理对输入信号实施交织。卷积交织器模块的输入信号可以是标量,也可以是帧格式的列向量,其中每个元素既可以是实信号,也可以是复信号。卷积交织器模块的输出信号的抽样间隔与输入信号相同。,卷积交织器的工作原理与通用多路交织器相同,它们的差别表现在每一行移位寄存器的数目上。卷积交织器由N个并行的移位寄存器组成,其中第i(1iN)行移位寄存器有(i-1)k个存储单元,其中k是卷积交织器的寄存器长度跳步。原理可以参照图5-82以及前面关于对通用多路交织器的介绍。卷积解交织器对输入的卷积交织信号实施解交织,还原得到交织之前的信号。卷积解交织器模块的输入可以是标量,也可以是帧格式的列向量,其中

47、每个元素既可以是实信号,也可以是复信号。卷积解交织器模块的输出信号的抽样间隔与输入信号相同。它的时间延迟为Td=N(N-1)k。,图5-87 卷积交织器的系统仿真框图,图5-88 将s1s2s3在指令窗内展开得到的数据,图5-89 交织后变化规律的可视化,3HelicalInterleaver(螺旋交织器),图5-90 螺旋交织器的原理框图,螺旋交织器的输入信号是一个向量(列向量或行向量),输入信号被分成C组,其中N是螺旋交织器的分组长度,螺旋矩阵的跳步是S。向量的长度等于CN,所以需要与Buffer(缓存器)一起使用。,在螺旋交织器中,矩阵M的行数是无穷的,它可以按照输入信号的长度自动增加。

48、当输入信号是帧格式数据时,它只能是列向量。在初始状态,螺旋交织器矩阵M中的元素都等于初始值,这个初始值可以通过Initial condition设置(本例中设为0)。螺旋交织器把每组长度为N的信号按照螺旋方式分别放置在矩阵M中,其中第一组的元素放在矩阵M中的第1列从第1行开始,第i(1iC)组的元素放在第i列从第iS行开始,并且依次类推。,图5-91 螺旋交织器的系统仿真框图,组的大小,螺旋排列的列数,初始条件,螺旋排列的跳步,缓存器长度=C*N,4Random Interleaver(随机交织器)随机交织器的输入信号是一个向量(列向量或行向量),长度为N,所以需要与长度为N Buffer(缓

49、存器)一起使用。随机交织器使用一个长度为N的转换矢量与长度为N的输入序列,对输入信号随机地进行交织,长度N由参数Number of elements设定,Buffer(缓存器)的长度应与其一致。对于不同的随机数种子,随机交织器模块产生不同的转换矢量,从而产生不同的交织结果。,如果使用随机数解交织模块对交织数据进行解交织,这两个模块的随机数种子应该相等。,图5-94 将s1 s2 s3在指令窗内展开得到的数据,图5-95 随机交织后变化规律的可视化图,5Matrix Interleaver(矩阵交织器)矩阵交织器把输入信号按行写入矩阵,然后按列从矩阵中读出元素,作为输出信号。矩阵交织器的输入信号

50、是一个向量(行向量或列向量),假设矩阵M是m行n列矩阵,则输入信号向量长度等于mn,Buffer(缓存器)的长度也应设为mn。矩阵解交织器对矩阵交织器模块产生的交织信号实施解交织过程,还原得到交织之前的信号。矩阵解交织器把输入信号的交织信号按列写入到m行n列矩阵M中,然后按行依次读出矩阵M的元素作为解交织信号。,矩阵交织器的系统仿真框图,矩阵的行数,矩阵的列数,将s1s2s3在指令窗内展开得到的数据,矩阵交织后变化规律的可视化图,6Algebric Interleaver(代数交织器)代数交织器使用置换表的方法进行交织,使用参数type类型来切换两种代数交织方法(Takeshita-Coste

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号