欢迎来到天天文库
浏览记录
ID:38192403
大小:91.00 KB
页数:9页
时间:2019-06-07
《均匀脉冲编码调制仿真》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、通信原理课程设计题目:均匀脉冲编码调制仿真院系:专业:班级:姓名:学号:指导老师:时间:2010年12月27日——2010年12月31日9一.均匀脉冲编码调制原理1.均匀量化原理设模拟信号的取值范围是[a,b],量化电平数是M,那么均匀量化的量化间隔是:量化取间的端点是:若量化输出电平取量化间隔的中点,则,显然,量化输出电平和量化前的信号的抽样值一般是不同的,即量化输出电平有误差,这个误差称谓量化噪声(quantizationnoise),并用信号功率之比(简称为信号量噪比),衡量此误差对信号的影响的大小。对给定的信号最大幅度,量化电平
2、数越多,量化的噪声越小,信号量噪比越高。在均匀量化时,量化噪声功率的平均值可以用下面的式子表示:式子中的为模拟信号的抽样值,即,为量化信号值,为信号的抽样值的概率密度。为求统计平均值。为量化电平数。信号的平均功率可表示为:若已知信号的概率密度函数,则由公式可计算出平均信号量噪声比。计算时可用如下公式直接计算,对于具有均匀概率密度的信号则有:。所以平均信号量噪比为:9在实际的应用中,对于给定的量化器的,量化电平数M和量化间隔都是给定的。所以,量化噪声也是给定的,但是,信号的强度可能是随时间变化的,像语音信号就是这样子的。当信号小时,信号的
3、量噪比也小。所以这种均匀量化器对于小输入信号很不利。所以一般对小信号采用非均匀量化。2.编码原理量化后的信号,已经是取值离散的信号数字信号,下一步是如何进行编码。这里采用自然二进制编码和折叠二进制编码。自然二进制编码的编码方法如下:对于模拟信号的抽样值为0,0.0998,0.1987,0.2955,0.3894,0.4794,0.5646,0.6442。采用的是8电平的量化级数。量化输出电平范围是-0.8750,-0.6250,-0.3750,-0.1250,0.1250,0.3750,0.6250,0.8750。则量化后的电平是:-0
4、.1250,0.1250,0.1250,0.3750,0.3750,0.3750,0.6250,0.6250。对应的采用自然二进制码是:011100100101101101110110110111。采用折叠二进制码编码,则输出为:000100100101101101110110110111。具体编码的方法见程序。二.程序运行结果:对于输入信号为sin(t)信号进行量化编码,其持续时间是10s,分别采用量化电平是8和16进行量化编码。运行结果是:原模拟信号为的采样值为:0,0.0998,0.1987,0.2955,0.3894,0.479
5、4,0.5646,0.6442。1.采用8量化后的输出量化值为:-0.1250,0.1250,0.1250,0.3750,0.3750,0.3750,0.6250,0.6250。相应的编码是:000100100101101101110110110111相应的量化误差为:sqnr=18.8549波形图:92.采用16量化电平进行量化值为:-0.0625,0.0625,0.1875,0.3125,0.4375,0.4375,0.5625,0.6875相应的编码是:00001000100110101011101111001100相应的量化误差
6、sqnr=25.1185波形图:9三.小结通过这次通信原理课程设计,锻炼了自己的对PCM编码原理的理解和掌握。同时,加强了对matlab编程的练习。我复习了MATLAB编程语言的基本概念、语法、语义和数据类型的使用特点,加深了对课堂所学理论知识的理解,掌握了运用结构化程序设计的基本思想和方法,更重要的是培养了自己的自学能力。因为这是我们第二次接触MATLAB编程语言,在编写程序以及调试的过程中遇到了很多困难,但是我通过去图书馆查找资料,请教同学老师,再自己一点点改善程序,最终编写出一个比较完善的程序,实现了所有要求功能,这是最值得我欣慰
7、的一点。以下是我的几点切身感受:(一)编写程序需要一个清醒的头脑,明确的思路,同时也要有耐心毅力。刚拿到程序设计课题时,我感觉一片茫然,因为在之前的学习中,只是在一些例题中接触过MATLAB语言,甚至没有看过一些基础的书籍,所以初次遇到一个实际问题,感觉无从下手。由于自己对MATLAB的设计不够熟悉,同时对MATLAB的基本语句掌握不扎实,编写程序遇到了很大的困难,不过通过请教老师,和同学共同探讨后思路一下子豁然开朗,掌握了基本设计思路之后,后面的编程就顺利多了。至此,我真真体会到清晰地思路对成功编写一个程序的重要性。当然成功编写一个程
8、序绝非易事,之前,我总以为程序能够正常运行,就代表着编程成功,后来我才发现我大错特错了。我用了三天时间,完成了程序的编写、改错,但我立刻发现尽管程序能够正常运行,部分功能却不完善,甚至不能实现。经过一次又一
此文档下载收益归作者所有