AES 音频数据流之间的异步采样率转换
2008-12-12 14:31:20
来源:《半导体器件应用》2008年12月刊
点击:1037
1 前言
Xilinx Virtex-5 FPGA 为实现 AES 数字音频采样率转换提供完美平台。
数字视频和音频技术的广泛使用和不断革新,推动了音视频广播 (AVB) 设备的快速发展。今天的 AVB 设备需要更高的图像质量、分辨率、更高的带宽和更多的音/视频处理通道,并且需要将从前彼此独立但实际上相互关联的功能(例如 HD-SDI、音频多路传输和解复用,以及异步采样率转换 (ASRC) )组合在一起。
Xilinx® FPGA 通过不断地将集成度低、复杂且昂贵的 ASSP 芯片功能组合在一起,来满足客户对于集成度的需求。通过利用像 DSP48E 和 block RAM这样用来实现复杂的滤波功能的芯片特性,ASRC,作为一种 ASSP 芯片实现的功能,可以被集成到 Xilinx FPGA 中。
同样,免费提供的 Xilinx 应用指南和参考设计,可以满足客户对集成复杂算法的需求。ASRC 参考设计正确地处理了同步采样率转换和大多数音/视频产品所需要的更复杂的 ASRC。
许多 ASSP 芯片和 FPGA IP 供应商所提供的较简单的“仅使用同步的”方法,每条音频通道的资源利用率较小;但是,当错误地应用于异步应用时,这些方法会产生下面这些问题:
(1) 延迟的积累导致输入到输出延迟的变化;
(2) 音频中会产生噪声,例如漏采样或重复采样。
两种情况都表现出不希望出现的失真。
2 理解采样率转换
在深入了解数字采样率转换理论之前,先来看一看音/视频工程师正在试图解决的基本问题。在少量的应用中,可以使用速率固定的同步转换,例如使用同样的时钟源,或由输入时钟产生的输出时钟将 48kHz 的输入转换为 44.1kHz 的输出。但是,更可能出现的情况是异步转换,输入和输出时钟是完全独立的,例如在两块电路板之间的音频通信。不同的时钟振荡器可以有相同的标称频率,但存在着百万分之几的差别。
Xilinx ASRC 参考设计对于具有独立输入和输出时钟的异步应用,提供了两项重要而且困难的设计功能:
(1) 自动准确地监视输入到输出的采样率之比和采样率的变化;
(2) 在线动态调节滤波器函数(滤波器系数),从而实现性能最大化
使用 FPGA 来支持数字音频 ASRC,意味着能够极大地降低系统中每个 SDI 接口的成本,并且,在很多系统中,存在许多通道。
Xilinx ASRC IP 具有很高的性能,其最差情况下的输入到输出信噪比为-125dB。它还能支持多个音频输入频率到多个音频输出频率的转换。采样率转换算法能够在线动态进行调节,以保持最高性能,这样,设计人员就无需特别关注输入和输出时钟。可以使用运行在如图1所示的 Xilinx ML571 串行数字视频演示板上的 IP 来验证所有这些功能。
最好的是,这些广泛的功能和高性能的 ASRC IP 都是免费的。
3 采样率转换理论
图 2 显示了通常情况下上变频或下变频的概念。变频比可以在带有小数的有理数范围内连续变化。从框图可以看出,先进行上变频(产生更多的样本和时间位置以供选择),再进行下变频(选择输出数据流中与所希望的样本位置最符合的样本)。数据路径中的抗干扰/抗锯齿滤波器确保频谱范围低于输入和输出采样频率的奈奎斯特速率的一半。
ASRC 调节解嵌的音频,与输出视频流的时钟速率匹配,使其能被重新嵌入到输出 SDI 视频流中。
图 3 和图 4 显示,对于每个输出采样位置或输出相位,都需要一组不同的子滤波系数,因为相对于输出相位而言,输入处于不同位置上。具有一组系数与输入采样位置对应的子滤波器,由内插的原型滤波器系数实现。当子滤波器与相应的输入样本进行卷积后,将产生所需的输出样本。这一过程会不断重复,为每个输出样本插入新的子滤波器系数。
4 在 ML571 上实现 ASRC 的实例
被称为视频帧同步的简单功能,很好地展示了 ASRC 主要用途。视频信号能以某一速率被存储到帧缓存器中,并以另一个稍微不同的速率被取出。如果视频设备的两个部分之间没有被“同步锁相”,并且工作在不同的像素率下,这一过程将十分有用。
结果是偶尔需要添加或丢弃一帧视频数据。人眼可能不会注意到在电视屏幕上添加或丢弃的视频帧,但人耳却能很好地发现在音频上类似的差异。解决方案是在开始的视频数据流中先去除音频数据,随后再将其插入到具有微小数据率变化的数据流中,并使输出音频的采样率与新的输出视频的采样率相匹配。Xilinx ASRC 参考设计十分适合完成这样的任务。
例如,让我们将两块由不同的时钟振荡器导致的 SDI 视频采样率有微小差别的板卡连接在一起。接收板将嵌入的 AES 数字音频信号从视频流中分离出来,并将其送至 ASRC。需要使用帧缓存同步逻辑,通过添加或丢弃视频帧,来处理两块板卡间时钟频率的差异。ASRC 调节解嵌的音频,来与输出视频流的时钟速率匹配,使其能被重新嵌入到输出 SDI 视频流中。
欲获取更多关于帧缓存同步技术和异步采样率转换技术的信息,请参见位于 www.xilinx.com/cn/bvdocs/appnotes/xapp514.pdf 上的 XAPP514,“广播业的音/视频连接解决方案”。
5 框图和性能优势
图 5 中的简单框图显示了 ASRC 中所必须的两个关键设计部分。第一个部分用来确定输入采样率和输出采样率之间的变化,用“比例控制”标出。第二个部分“二次采样器”是一组原型滤波器,按照比例控制所提供的统计数据进行变化。
ASRC 参考设计将立体声音频从一个采样频率转换到另一个采样频率。输入和输出频率可以互为任意的比例,或为基于不同时钟的同一个频率。输出是输入的带宽限制版本,输入被重新采样,来与输出采样时序匹配。参考设计有如下这些特点:
(1) 全异步工作;
(2) 可扩展至多条通道;
(3)最差情况下 -125dB 的THD+N,典型情况下 -130dB的 THD+N;
(4) 24 位音频字宽度的输入和输出,31位的内部数学精度和远离 0 的进位;
(5) 自动监视输入到输出的采样率之比,不断对滤波器进行调整;
(6) 连续的有理数/小数比例,上变频为 8∶1 ;
(7) 连续的有理数/小数比例,下变频为 1∶7.5;
(8)具有自适应滤波功能的连续输入到输出采样率监视 ;
(9) 输入/输出采样率在 8kHx-192kHz连续范围内;
(10) 更低的确定性延迟。
参考设计有一个内插系数的 FIR滤波器,它由 VirtexTM-5 中作为主数学单元的 DSP48E 和用作输入采样缓存和原型存储的 block RAM 来实现。
6 结论
为不同数量数字音频通道维持不同的输入到输出音频采样率,并支持新的 AVB 功能的需求是一个巨大的挑战。从变化的协议、存储器管理、不同的负载和不同的系统接口等方面,很容易看到这些设计需要 ASSP 和 ASIC 所无法提供的高性能和低成本的灵活性。这些挑战为 Virtex-5 器件创造了机会,因为这些器件能够让设备厂商针对不断发展的 AVB 设备市场创建相应的解决方案。
Xilinx Virtex-5 FPGA 为实现 AES 数字音频采样率转换提供完美平台。
数字视频和音频技术的广泛使用和不断革新,推动了音视频广播 (AVB) 设备的快速发展。今天的 AVB 设备需要更高的图像质量、分辨率、更高的带宽和更多的音/视频处理通道,并且需要将从前彼此独立但实际上相互关联的功能(例如 HD-SDI、音频多路传输和解复用,以及异步采样率转换 (ASRC) )组合在一起。
Xilinx® FPGA 通过不断地将集成度低、复杂且昂贵的 ASSP 芯片功能组合在一起,来满足客户对于集成度的需求。通过利用像 DSP48E 和 block RAM这样用来实现复杂的滤波功能的芯片特性,ASRC,作为一种 ASSP 芯片实现的功能,可以被集成到 Xilinx FPGA 中。
同样,免费提供的 Xilinx 应用指南和参考设计,可以满足客户对集成复杂算法的需求。ASRC 参考设计正确地处理了同步采样率转换和大多数音/视频产品所需要的更复杂的 ASRC。
许多 ASSP 芯片和 FPGA IP 供应商所提供的较简单的“仅使用同步的”方法,每条音频通道的资源利用率较小;但是,当错误地应用于异步应用时,这些方法会产生下面这些问题:
(1) 延迟的积累导致输入到输出延迟的变化;
(2) 音频中会产生噪声,例如漏采样或重复采样。
两种情况都表现出不希望出现的失真。
2 理解采样率转换
在深入了解数字采样率转换理论之前,先来看一看音/视频工程师正在试图解决的基本问题。在少量的应用中,可以使用速率固定的同步转换,例如使用同样的时钟源,或由输入时钟产生的输出时钟将 48kHz 的输入转换为 44.1kHz 的输出。但是,更可能出现的情况是异步转换,输入和输出时钟是完全独立的,例如在两块电路板之间的音频通信。不同的时钟振荡器可以有相同的标称频率,但存在着百万分之几的差别。
Xilinx ASRC 参考设计对于具有独立输入和输出时钟的异步应用,提供了两项重要而且困难的设计功能:
(1) 自动准确地监视输入到输出的采样率之比和采样率的变化;
(2) 在线动态调节滤波器函数(滤波器系数),从而实现性能最大化
使用 FPGA 来支持数字音频 ASRC,意味着能够极大地降低系统中每个 SDI 接口的成本,并且,在很多系统中,存在许多通道。
Xilinx ASRC IP 具有很高的性能,其最差情况下的输入到输出信噪比为-125dB。它还能支持多个音频输入频率到多个音频输出频率的转换。采样率转换算法能够在线动态进行调节,以保持最高性能,这样,设计人员就无需特别关注输入和输出时钟。可以使用运行在如图1所示的 Xilinx ML571 串行数字视频演示板上的 IP 来验证所有这些功能。
最好的是,这些广泛的功能和高性能的 ASRC IP 都是免费的。
3 采样率转换理论
图 2 显示了通常情况下上变频或下变频的概念。变频比可以在带有小数的有理数范围内连续变化。从框图可以看出,先进行上变频(产生更多的样本和时间位置以供选择),再进行下变频(选择输出数据流中与所希望的样本位置最符合的样本)。数据路径中的抗干扰/抗锯齿滤波器确保频谱范围低于输入和输出采样频率的奈奎斯特速率的一半。
ASRC 调节解嵌的音频,与输出视频流的时钟速率匹配,使其能被重新嵌入到输出 SDI 视频流中。
图 3 和图 4 显示,对于每个输出采样位置或输出相位,都需要一组不同的子滤波系数,因为相对于输出相位而言,输入处于不同位置上。具有一组系数与输入采样位置对应的子滤波器,由内插的原型滤波器系数实现。当子滤波器与相应的输入样本进行卷积后,将产生所需的输出样本。这一过程会不断重复,为每个输出样本插入新的子滤波器系数。
4 在 ML571 上实现 ASRC 的实例
被称为视频帧同步的简单功能,很好地展示了 ASRC 主要用途。视频信号能以某一速率被存储到帧缓存器中,并以另一个稍微不同的速率被取出。如果视频设备的两个部分之间没有被“同步锁相”,并且工作在不同的像素率下,这一过程将十分有用。
结果是偶尔需要添加或丢弃一帧视频数据。人眼可能不会注意到在电视屏幕上添加或丢弃的视频帧,但人耳却能很好地发现在音频上类似的差异。解决方案是在开始的视频数据流中先去除音频数据,随后再将其插入到具有微小数据率变化的数据流中,并使输出音频的采样率与新的输出视频的采样率相匹配。Xilinx ASRC 参考设计十分适合完成这样的任务。
例如,让我们将两块由不同的时钟振荡器导致的 SDI 视频采样率有微小差别的板卡连接在一起。接收板将嵌入的 AES 数字音频信号从视频流中分离出来,并将其送至 ASRC。需要使用帧缓存同步逻辑,通过添加或丢弃视频帧,来处理两块板卡间时钟频率的差异。ASRC 调节解嵌的音频,来与输出视频流的时钟速率匹配,使其能被重新嵌入到输出 SDI 视频流中。
欲获取更多关于帧缓存同步技术和异步采样率转换技术的信息,请参见位于 www.xilinx.com/cn/bvdocs/appnotes/xapp514.pdf 上的 XAPP514,“广播业的音/视频连接解决方案”。
5 框图和性能优势
图 5 中的简单框图显示了 ASRC 中所必须的两个关键设计部分。第一个部分用来确定输入采样率和输出采样率之间的变化,用“比例控制”标出。第二个部分“二次采样器”是一组原型滤波器,按照比例控制所提供的统计数据进行变化。
ASRC 参考设计将立体声音频从一个采样频率转换到另一个采样频率。输入和输出频率可以互为任意的比例,或为基于不同时钟的同一个频率。输出是输入的带宽限制版本,输入被重新采样,来与输出采样时序匹配。参考设计有如下这些特点:
(1) 全异步工作;
(2) 可扩展至多条通道;
(3)最差情况下 -125dB 的THD+N,典型情况下 -130dB的 THD+N;
(4) 24 位音频字宽度的输入和输出,31位的内部数学精度和远离 0 的进位;
(5) 自动监视输入到输出的采样率之比,不断对滤波器进行调整;
(6) 连续的有理数/小数比例,上变频为 8∶1 ;
(7) 连续的有理数/小数比例,下变频为 1∶7.5;
(8)具有自适应滤波功能的连续输入到输出采样率监视 ;
(9) 输入/输出采样率在 8kHx-192kHz连续范围内;
(10) 更低的确定性延迟。
参考设计有一个内插系数的 FIR滤波器,它由 VirtexTM-5 中作为主数学单元的 DSP48E 和用作输入采样缓存和原型存储的 block RAM 来实现。
6 结论
为不同数量数字音频通道维持不同的输入到输出音频采样率,并支持新的 AVB 功能的需求是一个巨大的挑战。从变化的协议、存储器管理、不同的负载和不同的系统接口等方面,很容易看到这些设计需要 ASSP 和 ASIC 所无法提供的高性能和低成本的灵活性。这些挑战为 Virtex-5 器件创造了机会,因为这些器件能够让设备厂商针对不断发展的 AVB 设备市场创建相应的解决方案。
本文为哔哥哔特资讯原创文章,未经允许和授权,不得转载,否则将严格追究法律责任;
暂无评论