DSP的算术编码在小型通信系统中的实现

时间:2022-08-30 11:13:32

DSP的算术编码在小型通信系统中的实现

摘 要:本文着重阐述了一种数据压缩方法――二进制半自适应数学编码,对其基本原理、编码算法和实现流程均做了详细的阐述。同时,在DSP提供的开发平台上,主要完成DCT变换,构建一个小型的通信系统。

关键词:数据压缩 二进制半自适应算术编码 DSP 通信系统

1. 前言

数字化的浪潮正在迅速地席卷全球。数字信号处理(DSP)技术作为数字化最重要的基础技术之一,无论在其应用的广度和深度方面,都正以前所未有的速度向前发展。数字信号处理器(DSP器件)作为快速处理与实时处理最重要的载体之一,正日益受到科学技术界的关注。

信息时代的重要特征是信息的数字化。而数字化的音频和视频均含有大量的冗余信息;同时,信息的高速膨胀使得人们对信息的需求量不断增大。基于这种背景的考虑,我们在构建该系统中采用了两种数据压缩方法:离散余弦变换和算术编码,作为对数据压缩方法的初步了解。

一个小型的通信系统的构建,需要由DSP和数据压缩算法才能实现。为此,我们在这里选DSP系列TMS320C54X系统入门套件DSK板,结合针对C5X系列DSP的集成开发环境CCS5000和有关数据压缩算法,以达到了解DSP和数据压缩的运作过程。

2. DSP的硬件支持

自60年代以来,随着计算机和信息科学的飞速发展,数字信号处理技术应运而生并迅速发展。简单地说,数字信号是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。

为了加速DSP的普及和应用,DSK就孕育而生了,它是由德州仪器公司特地为刚刚接触DSP领域的初学者提供的价廉物美的DSP开发工具。在DSK上,拥有音频处理器AC01、AI/AO及TMS320C5402等一些处理模块。

(1)TLCAC01介绍

AC01时一个音频处理器。在简单的通信系统中,它主要完成A/D和D/A转换。AC01有三种基本操作模式,并且通过软件编程能实现对输入模拟信号采样频率的控制。我们采用主控―受控模式,并使用AC01的缺省采样频率即15.4KHz作为模拟话音信号的采样速率。

(2)TMS320C5402芯片介绍

TMS320C54X系列是一个优秀的16bit定点DSP系列,在工程界得到广泛应用。TMS320C54X是一个可编程器件。在很多简单通信系统中,算术编码算法就是通过此芯片来实现的。

3. 系统模型及原理

(1)系统模型

(2)系统原理

输入端从麦克风得到一模拟语音信号,经AC01采样、量化后形成信息速率为64kbps的PCM码流,结果存储在输入缓冲区中。为了能实现实时的编解码,系统设置了两个接受数据输入缓冲区buffer1和buffer2。由于软件设置时定时器中断INT0,使其每Ti间隔时间产生一次中断。中断相应完成以下两方面工作:一方面转换输入缓存buffer1到buffer2,使buffer2接收PCM码流,以次保证信号的不间断采样;另一方面对buffer1中的码流进行数据压缩处理。编码结果存储在输出缓冲区Out_Buffer中,再对其进行相应的反变换,然后驱动扬声器输出所恢复的语音信号。如此每发生一次中断,就进行压缩和解压缩处理,直到模拟信号的采样结束。为了防止数据丢失,必须保证数据压缩处理时间Tc

4. 算术编码的实现

(1)数据压缩的必要性

信息时代的重要特征是信息的数字化,而数字化的视频和音频信息其数据之大是惊人的。这将给存储器的存储容量、通信主干信道的传输率以及计算机的处理速度带来极大的压力。考虑到技术与成本诸多因素,单纯用扩大存储器的容量,增加通信干线的传输率以及提高计算机的运行速度等办法是不现实的。数据压缩技术是一个行之有效的方法。

(2)语音信号压缩的可能性

声音信号能进行压缩编码的依据有两个:第一,声音信号中存在着很大的冗余度,通过识别和去除这些冗余信息,便能达到压缩的目的。第二,人耳听觉中有一个重要的特点,即听觉的“掩蔽效应”。它是指一个强音能抑制一个同时存在的弱音。利用该性质,可以抑制与信号同时存在量化噪音。所以,采用DCT变换和算术编码方法。

(3)算术编码算法的基本思路

按照概率的基本理论,对一个独立信源,任一由信源符号组成的长度为N的序列,其发生概率可由其中各个符号的概率求得,并且所有长度为N的可能序列的发生概率之和为1。为此,我们将[0,1)按照一定的顺序划分为若干个子区间,使每个子区间对应一个长度为N的可能序列,各子区间互不重叠且宽度等于序列的发生概率。这样,每个子区间有一个唯一的起始值或左端点,只要知道了该点,也就能确定具体的符号序列了。由于编码输入信号是PCM的二源信号,所以采用二进制算术编码方法。

(4)二进制算术编码算法

算术编码初始化,可设置两个参数,Pe和Qe。Pe代表大概率,Qe代表小概率。

算术编码的第一步,据概率Pe和Qe值,将[0,1)分割成两个子区间,如图所示,Qe为小概率,从0算起,那么,Pe=1-Qe,随后,当编码输入符号流中的是“0”,其输出码字应落在0~Qe区间内,在此区间内的一个最短二进制码作为输出;如果符号流中第一个符号来的是“1”,那么其输出码字应落在Pe中,即Qe~1内。

解码是编码的逆过程。在解码过程中,当C′落如0~QeA区间,解码符号赋予“0”,当C′落如QeA~A区间,解码符号赋予“1”。具体算法如下:编码时设置两个专用寄存器,A寄存器和C寄存器。设C寄存器内的数值为子区间的起始位置,A寄存器内的数值为子区间的宽度,该宽度正好是已输入符号串的概率(初始化时C=0,A=1)。

当低概率符号LPS到来时

C=CA=AQe

当高概率符号MPS到来时

C=C+AQeA=Ape=A(1-Qe)

以C寄存器中的数为下限,以C+A数值为上限的某个二进制小数即所求结果。

解码是编码的逆过程。同样设置两个寄存器C′和寄存器A′。C′寄存器和A′寄存器中的内容要根据每次符号“1”或“0”按照以下公式修改。

当C′落如0~QeA区间内,解码符号赋予“0”这时

C′=C′A′=QeA′

当C′落如QeA~A区间内,解码符号赋予“1”这时

C′=C′-QeA′A′=A′(1-QeA′)

利用上述公社多次重复计算,求得与解码输入字符串所对应的解码输出。

5. 小结

AC01的采样频率本可编程实现为8KHz或16KHz,8KHz和16KHz是语音信号标准采样频率,算术编码本身是一个日趋完善的算法。所以对于一个小型的通信系统而言,随着信息技术和计算机技术的飞速发展,现代通信系统也将日趋先进化。

参考文献:

[1]程佩青.数字信号处理教程.清华大学出版社,第二版.

[2]曹志刚,钱亚生.现代通信原理.清华大学出版社.

[3]万山明.TMS320F281X DSP原理及应用实例.北京航空航天大学出版社.

[4]苏涛,蔺丽华,卢光跃,张林让.DSP 实用技术.西安电子科技大学出版社.

注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

上一篇:教师课堂行为及其影响 下一篇:论证券内幕交易罪的司法认定