基于FPGA的多路信号分离装置的设计与实现

 2022-01-18 12:01

论文总字数:19951字

目 录

一、绪论 1

1.1研究背景及现状 1

1.1.1项目背景 1

1.1.2国内外研究现状 1

1.2项目研究目标 2

1.3本文主要研究工作 2

1.4论文的章节 3

二 、设计方案 4

2.1设计目标 4

2.2设计方案选择 4

2.3系统设计方案 5

三、硬件实现方案 6

3.1 FPGA的RTL结构图 6

3.2主控制器部分 6

3.3采样播放部分 7

3.3.1WM8731L模块 7

3.3.2 I2C通信部分 10

3.3.3按键模块 11

3.3.4数码管模块 11

四、软件设计方案 13

4.1 盲信号算法框图 13

4.2两个算法简介 13

4.2.1ICA算法简介 13

4.2.2PCA算法简介 17

4.3FPGA部分算法图片 18

五、实验测试与结果分析 20

5.1数据采集方案的实现 20

5.2混合信号的分离的实现 21

5.3实物图 23

5.4误差分析 23

5.5小结 24

六、论文总结 25

6.1总结 25

6.2思考与展望 25

参考文献 26

致谢 27

一、绪论

引言

此章是本次毕业论文设计的绪论,将提到本次毕业设计的项目背景和意义,这些内容将会介绍本次毕设题目产生的原因,讨论本次毕业设计的合理性,还会介绍论文设计项目研究目标,以及所用技术在国内外的研究现状,和本文的主要研究工作这些内容。

1.1研究背景及现状

1.1.1项目背景

背景:在一场盛大的宴会上,有一个有趣的现象,每个人都在喝酒、吹牛、聊天,男声女声,声音粗犷的,柔弱的不尽相同。如果用录音机录下来这些声音,什么都挺清楚,可是呢,宴会上的人是怎么畅快的聊天吹牛的呢?他们为什么不会把其他人的声音听作朋友的声音,而且呢,你要从嘈杂吵闹的宴会上去听另一个人的声音时,也可以很容易的听见那个人声音。这一司空见惯的小现象便成了著名的“鸡尾酒会”问题。科学家们将“鸡尾酒会”问题扩展成语音识别问题,再发散到信号处理问题的多种盲信号问题当中。

在声呐信号处理领域当中,由于真实环境下的水声是复杂多变的,会受到许多干扰和噪声,由水听器阵直接观测的信号一般为多种信号混合后的信号,关键的信号常常会受到噪声的干扰和影响,严重妨碍了后期的目标定位、检测还有识别的性能和精度,所以对盲源信号的分离处理具有重大的研究价值和应用前景,声呐的信号处理的关键问题之一便是如何准确获得水下目标的真实信号。结合声音信号处理发展的现状,运用盲源信号分离技术处理这些复杂的水声信号,能够使这一问题较好的得到解决。

盲信号分离的技术经历了以下的发展过程。1986年,Herault和Jutten率先应用信号的非高斯性和独立性到盲信号分离算法当中。1989年,Cardoso提出来利用高阶统计量辨别混合矩阵,同年Linsker发现了基于信息论的源信号和混合信号的互信息最大的分离方法,1990年,统计学的极大似然估计法的加入了信号处理中。1994年,Comon正明了非高斯信号以及信号之间互信息量的关系。从此ICA便处在盲信号处理中的关键地位。

而在特征提取当中,PCA的操作简单无限制而且应用广泛的特点,使他在这一领域站住一席之地。从神经网络算法到数据挖掘算法,PCA在其中被称为线性代数在算法领域最有价值的成果之一。1901年由皮尔森首先引入,而关键的发展则是在1933年,由霍特林完成。

1.1.2国内外研究现状

目前ICA技术在国外发展地速度比较快,在近些年的声学、语音和信号处理、神经网络大会上,常常都有盲信号处理和独立分量分析方面的主题报告,很多具有极强权威性的刊物相继出版了有关著作。在国外,有很多和独立分量分析和盲信号处理方面相关的书籍大量出版,而且在神经网络、模式识别和信号处理方面的书籍中也有相关的介绍。

独立分量分析的研究分为理论算法的研究和实际应用的研究:

理论算法的研究主要分为三类:

(1)基本的运算方法,比如JADE法、FOBI法、Maxkurt法等等,方法主要分为两步,先把观察数据球化,在对球化后的数据作正交变换,来优化独立性的判据。但是因为计算比较繁琐,效果不是很好,所以较少应用。

(2)自适应算法,计算内容较为简单,但是收敛速度较慢。比较实用的方法包括基于随机梯度的信息极大法,互信息极小法,基于自然梯度的串行的自适应算法,扩展Informax法和非线性PCA自适应算法。

(3)由芬兰学者阿波华伟年提出的快速ICA,运用ICA迭代的方法用于求根,加快了收敛的速度。

ICA的实际应用主要在于:语音信号处理(盲信号分离、增强与消除噪声、特征转换、语音识别、说话人识别)、数字图像处理(人脸识别、虹膜识别、数字水印、编码、压缩)。

主元分析方法PCA是最常用的多变量统计技术,于1901年率先被Pearson提出,后来被Hotalin改进,形成了具有降维特性和特征提取的多元统计方法。主元分析是采用一种正交数学变换将一组可能相关变量的观测值转化为一组线性不相关变量的值,该不相关变量被称为主元。近几十年来,学者利用PCA的提取主元和降维特性对其进行了深入的研究,使得PCA理论的发展并更广泛的应用于不同的学科领域。

主元分析方法应用于语音信号处理(盲信号分离、增强与消除噪声,声音提取)、数字图像处理(人脸识别、虹膜识别、特征提取)。

无论是PCA还是ICA算法,他们的主要思路都是剔除冗余信息以得到最有效信息的方法,这样可以实现对控制对象的进行预测和监控。像此类的算法还有很多,例如PLS(偏最小二乘法)、FA(因子分析),他们为工业应用过程中未知工业对象的建模以及控制环节的设计提供了很好的工具。

1.2项目研究目标

一个分类装置,能够实现至少三个声源的分离,分离后的信号输入FPGA后能够还原声音,将分离过的音频信号送入放大器后经扬声器播出。音源采用一个背景白噪声、一个噪声和一个人说话的语音信号混合,通过该分离装置后能够正确分离。

1.3本文主要研究工作

介绍完本次毕业设计产生的项目背景和,了解了各个技术的研究现状,接下来便是如何设计此次的论文产品。而本论文产品根据1.1.2节项目研究目标,并结合所用的软硬件可知,要完成FPGA软件设计。本论文主要的目的是设计一个信号采样、分离与播放装置,控制器选用FPGA作为主控制器,音频外设模块和主控制器模块之间采用I2C通信,采样使用的是一个小型麦克风,播放采用的是挂耳式耳机,所以本文主要研究工作是:

(1)信号采集方案的研究,以至少5倍以上的采样率采集声音信号。

(2)软、硬件系统方案的研究,搭建硬件模块,完成系统的整体。

(3)ICA和PCA算法的研究完成C语言环境下的算法性能仿真,以及使用Matlab仿真实验。

(4)Verilog HDL程序实现,基于FPGA实现信号检测和分离算法。

1.4论文的章节

论文的章节安排如下:

第一章描述毕业设计的项目背景和意义,并对ICA和PCA算法的起源、发展概况、以及优缺点等等做了一些简单的介绍。

第二章比较采样,分离和算法两个角度的优劣性,选择各个角度中最优解组合最适合本次毕业设计的方案,分别画出总体系统框图、播放的系统框图,算法的原理框图,并对他们做出简单描述。

第三章介绍系统的硬件系统,并提出软件平台QuartusⅡ和NIOSⅡ硬件平台FPGA,硬件系统所用到的模块,以及模块之间的通信方式。

第四章分析了ICA和PCA算法的计算步骤,并且根据本毕业设计计算所需要的内容。

第五章整体系统的测试方案,并且对系统测试结果进行比较得出结论,最后进行误差分析以及问题总结。

第六章结束语,总结全文并对下一步工作提出展望。

第一章小结

此章介绍了本次毕业设计的项目背景,讨论了本次课题即盲信号分离的现实意义,在调查了此毕业设计的意义及所需技术在国内外的研究现状之后,确定了毕业设计的合理性足够,并给出将进行哪些内容的技术研究。

二 、设计方案

引言

通过前一章对研究目标和项目背景的介绍,本章将会提出如何进行本次毕设的具体方案,进行对比论证,并给出最后的总体系统方案与分系统部分方案的框图与介绍。

2.1设计目标

一个分离装置,能够实现至少三个声源的分离,分离后的信号输入FPGA后能够还原声音,将分离过的音频信号送入放大器后经扬声器播出。音源采用一个背景白噪声、一个噪声和一个人说话的语音信号混合,通过该分离装置后能够正确分离。

2.2设计方案选择

采样部分的方案讨论:

方案一:


图2.1 方案一框图

音源选用三种不同的声音信号,拾音器选用小型拾音器咪头KZ-501B辅以一个音频放大电路,加放大后的信号输入FPGA系统进行采样。

方案二:

图2.2 方案二框图

音源不变仍然选用三种不同的声音信号,通过WM8731L音频编码模块,采样后送入FPGA系统。

WM8731L是一款带有集成耳机驱动器的音频编码模块,该模块可以极为方便的采集音频信号。方案一中的不足在于接收响度响度较大声音的时候,会产生失真信号,这时候采样得到的失真信号会使某一段频谱会特别突出,从而影响到最后的结果。方案二接收的范围相较于方案一更大,并且受到的音质较好。最终讨论得出,在采样部分我们选用方案二。

分离部分的方案讨论:

方案一:

图2.3 方案一框图

运用JTAG-UART把SDRAM中的录音信号传送到PC上,PC端用SECURECRT接收录音信号并送入到Matlab中,用Matlab完成盲信号分离。

方案二:

图2.4 方案二框图

直接用FPGA提取SDRAM的录音信号,在我们建造出的软核中完成盲信号算法。

方案一和方案二在实际操作中都可以实现。方案一的相当于分了两个系统完成,一个是主控制器FPGA另一部分是用Matlab制作成的上位机播放声音或者是显示图像,优点在于节省FPGA的逻辑资源,但是需要FPGA和PC时刻保持通信。方案二是采用WM8731L既作为采样的器件,并且作为播放的器件,优点是可以独立的作为一个完整的系统不受外界环境的约束。经过比较,我们最终选出方案二作为分离部分的方案。

2.3系统设计方案

由2.2的讨论结果,我们得出了完整的系统方案如下:

图2.5 系统总框图

由图2.5可知,NIOS Ⅱ制成的软核作为主控制单元,控制数码管、键盘输入和与WM8731L通信,接收WM8731L的采样数据与传输算法分离的结果。WM8731L是整块系统的核心,需要他采样音源信号和播放声音,该模块与FPGA的通信方式为I2C通信。

三、硬件实现方案

引言

前两章已经介绍了本篇文章的实现方案,FPGA分离的硬件电路主要是在我购买的FPGA开发板上,用Verilog HDL语言进行实现。本章将会针对硬件部分的实现方案并详细介绍将会用到的各个部分模块所涉及的知识基础与技术介绍。

3.1 FPGA的RTL结构图

根据图2.5我们在FPGA中完成了RTL结构图

剩余内容已隐藏,请支付后下载全文,论文总字数:19951字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;