基于RISCv自定义指令集拓展的音频降噪加速器系统、方法技术方案

技术编号:31619744 阅读:11 留言:0更新日期:2021-12-29 18:54
本发明专利技术请求保护一种基于RISC v自定义指令集拓展的音频降噪加速器系统、方法,属于集成电路技术领域,主要包括:E203_CORE、NICE_CORE、NICE_Interface、E203_SOC、音频编解码WM8731模块、音频降噪FxLMS算法。其中E203_CORE通过NICE_Interface与NICE_CORE相连接,E203_CORE、NICE_CORE与相关外设端口一同组成E203_SOC,E203_SOC与音频编解码WM8731模块相连接,音频降噪FxLMS算法通过软件编程下载到RISC v处理器核内运行。创新点在于相比较ARM指令集架构的处理器而言,采用RISC v自定义指令集的处理器能够对音频降噪FxLMS算法中特定的运算部分进行加速;本发明专利技术可以更加优化面积、功耗、颗粒度等问题,同时提高算法的灵活性和可行性。和可行性。和可行性。

【技术实现步骤摘要】
基于RISC v自定义指令集拓展的音频降噪加速器系统、方法


[0001]本专利技术属于集成电路
,具体涉及到一种基于RISC v自定义指令集拓展的音频降噪加速器系统及方法。

技术介绍

[0002]随着经济的发展和技术的不断进步,音频降噪系统的应用场景越来越多,例如车内降噪、燃气站内降噪、耳机降噪等。但是目前往往采取的还是物理隔绝噪声源等被动降噪的方式,采用主动降噪让声源信号叠加相消的方式往往具备硬件实现困难,改进的优良算法很难用FPGA进行硬件实现,因此采用软件实现方式将会使得改进的算法能够实现,这将会是解决音频降噪算法实现困难的一种重要手段。
[0003]同时,RISC v作为一种新兴的指令集架构,具备了开源和后发优势。针对嵌入式领域而言,采用这种指令集架构的软核能够自定义指令,针对算法中的乘积累加结构和卷积结构,能定制出专用的加速单元电路,实现音频降噪专用设计领域。随着国内对于RISC v指令集架构的热烈推崇,这样的专用领域SOC芯片设计将能得到更大的发展。
[0004]然后,随着国内AIOT的兴起,针对处理器核的运行速度等问题,出现了很多不同类型的加速器,常见的如针对图像的神经网络加速器,其中又有很多的类型,但是传统的硬件FxLMS算法实现并没有合适的加速器对其进行特定运算加速,乘法器和加法器随着算法的复杂度上去之后使硬件实现FxLMS算法更具备挑战性,因此采用FPGA+MCU架构的软硬件协同,用软件进行算法实现,硬件针对特定运算进行加速,将在音频降噪系统中展现新的方向和可能。
[0005]传统的降噪方式如提取多个噪声音频信号的幅度值角度值然后利用神经网络进行训练确定出一个纯净音频信号的复数谱,然后将得到的复数谱进行逆变换,最后根据这个逆变换去进行音频降噪。这样的方式往往不具备灵活性,针对不同的噪声源就需要进行重新训练,同时这样的方式也不具备采用软硬件协同处理的灵活性,因此本专利技术基于RISC v自定义指令集拓展的音频降噪加速器系统将为音频降噪提供一种新的方法。

技术实现思路

[0006]本专利技术旨在解决以上现有技术的问题。提出了一种基于RISC v自定义指令集拓展的音频降噪加速器系统及方法,本专利技术能够实现算法的灵活可更改性,传输的稳定性,运算快速性、专用性强的音频降噪系统,本系统能够广泛用于汽车降噪、耳机降噪、高铁飞机降噪等声源降噪领域,本专利技术的技术方案如下:
[0007]一种基于RISC v自定义指令集拓展的音频降噪加速器系统,其包括:E203_CORE(蜂鸟E203开源处理器内核)、NICE_CORE(自定义协处理器)、NICE_Interface(主处理器与协处理器之间的接口电路)、E203_SOC(以E203为内核搭建的片上系统)、音频编解码WM8731模块、音频降噪FxLMS算法,其中,
[0008]所述E203_CORE通过NICE_Interface与NICE_CORE相连接,E203_CORE、NICE_CORE
与相关外设端口一同组成E203_SOC,E203_SOC与音频编解码WM8731模块相连接,音频降噪FxLMS算法通过软件编程下载到RISC v处理器核内运行;通过片外Flash存储器保存可执行文件,系统启动之后,首先E203_CORE进行初始化,然后根据指令顺序执行访问外设总线上的IIC接口电路,根据指令首先通过IIC接口电路配置音频编解码模块WM8731,其后,通过参考麦克风采集声音信号和目标噪声叠加之后的声源信号,通过误差麦克风采集到残余噪声,将采集到的声源信号和残余噪声经过WM8731模块的Audio_data_rx,通过WM8731模块内置的ADC转换模块,将模拟信号转变成数字信号,之后通过WM8731模块内置的数字滤波器模块进行滤波处理,把滤波之后的数字信号通过IIS接口电路传输到外设总线上,然后根据指令从外设总线上获取滤波后的数字信号并传输至E203_CORE内按照FxLMS算法的软件实现流程进行处理,其中在处理乘积累加运算和卷积运算的时候,将被E230_CORE中的译码部分检测出为自定义指令,E203_CORE则通过NICE_Interface将自定义指令和源操作数传递给NICE_CORE进行特定运算部分的加速,其中乘积累加运算将会调用Mac指令电路,卷积运算则会调用Conv指令电路,之后又根据指令执行将处理之后的数字信号传输至外设总线,将经过降噪FxLMS算法处理之后的数字信号进行输出,再通过IIS外设接口电路传输至WM8731音频编解码模块中进行DAC转换,将处理之后的数字信号转变成模拟信号,通过Audio_data_tx传输至次级声源得到反相噪声,最后得到的反相噪声与目标噪声干涉相消,从而进行音频的主动降噪,实现音频降噪系统。
[0009]进一步的,所述E203_SOC由E203_CORE、NICE_CORE、ICB_APB、UART串口、IIC接口及IIS接口组成;其中,E203_CORE为处理器核用于运行指令并按照顺序执行指令,同时根据指令内容控制相应的模块对数据信息进行处理,在E203_CORE中的执行单元EXU的通用寄存器Reg则将协处理器传回的处理后的数据进行保存,在E203_CORE中的访存控制单元LSU中的数据紧耦合器DTCM则是提供源寄存器索引对应的数据传递给协处理器,使自定义指令能够进行数据的读写访问,NICE_Interface用于E203_CORE与NICE_CORE之间通信传输,NICE_CORE用于对处理器核中传来的数据进行加速处理,通过NICE_Interface获取到自定义指令,然后通过译码Decode寻找到对应的自定义指令,指令即Lbuf、Sbuf、Conv、Mac,然后根据相应指令的功能进行数据访问存储或者数据处理并进行写回,其中Lbuf指令则是进行数据的加载过程,从LSU中的DTCM中进行数据的获取并将其存储到Buf,Sbuf指令则是进行数据存储过程,将Buf中的数据存储回到LSU中的DTCM中,Conv指令则是从Buf中获取权值系数和输入信号进行卷积运算,并将得到的运算结果写回至EXU中的Reg,Mac指令则是从Buf获取权值系数和误差分量进行乘积累加运算,并将运算结果暂存至Buf,待运算结束之后将整个结果写回至EXU中的Reg,整个过程则是由一个有限状态机FSM进行状态转移的控制,ICB_APB则用于处理器核与各个外设接口之间的通信传输,UART串口用于把ADCDATA和DACDATA传输至上位机进行保存,便于用MATLAB对数据进行分析,IIC接口用于处理器核对音频编解码WM8731模块进行寄存器的配置,及IIS接口用于处理器核与音频编解码WM8731模块之间的数据传输。
[0010]进一步的,所述NICE_CORE通过NICE_Interface将E203_CORE传递过来的自定义指令、源操作数寄存器地址在内的信号进行译码操作,通过对比其具体格式部分,译码得到相应的自定义指令,然后在状态机的调控下,进行相应自定义指令的执行。
[0011]进一步的,所述音频编解码模块本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于RISC v自定义指令集拓展的音频降噪加速器系统,其特征在于,包括:E203_CORE、NICE_CORE、NICE_Interface、E203_SOC、音频编解码WM8731模块、音频降噪FxLMS算法,E203_CORE为蜂鸟E203开源处理器内核,NICE_CORE我自定义协处理器,NICE_Interface为主处理器与协处理器之间的接口电路,E203_SOC为以E203为内核搭建的片上系统,其中,所述E203_CORE通过NICE_Interface与NICE_CORE相连接,E203_CORE、NICE_CORE与相关外设端口一同组成E203_SOC,E203_SOC与音频编解码WM8731模块相连接,音频降噪FxLMS算法通过软件编程下载到RISC v处理器核内运行;通过片外Flash存储器保存可执行文件,系统启动之后,首先E203_CORE进行初始化,然后根据指令顺序执行访问外设总线上的IIC接口电路,首先通过IIC接口电路配置音频编解码模块WM8731,其后,通过参考麦克风采集声音信号和目标噪声叠加之后的声源信号,通过误差麦克风采集到残余噪声,将采集到的声源信号和残余噪声经过WM8731模块的Audio_data_rx,通过WM8731模块内置的ADC转换模块,将模拟信号转变成数字信号,之后通过WM8731模块内置的数字滤波器模块进行滤波处理,把滤波之后的数字信号通过IIS接口电路传输到外设总线上,然后根据指令从外设总线上获取滤波后的数字信号并传输至E203_CORE内按照FxLMS算法的软件实现流程进行处理,其中在处理乘积累加运算和卷积运算的时候,将被E230_CORE中的译码部分检测出为自定义指令,E203_CORE则通过NICE_Interface将自定义指令和源操作数传递给NICE_CORE进行特定运算部分的加速,其中乘积累加运算将会调用Mac指令电路,卷积运算则会调用Conv指令电路,之后又根据指令执行将处理之后的数字信号传输至外设总线,将经过FxLMS算法降噪处理之后的数字信号进行输出,再通过IIS外设接口电路传输至WM8731音频编解码模块中进行DAC转换,将处理之后的数字信号转变成模拟信号,通过Audio_data_tx传输至次级声源得到反相噪声,最后得到的反相噪声与目标噪声干涉相消,从而进行音频的主动降噪,实现音频降噪系统。2.根据权利要求1所述的一种基于RISC v自定义指令集拓展的音频降噪加速器系统,其特征在于,所述E203_SOC由E203_CORE、NICE_CORE、ICB_APB、UART串口、IIC接口及IIS接口组成;其中,E203_CORE为处理器核用于运行指令并按照顺序执行指令,同时根据指令内容控制相应的模块对数据信息进行处理,在E203_CORE中的执行单元EXU的通用寄存器Reg则将协处理器传回的处理后的数据进行保存,在E203_CORE中的访存控制单元LSU中的数据紧耦合器DTCM则是提供源寄存器索引对应的数据传递给协处理器,使自定义指令能够进行数据的读写访问,NICE_Interface用于E203_CORE与NICE_CORE之间通信传输,NICE_CORE用于对处理器核中传来的数据进行加速处理,通过NICE_Interface获取到自定义指令,然后通过译码Decode寻找到对应的自定义指令,指令即Lbuf、Sbuf、Conv、Mac,然后根据相应指令的功能进行数据访问存储或者数据处理并进行写回,其中Lbuf指令则是进行数据的加载过程,从LSU中的DTCM中进行数据的获取并将其存储到Buf,Sbuf指令则是进行数据存储过程,将Buf中的数据存储回到LSU中的DTCM中,Conv指令则是从Buf中获取权值系数和输入信号进行卷积运算,并将得到的运算结果写回至EXU中的Reg,Mac指令则是从Buf获取权值系数和误差分量进行乘积累加运算,并将运算结果暂存至Buf,待运算结束之后将整个结果写回至EXU中的Reg,整个过程则是由一个有限状态机FSM进行状态转移的控制,ICB_APB则用于处理器核与各个外设接口之间的通信传输,UART串口用于把ADCDATA和DACDATA传输至上位机进行保存,便于用MATLAB对数据进行分析,IIC接口用于处理器核对音频编解码WM8731
模块进行寄存器的配置,及IIS接口用于处理器核与音频编解码WM8731模块之间的数据传输。3.根据权利要求1或2所述的一种基于RISC v自定义指令集拓展的音频降噪加速器系统,其特征在于,所述NICE_CORE通过NICE_Interface将E203_CORE传递过来的自定义指令、源操作数寄存器地址在内的信号进行译码操作,通过对比其具体格式部分,译码得到相应的自定义指令,然后在状态机的调控下,进行相应自定义指令的执行。4.根据权利要求1或2所述的一种基于RISC v自定义指令集拓展的音频降噪加速器系统,其特征在于,所述音频编解码模块WM8731的内部设置有一个内置的ADC和一个DAC以及一个数字滤波器,通过MIC传输采集模式,采集外部的待处理声源,经过其内置ADC进行模拟信号到数字信号的转变,然后将得到的数字信号经过内置数字滤波器进行滤波处理,得到输出数据ADCDATA,然后通过RISC v软核处理之后的数据DACDATA输入到音频编解码模块中的DAC,进行数字信号到模拟信号的转换,将转换之后的模拟信号通过MIC进行输出。5.根据权利要求4所述的一种基于RISC v自定义指令集拓展的音频降噪加速器系统,其特征在于,所述音频编解码模块WM8731内部设置IIC接口电路,可以进行主从模式的配置、ADC、DAC使能选择及MIC和LINE模式下音量大小和是否开启数字滤波在内的操作,由于ANC音频降噪系统的原理是利用声波的相消干涉,因此这里将配置WM...

【专利技术属性】
技术研发人员:袁军赵强孟祥胜李军
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1