在MAXQ3120上实现CODEC应用
发布时间:2008/5/29 0:00:00 访问次数:365
引言
今天的电话已数字化。而在过去,它往往意味着咔嗒作响的、包含数百个电气触点的史端桥式开关,数英里的双绞线电缆就象多彩的意大利面条,星罗棋布于乡村野外的微波塔。今天,话音业务在最开始的时候就被转换成了数字形式,并和成百上千的其他话音、电子邮件和网页等信息一同,由一条光纤传输。
数字电话催生了信息时代,并继续以新的技术,如因特网话音(voip),改变着通信工业的前景。然而,有一个事实没有变 - 必须在线路上的某个点,将话音转换为数字,并将数字转换回话音。
这正是codec (编解码器)的工作。这个名称是coder/decoder (编码器/解码器)的缩写,是一种概念上非常简单的器件。它包含一个模拟到数字转换器(adc),用于将音频转换为位流;一个数字到模拟转换器(dac),用于将收到的位流转换回音频;和一个接口,用于和其他codec共享总线,并通过总线插入和取回数字化的音频信息。
通常,一个codec就是一片独立的混合信号半导体器件。对于简单应用,这种方案能够很好地工作,例如端局交换机中的线卡。然而,很多时候我们还希望对要发送的音频信号作一些预处理(例如限幅、动态范围压缩或频谱整形等),或对收到的音频信号作一些后处理(例如噪声抑制)。对于独立式codec而言,这些处理任务比较难以实现。这是因为模拟音频信号一经codec转换,就再也没有机会作进一步地处理了 - 独立式codec直接连接到了pcm干线。这种情况下,系统设计者就只有两种很笨拙的选择了:或者在模拟域执行这种处理(通常很昂贵且可能引入噪声),或者放弃使用这种独立式的单片codec,而改用独立的精密adc和dac芯片,并在数字域进行处理。这两种方式都不理想。本文给出一种新的方案,它采用maxq3120微控制器和外部dac作音频codec,同时能够对入站和出站位流进行额外的处理。
codec基础
在数字电话还很遥远的时候,人们就认识到保持一个话音信号清晰可辨的必要频段大约为300hz至3.5khz。此范围之外的频率对于语音信号的保真度有贡献,但对于清晰度无益(事实表明,限制带宽的信号比宽带信号反而更易于辨析)。根据nyquist定律,对于信号的采样率必须至少为其最高频率的两倍,因此所有话音codec都工作于每秒8,000个采样 - 多于所要求的3.5khz的两倍 - 每个采样都被转换为一个数字化的码字。
然而,码字的长度又带来另一个问题。在任何数字系统中,都必须在信号的完整性和字长间做出妥协。为获得高保真,系统设计者应选择较大的字长,但位数越多带宽越高,而带宽是要付出成本的。另一方面,如果设计者选择较小的字长以节省带宽成本,话音质量就会有所损失。实验表明较小的字长 - 大约八位 - 也可以提供较好的话音质量,但前提是讲话者必须是在安静的环境中用恒定的话音讲话。这种情况下正常的音量变化就会造成发送器饱和,导致箝位和失真。降低增益当然可以消除高音量时的箝位问题,但正常音量可用的位数却减少至四到五位,使比较轻的话音听起来有刮擦声且不自然。为了适应人类话音的整个范围,从最轻的低语到大声的喊叫,看起来有必要采用十二到十四位分辨率。
最佳方案是非线性codec (见图1)。这种类型的codec利用了这样一件事实:我们的耳朵对于响亮声音的小误差更“宽容”,而对于微弱声音的小误差很敏感。图1中,静默状态位于零线附近;轻微的话音相对于中心线有小量偏移,而响亮的话音偏移较多。在这样的器件中,零线附近的编码密度高于远离零线处的编码密度,使codec既能为低电平信号提供满意的性能,同时为高电平信号提供足够的动态范围。
图1. 典型pcm codec的响应曲线。在零相对幅度附近的区间编码密度高于曲线端点处,使codec既保持了话音的高度清晰,又具有很宽的动态范围。 |
在数字侧,器件必须与pcm干线接口。各codec并不是通过单独的一组线连接到其相应的中继设备上,而是一定数量的codec一同被连接到一条共享的总线 - pcm干线上。为了协调传输过程,这些codec共用一个位时钟,而用单独的帧脉冲指挥每个器件开始发送和接收。按照北美标准,24个codec共享一条pcm干线,某种类型的时序器逻辑以1,544,000位/秒的速率控制着其运行节奏。每过125μs,第一个codec收到一个帧脉冲并发送八位数据到干线上。8个位时钟后,第二个codec收到其帧脉冲,依此类推。所有24个codec发完数据后,时序器提供一位的时间用于传送信令,然后重复上述过程。这样,总的数据量为:
[(8 bits per sample x 24 channels) + 1 signaling bit] x 8,000 samples per second = 1,544,000 bits per second
pcm codec的类型
用于电话的pcm codec已有了全世界统一的帧速率(采样率)。不幸的是,在其它方面几乎没有统一的全球标
引言
今天的电话已数字化。而在过去,它往往意味着咔嗒作响的、包含数百个电气触点的史端桥式开关,数英里的双绞线电缆就象多彩的意大利面条,星罗棋布于乡村野外的微波塔。今天,话音业务在最开始的时候就被转换成了数字形式,并和成百上千的其他话音、电子邮件和网页等信息一同,由一条光纤传输。
数字电话催生了信息时代,并继续以新的技术,如因特网话音(voip),改变着通信工业的前景。然而,有一个事实没有变 - 必须在线路上的某个点,将话音转换为数字,并将数字转换回话音。
这正是codec (编解码器)的工作。这个名称是coder/decoder (编码器/解码器)的缩写,是一种概念上非常简单的器件。它包含一个模拟到数字转换器(adc),用于将音频转换为位流;一个数字到模拟转换器(dac),用于将收到的位流转换回音频;和一个接口,用于和其他codec共享总线,并通过总线插入和取回数字化的音频信息。
通常,一个codec就是一片独立的混合信号半导体器件。对于简单应用,这种方案能够很好地工作,例如端局交换机中的线卡。然而,很多时候我们还希望对要发送的音频信号作一些预处理(例如限幅、动态范围压缩或频谱整形等),或对收到的音频信号作一些后处理(例如噪声抑制)。对于独立式codec而言,这些处理任务比较难以实现。这是因为模拟音频信号一经codec转换,就再也没有机会作进一步地处理了 - 独立式codec直接连接到了pcm干线。这种情况下,系统设计者就只有两种很笨拙的选择了:或者在模拟域执行这种处理(通常很昂贵且可能引入噪声),或者放弃使用这种独立式的单片codec,而改用独立的精密adc和dac芯片,并在数字域进行处理。这两种方式都不理想。本文给出一种新的方案,它采用maxq3120微控制器和外部dac作音频codec,同时能够对入站和出站位流进行额外的处理。
codec基础
在数字电话还很遥远的时候,人们就认识到保持一个话音信号清晰可辨的必要频段大约为300hz至3.5khz。此范围之外的频率对于语音信号的保真度有贡献,但对于清晰度无益(事实表明,限制带宽的信号比宽带信号反而更易于辨析)。根据nyquist定律,对于信号的采样率必须至少为其最高频率的两倍,因此所有话音codec都工作于每秒8,000个采样 - 多于所要求的3.5khz的两倍 - 每个采样都被转换为一个数字化的码字。
然而,码字的长度又带来另一个问题。在任何数字系统中,都必须在信号的完整性和字长间做出妥协。为获得高保真,系统设计者应选择较大的字长,但位数越多带宽越高,而带宽是要付出成本的。另一方面,如果设计者选择较小的字长以节省带宽成本,话音质量就会有所损失。实验表明较小的字长 - 大约八位 - 也可以提供较好的话音质量,但前提是讲话者必须是在安静的环境中用恒定的话音讲话。这种情况下正常的音量变化就会造成发送器饱和,导致箝位和失真。降低增益当然可以消除高音量时的箝位问题,但正常音量可用的位数却减少至四到五位,使比较轻的话音听起来有刮擦声且不自然。为了适应人类话音的整个范围,从最轻的低语到大声的喊叫,看起来有必要采用十二到十四位分辨率。
最佳方案是非线性codec (见图1)。这种类型的codec利用了这样一件事实:我们的耳朵对于响亮声音的小误差更“宽容”,而对于微弱声音的小误差很敏感。图1中,静默状态位于零线附近;轻微的话音相对于中心线有小量偏移,而响亮的话音偏移较多。在这样的器件中,零线附近的编码密度高于远离零线处的编码密度,使codec既能为低电平信号提供满意的性能,同时为高电平信号提供足够的动态范围。
图1. 典型pcm codec的响应曲线。在零相对幅度附近的区间编码密度高于曲线端点处,使codec既保持了话音的高度清晰,又具有很宽的动态范围。 |
在数字侧,器件必须与pcm干线接口。各codec并不是通过单独的一组线连接到其相应的中继设备上,而是一定数量的codec一同被连接到一条共享的总线 - pcm干线上。为了协调传输过程,这些codec共用一个位时钟,而用单独的帧脉冲指挥每个器件开始发送和接收。按照北美标准,24个codec共享一条pcm干线,某种类型的时序器逻辑以1,544,000位/秒的速率控制着其运行节奏。每过125μs,第一个codec收到一个帧脉冲并发送八位数据到干线上。8个位时钟后,第二个codec收到其帧脉冲,依此类推。所有24个codec发完数据后,时序器提供一位的时间用于传送信令,然后重复上述过程。这样,总的数据量为:
[(8 bits per sample x 24 channels) + 1 signaling bit] x 8,000 samples per second = 1,544,000 bits per second
pcm codec的类型
用于电话的pcm codec已有了全世界统一的帧速率(采样率)。不幸的是,在其它方面几乎没有统一的全球标