已阅读5页,还剩59页未读, 继续免费阅读
(通信与信息系统专业论文)基于dsp+builder的混音算法研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 人类进入信息社会,各种科学技术日新月异,使人们的生活方式、思想观 念发生了巨大变化。其中网络技术和多媒体技术的发展使“千里眼”、“顺风耳 成为了现实,人们可以与千里之外的人通过文字、图像、声音等实时互动,会 议不再需要济济一堂。但是技术的进步是渐进的,一些“瓶颈依然困扰着人 们,需要人们不断研究探索。 以往的会议系统,通常不支持多人同时发言,原因有多个方面,其中一个 就是混音技术。声音的路数一多,产生溢出,引入噪声很常见。目前还没有一 个万全的方法能解决各种场合的应用。混音算法各有利弊:有的能防止溢出, 但压低了音量;有的能放大一部分,却容易略掉了另一部分;有的虽然看似完 善,但还停留在数学公式阶段,目前的硬件系统无法实现。本文就是尝试利用 已有的d e 2 开发板搭建一个测试系统,借助f p g a 的灵活性和m a t l a b 的强大 功能使一部分算法得以用硬件实现,如饱和算法、平均算法、自动门限算法、 分均匀收缩算法等。再用示波器等工具比较各种输出波形。实际测试各种算法 的优缺点,分析其适用的场合。后期对实验平台进行了一些改进,希望使其更 加完善,更加智能化。采用o v 7 6 7 0 进行图像采集,然后用f p g a 实现颜色识别 并控制多路声音的开关。进一步完善之后可以把本系统改装成一个具有良好扩 展性的智能多媒体应用平台。 关键字:混音算法,d s pb u i l d e r ,d e 2 a b s t r a c t a b s t r a c t a sm a n k i n de n t e r st h ei n f o r m a t i o ns o c i e t y , av a r i e t yo fs c i e n c ea n dt e c h n o l o g y i sd e v e l o p i n gv e r yf a s t t h el i f e s t y l eo ft h ep e o p l e ,t h ei d e a sc h a n g e dd r a m a t i c a l l y t h ed e v e l o p m e n to fn e t w o r kt e c h n o l o g ya n dm u l t i m e d i at e c h n o l o g ym a k ear e a l i t y o f ”r e m o t ev i e w i n g ”a n d ”c l a i r a u d i e n c e ”p e o p l ec a nc o m m u n i c a t ew i t ho t h e r s t h o u s a n d so fm i l e sa w a yi nr e a l t i m et h r o u g ht e x t ,i m a g e s ,s o u n d ,a n ds oo n ,b u t t e c h n o l o g i c a lp r o g r e s s i s g r a d u a l ,p e o p l e a r es t i l l p l a g u e db yan u m b e ro f ”b o t t l e n e c k s ”p e o p l en e e dt oc o n t i n u et os t u d ya n de x p l o r e p r e v i o u sm e e t i n gs y s t e m so f t e nd on o ts u p p o r tm u l t i p l a y e rt os p e a ka tt h es a m e t i m e t h e r ea r es e v e r a lr e a s o n s o n eo ft h e mi sm i x i n gt e c h n i q u e s t h ei n c r e a s e m e n t i nt h en u m b e ro fs o u n dp r o d u c e sa no v e r f l o w t h ei n t r o d u c t i o no fn o i s ei s v e r y c o m m o n t h e r ei sn o taf o o l p r o o fm e t h o dt os o l v et h ea p p l i c a t i o no fav a r i e t yo f o c c a s i o n s m i x i n ga l g o r i t h mh a v ea d v a n t a g e sa n dd i s a d v a n t a g e s :s o m et op r e v e n t t h eo v e r f l o w , b u td o w nt h ev o l u m e ;s o m ec a ne n l a r g eap a r to f , b u ti ti se a s yt os k i p o u to fa n o t h e rp a r t ;a l t h o u g hs o m em a ys e e mp e r f e c t ,b u ts t i l lr e m a i ni nt h e m a t h e m a t i c a lf o r m u l a ss t a g e ,a n dt h ec u r r e n th a r d w a r ec a n n o tb ec o m p l e t e d t h i s a r t i c l ei st ot r yt ou s et h ee x i s t i n gd e 2b o a r dt ob u i l dat e s ts y s t e m ,w i t ht h ef p g a f l e x i b i l i t ya n dp o w e r f u lf e a t u r e so fm a t l a bp a r to ft h ea l g o r i t h mc a nb ei m p l e m e n t e d i nh a r d w a r e ,s u c ha s s a t u r a t i o n ,a l i g n - t o - a v e r a g ew e i g h t e d ,a u t o - g a t e - m i x i n g a l g o r i t h m ,a s y m m e t r i c a lw a v e s h r i n k i n ga u d i om i x i n ga l g o r i t h ma n dt h e nu s e o s c i l l o s c o p ea n do t h e rt o o l st oc o m p a r et h eo u t p u tw a v e f o r m a c t u a lt e s t t h e a d v a n t a g e sa n dd i s a d v a n t a g e so ft h ev a r i o u sa l g o r i t h m sa n da n a l y s i so ft h e i r p o s s i b l ea p p l i c a t i o n s s o m ei m p r o v e m e n t st ot h ee x p e r i m e n t a lp l a t f o r mw i l lm a k ei t b e t t e ra n dm o r ei n t e l l i g e n t w eu s eo v 7 6 7 0t oi m a g ea c q u i s i t i o n ,a n dt h e nu s ef p g a t oi d e n t i f yc o l o r sa n dc o n t r o lt h es w i t c h e so fm u l t i - c h a n n e ls o u n d f u r t h e ri m p r o v e t h i ss y s t e mc o n v e r t e di n t oag o o ds c a l a b i l i t yo fi n t e l l i g e n tm u l t i m e d i aa p p l i c a t i o n s p l a t f o r m k e yw o r d s :a u d i om i x i n ga l g o r i t h m ,d s pb u i l d e r , d e 2 i i 第一章绪论 第一章绪论 第一节选题背景及意义 通常采用基于计算机的系统来处理音视频图像采集任务,而在对系统体积、 成本要求较高的场合,采用基于f p g a 的音视频图像处理系统。当有多路音频信 号需同时处理时,混音是一个难题,往往在混音环节引入噪声,当路数较多时, 甚至产生溢出,损失大量有用信息,严重影响效果。随着混音路数的增加,在 累加和的取值范围不变的情况下,产生溢出的几率越来越大,引入的噪声和丢 失的有用信息都增多,对原声影响也越来越明显。为了避免这种情况对混音效 果的影响,本文研究了已有的各类混音算法,但受处理速度、系统资源、编译 系统等条件制约,大部分混音算法仅停留在公式推导上,只具有数学意义。本 文对其中部分算法用m a t l a b 进行软件仿真,并用d e 2 平台上尝试加以实现。 第二节论文结构 本文主要对常见的混音算法进行归纳,用d s pb u i l d e r 进行实现,并在a t e r a 公司的d e 2 平台上尝试运行。配合硬件描述语言在开发平台上实现部分算法, 由纯硬件实现的混音系统,通过剩余可懂度的评价验证算法的可靠性与实用性。 用硬件实现的混音系统,相对纯软件仿真的混音系统而言,减少了系统复杂性, 提高了系统资源利用率,本文结构安排如下: 第二章是对相关理论进行介绍,包括数字音频、d s pb u il d e r 、d e 2 平台等。 第三章对各种混音算法进行探讨,主要从数学公式出发,理论性分析优缺 点。 第四章介绍硬件平台搭建,按照先整体再局部的顺序对声音来源模块、混 音模块、音频解码模块等进行介绍。 第五章是具体的实验分析,包括利用示波器等工具检测硬件平台的实现结 果,以及用m a t l a b 进行软件仿真两大部分。 第六章是目前工作的总结和对未来前景的展望 第二章理论基础 2 1 1 语音信号 第二章理论基础 第一节语音信号及数字音频 声音是能引起听觉的声振,本质是波动,其响度、音调、音色是声音主要 特性。当波动的频率在2 0 赫兹至2 0 千赫之间时,人的耳可察觉到声音。 语音,是声音的一种,具有语言意义。语音主要的要素如下:音高是单位 时间振动的次数。音强是指声波的振动的大小。时长又称音长,是指声波振动 的长短。音色又称音质,常用来区分不同的声源,是指声音的与众不同之处口3 。 2 1 2 数字音频 数字音频是一种利用数字化方法对声音进行处理的技术,将声音信号通过 麦克风等设备后的模拟波形再经过采样、量化得到的一组数字信号,然后进行 录制、存放、编解码或者播放,数字音频一般按照0 、l 的形式进行存取。数字 音频有采样频率、压缩率、量化精度及比特率等指标。 采样率是对模拟音频信号进行采样时所使用的抽样信号频率。由于人耳听 觉范围为2 0 赫兹至二十千赫,所以数字音频信号采样频率如果达到4 8 k h z 就能 够保留声音中的全部有用信息。同理,由于语音的频率一般在8 0 赫兹至1 2 千 赫之间,所以对语音信号所用的采样频率达到4 8 k h z 是足够的。 压缩率即音频文件经过压缩,变成以前的几分之几。模拟音频信号通常直 接采样生成w a v 格式的文件。w a v 格式文件非常大,经过一系列压缩算法编码 后,成为较小的其他格式文件,如常见的w m a 格式、m p 3 格式等。 量化精度是指在模拟波形信号经过采样后,在量化时用来描述离散信号的 二进制的位数,通常用b i t 做单位。由于一般计算机存储、处理数据是以字节 为单位,为了方便,通常用1 6 b i t 、2 4 b i t 等来量化数字音频,即几个字节表示 一个数据。这种情况下量化的级数为2 1 6 、2 2 4 也就是6 5 5 3 6 个、1 6 7 7 7 2 1 6 个。 2 第二章理论基础 当对音质的要求不太高时,也可使用8 b i t 的量化精度。 比特率为每秒钟记录声音所需要的平均比特值,即比特率= 量化级采样 频率声道个数。 第二节f p g a 的发展及应用 现场可编程门阵列( f ie ld p r o g r a m m a b leg a t ea r r a y ,f p g a ) 是一种可由 用户自行配置的数字集成电路( i n i e g r a t e dc i r c u i t ,i c ) ,它是作为专用集成 电路( a p p l i c a t i o ns p e c i f i ci n t e g r a t e dc i r c u i t ,a s i c ) 领域中,一种半定制 电路而出现的,既解决了全定制电路成本高等不足,又克服了原有可编程器件 ( p r o g r a m m a b l el o g i cd e v i c e ,p l d ) f - j 电路数较少的缺点,目前与a s i c 和专用 标准部件 ( a p p l i c a t i o ns p e c i f i cs t a n d a r dp a r t ,a s s p ) 一起被称之为三大 核心芯片。 可编程逻辑器件p l d 的产生可追溯到2 0 世纪7 0 年代出现的可编程只读存 储器( p r o g r a m m a b l er e a do n l ym e m o r y ,p r o m ) 及可编程逻辑阵列( p r o g r a m m a b l e l o g i ca r r a y ,p l a ) ,它们所采用的熔丝技术能够根据用户需求进行编程以完成 指定的逻辑功能,但是由于熔丝烧断后不能再次接通,所以当时这些逻辑器件 的编程是一次性的。2 0 世纪7 0 年代后期删i 公司推出一种运用双极型工艺及 熔丝编程技术的可编程阵列逻辑( p r o g r a m m a b l ea r r a yl o g i c ,p a l ) ,由于相 比p l a 成本较低,而且编程方便在当时获得了非常广泛的使用。在随后的8 0 年 代初,l a f t i c e 公司在p a l 的基础上进行一系列改进,推出了通用阵列逻辑 ( g e n e r i ca r r a yl o g i c ,g a l ) ,它采用了电可擦除的c m o s 工艺制作而成,可进 行多次重复编程,从而基本代替了已有的p a l 。直到1 9 8 5 年,x i l i n x 公司首 次提出了现场可编程的概念,并推出了世界上第一款f p g a 器件,它既有了p l d 的可编程性和掩膜可编程门阵列( m a s kp r o g r a m m a b l eg a t ea r r a y ,m p g a ) 的通 用连线结构,这样以来使得可编程器件具有很高的逻辑密度。而与p l d 最大的 区别是f p g a 不用专门的编程器,只需用设计软件将编程信息下载到芯片内部的 静态随机存储器( s t a t i cr a n d o ma c c e s sm e m o r y ,s r a m ) 中即可,其优越的 性能、使用的便捷获得了设计人员的青睐。同一时期,a l t e r a 公司也推出了一 款新型的可擦除的可编程逻辑器件( e r a s a b l ep r o g r a m m a b l el o g i cd e v i c e , e p l d ) ,它具有很高的集成度而且可用紫外擦除进行重复的编程,但其内部的互 3 第二章理论基础 连能力较弱。到了8 0 年代末期,l a t t i c e 公司又提出了具有系统可编程能力的 复杂可编程逻辑器件( c o m p l e xp r o g r a m m a b l el o g i cd e v i c e ,c p l d ) ,它相比 e p l d 规模更大、结构更复杂,能够完成更为复杂的系统级程序设计。到了9 0 年代后,随着工艺水平,编程技术及结构化设计的不断进步,各公司不断推出 新产品、新技术,可编程逻辑器件这个行业得到了巨大的发展。以往f p g a 一般 仅仅只作为系统中的粘合逻辑来用,但随着其规模达到百万门级,多种数字逻 辑和功能模块的嵌入,也使它具有了独立成为系统的能力。 第三节v e r i l o g 的发展及应用 v e r i l o gh d l 是一种比较灵活的硬件描述语言。本系统采用v e r i l o g 来编 写除混音算法以外的各个模块,主要采用的是自项向下( t o p d o w n ) 设计方法, 将系统划分为四个大的模块:开关控制模块、声音源模块、混音计算模块、音 频转换模块,再将每个大的模块划分为若干个小的模块加以完成,例如混音计 算模块就是由算法模块、模式选择模块以及输入选择模块组成。 第四节m a t l a b 简介 m a t l a b 起初是一个数学工具,随着功能的加强、组件的丰富,已经既可以 进行高性能数值计算,也能完成仿真模拟等更为复杂应用。本文的核心部分混 音算法实现就是在m a t l a b 的一个重要组件s i m u li n k 里完成。依照各种算法的 要求将各个模块连接起来,进行动态系统建模、仿真以及综合分析等操作。 第五节q u a r t u si i 简介 q u a r t u si i 是a l t e r a 公司开发的一款综合性p r o g r a m m a b l el o g i c d e v i c e ( p l d ) 系统级设计软件,作为一种可编程逻辑的设计环境,支持硬件描 述语言h d l 编程、电路原理图,i n t e r n e t 的协作设计等一系列设计方式。q u a r t u s i i 内嵌综合器和仿真器,可以完成从设计调试,硬件烧录,硬件配置的完整 p l d 设计和开发。q u a r t u si i 可以在w i n d o w s 、l i n u x 以及u n i x 等操作系统 上使用。o u a r t u si i 提供了完善的用户图形界面g u i 设计方式,用户可以使 4 第二章理论基础 用t c l 脚本完成设计流程。具备运行速度快,界面合理,功能强大,易学易用, 开发迅捷等优点。 o u a r t u si i 通过d s pb u i l d e r 工具与m a t l a b 里的s i m u l i n k 相结合,能够 方便地实现各种d s p 数字应用系统设计。这大大简化了系统设计的复杂性、加 快了设计速度,缩短了研发周期。q u a r t u s1 1 支持a l t e r a 原有的i p 核,包 括了l p m m e g a f u n c t i o n ( 兆核) 宏功能模块库,用户可以充分利用成熟的模块 简化设计。o u a r t u si i 对第三方e d a 工具的支持非常好。用户可以在设计流 程的不同阶段使用需要的第三方e d a 软件。例如o u a r t u si i 与c a d e n c e 、 e x e m p l a r l o g i c 、s y n o p s y s 和s y n p l i c i t y 等e d a 供应商的开发工具都兼容。 o u a r t u si i 也可以通过d s pb u i i d e r 这个b l o c k s e t s 与m a t l a b 里的 s i m u li n k 结合,实现系统级和算法级的电路设计。 a 1 t e r a 公司的d s pb u i l d e r 集成了算法设计并通过s i g n a lc o m p i l e r 支 持v h d l 语言的编译。d s pb u i l d e r 把m a t l a b 中s i m u l i n k 系统级的设计工具 在算法开发、设计仿真和实验与v h d l 和v e r i l o g 等h d l 的设计流程有效结合 在一起。借助m a t l a b s i m u l i n k 环境中设计的模块化电路,d s pb u i i d e r 能够 大大缩短了开发周期,已有的m a t l a b 函数、s i m u l i n k 里a l t e r ad s pb u i i d e r b l o c k s e t s 加上a l t e r ai pm e g a c o r e ( 兆核) 函数组合在一起,把系统级的设 计和d s p 算法研究紧密结合在一起,在实现算法级的系统设计的同时,摆脱了 复杂的硬件描述语言编写。在o u a r t u si i d s pb u i l d e r 的帮助下,系统级的、 算法级的和r t l 级设计人员能够利用同一个开发平台开展设计工作。 d s pb u i l d e r 在s i m u l i n k 中添加两个模块库,既可以使用自身的模块, 又能够调用s i m u l i n k 中其他模块共同建立一个数字系统。而且可以使用 s i m u l i n k 的仿真系统功能。d s pb u i l d e r 中的模块和s i m u l i n k 中原有模块相 似,都包含丰富的参数,通过设置合适的接口参数和运行模式,设计出符合实 际需求的系统。d s pb u i i d e r 模块库中的m e g a c o r e 函数可以生成一体化函 数,在复杂系统的设计中十分方便。d s pb u i l d e r 信号编译器可读取由 s i m u l i n k 的模型文件( m d l ) ,使用d s pb u i i d e r 和m e g a c o r e 函数可以把 m a t l a b s i m u li n k 的设计文件( m d l ) 转成相应的硬件描述语言v h d l 设计文件 ( v h d ) 及工具命令语言t e l 脚本,以便进行综合,下载和硬件执行。d s p b u i l d e r 系统仿真流程如图2 1 所示。 5 第二章理论基础 图2 1d s pb u i l d e r 系统仿真流程图 第六节d e 2 平台简介 本文虽然主要研究算法,但要测试各种算法的实际效果,用硬件平台加以 实现是一个有效的方法,实现之后可以利用示波器等工具进行检测,本系统选 用具有丰富外围接口和板载资源的d e 2 开发板。其器件分布图如图2 2 所示。 2 6 1 闪存s 2 9 g l 0 6 4 n 的简介 f l a s hm e m o r y 存储器件用s 2 9 g l 0 6 4 n 芯片来实现。该芯片存储容量为 8 m b y t e ,若存储1 6 b i t 数据,即按照字( w o r d ) 来读取,就是4 m - w o r d 的音频 数据量。以字为单位读取数据时,共有2 2 根地址线。有多种数据读取方式,根 6 第二章理论基础 据不同要求,可以按阵列读取数据,也可按页( p a g e ) 读取数据。本系统按照 阵列惊醒读取。s 2 9 g l n 系列的芯片有多种模型,本系统中使用的 s 2 9 g l 0 6 4 n 9 0 t f l 0 4 属于0 4 模型。这种模型的芯片符号如图2 3 所示。 ec 1 4 训01 0 :。,;o ,: 1 2 vd cp o 雠fs t 峰h : 创h l 瑚1c 竹1 7 一删n j n ,o 讳 8t o ks w 删h 图2 2d e 2 器件分布图 a 2 1 a o c e # f a 1 1 d 0 1 s _ d o o o e 鼻 w 日 w p t g a c c r e s e t # b y t e #r y 厝y # 图2 3s 2 9 g l 0 6 4 n 9 0 t f l 0 4 原理图符号 2 6 2 音频解码器w m 8 7 3 1 简介 w n 8 7 3 1 由w o l f s o n 公司生产,是一款低功耗立体声音频编解码芯片。该芯 片能完成数字音频解码及播放。芯片所支持的采样频率在8 k 9 6 k h z 之间,可以 7 第二章理论基础 通过设置相关的控制寄存器,并提供相应的时钟来进行选择。有两线或三线两 种工作模式,本系统中采用两线的1 2 c 工作模式。该模式提供四种数据传输方 式,本系统中采用其中的左对齐模式。 8 第三章混音算法探讨 第三章混音算法探讨 第一节前言 混音就是将多种声音源进行混合的处理过程,声音源可以为音乐、对白、 音效等等。声音的物理信号是一种波,故混音过程可以视为波形的叠加。声音 通过相应的传感器后转换为电信号,再经过采样、量化得到相应的数字音频信 号。数字音频信号频率与原声音的频率相对应,振幅与原声音的音量相对应。 数字音频信号的累加就是把原多路声音信号进行叠加。所以当多路声音信号的 采样频率相同时,通过直接将各路数字信号累加可以实现声音信号的叠加。 混音技术的一个重要应用场合就是在电视电话会议中。随着多媒体技术和 网络技术的广泛应用,电话会议以其便捷性以及成本低等优势被越来越多的人 们所接受。以往的电话会议开始前先指定主持人,由他来控制发言顺序,同一 时间某个人说话广播给所有与会者,其他人此时处于静默状态,没有发言资格, 若要广播,必须先向主持人申请,经同意后方可。这样其实一定程度上限制了 与会者发言的权力,使得信息不能快速有效的交流。本文所提出的语音系统将 采用各路与会者的声音信号在混音器处进行叠加,然后分别反馈至各与会者的 方式。这样每个与会者就能够同时发言,从而使信息交流更加及时。为了达到 这一效果,多路混音技术成为了一个关键。在这样的应用中,要求混音的结果 失真度低,剩余可懂度高,处理速度快,时延小。 除此以外,混音技术的另一个重要应用就是在声音文件的制作中,如歌曲、 音乐的后期制作等。在歌曲唱词录制完成后,将唱词与多种乐器的背景伴奏叠 加在一起,从而使音乐的效果更加完美。 这里先列举几种已有的算法,并对其进行一下说明和对照,而后提出改进 后的应用方法,及其优势。 数字音频信号是声音信号在转化为模拟电信号后经采样、量化所得的。在 量化时,用来表示的数据位数称为量化精度,文中用q 来表示。本文用有符号 二进制数来表示量化后的声音信号,其值域是 一2 q 一1 ,2 q 一卜1 。当用1 6 b i t 的 量化精度时,其值域就是 一3 2 7 6 7 ,3 2 7 6 8 。音频叠加后,值域如果大于 - 2 q - 1 ,2 q - l - 1 ,就会产生溢出,出现溢出失真。随着混音路数的增多,累加 9 第三章混音算法探讨 和增大,值域不变,溢出的概率也大大增加。所以对于混音算法而言,首先要 解决的就是的溢出失真问题,此外还要解决声音强弱不均,某一路声音被其他 声音完全掩盖等问题。另外,算法还要考虑处理器计算时间和系统复杂程度等 问题。这是衡量一个算法优劣的标准。 一般情况下的混音算法公式为: 一l o u t p u t ( t ) = d i ( t ) f n p u t 如) ( 3 1 ) ,= 0 现有的混音算法大都可用式( 3 1 ) 表达,其中o u t p u t ( t ) 为在t 时刻混音输 出数据,n 为参与混音的音频信号路数,i 为参与混音的第i 路信号,i n p u t i ( t ) 为t 时刻第i 路的输入信号数据。a i ( t ) 为第i 路信号在t 时刻衰减函数因子, 也称之为混音权重乜3 。不同算法其实质就是衰减函数不同。 3 2 1 饱和算法 第二节各种算法 在现有的各种算法中,饱和算法是最为简单、最易用、效率最高的一种, 目前大多数混音设备实质上采用的就是该算法,公式如下式( 3 2 ) 所示。 o u t p u t ( t ) = m 一1 m a x v a l u e i n p u t ( t ) m a x v a l u e i = 0 m 一1 i n p u t ( t ) i = 0 m t nv a l u e m i n v a l u e i n p u t ( t ) m a x v a l u e ( 3 2 ) i = 0 m - 1 yl n p u t ( t ) m i nv a l u e 本算法首先将各路信号相加,在累加之后,再判断累加的结果是否产生了 溢出。如果累加结果大于能输出的上限时,产生向上的溢出,这时就将混音的 输出值用最大值( m a x v a l u e ) 代替。同理,当叠加结果小于下限时,产生向下的 溢出,此时可将混音的输出值用最小值( m i n v a l u e ) 代替。 这种算法有效防止了溢出的产生,而且计算简捷快速。一些路数不多或要 求不高的语音系统常常使用这种饱和算法。但这种算法造成波形失真,破环了 声音信号的完整性,引入了噪声,特别是当参与混音的信号路数较多或者发言 1 0 第三章混音算法探讨 者声音较大时,溢出的概率大大增加,信号的波形产生了明显的“切顶”现象。 从听觉效果角度,剩余可懂度低,噪音明显,严重影响收听效果。 3 2 2 平均算法 平均算法,也称之为平均调整权重算法( a l i g n t o a v e r a g ew e i g h t e d 简称 为a a w ) 这中算法公式如式( 3 3 ) 所示。 一11 o u t p u t ( t ) = 扣“芒沁) ( 3 3 ) l i = 0 此式将式( 3 1 ) 中l i ( t ) 取为m 所得。将每路输入信号都乘上相同的衰减 因子,衰减因子取值为输入信号路数的倒数。 从数学的角度证明,每路信号的值域为 一2 q l ,2 q 一卜1 ,则m 路信号叠加 后的和信号值域为 - 2 q - i * m ,( 2 q - l - 1 ) 球m 。而当结果乘上混音路数的倒数时, 混音信号结果的值域恢复为 一2 q 一1 ,2 q - 1 1 ,有效防止了结果的溢出。 这种算法的实质是将每路信号的幅度压缩为1 m ,优点在于可以保持输出 波形不发生畸变,保持各路音频信号的相对大小。但实际应用中,这种算法往 往导致输出结果中每路的声音都很小。当参与混音的路数较多时,如果某一路 信号很小或有若干帧基本为零,其他路的信号强度仍然要衰减m ,这样就会造 成整体音量的大幅衰减,以至于许多的细节无法分辨,剩余可懂度不高。另外, 当参与混音的路数m 不断发生变化时,同一路声音会忽大忽小,也影响了收听 的效果。也就是说,该算法虽然能解决溢出的问题,但却很难得到高质量的混 音效果。 3 2 3 各类对齐算法 从平均算法系统中,发现如果各路信号的强弱不同,会有强信号将弱信号 掩盖的问题。如在一个语音会议的场合中,采用平均算法系统进行混音操作。 若同时有几个人发言,当某位发言人声音较小,而另一位发言人声音较大时, 后者将会掩盖前者的声音信号,造成信号的淹没,听众丢失有用信息。 对齐算法就是针对这种情况进行处理的。其主要思想就是第i 路输入信号 的衰减因子l i ( t ) 随着t 时刻第i 路输入信号的强度而变化,即l i a ( i n p u t i ) , t 。下面本文对几种对齐算法进行说明。 1 】 第三章混音算法探讨 3 2 3 1 强对齐权重算法 强对齐权重算法( a l i g n t o b i g g e s tw e i g h t e d 简称为a b w ) ,其衰减因子 的选择是由输入信号强度的最大值与累加后信号的最大值来决定。该算法首先 在缓冲区内存入每路输入信号各一帧,然后取缓冲区中所有数据里绝对值最大 的,记为t o t a l m a x 。再将各路输入信号按( 3 4 ) 式进行线性累加。而此时累加 和m i x d a t a 的值域是 - 2 q - i * m ,( 2 q - l - 1 ) 木m 。也就是说,在这个地方要有位扩 展,否则将可能溢出。在累加后,取m i x d a t a ( t ) 的绝对值最大值,记为m i x e d m a x 。 m - l m i x d a t a ( t ) = :i n p u t f ( f ) ( 3 4 ) 面 当m i x d a t a ( t ) 超出输出范围的上限或下限时,要对m i x d a t a ( t ) 进行相应的 平滑处理。将结果按照试( 3 5 ) 进行调整 o u t p u t ( t ) = m i x d a t a ( t ) 唧,| c 簏篆木“ m i nv a l u e _ m i x d a t a 0 时,函数值等于1 ;当 i n p u t i ( t ) o 时: 协训h s g n m i x d 酬r ) 壤0 ( 等2 川 + 等岫口勉m o d 2 叫,= 几 蓑( 苷2 纠 + 可k - 1 2 q + l = 兰j :0f 堕k j , 2 纠) 瑚k 万- i2 州掣。1 得证 当k 取值是2 的整数次幂时,算法中的乘除法操作可简化为移位操作,大 大减少了运算的复杂程度,节省了硬件开销喵3 。 第三节各算法的比较 本章节对面介绍的饱和算法、平均算法( a a w ) 、自对齐算法( a s w ) 、非均匀 收缩算法( a w s ) 进行了原理性的比较,从数学的角度分析其优缺点。自动门限算 法可以作为其他算法的前期处理,能够有效防止较为微弱的语音信号在混音过 程中被掩盖。本文用m a t l a b 作仿真平台,声音的帧数据是用g o l d w a v e 制作的, 1 5 第三章混音算法探讨 均为1 6 b i t 带符号二进制数,采样频率都是为4 8 k 。长度为1 0 秒( 实际应用中 根据缓冲区大小,及时延的要求来确定帧长度) 。本系统取5 路输入信号,波形 如图3 1 ( a ) 一( e ) 所示,应用各种算法的结果如图3 2 ( a ) 一( d ) 所示 ( a ) 第0 路音频 u ll山 删 j j 。l i il 址矗【 咀 l ii 【l 1 唯。 t i n下 l| 旧 -im呷 _ l 1 oo511 522533 544 55 x1 0 6 ( b ) 第1 路音频 ( c ) 第2 路音频 1 6 第三章混音算法探讨 x r ( d ) 第3 路音频 x1 0 6 ( e ) 第4 路音频 图3 15 路输入信号波形 5 1 0 a 5 ( a ) 饱和算法波形 3 5 445 第三章混音算法探讨 ( b ) 平均算法( a a w ) 波形 00 511 522 5335455 x 1 0 5 ( c ) 自对齐算法( a s w ) 波形 ( d ) 非均匀收缩算法( a w s ) 波形 图3 2 不同算法的输出结果 经过混音之后的输出信号,其剩余可懂度符合前文的叙述。用饱和算法的 输出信号失真严重,溢出引起大量噪音,基本无法辨认语义信息。用平均算法 输出的声音明显比其他算法的声音都小,较为微弱的输入信号完全淹没,音量 1 8 第三章混音算法探讨 较大的输入信号基本可以听清声音的内容,由于其波形相对比例不变,为后续 的处理带来方便,若系统后续有放大模块,仍然有其价值。用自对齐算法的输 出波形与平均算法波形比较接近,没明显的失真,剩余可懂度较高,但声音听 起来稍显沉闷,源于低幅度声音部分保留较完整,高幅度声音部分被相对压低。 用非均匀收缩算法的波形初看与饱和算法类似,但放大后对比发现,a w s 并没 有溢出及切顶现象,而是都压缩在接近上下限的位置,音量较大,剩余可懂度 高,听起来也没有明显噪声干扰。放大波形如图3 3 ( a ) 一( b ) 所示。 銎嚣。愿三 ( a ) 饱和算法波形放大 22 ,5兰 ( b ) a w s 波形放大 图3 3 波形放大的结果 1 9 第四章硬件平台搭建 第四章硬件平台搭建 第一节系统的设计 4 1 1 系统框架的功能描述 用f p g a 来实现多路音频混音系统,其功能是将各路数字音频信号( i n p u t i ) 输入到混音模块,而混音计算模块则依据某一种算法对各路数据进行计算。然 后将混音的结果( o u t p u t ) 通过数模转换d a c 模块转化为声音信号,能够用播放 设备播放出来。 系统功能框图如图4 1 所示。 开关控制 l 混音计算 卜、 音频d a 转换 小耳机、音箱等 吖 播放设备 源音频信号 4 1 2 系统开发环境 图4 1 系统功能框图 开发板以一块a l t e r a 公司的c y c l o n ei 工系列的e p 2 c 7 0 型号8 9 6 管脚的 f p g a 为核心,其他外围部件均连接接在该f p g a 芯片上。另外,开发板上还包 括u s bb l a s t e r 驱动模块、音频编解码器、8 m bf l a s hm e m o r y 、液晶显示屏、 5 0 m h z 晶体震荡器以及若干个拨码开关和红、绿发光二极管等部件,硬件资源 足够本系统使用。 本系统的核心控制及计算模块都通过f p g a 上来完成。d e 2 7 0 集成的f p g a 属于c y c l o n ei i 系列,型号e p 2 c 7 0 f 8 9 6 c 6 n 。e p 2 c 7 0 系列的芯片内共有6 8 ,4 1 6 个逻辑单元、1 ,1 5 2 ,0 0 0b i tr a m ,4 个锁相环。芯片内部资源也足够本系统使 2 0 第四章硬件平台搭建 用。 d e 2 开发板有两路音频输入,为了测试各类算法在多路音频信号混音之后 的效果,选择先将数字音频信号储存在f l a s hm e m o r y 中,进行运算前从f l a s h m e m o r y 中读出,送入混音计算模块。开发板上集成的f l a s hm e m o r y 芯片,型 号为s 2 9 g l 0 6 4 n 9 0 t f l 0 4 。本文选用的音频数据为1 6 位二进制数表示,采样频 率为4 8 k h z 时,这样该芯片总共能够储存八十多秒的原始数据供混音计算模块 测试使用。 音频数模模数转换模块本文利用开发板上的音频编解码芯片w m 8 7 3 1 来完 成。此芯片是由w o l f 公司生产,是一块立体声编解码芯片,功耗较低。内置 d a c 和a d c 电路,采样频率的范围是8 k h z - 9 6 k h z ,数据处理长度可以为1 6 b i t 、 2 0 b i t 、2 4 b i t 、3 2 b i t 。芯片自带耳机驱动,并有专用的音频输出接口,可直接 连接耳机、音箱等声音播放设备,并通过1 2 c 接口进行控制。 f p g a 编程部分可以使用硬件描述语言v e r i l o gh d l 或v h d l 编写,其中d s p b u i l d e r 的s i g n a lc o m p i l e r 生成的代码是v h d l 。程序开发环境本系统采用 a l t e r a 公司的集成开发环境o u a r t u si i 来进行。该软件内置有多种硬件描述 语言编译器能够有效配合a l t e r a 公司产品及其综合器,并且能够将综合后的结 果下载至f p g a 中运行。 4 1 3 系统体系结构 4 1 3 1 系统体系结构 系统的硬件构成主要有三个部分:f l a s hm e m o r y
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高端装备生产效率提升方案
- 新能源汽车维修技术专业的建设与发展
- 2025裴侍郎试题及答案
- 建筑标准合同
- 企业员工职业技能认证培训方案
- 旧住宅区给水系统改造运行维护方案
- 城乡供水能力提升改造项目节能评估报告
- 筋膜链康复治疗师从业认证试卷与答案
- 《机械基础》试卷及答案真题题库
- 同学之间合同(标准版)
- 冷库施工方案范本
- 5.2凝聚价值追求(课件) 2025-2026学年度九年级上册 道德与法治 统编版
- DB32∕T 3833-2020 党政机关会议服务工作规范
- 管道维修知识培训课件
- 2025年公务员类公务员申论-行政职业能力测验参考题库含答案解析(5套试卷)
- 机房设备维修服务项目投标方案(技术标)
- 心脑血管糖尿病课件
- SMETA确保员工合法工作权的核查程序-SEDEX验厂专用文件
- 双氧水氧化还原反应专题讲解
- (2025年标准)强奸私了协议书
- 管理学第六章计划与计划工作
评论
0/150
提交评论