通信系统MATLAB仿真.ppt
《通信系统MATLAB仿真.ppt》由会员分享,可在线阅读,更多相关《通信系统MATLAB仿真.ppt(44页珍藏版)》请在三一办公上搜索。
1、第6章 通信系统仿真,6.1 通信工具箱函数6.2 信息的度量和编码 6.3 差错控制编/译码方法 6.4 模拟调制和解调6.5 数字调制和解调6.6 通信系统的性能仿真6.7 扩频通信系统的仿真,6.1通信工具箱的函数,在MATLAB的Communication Toolbox(通信工具箱)中提供了许多仿真函数和模块,用于对通信系统进行仿真和分析。主要包括两部分内容:通信函数命令和Simulink的Communications Blockset(通信模块集)仿真模块。用户既可以在MATLAB的工作空间中直接调用工具箱中的函数,也可以使用Simulink平台构造自己的仿真模块,以达到扩充工具箱
2、的内容。通信工具箱中的函数名称和内容列表,其内容包含:,Signal Sources(信号源函数);Signal Analysis function(信号分析函数);Source Coding(信源编码);Error Control Coding(差错控制编码函数);Lower Level Function for Error Control Coding(差错控制编码的底层函数);Modulation/Demodulation(调制/解调函数)Special Filters(特殊滤波器设计函数);Lower Level Function for Specials Filters(设计特殊滤波
3、器的底层函数);Channel Functions(信道函数);Galosi Field Computation(有限域估计函数);Utilities(实用工具函数)。,6.2 信息的量度与编码,信源熵的输出可以用随机过程来表达。对于一个离散无记忆平稳随机过程,其信息量(熵)定义为:,其中X表示信源取值集合,p(x)是信源取值x的概率。,6.2.1 Huffman编码 信源编码可分为两类:无失真编码和限失真编码。Huffman编码的基本原理就是为概率较小的信源输出分配较长的码字,而对那些出现可能性较大的信源输出分配较短的码字。,Huffman编码算法及步骤如下:将信源消息按照概率大小顺序排队。
4、按照一定的规则,从最小概率的两个消息开始编码。将经过编码的两个消息的概率合并,并重新按照概率大小排序,重复步骤。重复上面步骤,一直到合并的概率达到1时停止。这样便可以得到编码树状图。按照后出先编码的方式编程,即从数的根部开始,将0和1分别放到合并成同一节点的任意两个支路上,这样就产生了这组Huffman码。,6.2.2 MATLAB信源编/译码方法,大多数信源(比如语音、图像)最开始都是模拟信号,为了将信源输出数字化,信源必须量化为确定数目的级数。量化方案可划分为标量量化和矢量量化两种。在标量量化中每个信源输出都分别被量化,标量量化可进一步分为均匀量化和非均匀量化。在均匀量化中量化区域是等长的
5、;在非均匀量化中量化区域可以是不等长的。矢量量化是对信源输出组合进行整体量化。,在标量量化中,随机标量X的定义域被划分成N个互不重叠的区域Ri,1 iN,Ri被称为量化间隔,且在每个区域内选择一个点作量化级数。这样落在区域Ri内的随机变量的所有值都被量化为第i个量化级数,用,来表示。这就意味着:,易见,这类量化引入了失真,其均方误差为:,其中f(x)是信源随机变量的概率密度函数。信号量化噪声比(SQNR)为:,在MATLAB通信工具箱中提供了两种信源编译码的方法:标量量化和预测量化。1.标量量化,(1)信源编码中的,律或A律压扩计算函数compand(),格式:out=compand(in,p
6、aram,V,method)功能:实现,律或A律压扩,其中param为,值,V为峰值。压扩方式由method指定。,(2)产生量化索引和量化输出值的函数quantiz()格式:indx=quantiz(sig,partition)功能:根据判断向量partition,对输入信号sig产生量化索引indx,indx的长度与sig矢量的长度相同。(3)采用训练序列和Lloyd算法优化标量算法的函数lloyds()格式:parition,codebook=lloyds(training_set,ini_codebook)功能:用训练集矢量training_set优化标量量化参数partition和码
7、本codebook。ini_codebook是码本codebook的初始值。,例6-2 用训练序列和Lloyd算法,对一个正弦信号数据进行标量化。MATLAB程序如下:N=23;%以3比特传输信道t=0:100*pi/20;u=cos(t);p,c=lloyds(u,N);%生成分界点矢量和编码手册index,quant,distor=quantiz(u,p,c);%量化信号plot(t,u,t,quant,*);该程序运行结果如图6.3所示。,2.预测量化 根据过去发送的信号来估计下一个将要发送的信号值。(1)差分脉冲调制编码函数dpcmenco()格式:indx=dpcmenco(sig,
8、codebook,partition,predictor)功能:返回DPCM编码的编码索引indx。其中参数sig为输入信号,predictor为预测器传递函数,其形式为0,t1,tm。预测误差的量化参数由partition和predictor指定。(2)信源编码中的DPCM解码函数dpcmdeco()格式:sig=dpcmdeco(indx,codebook,predictor)功能:根据DPCM信号编码索引indx进行解码。predictor为指定的预测器,codebook为码本。,(3)用训练数据优化差分脉冲调制参数的函数dpcmopt()格式:predictor=dpcmopt(tra
9、ining_set,ord)功能:对给定训练集的预测器进行估计,训练集及其顺序由training_set和ord指定,预测器由predictor输出。,例6-3 用训练数据优化DPCM方法,对一个余弦信号数据进行标量化。MATLAB程序如下:N=23;%以3比特传输信道t=0:100*pi/20;u=cos(t);predictor,codebook,partition=dpcmopt(u,1,N);%优化的预测传递函数index,quant=dpcmenco(u,codebook,partition,predictor);%使用DPCM编码sig,equant=dpcmdeco(index,
10、codebook,predictor);%使用DPCM解码plot(t,u,t,equant,*);运行后所得图形如图6.4所示。,6.3 差错控制编/译码方法,在通信系统中,差错控制编/译码技术被广泛地用于检查和纠正信息在传递过程中发生的错误。在发送端,差错控制编码添加了一定的冗余码元到信源序列;接收时就利用这些冗余信息来检测和纠正错误。纠错编码主要有分组码和卷积码两种类型。MATLAB通信工具箱提供了一系列函数用于有限域计算。概率解码中最常用的是Viterbi解码,用于卷积码解码。常用的纠错编码方法包括线性分组码、海明码、循环码、BCH码、Reed-Solomon码和卷积码。,1.纠错编码
11、函数encode()及译码函数decode()格式:code=encode(msg,N,K,method,opt)功能:用method指的方法完成纠错编码。其中msg代表信息码元;method是允许的编码方法,包括hamming、linear等,opt是一个可选择的优化参数。格式:msg=decode(code,n,k,method)功能:用指定的method方式进行译码。为了正确地复制出信源序列,编码和译码的调用方式必须相同。,2.卷积纠错编码函数convenc()格式:code=convenc(msg,trellis)功能:利用poly2trellis函数定义的格形trellis 结构,对
12、二进制矢量信息msg进行卷积编码。编码器的初始状态为零状态。,3.将卷积编码多项式转换成格形(trellis)结构函数poly2trellis()格式:trellis=poly2trellis(constrainlength,codegenerator)功能:将前向反馈卷积编码器的多项式转换成一格形(trellis)结构。,4.利用Viterbi 算法译卷积码函数vitdec()格式:decoded=vitdec(code,trellis,tblen,opmode,dectype)功能:利用Viterbi 算法译卷积码。Code为poly2trellis函数或istrellis函数定义的格形t
13、rellis结构的卷积码。参数tblen 取正整数,表示记忆(traceback)深度。参数opmode代表解码操作模型。,例6-6 利用vitdec函数对一个信号进行卷积码译码的例子。MATLAB程序如下:t=poly2trellis(3 3,4 5 7;7 4 2);k=log2(t.numInputSymbols);msg=1 1 0 1 1 1 1 0 1 0 1 1 0 1 1 1;code=convenc(msg,t);tblen=3;d1=vitdec(code,t,tblen,cont,hard);d m p in=vitdec(code,t,tblen,cont,hard);
14、该程序运行结结果:d1与d相同;d为信息msg的延迟结果,d(tblen*k+1:end)与 msg(1:end-tblen*k)相同。,6.4 模拟调制与解调,根据调制信号的不同,可将调制分为模拟调制和数字调制。模拟调制的输入信号为连续变化的模拟量,数字调制的调制信号是离散的数字量。在对调制进行仿真模拟有带通的和基带的两种选择。带通仿真的载波信号包含于传输模型中。由于载波信号的频率远高于输入信号,根据抽样定理,抽样频率必须至少大于两倍的载波频率才能正确地恢复信号,因此对高频信号的模拟仿真效率低、速度慢。为了加速模拟仿真,一般使用基带仿真,也称为低通对等方法。基带仿真使用带通信号的复包络。,带
15、通模拟调制与解调,模拟调制通常分为:幅度调制(AM)、频率调制(FM)和相位调制(PM)。幅度调制又可分为常规幅度调制(AM)、抑制双边带幅度调制(DSB-AM)、抑制单边带幅度调制(SSB-AM)和正交幅度调制(QAM)等。解调就是从调制信号中提取消息信号。解调过程与利用何种解调方式有关。在模拟调制的仿真中包含两个频率:载波频率 fc和仿真的采样频率 fs。,1双边幅度调制(DSB-AM)与解调在DSB-AM中,已调信号的时域表示如下式:,其中m(t)是消息信号,,为载波,,是载波的频率(单位赫兹Hz),,是初始相位。,对u(t)作傅立叶变换,即可得到信号的频域表示:,传输带宽BT 是消息信
16、号带宽的两倍,即:,DSB-AM调制信号的解调过程如图6.7所示,调制信号与接收机本地振荡器所产生的正弦信号相乘可得混频器输出:,图6.7 DSB-AM调制信号的解调,然后利用低通滤波器对低通分量进行滤波即可恢复被调信号。,图6.5 信号调制前后比较,图6.6 DSB-AM调幅前后频谱,图6.9未调制信号、解调信号及其相应的频谱比较,2单边幅度调(SSB-AM)与解调 去掉DSB-AM的一边就得到SSB-AM。依据所保留的边带是上边,还是下边,可以分为USSA和LSSB两种不同的方式,此时信号的时域表示为:,在频域表示为:,其中,的希尔特变换,定义为,在频域中为:,是,单边SSB幅度调制占有D
17、SB-AM的一半的带宽,即等于信号带宽:,SSB-AM调制信号的解调过程基本上与DSB-AM调制信号的解调过程是相同的,即调制信号与本地振荡器的输出进行混频得:,然后利用低通滤波器对低通分量进行滤波即可恢复被调信号。,图6.11 上、下边带调制信号频谱,图6.10 上、下边带调制信号,图6.12未调制信号、解调信号及其相应的频谱比较,这里a是调制指数,,是经过归一化处理的消息信号。,在常规AM中,调制信号的时域表示为:,3.常规幅度调制(AM)常规幅度调制(AM)在很多方面与双边幅度调制类型。不同的是,用,对u(t)作傅里叶变换,即可得到信号的频域表示:,常规幅度调制(AM)信号的解调,可采用
18、包络检波器来实现。包络检波器可得到AM调制信号的包络为:式中mn(t)与被调信号m(t)成比例,1对应于可由直流电路分离出来的载波分量。,图6.13 常规幅度调制信号,图6.14 常规幅度调制信号频谱,图6.15 常规幅度调制信号,4正交幅度调制 正交幅度调制(QAM)调制信号为:,其中mI(t)为同相信号,mQ(t)为正交信号,fc是载波频率(单位赫兹Hz),是初始相位。正交幅度调制过程如图6.16所示。对应的解调过程如图6.17所示。,图6.16 正交幅度调制框图,图6.17 正交幅度调制的解调框图,5频率调制 频率调制亦称为等振幅调制。在频率调制过程中,输入信号控制载波的频率,使已调信号
19、u(t)的频率按输入信号的规律变化。调制公式为:,其中u(t)是调制后的信号,fc是载波的频率(单位赫兹Hz),是初始相位,是瞬时相位,随着输入信号的振幅变化。的计算公式为:,其中 为比例常数。,频率调制的解调过程使用锁相环方法,如图6.18所示。,图6.18 FM解调框图,其中 为比例常数,称为调制器的灵敏度。相位调制的解调过程如图6.19所示。,6相位调制 相位调制则是利用输入信号m(t)控制已调信号u(t)的相位,控制规律为:,其中u(t)是调制后的信号,fc是载波的频率(单位赫兹Hz),是初始相位,是瞬时相位,随着输入信号的振幅变化。的计算公式为:,图6.19 PM解调框图,7带通模拟
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通信 系统 MATLAB 仿真

链接地址:https://www.31ppt.com/p-4997471.html