英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料
T-CREST多核平台上的实时音频处理
摘要—由于多核平台提供的计算能力的提高,多核平台现在广泛用于音频处理应用。然而,这些系统没有针对时间受限的环境进行优化,这经常导致音频信号延迟增加。本文提出了一种基于T-CREST平台的实时多核音频处理系统。T-CREST是一款用于实时嵌入式系统的时间可预测多核处理器。已经实现了多个音频效果任务,这些任务可以以不同的配置连接在一起,形成顺序和并行效果链,并且使用片上网络在处理器之间进行相互通信。对系统的评估表明,多效果配置的实时处理是可能的,并且延迟的估计和控制确保了实时行为。
一.导言
多处理器系统经常出现在音频信号处理领域。一些例子是在多核处理器计算机上运行的音频软件环境,或者在许多应用中发现的嵌入式音频多核平台,例如助听器或便携式移动设备[1]。
在音频信号处理系统中,经常对信号应用多种类型的处理。例如,吉他手使用许多不同的音频效果在吉他信号到达扬声器之前对其进行处理。这些效应可能是失真效应、滤波器、延迟等。通常,效果以顺序方式连接,其中一个效果的输出信号是链中下一个效果的输入。但也有可能是这样的情况,信号被分成平行的链分别处理,然后合并在一起,形成一个更复杂的图形。这方面的一个例子如图1所示。
在这项工作中,我们重点关注实时音频处理应用,这意味着处理必须在一定的时间间隔内进行,以确保人耳察觉不到信号的输入输出延迟。为了提供实时保证,处理系统的时间行为必须是完全可预测的。为了实现这一点,系统的元素,例如处理信号的每个效果的缓冲器,需要以输入到输出延迟保持在某个限度之下的方式来设计。
图1-音频效果的顺序和平行链实例。
针对时间可预测的T-CREST多核平台,提出了一种实时音频处理系统。T-CREST是一个基于片上网络(NoC)的平台,用于硬实时应用。在这项工作中,已经实现了用于音频应用的典型数字信号处理算法。然后,在多核平台中,这些效果可以以与图1所示相同的方式连接在一起。这些影响被静态地映射到不同的核心,并且NoC被用作处理器核心之间的主要通信资源。本文的三个主要贡献是:
设计和实施灵活、可扩展的实时音频处理系统,支持多核平台中不同的音频效果设置和组合;通用音频效果的实时软件实现,重点关注最坏情况执行时间(WCET)的可预测性和减少;一个功能齐全的开源实时应用程序,作为T-CREST平台的使用案例,并有可能作为其他实时多核架构的使用案例。
本文提出的体系结构代表了传统音频处理系统的一种替代方法,其中延迟是固定缓冲区大小的结果,而不是设计参数,这可能导致实时行为的损失[2]。在我们的方法中,效果被静态地分配在平台的核心上,并且在编译时设置资源的参数(处理器、通信信道、缓冲器等),以便对信号延迟具有完全的控制和可预测性,从而保证实时音频处理。
这里介绍的工作的更多细节可以在硕士论文[3]中找到,所有的代码都是开源的。此外,该平台使用音频接口和软件应用编程接口实时访问音频数据[4]。
本文分为七个部分:第二部分介绍了多核实时音频处理的相关工作。第三节简要介绍了音频信号处理相关主题的背景,并概述了T-CREST多核平台。第四节描述了为Patmos处理器设计的单独效果,第五节解释了多种效果如何在多核平台中组合在一起。第六节从实时行为的角度评估了所提出的方法。最后,第七节对论文进行了总结。
二. 相关著作
正如[5]中所解释的,当多核平台用于实时音频信号处理时,可以获得更高的计算能力。音频处理系统是相互通信的任务的集合。这些任务可以在多核平台上执行。我们的系统也使用多核来执行并行任务。
在多核平台中,任务或线程在系统计算元素中的最佳分布对于有效利用资源至关重要。在[6]中介绍的工作提出了两种可扩展的方法,用于在基于对象的实时音频处理环境中优化多核平台中的线程分布。这里,信号流程图被定义为包含处理音频信号的所有组件的图表。在我们的系统中,定义了类似的流程图,我们将处理组件称为效果。
我们的工作使用了与[7]中提出的流分解算法相似的方法,在该算法中,通过将输入和输出通过缓冲器链接,形成顺序和并行的链,在该链中音频信号在分叉/连接中被分离/合并,从而同时执行一系列任务。结果是由于音频流通过组件的流水线操作,系统具有高计算并行性。
将不同类型的处理内核组合到同一个平台上可能是一个涵盖多种处理算法的有效解决方案。如今,为了不同的目的,常见的是台式机、笔记本电脑或其他具有多核的设备。正如在[8]和[9]中所示,图形处理单元(GPU)现在被非常广泛地用于音频处理,并且由于它们在数据处理中的高度并行性,可以显著地减少执行时间。在[10]中提出的工作集中于通过在多核系统中结合使用中央处理器和图形处理器来加速实时音频数字信号处理器算法(IIR/FIR滤波器、调制算法等)。这项工作还指出,处理器之间的传输通常是一个重要的瓶颈,因此支持有效的互通系统的需求。尽管本项目中使用的T-CREST平台由同类处理器组成,但该系统可以轻松地将不同的内核集成到网络中。
[5]中的工作解释了缓冲对延迟的不良影响,并建议尽可能限制或避免它。此外,[2]中介绍的工作解释了实时音频系统中延迟控制和估计的重要性,这在用于现场音乐表演的基于软件的数字音频工作站中通常不被考虑。它还提供了一个工具来测量硬件组件和软件DSP算法的延迟。预测和减少音频信号延迟是主要设计之一。请关注我们的工作,因为我们专注于实时音频处理。
三. 背景
本节首先对本作品中使用的音频效果进行分类。然后它提供关于实时数字音频信号处理的背景信息。然后,提出了同构同步数据流的概念,最后给出了T-CREST多核平台的总体概述。
A.音频效果的分类
音频应用中有许多不同的数字信号处理算法,从增强信号的某些特性到从中提取某些信息。它们的主要计算要求是乘法累加运算和内存访问指令。这些算法中的一些被用于实现音乐应用的音频效果[11]。本工作中使用的方法分类如下:
滤波器:无限脉冲响应(IIR)滤波器主要用于实现均衡滤波器,如低通、高通、带通和带阻滤波器。梳状滤波器已用于传统的延迟或回声效应。
调制效果:通常会给音频信号或效果的某些参数添加时间变化。在颤音效果中,信号的振幅被调制,而在颤音效果中,信号的音高被改变。更复杂的调制效果包括滤波器参数的变化:在wah-wah效果中,带通滤波器的中心频率被调制,而合唱效果修改二阶梳状滤波器的长度。
非线性处理效应:它们也被称为波形效应,通过增加一些谐波成分来增强信号的特性。过驱动效应在音乐应用中非常普遍,它对信号进行细微的波形整形。另一方面,失真的效果可能更强,因为它会产生更高的谐波含量。
B.实时音频信号处理
音频信号处理中最常见的操作是乘法累加和存储器加载/存储指令,以访问缓冲的音频样本、滤波器系数或其他参数[1]。
实时数字音频处理系统的一个重要特性是每个样本的处理时间必须小于采样周期,以避免输出信号的中断。这如等式1所示,其中tp是每个样本的处理时间,Fs是音频采样速率。
tp le;1Fs (1)
实时音频处理系统的另一个特点是必须保持信号从输入到输出的延迟
图2-SDF模型中具有不同数据速率的两个参与者的示例。
在可接受的时间间隔内。在音乐应用中,处理过程必须被人耳感知为瞬时的。通常,仅几毫秒的延迟值被认为是可接受的[2]。在这项工作中,15毫秒的延迟限制被用作参考:在这个值下,人耳不能注意到任何延迟。
C.同质同步数据流
实现的多核音频处理系统是同构同步数据流(SDF) [12]应用的一个示例。SDF是一种计算模型,其中数字信号由参与者以静态执行顺序进行处理。当一个参与者有足够多的输入标记时,它会激发(即开始计算)来产生输出标记。在同构SDF中,参与者有一个静态数据速率,这是他们为了激发而需要的令牌数量。
音频处理是一个多速率SDF模型,其中系统中演员的发射速率可能不相同。图2显示了一个例子,其中参与者A每次激发时产生M个标记,参与者B需要N个输入标记来激发。
需要定义平衡方程,以保证系统中所有参与者的正确通信和同步。图2的简单示例的平衡等式如等式2所示,其中qx表示为了在整个系统中保持恒定的数据速率,演员X必须发射多少次。
qAM = qBN (2)
D. T-CREST多核平台
T-CREST平台[13]用于实现音频处理系统。T-CREST项目的目标是为嵌入式硬实时应用开发一个完全时间可预测的多核处理器。为此,许多资源是可用的,这个项目最重要的资源是帕特莫斯处理器,阿尔戈国家石油公司,和铂时间分析工具。所有这些组件都是为降低WCET和可预测性而设计的。这项工作中使用的版本是一个4核平台,如图3所示,运行在Altera DE2-115 FPGA板[14]。
帕特莫斯是一个RISC风格的时间可预测处理器[15]。它是T-CREST平台的主要计算资源,在这里用于计算音频处理算法。帕特莫斯有一套本地存储器,允许更快的数据和指令访问以及更严格的WCET界限。这些是数据和指令高速缓存和暂存存储器(SPM),程序员可以明确地使用它们。
Patmos将输入/输出设备映射到本地内存地址空间。其中,在这里找到了音频接口[4],其实现了处理器和在DE2-115板中找到的WM8731音频编解码器[16]之间的通信。
图3-四核T-CREST平台的代表。
Argo NoC显示了它的网络接口(NI)、路由器(R)和路由器之间的链路。
Argo是一个时间可预测的静态调度的NoC [17],它实现了平台的Patmos处理器之间的消息传递。Argo使用时分复用技术来共享硬件资源,允许数据包在保证的时间间隔内从源传输到目的地,这使得Argo成为减少和预测WCET的理想选择。在音频处理平台中,音频信号通过Argo NoC从核心传输到核心。
铂工具包[18]已用于WCET分析每一个实施的音频效果。Platin使用Patmos处理器的模型和编译程序的信息来分析给定函数的WCET界。WCET分析对于任何实时系统都是必不可少的:在音频处理中,它用于知道实时处理是否可能,以及在平台中可以一起处理多少音频效果(即,在任何音频中断发生之前可以对音频信号应用多少处理)。
四.电影的音响效果设计
使用面向对象的风格方法,在软件中实现了多种音频效果,其中每个音频效果由不同的类表示。这种模块化方法在音频信号处理中很常见,因为它允许容易地实例化效果并将它们与其他效果组合在一起。每个效果的参数作为数据结构存储在Patmos的本地SPM中。这确保了对参数的单周期访问,这对短WCET来说至关重要,因为它避免了对缓存的依赖。在大多数效果中,需要缓冲一组最新的音频样本。这些样本可以存储在SPM中。然而,在某些情况下,更大的音频缓冲器需要保存在外部静态随机存取存储器中。
图4显示了单核T-CREST平台中的音频信号流。输入和输出缓冲区是音频接口组件的一部分,每个效果都在Patmos处理器内的软件中进行处理。
对每种效应的WCET分析对于保证所有的效应都能被实时处理是至关重要的。对于Patmos的80 MHz处理时钟,所选音频采样速率为Fs = 52.083 kHz,相当于1536个时钟周期的采样周期。这1536个周期为实时处理设置了限制,因此保证这一点很重要
图4-单核T-CREST
平台上音频信号流的表示,具有相同大小的输入和输出缓冲器
在所有情况下,所有影响都可以在较短的周期内计算出来。WCET分析的结果见第六节的评价。
根据WCET分析,对于1536个周期的采样周期,利用率值可以定义为等式3所示。每个效果的利用给出了处理器的计算资源被使用了多少的想法。
UFX = WCETFX/ 1536 (3)
例如,如果效果a的Ua = 65%,这意味着处理器将在最多65%的时间内进行计算,并且至少在35%的时间内处于空闲状态。
五.天顶平台中的音频处理
本节介绍多核音频处理平台,分为3个小节。首先解释了静态任务分配;之后,介绍了一些技术特征,这些特征解释了如何计算、同步和传达效果;最后,显示了信号延迟的计算。
A.静态任务分配
我们的系统是这样设计的,由连续或平行的效果链组成的音频应用程序可以在更高的抽象层次上进行描述。我们设计了一个任务分配工具,该工具使用音频应用程序的高级描述,包括效果和连接,并决定它们如何映射到T-
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[258665],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。