- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
采用可编程系统级芯片(PSoC)实现μ-Law压扩器
μ-Law压缩器的实现通常有两种方法:1. 先压缩,然后采样,再进行数字化处理;2. 采用高分辨率ADC进行数字化处理,然后对数字化信号进行压缩。本文介绍的新方法就是PSoC实现方法,通过预先计算好的表格,配合适当的软件就能实现μ-Law压缩器和扩展器,其优点是极大地降低硬件实现的成本,并具有可编程特性。
北美和日本的电话系统采用μ-Law压缩技术。方程(1)给出了压缩函数,其中输入进行归一化处理(-1≤x≤1),Y表示压缩后的输出,μ表示压缩系数。
μ可为任意正值。μ越大,压缩率就越大。对于北美和日本的应用系统,μ设定为255。图1给出了当μ设定为255并且x限定为正数时的μ-Law波形图。
图1还说明了,对于y轴上的单位量化电平,x轴上的量化电平将随振幅的增加而增大。对方程(1)微分,可得到方程(2):
方程(2)对dx求解,可得到方程(3):
方程(4)定义了n位ADC的y轴统一分辨率:
将Δy代入方程(3),可得方程(5):
显然,x轴分辨率是x的函数。方程(6) 表明噪声同样也是x的函数:
总噪声是输入信号所有量化噪声的RMS。方程(7)给出了振幅为“a”的正弦输入的噪声:
合并方程(6)和(7)可得方程(8):
对方程(8)积分可得方程(9):
方程(10)给出了相同正弦输入下RMS值:
由方程(9)和(10)可计算SNR,如方程(11)所示:
图2显示了当n设定为8,μ设定为255时,μ-Law压缩信号的SNR图。用户可以改变压缩率或数字化率并浏览结果。用户还可通过改变n和μ的值,更直观地理解信号压缩和SNR。
图2还显示了8位μ-Law的SNR图。显然,对于小得多的输入,该压缩比仍然可以获得可接受的SNR,但这必须以牺牲峰值SNR为代价。然而,任何超过40dB的信噪比都是一种浪费。方程(12)表明动态范围是信号范围同最小分辨率之比:
当x=0时分辨率最小,合并方程(5)和(12),可得方程(13):
当μ设定为255时,方程(13)可简化为方程(14):
在相同的采样带宽条件下,μ-Law压缩信号的动态范围比一般的线性信号高33dB或51/2位,这同样以牺牲峰值SNR为代价。
实现μ-Law压缩器的两个方法
图3给出了实现μ-Law压缩器的两条途径。这两种方法采用不同的技术:1. 先采用8位ADC压缩信号再进行数字化处理;2. 采用更高分辨率的ADC进行数字化处理,再将数字化后的信号压缩为8位。
第一种技术只需8位分辨率的ADC,但必须通过对数放大器实现压缩功能。该技术在为设计服务于大量消费类电子应用系统的高集成单芯片中获得了广泛应用。第二种技术则需要更高分辨率的ADC,但不需要对数放大器,方程(13)表明最大的分辨率为13.5位。由于ADC成本下降的幅度高于对数放大器,因此越来越多的μ-Law压缩设计都采用第二种技术实现。
PSoC解决方案可提供重构的通用器件。对数放大器并不能满足所有的指标,因为设计对数放大器往往比对数放大器本身更为复杂,为此,PSoC解决方案采用第二种技术,先数字化在压缩。对于8ksps的采样率,每125μs按方程(15)计算一次压缩。
计算方程(15)的3种方法是完全算数运算、线性近似和表查询。
1. 完全算数运算解决方案需要输入数据的归一化、对数计算、至少一次乘法运算和多次加法运算,并在125μs内完成上述所有功能需要DSP或带有快速算数运算引擎的处理器,而微控制器则不适用。
2. 线性近似方法需要将数据归一化为14位,偏差值33将添加到线性数据中。5个最高有效字节及其在数据字中的位置可用来计算压缩值。表1显示了方程(15)的线性近似表。
这就是最通用的μ-Law压缩技术,这几乎不需要任何代码实现。正因为该技术的简单实用,使其成为μ-Law压缩的实际标准。国际电信联盟标准、ITU-T G.711也将该近似方法规定为实际采用的μ-Law压缩。
请注意压缩算法采用的数据是14位,而μ-Law压缩信号的动态范围则不超过131/2位。目前几个软件函数宣称可将16位线性数据压缩为8位数据。这些算法在压缩之前首先去除了2位最低有效位,不要错误地以为16位压缩程序一定需要16位ADC,因为按照这样的逻辑,有人或许会错误地认为构造将24位的线性数据压缩为8位的压缩器仅仅只需简单地摒弃10位最低有效位即可。
3. 查询表可实现方程(16)。f(x)可以是期望的任意函数。这可以是通过数算μ-Law压缩值得到的表,或是采用ITU-T G.711算法生成压缩值得到的表。该表可补偿任何已知的ADC非线性或增益误差,而且只需简单地改变表值即可支持A-Law压缩。A-Law是欧洲电话应用系统采用的压缩标准,该标准类似μ-Law,只是其核心特性不适用于美国,因此可将其视为“公制μ-Law”。我们可以在一个产品中存储几张表以支持不同的压缩方法,而唯一的制约来自存储空间。方程(17)说明表中只存储x的正值。
这样只需一半的数据就足以构造表,表2说明了表的大小与输入数据分辨率之间的关系。注意,表支持分辨率低于14位的数据。压缩数据具有131/2位的动态范围,分辨率较低的输入将被压缩,而整个动态范围要么是ADC分辨率,要么是131/2位,取其中较小的值。
μ-Law扩展器
图4显示了实现μ-Law扩展器的方框图。数字信号经由压扩器馈送至DAC。与压缩器相似,有一下三种实现压扩器的方法:1. 完全算数运算;2. 线性近似;3. 查询表。
完全算数运算解决方案需要进行如方程(16)所示的计算:
对于扩展器,在125μs数据采样时间内,扩展需要进行许多算数运算。线性近似方法的归一化输出为14位,表3所示。偏差输出值将减去33以得到线性输出。与压缩相对应,μ-Law数据扩展采用ITU-T G.711标准。
查询表可用于实现方程(17):
对于压缩器,可用任意期望的函数实现该方程。这可以是数学计算μ-Law压缩值得到的查询表,也可以是采用ITU-T G.711算法生成的查询表。这可以补偿任意系统非线性。实际输出可以是14位线性输出或是控制DAC所需的数据。正值和负值对称性使其只需128字的表存储空间。由于每个字占据两个字节,因此存储空间需求为256字节。
PSoC μ-Law压缩器的实现电路
图5显示了μ-Law压缩器的方框图。μ-Law压缩器由以下几个部分组成:1. 前置放大器;2. 11位Δ-ΣADC;3. μ-Law压缩器;4. 串行发送器。
前置放大器输入信号是与前置放大器输入相结合的交流信号,这是设定为单位增益的PGA用户模块。根据应用的不同,该增益可在+/-24dB之间变化。输出则经由模拟缓冲离开芯片。
ADC信号再次与交流电结合输出至DELSIG11。方程(18)定义了采样率:
对于8MHz的最大数据时钟,采样数据率仅为7.81ksps,这正好在所需的8ksps以内。DELSIG11采用周期为256的定时器控制抽取器。如果周期变为250,那么方程(19)即可表示采样率:
对于8MHz的数据时钟,采样率现在即为8ksps。
μ-Law压缩器采用查询表,该表的增益调节功能可补偿ADC损耗。该方法实现了ITU-T G.711压缩算法,将从DELSIG11获得的11位有符号输出数据转换为8位压缩值。
PsoC μ-Law扩展器的实现
图6显示了μ-Law扩展器的方框图。μ-Law扩展器由以下几个部分组成:1. 串行接收器;2. μ-Law扩展器;3. 4极点开关电容滤波器;4. 双极点Sallen键控噪声滤波器。
串行接收器是115.2kbps UART接收器,对于带宽为6?kbps的接收数据,该传送速率完全能满足需求。μ-Law扩展器采用查询表控制Matissa和指数幂DAC。查询表中采用ITU-T G.711扩展算法,可提供11位有符号线性输出。
4极点开关电容滤波器的4极点采用两个LPF2用户模块串行实现,LPF2用户模块是开关电容双二阶滤波器。可以在与应用说明关联的项目中考察每个滤波器参数段的元件值。这些滤波器的信号经由模拟缓冲输出芯片。
双极点Sallen键控噪声滤波器带有配置为缓冲PGA用户模块、两个外部电阻器和两个外部电容器。滤波器可完成剩余的6极点响应,还可去除由前一级滤波器产生的开关噪声。完全的压扩器系统如图7所示,它给出了压扩器的方框图。
结论
PSoC架构有助于实现ITU-T G.711 μ-Law压缩/扩展器,大量的芯上模拟电路使得只需添加一些无源器件即可实现完全的信号调节、数字化、滤波和信号重构。欲了解具体设计指南,请查阅www.chipcenter.com/analog/images/CypressMicroSystems_Logarithmic_Signal_Companding.pdf。
作者:David Van Ess
Cypress半导体公司
如何成为一名优秀的射频工程师,敬请关注: 射频工程师养成培训
上一篇:Delta Sigma PLL与传统PLL的性能比较
下一篇:兼容所有格式的模拟前端设备可以同时处理视频和PC格式