PCM系统仿真实验报告文档格式.docx
- 文档编号:22426073
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:31
- 大小:2.31MB
PCM系统仿真实验报告文档格式.docx
《PCM系统仿真实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《PCM系统仿真实验报告文档格式.docx(31页珍藏版)》请在冰豆网上搜索。
PCM的编码原理比较直观和简单,下图为PCM系统的原理框图:
图中,输入的模拟信号m(t)经抽样、量化、编码后变成了数字信号(PCM信号),经信道传输到达接收端,由译码器恢复出抽样值序列,再由低通滤波器滤出模拟基带信号m(t)。
通常,将量化与编码的组合称为模/数变换器(A/D变换器);
而译码与低通滤波的组合称为数/模变换器(D/A变换器)。
前者完成由模拟信号到数字信号的变换,后者则相反,即完成数字信号到模拟信号的变换。
PCM在通信系统中完成将语音信号数字化功能,它的实现主要包括三个步骤完成:
抽样、量化、编码。
分别完成时间上离散、幅度上离散、及量化信号的二进制表示。
根据CCITT的建议,为改善小信号量化性能,采用压扩非均匀量化,有两种建议方式,分别为A律和μ律方式,我国采用了A律方式,由于A律压缩实现复杂,常使用13折线法编码,采用非均匀量化PCM编码。
二、PCM的基本原理
①抽样
所谓抽样,就是对模拟信号进行周期性扫描,把时间上连续的信号变成时间上离散的信号。
该模拟信号经过抽样后还应当包含原信号中所有信息,也就是说能无失真的恢复原模拟信号。
它的抽样速率的下限是由抽样定理确定的。
②量化
量化,就是把经过抽样得到的瞬时值将其幅度离散,即用一组规定的电平,把瞬时抽样值用最接近的电平值来表示。
从数学上来看,量化就是把一个连续幅度值的无限数集合映射成一个离散幅度值的有限数集合。
一个模拟信号经过抽样量化后,得到已量化的脉冲幅度调制信号,它仅为有限个数值。
如下图所示,量化器输出L个量化值Yk,k=1,2,3,…,L。
Yk常称为重建电平或量化电平。
当量化器输入信号幅度x落在Xk与Xk+1之间时,量化器输出电平为yk。
这个量化过程可以表达为:
这里Xk称为分层电平或判决阈值。
通常将ΔX=Xk+1-Xk称为量化间隔。
模拟信号的量化分为均匀量化和非均匀量化。
均匀量化:
用这种方法量化输入信号时,无论对大的输入信号还是小的输入信号一律都采用相同的量化间隔。
为了适应幅度大的输入信号,同时又要满足精度要求,就需要增加样本的位数。
但是,对话音信号来说,大信号出现的机会并不多,增加的样本位数就没有充分利用。
为了克服这个不足,就出现了非均匀量化的方法。
非均匀量化:
非均匀量化是根据信号的不同区间来确定量化间隔的。
对于信号取值小的区间,其量化间隔v也小;
反之,量化间隔就大。
它与均匀量化相比,有两个突出的优点,首先,当输入量化器的信号具有非均匀分布的概率密度(实际中常常是这样)时,非均匀量化器的输出端可以得到较高的平均信号量化噪声功率比;
其次,非均匀量化时,量化噪声功率的均方根值基本上与信号抽样值成比例。
因此量化噪声对大、小信号的影响大致相同,即改善了小信号时的量化信噪比。
实际中,非均匀量化的实际方法通常是将抽样值通过压缩再进行均匀量化。
通常使用的压缩器中,大多采用对数式压缩。
广泛采用的两种对数压缩律是μ压缩律和A压缩律。
美国采用μ压缩律,我国和欧洲各国均采用A压缩律。
③编码
所谓编码就是把量化后的信号变换成代码,其相反的过程称为译码。
当然,这里的编码和译码与差错控制编码和译码是完全不同的,前者是属于信源编码的范畴。
PCM(脉冲光编码调制):
数字通信的编码方式之一。
主要过程是将话音、图像等模拟信号每隔一定时间进行取样,使其离散化,同时将抽样值按分层单位四舍五入取整量化,同时将抽样值按一组二进制码来表示抽样脉冲的幅值。
模拟信号数字化必须经过三个过程,即抽样、量化和编码,以实现话音数字化的脉冲编码调制。
抽样是将模拟信号转换为时间离散的样本脉冲序列;
量化是将离散时间连续幅度的抽样信号转换成为离散时间离散幅度的数字信号;
编码是用一定位数的脉冲妈祖表示量化采样值。
其原理图如图2-3所示。
在现有的编码方法中,若按编码的速度来分,大致可分为两大类:
低速编码和高速编码。
通信中一般都采用第二类。
编码器的种类大体上可以归结为三类:
逐次比较型、折叠级联型、混合型。
在逐次比较型编码方式中,无论采用几位码,一般均按极性码、段落码、段内码的顺序排列。
量化分为均匀量化和非均匀量化。
均匀量化时,对编码范围内小信号或大信号都采用等量化级进行量化。
非均匀量化的实现方法通常是将抽样值通过压缩再进行均匀量化。
我国一般采用A压缩率,即13折线法。
在13折线法中,无论输入信号是正是负,均按8段折线(8个段落)进行编码。
若用8位折叠二进制码来表示输入信号的抽样量化值,其中用第一位表示量化值的极性,其余七位(第二位至第八位)则表示抽样量化值的绝对大小。
具体的做法是:
用第二至第四位表示段落码,它的8种可能状态来分别代表8个段落的起点电平。
其它四位表示段内码,它的16种可能状态来分别代表每一段落的16个均匀划分的量化级。
这样处理的结果,8个段落被划分成27=128个量化级。
图2-213折线
下表中第二行的值是根据计算得到的,第三行的值是13折线分段时的值。
可见13折线各段落的分界点与曲线十分逼近,同时按2的幂次分割有利于数字化。
图2-3PCM原理方框图
补充:
线性码编码方法
在计算机系统中,信息均按字节或字组成,故一般采用分组码。
对信源输出的序列,若按每组长k位进行分组,则在二进制情况下共有2k个不同的组合,若按某一种规则,将每一组k位增加r位校验位(r=n-k,n是含有码元的个数)。
使之成为具有一定纠错或检错能力的码字,则在2k个码字集合构成分组码。
分组码的规律性是局限在一个码组之内的,如果这种规律性是以一线性方程组来表示的,则这种分组码就叫做线性分组码。
分组码一般可用符号(n,k)表示,其中k是每组的信息元数目,n是码组的总位数,又称为码组的长度(码长)。
r=n-k为码组的监督元数目。
长为n的所以二进制组(或称n重)共有2n个,但长为k的信息组只有2k个,因此分组码实际上就是以一定的规则从2n个n重中挑选出2k个n重,使2k个信息组与2k个n重之间建立一一对应关系,这2k个n重组成了一个(n,k)分组码。
通常称这2k个n重为许用码组,简称码组,码矢或码字,而其余的2n-2k个n重为禁用码组。
在(n,k)线性分组码中,常用编码效率R衡量码的有效性,它定义为信息位在码字中所占的比重:
R=k/n,R越大,表明码的冗余度越小。
两个码组对应位上数字不同的个数称为码组的距离,简称码距,也叫汗明距离。
对于(n,k)线性码来说,2k个码字中所有可能码字对之间的汗明距离中最小的距离称为该码的最小汉明距离,用dmin表示,这是衡量这种编码检错和纠错能力的重要参数。
三、系统设计
说明:
包括设计模块图及各项参数设置截图。
1、系统设计框图
调用模块产生模拟正弦信号,对模拟信号进行采样、量化、PCM编码,将编码后的信号用通信模块库中的模块再进行线性纠错编码,让信号通过二进制对称信道传输,然后进行线性纠错解码。
解码后的信号再进行PCM解码,还原出原信号。
设计原理图如图3-1所示。
图3-1设计原理图
2、PCM编码器系统设计
测试模型和仿真结果如下图所示。
其中以Saturation作为限幅器,将输入信号幅度值限制在PCM编码的定义范围内,以A-LawCompressor作压缩器,Relay模块的门限值设置为0,其输出即可作为PCM编码输出的最高位——极性码。
样值取值绝对值后,用增益模块将样值放大到0-127,然后用间隔为1的Quantizer进行四舍五入取整,最后将整数编码为7位二进制序列,作为PCM编码的低7位。
输入信号是1726/2048(归一化后的信号),经过编码器后编成数字码11111010。
编码器仿真模块图
各部分参数设置截图如下:
①、Constant参数设置,归一化信号1726/2048输入:
②、Saturation参数设置(将输入信号幅度值限制在PCM编码的定义范围内):
③、Abs参数设置(取绝对值):
④、Relay参数设置(作用是生成极性位):
⑤、1-DLookupTable参数设置(构造A率折线):
⑥、Gain参数设置(放大信号):
⑦、Quantizer参数设置(设置量化间隔):
⑧、IntegertoBitConverter参数设置(7位码位并行输出):
3、PCM解码器系统设计
其中PCM编码子系统是3.2中编码器封装之后的。
PCM解码器中首先分离并行数据中的最高位(极性码)和7位数据。
然后将7位数据转换位整数值,再进行归一化,扩张后与双极性的极性码相乘得出解码值。
如图,1726/2048经编译码后得到0.8425。
解码器仿真模块图
其中,
是编码器模块的封装,它包括如下部分:
各模块参数设置如下:
①Constant、Relay模块参数设置同编码器。
②Bittointergerconvert模块参数设置(并行转化为串行):
③Gain模块参数设置(调整信号幅度):
④1-DLookupTable参数设置(A率对应的译码折线):
⑤Product参数设置(恢复信号极性):
3、加入高斯白噪声后的PCM传输系统
对模拟正弦信号进行采样、量化、PCM编码、成帧,进行线性编码再经二进制对称信道传输再进行线性解码,PCM解码滤波后恢复出原信号。
输入为幅度为1,频率为60HZ的正弦波信号,经PCM系统传输后,在输出端还原出原输入信号。
(观察scope里面显示的波形。
)
加入高斯白噪声的PCM传输系统仿真模块图
和
分别是对前面设计的编码和译码部分的封装,编码和解码模块封装包括以下部分:
各部分参数设置如下:
①SignalGenerator参数设置如下(产生幅度为1,频率为60HZ的正弦信号):
②Zero-OrderHold参数设置如下(0阶保持,抽样频率至少为信号频率的两倍):
③Buffer参数设置如下(Buffer、Buffer1和Buffer2):
Buffer:
Buffer1:
Buffer2:
④BinarylinearEncoder参数设置:
⑤BinarysymmetricChannel参数设置(加噪声):
⑥BinaryLineardecode参数设置:
⑦Reshape参数设置:
⑧模拟低通滤波器参数设置:
示波器各个监测点波形如下图:
①误码测量结果:
②Scope的波形显示(最上面是原输入信号,中间是PCM传输后的信号,最后是PCM传输后未经低通滤波的信号):
4、语音信号经过PCM系统传输的仿真
先找一个WAV格式的文件(我把文件命名为input.wav),代替上一个模块的正弦信号输入PCM仿真系统,经传输后用tomultimediafile存储为output.wav文件,可以通过试听两个音频和示波器的波形来测试该PCM系统的传输效果。
语音传输系统
需要另外设置的模块:
①FromMultimediaFile模块参数设置(WAV格式音频文件):
②Zero-orderhold模块参数设置(语音信号,抽样频率设置为8000HZ):
③模拟低通滤波器参数设置:
④ErrorRatecalculation模块参数设置(取消端口,改用workplace):
⑤Scope模块的显示结果(上面的波形是输入语音,下面的波形是输出语音):
对比上面两个波形,发现波形是很接近的,说明语音传送是成功的。
另外输出的音频也形成了文件,可对比试听传输前后两个音频的音质效果。
5、误码率曲线绘制
编写绘制误码率曲线的M文件,程序如下:
Clear//清除
err=0:
0.005:
0.2;
//二进制对称信道的误码概率取值范围
fori=1:
length(err);
//i的取值由1到二进制对称信道误码率曲取值的个数
q=err(i);
sim('
pcm_radio'
);
//载入模拟器件系统
errb(i)=ErrorVec
(1);
//调用误码率的值,并赋值与errb(i)
end
plot(err,errb)//绘图
xlabel(’信道误码率’);
ylabel(’系统误码率’);
//设置图表格式
title(’误码率关系图’);
grid;
模块图中需要修改参数的部分(BSC,将误码率改成和M文件中对应的q):
运行M文件得到的误码率曲线图:
横坐标为二进制对称信道的信道误码率,纵坐标为系统的误码率,随着信道误码率的增大,系统的误码率也逐渐增大。
四、仿真实验心得
仿真报告完成,我觉得我还是有点必要写点心得体会的。
撇开完成的质量不说,我是花了足够的时间并且用端正认真的态度来完成了这个学期最后一次通信仿真实验。
从开始实验,到仿真结果一一得以验证成功,这样的喜悦只有自己能体会得到。
实验中出现的种种问题,又一次锻炼了我的耐心和独立解决问题的能力。
我是6月份敲定做PCM仿真的,当时桂老师建议我们说尽量用代码(M文件)来完成而不要用simulink,原因有二:
首先一个是因为SIMULINK的参数设置会比较困难繁琐,而且出错信息难以定位改正;
其次是Matlab的版本兼容问题,很有可能出现在新版本里面能运行的模块图在旧版本里面运行出错。
而我一直就坚持自己的最初想法(我觉得simulik更直观、更好做。
),期末考试结束后这几天我开始做仿真,问题果如桂老师所言,运行经常出错,像WAV语音传输这部分就出了好多问题,后来通过上网查资料,从原理出发,把问题解决掉了。
很为自己高兴我最终坚持下来了,因为再去改选题用代码来做时间上或许会来不及。
最后我还是想了个这种的办法,仿真的最后一个环节,我加入了用代码(M文件)来画图,以此分析自己所设计的PCM系统的误码率。
整个仿真过程中我翻阅好多参考资料,所以我觉得工科学生整合信息的能力还是很重要的。
或许,从这个角度上来讲,我的报告还是符合老师要求的。
最后,还要感谢桂老师一个学期来的悉心指导,在学这门课之前,我是完全没有接触过Matlab,到现在我已经对Matlab的基本功能有较好的了解了,这对于一个工科生来说是一项比较有用的能力吧。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PCM 系统 仿真 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)