PCM编码及解码

maybridgePCM编码及解码
一、设计目的和意义
作为电子专业的一名学生,通信原理课程无疑是我所必修专业课中的重点,对于我将来所要从事的领域有着不可或缺的作用,学号这门课是无可厚非的。然而,对于课堂上老师的讲解,最多只能做到了解,真正的理论知识显得枯燥而乏味,没有得到实用的理论等于一纸空文。在这次课程设计中,旨在让我们更深入的了解这门科目某些应用方面以及如何应用自己所学知识去做事情。同时,锻炼我们的动手能力,以及运用软件来实现通信系统中的的工作模式。这对于我们大三,即将走出校园的一代,是很好的历练,让我们学会从发现问题,并到问题的切入点来处理身边的来来往往。
二、设计原理
本设计主要会用到的知识有通信原理中的脉冲编码调制(PCM)、数字信号处理的由时域到频域的一些变换知识,如傅立叶变换、FFT以及MATLAB软件的
使用等。
PCM系统的原理:脉码调制—将模拟调制信号的采样值变换为脉冲码组。PCM 编码包括如下三个过程。
抽样:将模拟信号转换为时间离散的样本脉冲序列。
量化:将离散时间连续幅度的抽样信号转换成为离散时间离散幅度的数字信号。
编码:用一定位数的脉冲码组表示量化采样值。
译码:把编码后的码流在通过信道传输后得到的码流译成离散时间连续幅度的信号。
其系统框图如下:
图1  PCM系统原理图
本次课程设计主要是做量化、编码、信道传输、译码四部分。
(一) 律15折线的原理
2()2H B f o q S SQNR N ==μ律采用非均匀量化,
它用的是直接法即用不同的量阶对信号进行非均匀量化,对数量化器可以满足要求。
μ律的对数压缩特性为:
ln(1)(),01ln(1)
x f x x μμ+=≤≤+      (1) 其中μ为压缩系数。μ越大则压缩效果越明显,μ=0相当于无压缩,国际现在的标准为μ=255。μ律压缩特性可以用15折线来近似(折线图见附录中,PCM 编码输入输出特性曲线)。由于正负对称,且正的第一区间与负的第一区间斜率相同,所以途中只画出了正半轴。
编码规则:M1M2M3M4M5M6M7M8,(μ=255,L=256时)八位码。这里采用的是折叠码(FBC )。
极性码M1:‘0’表示负极性,‘1’表示正极性。
段落码M2M3M4:表示量化采样值所在段落的序号。
电平码(段内码)M5M6M7M8:表示每一段落内的16个均匀量化级。
嵌入式软件开发
(二)信道误码率
信道误码率即信码在信道中传错的概率,在数字通信中,即为‘0’被错传为‘1’,‘1’被错传为‘0’的概率。它主要是由信道中的噪声引起的。在本设计中由于采用软件仿真,没有用噪声的方式来产生误码,而是人为的用程序将它的码流变错,先要根据误码率计算出要被传错的码元的个数,再用随机的方法让他的码元变错,这就体现了噪声所引起的误码的不可确定性。
(三)量化信噪比
PCM 系统输出端平均信号量化噪声比仅依赖于每一个编码组数N 。对于一个频带限制在H f 的信号,按照抽样定理,此时要求每秒钟最少传输的抽样脉冲数等于2H f ;若PCM 系统的编码位数为N ,则要求系统每秒传输2H f 个二进制脉冲。为此,这时的系统总带宽B 至少等于N H f 。故可用公式:
(2)
本设计取H f =1000Hz, 抽样点为1000时,s f =1000kHz ;当抽样点可变时,s f =k*H f 。
三、详细设计步骤
由于对理论知识掌握不足,在拿到设计题目时候曾一度不知如何下手,为此,我花费了整整两天的功夫,多次翻看课本第五章关于脉冲编码调制PCM的相关知识,查资料,寻前人在这些方面的成果。浏览网页,搜索于此相关公式、论文,咨询同学、老师,出解决方案。经过一番努力,总算有流媒体地址
了初步了解。
开始着手编写设计程序了,发现过去MATLAB软件的应用知识忘掉了许多,又用了半天时间对其熟悉,并到设计中可能用到的函数,学习其用法。终于开始了正题,可编写程序过程中总是出现各种各样的错误,比如randn函数的使用,总想着像其他函数那样画出了“多彩”的波形。在编程过程中随时打开百度搜索。还有就是非均匀量化的信噪比公式书上根本没有,从各方资料上才算获悉其具体表达式。
编写程序中,分为几个部分:PCM非均匀量化编码函数,解码函数,误码产生函数,均匀量化编码函数,以及主函数,其中主函数除对各支函数的调用之外,还产生了长度为1000的标准整台分布函数,绘制了PCM编码输入输出关系曲线,计算出了均匀,以及非均匀量化的量化误差等。其中正态分布采用randn函数产生,输入输出关系曲线采用书本中公式来绘制,量化误差亦有相关公式考参考。
降香黄檀树非均匀量化编码函数参考清华大学出版社出版的《现代通信原理》一书中P133表5—4,U律的PCM编码表编写,程序中首先判断输入数据的正负,确定M1位,然后将该数取绝对值,根据表中的量化间隔划分,确认各M的取值,最后将所得M的序列保存在以数组总y=str2double(dec2bin(p))。非均匀量化解码表,亦根据此表编程,先判断M1位确定数值的正负,之后通过逐个判断,定位取值区间来解码,其中,由于量化间隔的关系,取值时取量化间隔中间值作为解码输出。误码产生函数,通过产生随机
序列p=randperm(k),从产生序列中第一、二两个作为产生误码的行和列,从而得到随机的误码分布。
四、设计结果及分析
小文件存储运行主程序,观测到:
x1=randn(1,1000);x10=fft(x1,1024)(连续图)
图2、长度为1000的标准正态分布的随机信号,时域波形及频谱图u=255;  xx=0:0.01:1;    xy=log(1+u*xx)/log(1+u);
图3、PCM编码输入输出关系曲线
t=0:2*pi/n:2*pi;    x=sin(t);    x0=fft(x,256);
y(i)=depcm(num8(i,:));  y=y/4079;  y0=fft(y,256);
蜂蜜包装盒
图4、编码前以及解码后时域信号,和频域信号的波形
t=0:100*pi/n:100*pi;  x=sin(t);    x0=fft(x,256); y(i)=depcm(num8(i,:));  y=y/4079;  y0=fft(y,256);
图5、改变输入信号得到

本文发布于:2024-09-22 22:36:04,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/219101.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:量化   函数   编码   信号   设计   产生   离散
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议