您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术基于SOPC技术的嵌入式数字音频AGC系统的设计 正文
基于SOPC技术的嵌入式数字音频AGC系统的设计

基于SOPC技术的嵌入式数字音频AGC系统的设计

点击数:7908 次   录入时间:03-04 12:00:56   整理:http://www.55dianzi.com   嵌入式系统-技术

  AGC处理中一个重要问题是,在音频分帧的交界处的样值点会因为增益因子Gi的突然改变而产生原本连续信号样值的突变,当分帧为20 ms时,AGC处理效果相当于产生50 Hz幅度不定的阶跃信号噪音。噪音信号Unoise的大小为


  当xi-1(960)和xi(1)相差较大时会产生较大的影响。在本设计中为了消除该噪音,改为在每一个处理帧开始后的第一个过零点进行增益因子的更新。此时噪音的影响为


  由于音频信号样值的连续性,在过零点处xi-1(n-1)和xi-1(n)均趋向于O,因此unoise也趋向于0。由于人耳的可听声音频率范围在20 Hz~20 kHz,在音频采样和A/D转换时会滤除人耳的可听声音频率范围外的频率分量,而每个周期内都有两个过零点,所以增益因子的更新速度不受影响。由此则AGC处理带来的噪音也被很好的抑制。

  2.5 仿真结果及分析

  为了验证该算法的正确性和有效性,采用Matlab对该数字音频AGC算法进行仿真。仿真结果如图3所示。

AGC算法仿真结果

图3 AGC算法仿真结果

  在仿真中输入一段声音忽大忽小的数字音频,从经过AGC处理后的数字音频输出来看,大音量的音频信号被有效衰减,小音量的音频信号被有效放大,正常音量的音频信号几乎没有变化。该段音频长度为6 s,增益因子在此期间可调整300次,该算法的增益因子调整速度可以满足音频剧烈变化时的使用需求。对噪音的抑制也起到了很好的效果,人耳的实际听觉感知达到了满意的效果。

  3 软件层设计

  目前比较流行的嵌入式操作系统主要有VxWorks,Windows CE,uCLinux,μC/OS-Ⅱ等。μC/OS-Ⅱ的规模较小、实时性和可靠性较高,能够满足嵌入式数字音频AGE系统对实时性的要求,考虑到NiosⅡIDE开发环境对μC/OS-Ⅱ的良好支持,故操作系统选择μC/OS-Ⅱ。μC/OS -Ⅱ是一种可移植、可固化、可裁减、占先式的多任务实时操作系统内核。它通过为每个任务分配单独的任务堆栈来保存任务工作环境,提供任务管理与调度,任务间的同步、互斥与通信,时间和中断管理、 内存 的动态分配等多种系统服务。

  系统运行时,首先进行系统初始化操作,即初始化所有数据结构,分配堆栈空间,然后建立任务间通讯的信号量或者消息队列,进而创建任务,并且分配不同的优先级,所有任务被置于就绪态,系统从优先级最高的任务开始执行。

  软件设计主要包括嵌入式操作系统μC/OS-Ⅱ的移植、 LCD 显示控制器和自定义音频模块的驱动程序设计、算法设计实现3个主要部分。嵌入式音频AGC系统根据功能划分主要有以下4个任务,如图4所示。

嵌入式音频AGC系统任务调度表

图4 嵌入式音频AGC系统任务调度表

  (1)系统初始化任务,主要是用以初始化整个嵌入式音频AGC系统,包括初始化各种系统变量、LCD控制器、键盘、自定义音频接口模块等系统模块,此外还担负着创建其他任务和信号量的任务,是系统正常运行必不可少的一环,该任务在系统中有最高的优先级。在正常初始化系统以后将该任务删除以节省系统开支。

  (2)音频AGC处理任务,对自定义音频接口的输入音频进行AGC处理,配合自定义音频接口的驱动程序将处理好的音频进行输出。该任务是嵌入式音频AGC系统的核心任务,在系统初始化任务完成并删除后成为系统内优先级最高的任务。

  (3)键盘输入响应处理任务,对PIO输入的按键信息进行相应处理,如果有改变参数设置等重要信息要通过信号量及时反馈给音频AGC处理任务,同时负责输出要在LCD上显示的内容,通过邮箱信号量发送给LCD显示任务。它的优先级比LCD显示任务高。

  (4)LCD显示任务,将接收到的内容配合LCD控制器驱动程序进行LCD的显示输出。

  4 结束语

  本设计采用SOPC技术,利用FPGA实现SDI接口逻辑,移植μC/OS-Ⅱ实时操作系统为嵌入式应用软件运行平台,可以实现与广电设备的无缝接合。通过设计采用一种适于实时性的多参数融合的AGC算法对数字音频信号进行AGC处理,实现了具有抑制一定噪声能力的嵌入式数字音频AGC系统。测试表明该系统达到设计预期目标,改善了传统音频AGC处理中的一些缺陷,输出音频稳定平衡,完全满足实际需要,可广泛应用在数字演播室中的数字音频实时AGC处理上。



上一页  [1] [2] 


本文关键字:技术  嵌入式  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术