“魔音盒子”信号处理贯通式综合实验
实验题目:“魔音盒子”信号处理贯通式综合实验
课程简要信息
课程名称:信号与系统
课程学时:64学时
项目学时:(课内16学时)
适用专业:电子信息工程、通信与信息、大气科学等专业
学生年级:大二下学期、大三上学期
本课程名称是“信号与系统”,课内64学时,分为理论48学时加实验16学时,该课程适用电子信息工程、通信与信息、大气科学等专业,在大二下学期、大三上学期开设本课程。
在长期的教学实践中,发现本课程实验挑战有三方面:传统实验模式难以突破时空局限、实践项目分散难以整体掌握、验证性实验难以满足高水平科创实践要求。为破解上述难题挑战,提出了两大实验案例设计理念:一、AI智慧赋能,一方面旨在突破时空限制、随问随答、充分挖掘学生碎片化时间,另外是对高阶实验应用的辅助教学,提升学生高阶实验的完成度;二、贯通式综合案例设计,一方面贯通课程内多个知识点,帮助学生形成对整个课程体系的认识,另外一方面贯穿高等数学、数字信号处理、现代信号处理等多门相关课程知识点,对标两性一度的高水平科创。
图1 “魔音盒子”信号处理贯通式综合实验
基于智谱清言构建专属AI助教,基于长期积累的线上线下矩阵式资源,建设AI知识库,利用AI开展学术课程辅导、数据收集与学情分析等工作,课前快速聚焦学术实验堵点、课中提升高阶应用的达成度、课后基于AI实验结果数据分析结果支撑教学优化设计。
贯通式的综合性实验案例是在验证性实验的有机拓展,是高水平科创的有力支撑。贯穿式综合案例囊括了信号的时域分析、信号的频域分析、连续系统分析、离散系统分析等内容,将课堂中离散的知识点通过一个具体的实践应用连接起来,有效帮助学生构建知识体系,另外通过具体的实践应用,培养学生知识灵活应用的能力,直接支撑高水平的科创。
实验内容与任务
项目需要完成的任务(如需要观察的现象,分析某种现象的成因、需要解决的问题等);是否设计有不同层次的任务。
该贯通式综合实验选择音频信号处理这一具体应用,一方面方便学生直观感受处理前后的变化,另外该案例也契合手机语音反诈的应用背景和社会热点问题,提高学生的实验热情,其包含了3个具体的应用模块,分别为:噪声抑制模块、变声/倒放模块、语音识别模块。
实验主要围绕信号的时域运算、信号滤波、频域变换等课程核心知识点展开,贯穿了信号时域、频域分析内容,每一个模块都包含了验证、设计、硬件综合实践三个层次,在FPGA硬件实践中帮助理解连续与离散时间系统设计与分析的异同,另外按照实验高阶性的要求,三个模块均设计了进阶目标。具体内容和任务如下:
(1)噪声抑制模块(核心知识点:信号滤波)
①利用点频法和扫频法测量实验箱滤波器幅频特性,使用示波器测量、存储观测结果。利用实验箱的信号源产生不同频率的正弦波,将其通过低通、带通、高通滤波器,从低到高调节正弦波的频率,观察输出正弦波的幅度变化情况并记录,分析硬件实测结果与理论值的不同之处及原因;(硬件实验、验证性任务)
二阶的连续模拟滤波器过渡带太长,性能受限,引导学生思考高阶数字滤波器的必要性。
②利用MATLAB仿真生成间隔固定长度的7音阶声音信号,在7个音阶声音中任选一个或多个音阶信号作为目标信号,其余音阶信号作为噪声,利用MATLAB的FDA工具设计滤波器组进行噪声抑制,观察不同滤波器参数对分离效果的影响,总结实际滤波器与理想滤波器在性能上的差异;(虚拟仿真、设计性任务)
③对录制高的带高频噪声的人声信号设计滤波器组进行噪声抑制;(虚拟仿真、设计性任务)
④根据上述仿真分析得到的滤波器参数,利用FDATool等工具生成coe文件,在FPGA上加载coe文件实现FIR滤波器,调节FIR滤波器阶数,观察对采集带噪声音信号的去噪效果,尝试思考在硬件实现过程中处理效果与资源消耗的关系。(硬件实验、综合设计性任务、高水平实践)
**⑤进阶:背景音乐/人声信号的噪声滤除。**引导学生思考背景音乐干扰与白噪声/单音干扰的区别,引导学生利用AI搜索主动降噪耳机的应用,了解相关原理,引导学生利用AI搜索噪声采集、反相波生成、波形对消等原理,进而开展方案设计,引导学生利用AI辅助实现仿真代码的快速实现,提升高阶应用目标的达成度。
(2)变声/倒放模块(核心知识点:信号的时域运算)
①利用MATLAB仿真生成间隔固定长度的7音阶声音信号,进行时域上的翻转、展缩操作,观测时域运算后的波形变化,播放声音直观体会声音变化,对时域变换后的声音进行频域变换,观察不同时域变换对信号时域波形、幅频响应、相频响应的影响;(虚拟仿真、验证性任务)
②利用MATLAB对采集的人声信号进行时域上的翻转、展缩操作,观测时域运算后的时域波形、幅频响应曲线,并记录结果,播放声音直观体会声音变化,设计调节展缩参数,实现男声变女声、女声变男声的功能;(虚拟仿真、设计性任务)
③利用FPGA实现对采集的人声信号进行调整(男声、女声的相互变换),男声变女声采用时域抽值、女声变男声采用时域插值,调节模块参数,观察人声调整后信号时域波形、幅频/相频响应的变化,分析所选方案的资源消耗情况;通过1)和3)两个实验时域变换的方法对比使用连续时间系统(模拟电路)和离散时间系统(数字电路)两种不同设计思路,尝试总结连续时间系统和离散时间系统设计与分析的各自特点。(硬件实验、综合设计性任务、高水平实践)
**④进阶:变声不变速。**引导学生思考如何做到信号时间、频率分离调整,引导学生利用AI搜索视频播放器倍速播放应用,了解相关原理,引导学生利用AI搜索时间拉伸、相位编码等知识原理,进而开展方案设计,引导学生利用AI辅助实现仿真代码的快速实现,提升高阶应用目标的达成度。
(3)语音识别模块(核心知识点:傅里叶变换)
①利用MATLAB仿真生成间隔固定长度的7音阶声音信号,对声音信号进行傅里叶变换,根据音阶频率表实现不同音阶的识别;(虚拟仿真、验证性任务)
②对于录制的人声信号,对声音信号进行短时傅里叶变换,得到信号的频谱图,观察不同分帧和加窗策略对频谱图的影响,基于得到的频谱图通过梅尔滤波器组,再经过对数变换、离散余弦变换,得到倒谱系数,作为语音识别的紧凑特征进行语音识别,尝试总结不同整段信号的傅里叶变换和短时傅里叶变换在语音识别这一应用中的区别;(虚拟仿真、设计性任务)
③在FPGA上设计实现分帧、短时傅里叶变换等模块(傅里叶变换之后的运算模块由老师提供)调整分帧参数、通过读取ROM中存储的不同窗函数数据实现不同加窗函数的切换,不同方案下观测并记录不同人声信号的频谱图;(硬件实验、综合设计性任务、高水平实践)
**④进阶:变声语音信号的识别。**引导学生思考分析变声语音信号的可能方案,可以优化变声模块,实现变声语音信号的检测与恢复,进而完成正常的语音识别,也可以优化语音识别模块,使其能够直接进行变声语音信号识别,引导学生利用AI搜索收集语音防诈骗应用,了解基本原理,引导学生利用AI搜索变声检测/恢复等与原理,进而开展方案设计,引导学生利用AI辅助实现仿真代码的快速实现,提升高阶应用目标的达成度。
实验过程及要求
如对学生在实验过程中在需求分析、资料查询、自学预习、思考讨论、方法设计、进程规划、软件仿真、平台构建、器件选择、表格设计、现象观察、数据测试、问题分析、总结报告、验收答辩、演讲交流等各方面的要求。
按照验证性实验任务、设计性实验任务、综合设计性硬件实验、进阶思考与高水平实践四个层次开展:
**利用课前时间展开的教材相关章节自习、预习、课程网课资源及其他网络资料查询,**主要包括:练习前修课程《MATLAB编程与工程应用》关于MATLAB软件的基本功能、练习前修课程《数字电路》中关于PDS软件的基本功能,可以查阅本课程网课资源或其他网络资源,进一步补充FDATool的使用及freqs()等频谱分析函数的知识。
第一部分:验证性实验任务
(1)要求掌握使用点频法和扫频法测量滤波器幅频特性,掌握使用示波器测量、存储信号的方法;
(2)要求通过仿真实验加深理解信号时域运算前后的时域波形、频谱变化,理解时域运算与信号频谱改变之间的联系及各因素的影响;
(3)要求通过仿真实验加深对傅里叶变换的理解和应用。
第二部分:设计性实验任务
(1)要求通过仿真实验加深信号滤波的原理理解,设计选择合适的低通/带通/高通滤波器完成噪声抑制;可以根据滤波器参数或滤波器电路图,通过FDATool或频谱分析类函数分析或设计滤波器。
(2)要求结合具体的实践应用掌握选择合适的分帧、加窗策略得到兼顾时间分辨率和频率分辨率的信号频谱图。
第三部分:综合设计性硬件实验
(1)理解连续时间信号/系统和离散时间信号/系统设计与分析思想的异同;
(2)理解硬件实现中需要兼顾考虑资源消耗和任务达成度。
在设计中,要注意学生设计的规范性;在调试中,要注意工作电源、器件品质对系统指标的影响;在测试分析中,要分析系统的误差来源并加以验证;撰写设计总结报告时,鼓励学生通过不同组之间课内或课外的交流(尤其是选择不同实现方案的组之间交流实验过程中的现象),通过对比分析,加深理解体会,鼓励学生重点交流对连续与离散时间系统设计分析差异、理论分析结果与实验数据结果差异、理解学习与实践应用之间的差异等方面的心得体会;
第四部分:进阶思考与高水平实践
(1)对标高水平科创,精准捕捉实际应用需求;
(2)利用AI智慧赋能进行快速实现;
(3)理解系统设计与集成的内涵。
由老师审阅实验报告提出意见,结合现场实测情况打分。
相关知识及背景
项目涉及所需的知识方法、实践技能、应用背景、工程案例。
该案例是音频处理相关工程应用的基础,直接启发点是近年来电子设计竞赛中频繁出现的音频处理类题目,这是一个综合运用信号与系统课程中核心知识点“信号时域运算”以及“信号频域分析”思想对标高水平科创实践、解决工程实际问题的典型案例,贯通式综合案例实验模式有利于对知识体系整体把握,在核心知识点外还包含RLC无源电路分析、滤波器幅频特性分析、数字滤波器设计、单频正弦信号输入线性时不变系统的响应、滤波器应用等知识。另外需要具备一定的软、硬件实践技能,可加深学生认识时域与频域对应关系、连续时间、离散时间两类系统设计与分析思想的异同。
实验环境条件
项目实施需要实验资源,包括实验装置功能、实验仪器设备、设计软件工具、主要电子元器件等。
软件方面:
(1)安装MATLAB R2014b(或以上版本);
(2)Pango Design Suite 2022 (PDS 2022)(紫光同创FPGA开发套件);
可以利用相关软件进行相应的仿真分析;(两个软件会分别在前修课程《MATLAB编程与工程应用》、《数字电路》中学习、使用)
硬件设备方面:
(1)凌特公司生产的LTE-XH-03A信号与系统综合实验箱;
(2)鼎阳SIGLENT SDS2204X Plus系列数字示波器;
(3)紫光同创FPGA开发板PGL50H系列;
(4)鼎阳SIGLENT SDG800任意波形发生器;
相应的电源和其它跳线等配件。
教学目标与目的
如学习、运用知识、技术、方法等;培养、提升技能、能力、素质等。
本实验案例通过软件仿真、硬件实测等教学资源的合理组织,以“信号时域运算-信号频谱分析”思想为主线,让学生运用已掌握的仿真软件仿真分析课程知识点,并与实测数据对比分析;让学生掌握滤波器在信号筛选等处理过程中的应用;培养学生全面分析数据、发现问题的能力,提升知识综合应用能力;实验2人一组,培养学生协作精神;实验设计多处对照方案,部分实验结果需要组之间讨论交流,提升学生学术讨论交流的能力;案例取材于电子设计竞赛,对标高水平科创实践,激发学生应用所学知识解决实际问题的兴趣。
拟通过该实验能够实现以下三个目标:①融汇贯通信号时域分析、频域分析等内容,对《信号与系统》课程知识体系有整体把握;②对比仿真处理与FPGA处理的差异,理解连续与离散时间系统的设计分析异同;③通过完整的系统设计、集成操作实践,培养学生团队协作能力和工程素养,理解实际系统设计实现内涵。
实验中使用的FPGA是国产紫光同创的,让学生感悟国产化趋势,增强其国产品牌信心和自豪感。
教学设计与实施进程
课堂知识讲解、方法引导、背景解释;实验中的方法指导,问题设置、思路引导等。教学模式、实验渠道、研讨主题、观察节点、验收重点、质询问题等方面设计等。实验实施进程的各个环节(如任务安排、预习自学、现场教学、分组研讨、现场操作、结果验收、总结演讲、报告批改等)中教学设计的思路、目的,教师、学生各自需要完成的工作任务,需要关注的重点与细节。
本实验案例涉及软件、硬件实验,总体实验过程围绕一个音频信号的时域、频域处理变换展开,是一个比较完整的实践应用工程,需要经历学习研究、方案论证、系统设计、实现调试、设计总结等过程。在实验教学中,应在以下几个方面加强对学生的引导:
老师已经上线教学视频等教学资源以及相关的辅助代码。
学生利用课前时间展开相关自习、预习,主要包括:练习前修课程《MATLAB编程与工程应用》关于MATLAB软件的基本功能,同时可以查阅本课程网课资源或其他线上线下矩阵式网络资源,进一步补充FDATool的使用及freqs()等频谱分析函数的知识。练习前修课程《数字电路》中关于PDS软件的基本功能。对于预习遇到的难题,可以与本实验课程的专属AI助教进行问答。
第一部分:噪声抑制模块(核心知识点:信号滤波)
(1)依托现有硬件实验箱,摸清滤波器特性。根据低通、高通、带通不同滤波器,选择合适的频率点序列,设计测试记录表,利用点频法测量一种(低通、高通、带通)滤波器的幅频特性,并画出幅频特性曲线;
(2)具体是利用实验箱的模块S2产生信号作为模块S3中3类滤波电路(低通、高通、带通滤波器)的输入,并使用示波器依次测量对应滤波电路的输出,采用指定峰-峰值(建议4V,可以自行设定)的正弦波作为输入,从低到高调节正弦波的频率,观察输出正弦波的幅度变化情况并记录,其中频率的最小值、最大值、频率间隔等可以根据实际情况自行设计表格并记录实测数据;(其中输入的单频正弦信号峰-峰值4V仅供参考,因为设备老化等原因部分实验箱的信号源输出正弦信号时最大峰-峰值已经无法达到4V,鼓励学生积极探索分析不同的峰-峰值对结果、结论有何影响)
合理设置扫频信号的频率上、下限、频率分辨,利用扫频法测量中选定的滤波器特性,并记录幅频特性变化趋势;
以低通滤波器幅频特性扫频法测量为例,输入改为扫频信号,扫频信号频率上限设为50KHz,下限和分辨率采用默认值(下限500Hz,分辨率40Hz)。观察并记录输入信号和输出信号的波形,要求截取一个完整的扫频周期,并且低频部分在前,高频部分在后。
(3)根据(1)测量的幅频特性,计算该滤波器参数,通过FDATool设计对应阶数滤波器、输出幅频特性并与(1)(2)对比;或根据实验箱上提供的滤波器电路参数,确定幅频响应函数各参数,利用freqs()等频谱分析函数输出幅频特性并与(1)(2)对比,通过对比领悟理论与实践的区别;
(4)利用提供的仿真软件1观察7音阶声音信号通过滤波器后分离出的声音信号与原始音阶信号的差别,截图记录结果并说明现象;
(5)在7个音阶声音中任选一个或多个音阶信号作为目标信号,其余音阶信号作为噪声,利用MATLAB的FDA工具自主设计滤波器组,分析不同参数下对噪声抑制的影响,记录结果并说明现象;
(6)对录制的带高频噪声的认识信号,观察其幅频特性,记录结果,基于其幅频特性的观察,设计所需的滤波器参数,利用FDAtool等工具生成coe文件,加载coe文件生成FIR滤波器;
(7)利用FPGA将采集到的带噪声音信号输入该FIR滤波器,观察声音信号输入前后的幅频特性变化,播放声音直观感受滤波前后的差异。
(8)引导学生思考背景音乐干扰与白噪声/单音干扰的区别,引导学生利用AI搜索主动降噪耳机的应用,了解相关原理,引导学生利用AI搜索噪声采集、反相波生成、波形对消等原理,进而开展方案设计,引导学生利用AI辅助实现仿真代码的快速实现,提升高阶应用目标的达成度。
噪声抑制模块的实验要求学生掌握点频法和扫频法测量滤波器幅频特性,掌握使用示波器测量、存储信号的方法,也是为实际滤波器提前铺垫;可以根据滤波器参数或滤波器电路图,通过FDATool或频谱分析类函数分析或设计滤波器,这里一方面是对知识综合应用分析频响特性,另一方面也是请同学们理论值、设计值和实测值之间一般存在一定误差。
对比各自己所耗的FPGA各项资源,同时讨论分析FIR滤波器的可能存在的不同方案,以及不同方案在滤波效果、时延、资源消耗的差异性。引导学生在FPGA上设计更低阶数、更省资源的滤波器达到预期效果。
进阶思考中背景音乐/人声信号噪声的干扰滤波进一步贴合实际应用,引导学生利用AI工具去了解基本原理并实现,对标两性一度的高水平科创。
第二部分:变声/倒放模块(核心知识点:信号的时域运算)
(1)利用提供的仿真软件2观察7音阶声音信号经过时域翻转、时域展缩操作后其波形变化以及其幅频特性变化,截图记录结果并说明现象;
(2)对录制好的人声信号,调整时域展缩参数,观察其时域波形变化和幅频特性变化,设计调节展缩参数实现男声变女声以及女声变男声,截图记录结果并说明现象;另外,观察该人声信号时域翻转后,观察其时域波形变化和幅频特性变化,截图记录结果并说明现象。
(3)根据(2)的实验结论,设计在FPGA上男女声互相转换的方案,调节模块参数,观察人声调整前后的时域波形以及幅频特性变化,截图记录结果并说明现象;
(4)设计在FPGA上声音倒放的方案,观察人声调整前后的时域波形以及幅频特性变化,截图记录结果并说明现象;
(5)若在(3)的实验基础上,要求男女声互相转换的同时还要保持声音播放持续时间不变,引导学生思考如何做到信号时间、频率分离调整,引导学生利用AI搜索视频播放器倍速播放应用,了解相关原理,引导学生利用AI搜索时间拉伸、相位编码等知识原理,进而开展方案设计,引导学生利用AI辅助实现仿真代码的快速实现。设计新的男女声互相转换方案,调节模块参数,观察人声调整前后的时域波形以及幅频特性变化,截图记录结果并说明现象;
变声/倒放模块要求学生能够建立时域运算与频域变化之间的联系,要学会基于连续系统的线上仿真实验结论设计离散系统上实现方案,建立起连续系统与离散系统的异同。
进阶思考中变声不变速是实际应用中面临的真实诉求,引导学生利用AI工具去了解基本原理并实现,对标两性一度的高水平科创。
第三部分:语音识别模块(核心知识点:傅里叶变换)
(1)利用提供的仿真软件3观察7音阶声音信号经过傅里叶变换后的幅频特性,根据音阶频率表实现不同音阶的识别,记录结果并说明现象;
(2)利用提供的仿真软件4观察录制的多段人声信号经过傅里叶变换后的幅频特性,记录结果并说明现象,尝试总结能否通过简单的方法实现人声信号的识别;引导学生思考语音识别中短时傅里叶变换的必要性。
(3)利用提供的仿真软件5对录制的人声信号进行短时傅里叶变换,得到信号的频谱图,基于得到的频谱图通过梅尔滤波器组,再经过对数变换、离散余弦变换,得到倒谱系数,作为语音识别的紧凑特征进行语音识别,记录结果并说明现象;
(4)在(3)的基础上观察不同分帧和加窗策略下的频谱图,尝试总结分帧、加窗策略对频谱图的影响,记录不同分帧和加窗策略下的倒谱系数差异,记录结果并说明现象;
(5)在(4)的基础上设计选择合适的分帧、加窗策略,观察并记录不同人声信号的倒谱系数,并记录语音识别结果并说明现象;
(6)在FPGA上设计实现分帧、短时傅里叶变换等模块(傅里叶变换之后的运算模块由老师提供),调节模块参数,观察对语音识别结果的影响。
(7)引导学生思考语音反诈中变声语音信号的识别问题,思考分析变声语音信号的可能方案,引导学生利用AI搜索收集语音防诈骗应用,了解基本原理,引导学生利用AI搜索变声检测/恢复等与原理,进而开展方案设计,引导学生利用AI辅助实现仿真代码的快速实现。
语音识别模块要求学生一方面理解掌握时域和频域的对应关系,可通过频谱的差异来实现语音识别;另外一方面在应用实践的过程中要需要考虑算力、可行性、运行效率等因素,综合考虑利用短时傅里叶变换来兼顾时间分辨和频率分辨,考虑用倒谱系数作为语音识别特征,简化了计算。
进阶思考中变声语音信号的识别与反诈应用紧密相关,引导学生利用AI工具去了解基本原理并实现,对标两性一度的高水平科创。
实验原理及方案
实验的基本原理、设计依据、完成任务的思路方法,可能采用的方法、技术、电路、器件。
(1)噪声抑制模块实验基本原理(核心知识点:信号滤波)
1)信号滤波原理
以低通滤波器为例进行原理介绍,理想低通滤波器的幅频响应、相频响应曲线如下图所示:
频率响应可写为:
对
求反傅里叶变换可得单位冲激响应
物理可实现的模拟滤波器必须满足因果条件:
。
滤波器的单位冲激响应往往难以得到,在实际应用中,系统特性更多地是使用频域特性进行描述。连续时间系统物理可实现的准则(佩利—维纳准则),即系统的幅频特性必须同时满足:
且
该条件说明了物理可实现的滤波器的幅频特性不能在任何有限频带内恒等于零。
以幅频图对比分析实际滤波器相对理想滤波器的一些放松条件:
2)实验箱滤波器方案
低通、带通、高通等不同的滤波器有不同的构成,本实验中在实验箱上集成了相应的无源滤波器,通过RC电路实现,如下图图即为实验箱上低通滤波器电路。
330
图2 低通滤波器电路图
如下图即为实验箱上高通滤波器电路。
图3 高通滤波器电路图
如图5即为实验箱上带通滤波器电路。
图4带通滤波器电路图
系统滤波特性的测量方法一般有两种,点频法和扫频法。点频法的原理是“逐点”测量幅频特性。该方法原理简单,需要的设备也不复杂。但由于需要逐点测量,操作繁琐费时,并且由于频率离散而不连续,非常容易遗漏某些突变点。扫频法的原理是在测试过程中,使输入信号的频率按特定规律自动连续并且周期性重复,峰峰值保持不变。本实验利用的扫频信号是线性调频正弦信号,如图7所示,其主周期信号的解析式为
其中,
是脉冲宽度。可以通过比较输入、输出信号的幅度变化,得到系统的滤波特性。该方法可实现滤波特性的自动或半自动测量,并且不会出现由于点频法中的频率点离散而遗失细节的问题。
图5 线性调频信号
利用FPGA实现FIR滤波器时,其硬件结果如下图所示(供参考,以此为基础学生可以自行设计实现):
图6 FIR滤波器硬件结构设计
采用多个乘法器实现高阶的FIR滤波器。
(2)变声/倒放模块实验基本原理(核心知识点:信号的时域运算)
1)信号时域运算后的时域变化
从时域是上看,信号的翻转展缩平移都是在时间轴上进行变换,是信号的定义域的变换。用表达式表示信号的翻转、展缩过程:
翻转:
。
展缩:
。
都是在时间轴上进行变换,是信号的定义域的变换。
- 翻转
信号翻转是以纵轴为对称轴进行翻转。
下面给出了一个翻转的示例:
- 展缩
,当
时是压缩,当
时是扩展。
下面给出了一个展缩的示例:
2)信号时域运算后的频域变化
若
,则
。特别地,当
时,有
。
从傅里叶变换的定义式出发,利用变量替换法进行推导证明。
性质的意义解释:信号在时域的持续时间被压缩(扩展),对应频域的频率范围被扩展(压缩)。信号在时域的翻转对应频域的翻转。
时域展宽,信号的能量增加,其对应频域压缩,因此频谱的幅度增加,以保持能量不变。
利用FPGA实现男声变女声和女声变男声任务时,需要RAM来缓存输入数据,本质上是一个抽/插值和基频调整,硬件结构设计如下图所示(供参考,以此为基础学生可以自行设计实现):
图7 男声变女声硬件结构设计
图8 女声变男声硬件结构设计
(3)语音识别模块实验基本原理(核实知识点:傅里叶变换)
信号傅里叶正变换和反变换的定义式如下:
正变换:
反变换:
通过对一个信号进行傅里叶变换即可得到其频谱。
为兼顾时间分辨率和频率分辨率,在傅里叶变换的基础上引入短时傅里叶变换:
在进行短时傅里叶变换之前对语音信号进行分帧,将语音信号分割为短时平稳段(典型帧长20-40ms,帧移10ms)。例如:16kHz采样率下,一帧包含320样本(20ms)。
对于连续时间信号
,其短时傅里叶变换定义为:
其中:
为原始连续时间信号
为窗函数(如高斯窗、矩形窗、汉明窗等),中心位于时间
为角频率变量
时间平移参数,表示分析的时间点
通过滑动窗函数
,逐段截取信号并计算傅里叶变换,得到信号在时间
附近的频率成分。
时频分辨率权衡,窗函数宽度决定分辨率:
宽窗 → 高频率分辨率,低时间分辨率
窄窗 → 高时间分辨率,低频率分辨率
受海森堡不确定性原理约束,无法同时达到最优。
窗函数可选择汉明窗,汉明窗的系数(0.54 和 0.46)通过优化设计,最小化了旁瓣的峰值。其形式为:
在梅尔刻度(非线性频率轴,模拟人耳感知)上设计三角滤波器组,对功率谱加权求和,得到梅尔频谱,对梅尔频谱取对数(log(·)),应用离散余弦变换(DCT)压缩维度,保留前12-13个系数,称之为梅尔频率倒谱系数。在得到倒谱系数后,可以采用隐马尔科夫模型、深度学习方法等方法完成语音的分类识别。此部分代码由老师提供,学生重点关注前面的短时傅里叶变换部分。
利用FPGA设计实现分帧、加窗、傅里叶变换等模块,具体如下(供参考,以此为基础学生可以自行设计实现)。
基于FIFO设计一个环形缓存模块来实现分帧功能,其硬件结构如下所示:
图9 环形缓存模块
加窗操作只需对数据流与存储与ROM中的汉明窗数据进行乘法运算即可,硬件结构如下所示:
图10 加窗模块
设计了平方根模块求解FFT模值,硬件结构如下所示:
图11 平方根模块
(4)实验配套情况
本实验过程中用到自研的MATLAB教学演示软件及对应的代码,主要用于理论分析与仿真验证。
同时需要使用实验室所配备的“信号处理课程实验箱”,具体情况如下图所示,主要用来完成对应理论的实验验证。
(a) 实验箱整体情况 (b) 实验箱各功能模块分布
![]()
(c) 实验箱s2模块(信号源) (d)实验箱s3模块(滤波器)
图12 配套的信号处理实验箱本实验及对应模块
实验还有配套的FPGA板卡和对应的信号发生器及测试用的软硬件环境,如下图所示,主要用于设计基于FPGA相应功能模块的指定周期信号的生成及测试。
图13 FPGA开发板及配套设备
在上述FPGA实现中不可避免的要使用到AD/DA模块,其基本原理如下图
图14 AD/DA的基本原理图
图15 实验系统示意图
实验报告要求
需要学生在实验报告中反映的工作(如:实验需求分析、实现方案论证、理论推导计算、设计仿真分析、电路参数选择、实验过程设计、数据测量记录、数据处理分析、实验结果总结等等),如:
实验报告需要反映以下工作:
(1)必要的实验原理。如信号滤波、时域运算、傅里叶变换变换理论、点频法/扫频法实验原理、硬件实现方案原理等;
(2)仿真实验的实验条件、参数设置等的详细描述;
(3)实验过程介绍,以及信号滤波、时域运算等操作前后时域、频域的变化记录,实测结果、仿真结果、理论结果的对比分析;
(4)使用FPGA实现3个模块的方案介绍。注意不同方案的组内和组间讨论,对不同方案的资源消耗、灵活性等特点进行分析;
(5)综合性实验、设计性实验、进阶思考实现的实验条件、参数设置、实验结果和分析、结论,详细的理论分析过程以及相应参数条件下的理论分析结果,实验结果和理论结果的对比;
(6)回答教学过程中老师引导的实验思考或者自己陈述对实验的思考。
考核要求与方法
考核的节点、时间、标准及考核方法。
(1)魔音盒子综合案例共包含3个模块,涉及3个核心的知识点,噪声抑制模块占比40%、变声/倒翻模块占比30%,语音识别模块占比30%;
(2)在每一个模块的实验中高阶评价打分不低于25%;
(3)硬件实验采取现场考核和实验报告打分相结合的方式。具体形式是在打分设置上,部分分值考察是否在规定时间内完成对应实验步骤并记录结果(如噪声抑制模块要求现场展示点频法、扫频法测量滤波器幅频特性),实验报告在全部学时结束后两周内提交。
(4)考核注重实验报告的规范性与完整性,同时注重实验原始数据采集及数据现象的合理分析,结合整体实验效果综合考核。
(5)对应的比例均可参照百分制打分(如占比15%,则共计15分)。
项目特色或创新
项目的特色在于:项目背景的工程性,知识应用的综合性,实现方法的多样性。
本项目对信号与系统的基本分析方法进行综合应用,以AI智慧赋能+贯通式综合案例的方式破解课程实验教学中的问题(传统实验模式难以突破时空局限、实践项目额分散难以整体掌握、验证性实验难以满足高水平科创实践要求),以信号滤波、信号时域运算、傅里叶变换为核心知识点,将“时频变换” 贯穿其中,从全国电子设计竞赛音频处理类题目、工程实践应用需求凝练实践价值,结合团队的教学交互软件、仿真作业、硬件实验箱、FPGA开发板等,形成1个贯通式综合案例,使课程实验做到虚实结合、循序渐进、理论与实践结合,提升了课程实验的高阶性、创新性、挑战度。



求反傅里叶变换可得单位冲激响应
。
且




是脉冲宽度。可以通过比较输入、输出信号的幅度变化,得到系统的滤波特性。该方法可实现滤波特性的自动或半自动测量,并且不会出现由于点频法中的频率点离散而遗失细节的问题。

。
。
,当
时是压缩,当
时是扩展。
,则
。特别地,当
时,有
。





,其短时傅里叶变换定义为:
为原始连续时间信号
为窗函数(如高斯窗、矩形窗、汉明窗等),中心位于时间
为角频率变量








