PCM调制研学报告通信原理.docx
《PCM调制研学报告通信原理.docx》由会员分享,可在线阅读,更多相关《PCM调制研学报告通信原理.docx(22页珍藏版)》请在冰豆网上搜索。
PCM调制研学报告通信原理
通信原理研究性教学报告
PCM编译码仿真分析
学院:
电信学院
专业:
通信工程
学号:
11231119
学生:
班级:
通信1108
指导教师:
秦雅娟
目录
一、研究性教学要求、目的及完成形式4
1.要求4
2.目的4
3.完成形式4
二、题目分析及知识回顾4
1.PCM调制4
2.对模拟信号的量化4
3.PCM均匀量化4
4.非均匀量化5
三、正弦信号线性PCM仿真分析5
1.正弦信号线性PCM仿真分析主要程序如下:
5
2.正常参数设置时的结果5
2.探究取点数目Sa对SNR的影响8
3.探究抽样频率fs对SNR的影响9
4.探究信号频率(或角频率)f对SNR的影响9
5.探究信号幅度xs变化对SNR的影响10
6.探究量化级数level的变化对SNR的影响11
7.探究量化器动态范围Xq与信号动态范围Xs大小关系对SNR的影响12
四、正弦信号ALAW_PCM仿真分析14
1.主要程序如下所示14
2.仿真结果14
3.SNR结果16
五、语音信号PCM调制16
1.语音信号说明。
16
2.语音信号线性调制分析18
3.语音信号ALAW_PCM调制18
六、锯齿波PCM调制20
1.主要程序如下:
20
2.仿真分析21
3.SNR分析21
七、Matlab_Simulink仿真22
1.关于Matlab_Simulink22
2.仿真电路图线性调整和ALAW分别如图13和图14所示22
摘要:
本文以PCM调制为主轴,从不同角度探讨了对PCM调制信噪比的影响,首先对正弦信号进行线性PCM和A律PCM调制,接着对语音信号进行线性PCM和A律PCM调制,然后对周期锯齿波进行了PCM调制,最后谈了一下Matlab_Simulink在PCM调制中的应用。
关键词:
PCM信噪比线性PCMA律PCM正弦信号语音信号锯齿波Matlab_Simulink
一、研究性教学要求、目的及完成形式
1.要求
仿真实现A律13折线编译码,LPCM编译码,对声音信号进行LPCM和A律编译码,比较量化信噪比,信号源自定。
2.目的
加强对基带调制知识点的理解,掌握和运用程度,锻炼分析问题,开展研究的能力。
3.完成形式
学生独自完成仿真分析和讨论,提交分析报告,课堂分组报告分析结果,教师组织讨论评讲。
二、题目分析及知识回顾
1.PCM调制
PCM全称脉冲编码调制,在发送端它将模拟信号转化为数字信号,主要分三步进行:
抽样,即在时域上离散化;量化,幅度离散化;编码,幅度离散值二进制(或多进制)数字信号。
[1]
2.对模拟信号的量化
对模拟信号的量化从大类上分有两种方式,一是最简单的均匀量化(或称线性量化);二是非均匀量化(或称非线性量化),常见的有A律13折线量化和u律24折线量化。
基于以上内容,我们本次研讨的对象就是PCM均匀量化(或称线性量化)和A律13折线量化。
3.PCM均匀量化
PCM均匀量化,顾名思义就是将模拟信号f(t)的取值范围等间隔分层,量化阶距(间隔)为Δ。
设信号f(t)的幅度范围是-Am~+Am,则其量化电平数即量化级数为M,则M=2Am/Δ。
当量化电平分别取各层的中间值时,量化过程所形成的量化误差不超过±Δ/2。
其优点就是简单、易实现,缺点就是量化信噪比不一致,小信号量化信噪比低,大信号量化信噪比高。
[1]
4.非均匀量化
非均匀量化是将小信号分层密,大信号分层疏,因此量化信噪比不会因信号的幅度变化而有大的改变,提高了平均量化信噪比。
非均匀量化一般通过压缩和扩张实现。
A律PCM是非均匀量化中的欧洲体制,其量化方法如下:
首先,x轴先按2的幂次非均匀量化为八段;相应地,y轴均匀量化为八段,且与x轴的八段依次相对应。
因此,第一象限共有八段,第一、三象限合计共有13段。
在每一段内,x轴和y轴再均匀量化为16层,这样,第一象限总共分为128层,第一、三象限合计共有256层。
三、正弦信号线性PCM仿真分析
1.正弦信号线性PCM仿真分析主要程序如下:
%正弦信号LinePCM
t=0:
0.02:
2*pi;
xs=1;%信号动态范围
f=2000;%信号角频率
yt=xs*cos(f*t);%源信号
level=7;%量化的位数
M=2^level;
xq=xs;%量化器动态范围
delta=xq/M;量化间隔
fs=8000;%抽样频率
Ts=1/fs;
Sa=200;%取点数目
ks=0:
Sa;
yk=xs*cos(ks*Ts*f);%抽样值
%编码部分
CODE=Line_Code(yk,level,delta)%编码调用子函数,传递参数为抽样后的序列、量化位数、量化间隔
deyk=Line_Decode(CODE,delta)%译码调用子函数
其中几个重要的有价值的参数是:
去电数目Sa=200,信号抽样频率fs,信号频率f,信号幅度xs,量化级数level,量化器动态范围和信号动态范围的关系(即xq和xs的大小关系)。
接下来将围绕这几个参数进行探讨分析。
2.正常参数设置时的结果
将以上参数设置成Sa=200,fs=8000,level=7,f=2000,xs=1,xq=xs时,有如下结果:
如图1LPCM编译码前后波形对比,图2LPCM编译码前后波形对比放大看,图3信号时域波形与误差对比图。
此时信噪比结果为SNR_theory(理论上的信噪比)=49.9257dB,SNR_truth(实际信噪比)=47.6239dB。
图1LPCM编译码前后波
图2LPCM编译码前后波形对比放大
图3信号时域波形与误差对比
2.探究取点数目Sa对SNR的影响
Sa是取点数目,在编写程序过程中,SNR_truth是通过求有限数量的点的量化信噪比的平均值来求得的,这个数量就是Sa,所以不难猜测Sa可能对SNR_truth有影响,改变Sa探究结果如表1所示,此时其它变量条件为fs=8000,f=2000,level=7,xs=1,xq=xs。
表1改变Sa探究SNR_truth的变化
Sa
100
200
300
400
600
800
1200
SNR_theory
(dB)
49.9257
49.9257
49.9257
49.9257
49.9257
49.9257
49.9257
SNR_truth(dB)
47.8953
47.6239
47.5020
47.5186
47.4054
47.4898
47.4053
Sa
2000
2500
3000
4000
5000
6000
7000
SNR_theory
(dB)
49.9257
49.9257
49.9257
49.9257
49.9257
49.9257
49.9257
SNR_truth
(dB)
47.4512
47.4390
47.4578
47.4361
47.4426
47.4450
47.4402
探究结果:
Sa只是画图和求SNR_truth时的取点数目,Sa的变化对SNR_truth的影响很小,但是可以发现在Sa逐渐增大时,Sa的变化对SNR_truth的影响减小,即SNR_truth的变化更慢了。
Sa的变化对SNR_theory没有任何影响。
结果分析:
正余弦信号每点的量化误差不一样,量化误差以信号周期为周期重复。
取点数目足够多时,也就是重复足够多的周期后,一周期内不同点量化误差不同的影响可以忽略。
由于计算SNR_theory的公式里没有Sa,所以Sa对SNR_theory没有影响
3.探究抽样频率fs对SNR的影响
抽样频率是PCM调制过程中抽样中的一个重要参数,这里探究它的变化对SNR_truth的影响,结果如表2所示,此时其它变量条件为Sa=200,f=2000,level=7,xs=1,xq=xs。
表2探究fs的变化对SNR_truth的影响
fs
4000
5000
6000
7000
7500
8000
8500
9000
10000
SNR_theory
(dB)
49.9257
49.9257
49.9257
49.9257
49.9257
49.9257
49.9257
49.9257
49.9257
SNR_truth(dB)
47.4873
47.3436
47.4814
47.4402
47.5696
47.6239
47.5751
47.5512
47.5389
结果:
抽样频率fs对SNR_truth产生的影响很小,看不出明显的规律。
fs的变化对SNR_theory没有任何影响。
原因及分析:
抽样频率fs虽然是对抽样过程很重要的量,但是它对量化过程所产生的误差影响很小。
由于计算SNR_theory的公式里没有fs,所以fs对SNR_theory没有影响。
4.探究信号频率(或角频率)f对SNR的影响
探究f的变化对SNR的影响,结果如表3所示,此时其它变量条件为fs=8000,sa=200,level=7,xs=1,xq=xs。
表3探究信号频率f对SNR的影响
f(rad/s)
1000
1500
2000
2500
3000
3500
4000
SNR_theory(dB)
43.9051
43.9051
43.9051
43.9051
43.9051
43.9051
43.9051
SNR_truth(dB)
47.7007
47.4268
47.6239
47.1190
47.3607
47.2053
47.4873
结果:
信号频率f对SNR_truth产生的影响很小,看不出明显的规律。
f的变化对SNR_theory没有任何影响。
原因及分析:
信号频率f对量化过程所产生的误差影响很小。
由于计算SNR_theory的公式里没有fs,所以fs对SNR_theory没有影响。
5.探究信号幅度xs变化对SNR的影响
探究f的变化对SNR的影响,结果如表4所示,此时其它变量条件为fs=8000,sa=200,f=2000,level=7,xq=xs。
表4探究信号幅度xs变化对SNR的影响
xs
0.5
0.6
0.7
0.8
0.9
1
1.1
1.2
SNR_theory(dB)
43.9051
43.9051
43.9051
43.9051
43.9051
43.9051
43.9051
43.9051
SNR_truth(dB)
47.6239
47.6278
47.6278
47.6278
47.6278
47.6278
47.6278
47.6329
结果:
信号幅度xs对SNR_truth产生的影响很小,看不出明显的规律。
xs的变化对SNR_theory没有任何影响。
原因及分析:
信号幅度xs对量化过程所产生的误差影响很小。
由于计算SNR_theory的公式里没有xs,所以xs对SNR_theory没有影响。
6.探究量化级数level的变化对SNR的影响
level是量化过程中非常重要的一个参数,level的大小直接决定了量化的精度,不难猜测level的变化可能对SNR有重大影响,结果如表5所示,此时其它变量条件为fs=8000,sa=200,f=2000,xs=1,xq=xs。
表5探究量化级数level的变化对SNR的影响
level
4
5
6
7
8
9
10
SNR_theory
(dB)
31.8639
37.8845
43.9051
49.9257
55.9463
61.9669
67.9875
SNR_truth(dB)
29.4032
35.4855
41.4292
47.6239
53.4158
59.5519
65.4451
结果:
量化的位数Level对SNR_theory(和SNR_truth(dB)的影响很大,当Level减小时SNR_theory和SNR_truth(dB)下降很快,当Level增大时SNR_theory和SNR_truth(dB)上升也较快。
原因及分析:
level直接决定了量化间隔,而量化间隔对SNR的影响很大,所以level的变化对SNR的影响很大。
思考:
量化位数不仅对SNR的影响很大,它的大小还对信号传输所需的带宽有关,此外level越大设备的成本也越高,实际使用过程中,应综合考虑这三个因素,以达到最好的平衡。
7.探究量化器动态范围Xq与信号动态范围Xs大小关系对SNR的影响
(1)量化器动态范围Xq大于信号动态范围Xs时,此时计算SNR_theory的公式如式
(1)所示,其中M=2^(level+1),Kcr为信号的波峰因数,对于正弦信号为
,
此时计算得到的结果为:
SNR_theory(dB)=43.9051,SNR_truth(dB)=47.6239
式
(1)
(2)量化器动态范围xq大于信号动态范围xs时,计算SNR_theory的式
(1)失效,正确的计算公式应该如式
(2)所示,其中xs为信号动态范围,xq为量化器的动态范围,探究xq-xs的差值对SNR的影响结果如表6所示。
式
(2)
表6探究xq-xs的差值对SNR的影响
Xq与Xs的差值
Xq—Xs
0.04
0.08
0.1
0.12
0.16
0.2
0.3
SNR_theory
(dB)
49.5850
49.2572
49.0979
48.9414
48.6366
48.3421
47.6468
SNR_truth(dB)
46.6393
46.6260
46.4926
46.2907
46.3809
45.4271
45.0231
结果:
当Xq与Xs的差值Xq—Xs增大时,SNR_theory下降较快,SNR_truth下降慢一些,Xq-Xs的差值对SNR_theory的影响非常大,而对SNR_truth的影响较小。
原因及分析:
由式
(2)可以看出Xq—Xs增大时,SNR_theory减小,原因在于信号功率为xs没变,而xq增大,量化间隔增大,量化误差相应增大。
而对于SNR_truth,由于信号从最小值到最大值都能被量化到,所以SNR_truth会减小,但是减小的速度比SNR_theory慢。
(3)量化器动态范围xq小于信号动态范围xs时,由于信号较大时不能被量化到,所以找不到计算SNR_theory的公式,探究xs-xq的差值对SNR的影响结果如表7所示,
量化误差与信号波形的对比图如图4所示。
表7探究xs-xq的差值对SNR的影响结果
xs与xq的差值
xs-xq
0.01
0.02
0.03
0.04
0.06
0.08
0.1
0.14
0.2
SNR_theory
(dB)
无公式
SNR_truth(dB)
38.9273
33.7888
30.6306
28.3342
25.0340
22.6423
20.7625
17.8841
14.7853
图4xs大于xq时量化误差与信号波形的对比图
结果及分析:
当xs-xq增大时,SNR_truth明显减小,原因在于当信号动态范围大于量化器动态范围时,意味着信号较大时不能被量化到,显然量化误差就会很大,所以SNR_truth会下降很快。
从误差分析图也可以看出信号越大的地方,误差越大。
四、正弦信号ALAW_PCM仿真分析
1.主要程序如下所示
%正弦信号ALawPCM
t=0:
0.01:
2*pi;
x=1;
yt=x*cos(2000*t);
fs=8000;
Ts=1/fs;
Sa=200;
ks=0:
Sa;
yk=x*cos(ks*Ts*2000);
CODE=ALaw_Code(yk);
DECODE=ALaw_Decode(CODE);
2.仿真结果
ALAW_PCM编译码前后波形对比图及误差分析分别如图5和图6所示
图5ALAW_PCM编译码前后波形对比图
图6ALAW_PCM编译码误差分析
3.SNR结果
ALAW_PCM仿真结果的信噪比为SNR_theory=36.63459459dB,SNR_truth=36.78120988dB。
五、语音信号PCM调制
1.语音信号说明。
语音信号的时域波形图和频谱图分别如图7和图8所示,从时域看它像一个调幅波,从频域看它大致上只有三个频谱分量,之所以选择这样的声音信号的原因是:
它的频谱分量有限,主要集中在三个频段;所以原声音信号听得较清晰悦耳,能分得清是否加了噪声或者噪声有多大;其时域波形有一定的规律,看得清峰值出现在哪里,有利于后面的误差分析。
图7所选语音信号的时域波形
图8所选语音信号频谱图
2.语音信号线性调制分析
对语音信号进行线性PCM调制,原信号时域波形和误差的对比图如图9所示
图9原信号时域波形和误差的对比图
1正常情况下,计算不出理论信噪比,因为无法确定语音信号的波峰因数。
但可测得SNR_truth=42.4620dB
2小量化位数level,可以听到噪声明显加大。
如level=6时,SNR_truth=36.5272dB
③减小量化器动态范围:
xq=xs-0.1,噪声明显加大SNR_truth=22.4496dB。
3.语音信号ALAW_PCM调制
语音信号ALAW_PCM调制的结果为SNR_truth=35.23141149dB,其编译码前后波形对比图及误差分析分别如图10和图11所示。
图10语音信号ALAW编译码前后波形对比图
图11语音信号ALAW编译码误差分析图
六、锯齿波PCM调制
1.主要程序如下:
%锯齿波LinePCM
f=2000;
xs=2;
t=0:
1/10000:
1.5;
x=xs*sawtooth(f*t);%产生一个锯齿波信号
level=7;%量化的位数
M=2^level;
xq=xs;%量化器动态范围
delta=xq/M;
fs=8000;%抽样频率
Ts=1/fs;
Sa=200;%抽样点
ks=0:
Sa;
yk=xs*sawtooth(ks*Ts*f);%抽样值
%编码部分
CODE=Line_Code(yk,level,delta);%编码调用子函数,传递参数为抽样后的序列、量化位数、量化间隔
2.仿真分析
语音信号时域波形及误差分析如图12所示
图12锯齿波信号时域波形及误差分析
3.SNR分析
锯齿波在一个周期内的变化是线性的,其波峰因数为
测得SNR_theory=48.1648,SNR_truth=45.6624。
七、Matlab_Simulink仿真
1.关于Matlab_Simulink
SIMULINK是MATLAB软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与MATLAB语言的主要区别在于,其与用户交互接口是基于Windows的模型化图形输入,其结果是使得用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。
所谓模型化图形输入是指SIMULINK提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型(以.mdl文件进行存取),进而进行仿真与分析。
2.仿真电路图线性调整和ALAW分别如图13和图14所示
图13线性调制Matlab_Simulink仿真结果
图14ALAW调制Matlab_Simulink仿真结果
仿真采用的输入信号为一个随机序列,其均方值设置为1(即信号功率为1)。
对于线性调制,输入信号是经过编码器(图13中“UniformEncoder”),再经过译码器(图13中“UniformDecoder”),然后得到译码输出信号,将输入信号与译码输出信号做减法(图13中减法器“Subtract”),然后将所得差值经过一个矩阵乘法器(图13中“MatrixMultiply”),再求和,即得到的是噪声的功率,由于即信号功率为1,所以数字显示器(图13中“Display”)所显示的倒数即是信噪比。
而对于A律调制,它的输入信号和译码输出信号调整部分和线性都是一样的,它的编译码过程是先经过压缩器(图14中“A-LawCompressor”),再经过均匀量化器(图14中“Quantizer”),然后通过扩张器(图14中“A-LawExpander”)得到译码输出信号。
参考文献:
[1]冯玉珉.通信系统原理[M]第二版.北京:
清华大学出版社.2011