1、|65信息工程0 引言信号处理技术已经深入到各个领域中去,对信号的分析也早已从经典的时域分析方法转变为频域分析方法,对于音频信号同样如此。音频信号主要分为两类:语音信号和非语音信号。非语音信号具有非常简单的语意和语法信息,信息量低且能简单地识别,而语音信号则更加复杂多变,对其进行时域分析往往不能发现更深层次的信息,但是它的频谱对外部环境的改变则表现出一定的顽健性,有很明显的声学特性。频域分析的核心理论为离散傅里叶变换(Discrete Fourier Transform,DFT),是信号分析最常用的工具1,然而 DFT 只是对信号进行理论上的分析,无法运用到实践中,最主要的原因在于这种方法的计
2、算量非常大。本文采用了它的快速实现算法,即快速傅里叶变换(FFT),此算法充分地利用了 DFT 运算中的两个主要性质:对称性和周期性。极大地减小了运算量,计算效率提高了近 100 倍。采用 DSP 微处理器作为该系统的核心单元,利用其在数字信号处理领域高性能、低功耗优点,结合一款语音编解码芯片 TLV320AIC23B(以下简称 AIC23B)完成系统整体设计。本文主要贡献在于设计了一种基于 DSP 的频谱分析系统,可以实现对音频信号的非实时的频谱分析。1 系统框架频谱分析系统的硬件实现方案如图 1 所示。其中,TMS320VC5502 型 号 定 点DSP 处理器为系统的核心,它的部分技术参
3、数如下36:(1)300MHz 处理器主频;(2)2M*32 位 SDRAM,工作时钟频率为 100MHz;(3)16K*8位的EEPROM,IIC 串行接口,串行位时钟400Kbps;(4)256K*16 位 Flash。音频信号的采集与转换使用的是型号为 AIC23B 的语音芯片,该芯片内部采用了 Sigma delta 过采样技术,可以在 8K96K 采样率范围内提供多种位数选择的抽样技术。AIC23B 控制接口具有 I2C 和 SPI 两种工作方式,由于DSP 芯片内具有 I2C 总线功能,因此配置 AIC23B 控制接口为 I2C 模式,实现了 DSP 处理器对语音芯片的控制通道。而
4、 AIC23B 的数据接口主要的工作方式也是两种,即 IIS 模式和DSP模式。本次设计配置AIC23B数据接口为DSP模式,利用 DSP 芯片内部 McBSP 串口连接 AIC23B 的数据接口进行数据传输。2 频谱分析算法原理离散傅里叶变换简称 DFT(Discrete Fourier Trans form)在数字信号处理技术中占据着极为广泛的地位,它是处理有限长序列的有效方法。当X(n)为一个有限长序列时,其离散傅里叶正反变换2为:10()()()NknNnX kDFT x nx n W=0 k N-1 式(1)10()()(1)NknNkx nIDFT X kX k WN=0 n N
5、式(2)对于()x n和()X k,知道二者任意一个值,就能计算出另一个。因此,可以给它们乘以相应的内插函数来确定连续函数,因而离散傅里叶变换可以看作是连续傅里叶的近似。一种基于 DSP 的频谱分析系统设计马旭峰,邢阳阳,周子程,范雯,尹鸿峰(沧州交通学院 计算机与信息技术学院,河北黄骅,061100)基金项目:河北省人力资源和社会保障研究项目(JRSHZ-2022-02037)。摘要:为了实现对信号的频域分析,本文设计了一种基于DSP的频谱分析系统。系统采用TI公司推出的定点C55x系列DSP芯片,并配备较为经典的AIC23B语音编解码芯片实现了信号源为语音信号的采集与变换;利用CSS集成开
6、发环境,测试并优化了FFT(快速傅里叶变换)算法程序。通过以上设计,最终调试出该语音信号的频谱图、幅值图、功率图以及对数图,进而可对这段语音信号在频域上进行分析。该系统基于FFT的频域分析方法同样适用于其他类型的信号源。关键词:DSP微处理器;快速傅里叶变换;频谱分析;TMS320VC55XAIC23B型号语音编解码芯片TMS320VC5502型号DSP处理器SEED-XDS560v2型号仿真器PC电源、复位、时钟等信号源数据控制McBSP接口I2C接口JTAG图 1 系统硬件框架DOI:10.16589/11-3571/tn.2023.05.00366|电子制作 2023 年 3 月信息工程
7、但在很长一段时间内,我们无法将 DFT 实现大范围的推广,这是因为 DFT 计算起来相当繁琐,无法高效地应用到计算机中。直到快速傅里叶变换(FFT)算法的推出和计算机技术的进步,极大程度上压缩了信号处理的计算时间,从而使得 DFT 在许多工程领域中得到普遍的使用。本文选择的是按频率抽选的基-2FFT 方法。设序列的点数为2LN=,L 为整数。先将输入部分按 N的序号分成上下两个子序列。11100112222221(0020()()()()()()()(),0,1,-122NNNknknknNNNNnnnNNNk nknNNnnNknknNNnX kx n Wx n Wx n WNx n Wx
8、nWNx nx nWWkN=+=+=+=+=)式(3)由于/21NNW=,因此/2(1)NkkNW=,代入(3)中可以得到:120()()(-1)(),0,1,-12NkknNnNX kx nx nWkN=+=式(4)按照 k 的奇偶顺序将 X(k)分为两部分。式(4)可变为:11200/211(21)0222220/(2)()()()()(21)()()()222()2NNnrNnnnrNNNnrNnnnnrNNNXrx nx nWx nNx nWNXrx nx nWx nNx nWW=+=|=+|+|+=+|+|=式(5)令:12()()()2()()()2nNNx nx nx nNx n
9、x nx nW=+|=+其中其中,12()()()2,0,1,12NnNx nx nx nW=+|=式(6)则式(5)可变为:11/2012/2022(2)()(21)()NnrNnNnrNnXrx n WXrx n W=|=|+=|其中,其中,0,1,12NrXrx n W=|=|=式(7)其中,上式(6)所反映的计算关系可由图 2 中的蝶形来形象示出。由图可知,每一次蝶形运算都需要进行一次乘法和两次加法运算。这样就可以将一个 N 点 DFT 按 k 的奇偶分成了2 个 N/2 点的 DFT 了。假如当 N=8 时,上述的分解过程如图 3 所示。x(n)x(n)+x(n+N/2)x(n+N/
10、2)x(n)-x(n+N/2)nNWnNW-1 图 2 按频率抽选的蝶形运算示意图x(0)0NW-1x(1)x(2)x(3)x(4)x(5)x(6)x(7)X(0)X(2)X(4)X(6)X(1)X(3)X(5)X(7)-1-1-11NW2NW3NWN/2点DFTN/2点DFT 图 3 一个 N=8 点 DFT 分解为 2 个 N/2 点 DFT 运算示意图由于分解完成的 N/2 的值还是偶数,因此可继续将N/2 点的 DFT 的结果按照奇偶分开为两部分,这就将 N/2点的 DFT 继续分成为 2 个 N/4 点的 DFT。这样的分解得到的最终结果就只有加减操作,极大程度地减少了计算量。3 频
11、谱分析算法实现与改进 3.1 算法实现本次用到的频谱分析方法是基 2 按频率抽选的快速傅里叶变换。FFT 算法程序通过三层循环完成1。第一层循环:层级的循环,共有2=L Log N级,每次循环都会计算蝶形节中参加运算的两节点的间距。第二层循环:完成系数rNW的运算,也就是求旋转因子中 r。第三层循环:完成每一级同一种蝶形的运算,即rNW中的 r 相同的蝶形节的运算。因为旋转因子在每次循环中都要用到,所以在计算中为了提高运算的速度,事先将旋转因子的数值通过正弦和余弦的表达式计算出来,然后将数值存放到内存,每次进行蝶形运算时直接调用,这样就很大程度地提高了FFT的运算效率。本次使用的 DSP 芯片
12、的型号属于 16 位定点 DSP,而本文要实现的运算属于浮点型的运算。为了实现运算结果并达到计算精度,需要对运算的数据进行定标操作,也就是在编写程序的时候应该对小数点的位置进行确定。本次使用的定标方法是 Q 格式定标法。具体做法是:先对所有旋转因子都放大 2Q 倍,为保证旋转因子的差异化,Q 必须大于等于 L,旋转因子被放大后,为了保证其模为 1,要在最内层循环中把每一次蝶形运算的结果右移 Q 位来抵消旋转因子放大,从而得到正确的|67信息工程结果。通过简单的右移位运算代替除法运算来抵消之前的放大的办法大大地节省了运算时间。需要注意是 Q 的值越大,数据精确度变高,对器件要求会高。因此,对于定
13、点数值,它的数据区间和精度是有冲突的。在实际的算法中,要充分考虑到 Q 值的选取,以达到最好的状态。本设计令 Q 的值为 15,即旋转因子被放大了 32767 倍。3.2 算法改进本文对 FFT 中倒位序算法程序进行了初步改进。方法为使用了一种特殊点数的程序来代替通用的倒位序程序,具体代码如下:for(m=0;mSAMPLENUMBER;m+)x0=x1=x2=x3=x4=x5=x6=x7=x8=0;x0=m&0 x01;x1=(m/2)&0 x01;x2=(m/4)&0 x01;x3=(m/8)&0 x01;x4=(m/16)&0 x01;x5=(m/32)&0 x01;x6=(m/64)&
14、0 x01;x7=(m/128)&0 x01;x8=(m/256)&0 x01;y=x0*256+x1*128+x2*64+x3*32+x4*16+x5*8+x6*4+x7*2+x8;DATA_Iy=DATA_Rm;这段倒位序程序代码是针对点数为512点的FFT变换,主要是通过移位运算来求该数的倒位序,相比于通用的倒位序程序,此代码效率更高,测试结果如下:以 512 点为例,统计了 FFT 代码的效率,算法改进之前的统计结果如图 4 所示。其中,INCL TOTAL 指这段代码消耗得总的时钟周期数。图 4 改进之前 FFT 算法效率由图 4可以看出,512 点 FFT 所消耗的时钟周期数为 6
15、26720,与此同时 main 函数消耗的时钟周期数为3999184。而本次设计的 CPU 主频为 240MHz(最高值为300MHz),可以计算得到FFT算法的代码运行时间为2.611ms。而经过改进之后,如图 5 所示,FFT 算法程序消耗的时钟周期数由原来的 626720 降低到 601388,代码运行时间由 2.611ms 减少到 2.505ms,算法效率提高了 4.23%。图 5 改进之后 FFT 算法效率4 系统运行结果将设备和仿真器连接,通过开发板上的 Line 插孔向语音芯片内输入音频,在 CSS 集成开发环境下可以看到变换结果。信号采集后的时域、幅值、功率、对数等图形结果如图
16、 6 图 10 所示。图 6 语音信号的时域图图 7 FFT 变换图谱图 8 幅值谱图 9 功率谱通过以上这几幅图形可以对该信号进行分析。其中,幅值图表示了该语音信号各个谐波分量的幅值随频率的线性分布情况。功率谱表示的是功率,也是语音信号各个谐波频(下转第 74 页)74|电子制作 2023 年 3 月软件开发派官网下载,准备好一张 SD 卡,下载 SD Card Formatter和 Etcher 软件并安装,使用 SD Card Formatter 软件将SD 卡进行格式化,使用 Etcher 软件写入下载好的镜像。树莓派初次登录选择中国地区,进入系统后安装 Python、Tensorfl
17、ow、Pyqt5、Pillow、Opencv-Python、Matplotlib、Keras、虚拟环境等操作。5 结果将编写好的 Python 程序文件部署到树莓派平台上,训练好的模型文件复制到程序文件路径下,启动树莓派,执行程序文件结果显示如图 8 所示。6 结语本设计以树莓派 4 代 B 型主板为例来完成基于树莓派Raspberry Pi 的智能垃圾分类设计,通过学习 Python 语言、卷积神经网络算法、树莓派硬件、Linux 操作系统、OpenCV 图像处理等相关专业知识来实现本方案的设计,界面 UI 设计使用的是 PyQt5 来完成,图片识别方面利用卷积神经网络算法进行训练推算,结合
18、 OpenCV 图形处理来完成识别,模型上还可以继续进行调整以提高精确度。除了总体设计的一些基础功能,其他功能还可以继续挖掘开发,在原有的基础上添加硬件设计。本系统是人工智能与垃圾分类结合的一个设计,在未来的发展上人工智能是一个重要的学科,本设计作为一个人工智能的示例来学习。图 8 识别结果参考文献 1 赵 一,黄 汉城,丘 文 彬,刘 鑫,陆 漫 洁.基 于 改 进MobileNetV3-Large 算法的智能垃圾分类系统 J.电子技术与软件工程,2022,No.220(02):149-152.2 张涛.基于 GALCNet 的垃圾识别分类检测网络 J.智能计算机与应用,2022,v.12(
19、04):47-53.3 赵彩敏,刘国红.基于改进的 LeNet-5 卷积神经网络的人脸表情识别 J.许昌学院学报,2021,v.40;No.248(02):113-116.通信作者:王晓敏。(上接第 67 页)率幅度的自乘,其反映出的是频率的成分。当要观察所有频率成分时,一般采用更接近于人耳实际听音时感觉的对数谱。图 10 对数谱5 结论针对各个工程领域对信号频谱分析的需求,设计了一种基于 DSP 的频谱分析系统,系统依靠了 DSP 微处理器在信号处理过程中运算高效的特点,采用 C 语言编写了各个寄存器配置程序以及 FFT 算法程序,改进并提高了 FFT 算法的执行效率。本系统目前只针对音频信
20、号实现了对非实时采集的音频信号的频域变换,变换结果清晰地展示了信号的频域特征,具有直观的可视化效果。参考文献 1 吴顺喜,黄文晋FT、ZT、DFS、DFT 和 FFT变换的特点及相互关系 J.电子制作,2015(10):121 2 安成锦,张磊,吴京“信号与系统”课程四种傅里叶变换讲授方法的探讨 J.工业和信息化教育,2014(08):26-28 3 吴磊浅谈选择数字信号处理器的方法 J.电脑与电信,2011(01):72-73 4Texas Instruments.TMS320C55x DSP Programmers GuideM/CD.Texas Instruments,2022-07-10.5Texas Instrument.Code Composer Studio Getting Started GuideM/CD.Texas Instruments,2022-07-10.6Texas Instruments,TMS320VC5509 Fixed-Point Digital Signal Processor M/CD.Texas Instruments,2022-07-10.通信作者:邢阳阳。