首页 > 乐器声学 专利正文
基于短时傅里叶变换和BP神经网络的频域盲源分离方法与流程

时间:2022-02-24 阅读: 作者:专利查询

基于短时傅里叶变换和BP神经网络的频域盲源分离方法与流程
基于短时傅里叶变换和bp神经网络的频域盲源分离方法
技术领域
1.本发明属于信号盲源分离领域,具体地说,涉及一种基于短时傅里叶变换和bp神经网络的频域盲源分离方法。


背景技术:

2.盲源分离是一种广泛用于信号处理和图像处理领域的研究方法,用于在混合信号中准确提取多个源信号。常用的盲源分离算法有独立分量分析 (independent component analysis, ica)、稀疏分量分析(sparse component analysis, sca)及主成分分析(principal component analysis, pca)方法等。ica方法通过假设信号的相互独立性并把信号之间的独立性最大化作为分离信号性能的目标函数和判断标准。常用的ica算法有fastica算法,其优点是收敛速度快,但是其对初始值较敏感,鲁棒性差,并且ica方法只考虑信号的独立性,分离效果较差。为了提高算法的精确性,borowicz基于旋转矩阵的四元数分解和牛顿

拉夫森迭代格式,提出了一种新的算法,与对称fastica算法相比,该方法不需要进行正交化步骤,在存在多个高斯源的情况下更加精确,但其仍旧是将信号的独立性作为分离标准,不能分离相关的信号。sca方法利用信号的稀疏性对信号进行盲源分离。由于多数信号时域无法满足稀疏要求,因而通过fft、小波等方法将信号变为稀疏信号,然后聚类分析得到双通道的混合矩阵的列向量,最后归一化并通过最短路径进行源信号估计。1998年,chen等利用基追踪方法实现了信号的稀疏分解;georgiev等明确了sca在欠定bss中的应用;theis等又提出了一种基于广义hough变换的更具韧性的sca算法;yi提出了一种改进的sca方法,该方法包含了估计聚类数的过程,但是信号接收传感器的数量和位置对分离结果有较大影响。pca最初由karl person于1901年开发,用于分离线性组合的信号。然而,标准pca使用的2

范数对异常值并不稳健。
3.为了减少异常值对分离效果的影响,liwicki提出了一种快速鲁棒主成分分析的核主成分分析方法,即欧拉主成分分析,在抑制异常值的同时保留了主成分分析的理想特性,但是其效果并未得到很大改进。eqlimi提出了一种适用于低维混合系统的欠定源恢复算法,该方法能够利用子空间检测框架从混合矩阵中恢复源信号, 其缺点是计算复杂度高。为了降低盲源分离算法的复杂度,cardoso提出了基于高阶统计量的特征矩阵联合近似对角化方法(joint approximate diagonalization of eigen

matrices, jade),其优点是分离速度快,但是分离结果较差。


技术实现要素:

4.本发明的目的是提出一种基于短时傅里叶变换和bp神经网络的频域盲源分离方法,以弥补现有技术的不足。
5.本发明首先利用短时傅里叶变换将接收信号变换到频域,然后在频域利用独立分量分析算法(independent component analysis,ica)对信号进行频域的盲源分离,再利用bp神经网络的方法对分离后的频谱分类,最后将每一类的频谱进行傅里叶反变换得到分离
后的时域信号。
6.为实现上述发明目的,本发明采用下述具体技术方案予以实现:一种基于短时傅里叶变换和bp神经网络的频域盲源分离方法,包括以下步骤:s1:利用不同调制方式的信号来训练bp神经网络;s2:接收混合信号,对混合信号进行短时傅里叶变换,得到信号的时频信息;s3:利用基于峰度最大化的ica算法在频域对s2所述的时频信息进行分离,得到分离后的频域信号;s4:提取s3中频域信号频谱的多个特征,基于s1训练的bp神经网络利用频谱特征对该信号进行频谱分类;s5:对s4中频谱分类后的信号按照类别分别进行傅里叶反变换得到分离后的各个时域信号。
7.进一步的,所述s1具体如下:s1

1:将不同调制方式的时域信号作为发送端的时域源信号,将时域源信号变换到频域得到信号频谱;s1

2:提取频谱的多种特征,如:二阶矩、四阶矩、六阶矩、波动系数、方差、幅度熵、均差熵、能量熵、零中心归一化瞬时谱密度的最大值、零中心归一化瞬时幅度绝对值的标准偏差、谱的绝对值的方差等;s1

3:将每种频谱特征按照70%和30%分为训练集和测试集来训练并测试bp神经网络分类性能,分类性能较好的特征留下用来生成特征矩阵,舍弃分类效果差的特征;s1

4:利用特征矩阵训练和测试bp神经网络。
8.进一步的,所述s2中,对接收的混合信号进行离散短时傅里叶变换(stft)得到信号的时频信息。
9.进一步的,所述s3中,利用峰度最大化ica算法在频域进行信号分离,具体步骤为:(1)随机生成分离矩阵w,w是n
×
m维的矩阵,m为信号接收端接收器的数目,n为分离信号的数目,每个接收器看作一路接收信号,n、m为正整数;(2)利用w对信号进行分离,得到频域分离信号,x
f
是将接收的混合信号变换到频域后的频域混合信号;(3)求分离信号的峰度;(4)利用梯度下降法求解最佳分离矩阵w;(5)利用最佳分离矩阵w分离信号。
10.进一步的,所述s4具体如下:s4

1:提取信号的多个特征:提取信号的多个特征数据,对特征数据进行标准化,通常是归一化,将归一化的数据输入到s1中bp神经网络的分类器;s4

2:利用bp神经网络对信号频谱分类;最后得到的相同类别的频谱来自于同一个时域信号,类别的数目为分离后信号的数目。
11.上述方法能够应用于信号的频域盲源分离。
12.本发明的优点和技术效果:本发明针对频域盲源分离中的频谱重构不准确的问题,也就是不同的时域信号可能其对应的频谱是相同的这个问题,利用短时傅里叶变换的方法对接收信号进行时频分析,同时保留了信号的时间和频谱信息,然后利用bp神经网络的bp神经网络方式对频谱进行分类,最后对每类频谱进行傅里叶反变换得到时域信号,短时傅里叶变换和bp神经网络相结合的方式使得信号的重构更加精准,得到的时域信号更加接近源信号。
13.本发明通通过使用短时傅里叶变换和bp神经网络分类方式增加了算法的鲁棒性,使得其频域盲源分离性能更好,保证了后续的信号解调过程的有效性。本发明有效实现了信号的频域盲源分离。
附图说明
14.图1是本发明的具体流程图。
15.图2是频域盲源分离中存在的局限性问题描述图。
16.图3是本发明的具体模块功能流程图。
17.图4是实施例1中用到的信源的时域图像,为2fsk、4fsk、2psk、4psk这四个信号放大后的细节图。
具体实施方式
18.为了使本发明的目的、技术方案及优点更加清楚明白,以下将结合附图和实施例,对本发明作进一步详细说明。
19.实施例1:在盲源分离的卷积混合模型中,由于在时域的分离过程需要卷积操作,因此将信号变换到频域来分离,但是由于频域盲源分离在重构信号时存在频谱排序问题,导致重构的时域信号不准确,也就是说不同的时域信号可能其对应的频谱是相同的,如图2所示,图2中上下两个图的频谱相同,但是时域信号却不同。目前常用的信号频域分离方法存在一定的缺陷和不足。其中快速傅里叶变换(fast fourier transform,fft)方法本身存在不包含时域信息的缺陷,从而导致在频谱重构时得到的时域信号不准确,尤其是对调频信号来说。短时傅里叶变换(short

time fourier transform,stft)虽然能够保留时频信息,但是由于其滑动窗口是固定长度的从而得到的频谱分辨率不高,存在一定的局限性。为了克服这个问题,首先利用短时傅里叶变换的时频特性,在变换到频域的同时保留时间信息,且短时傅里叶变换具有自适应性,能够自适应调整滑动窗口从而使频谱具有更高的分辨率,然后利用bp神经网络对频谱分类,对每一类频谱利用傅里叶反变换得到时域信号为最后的分离信号。如何科学有效地实现频域信号的盲源分离,得到精确的分离信号,是本实施例要解决的技术问题。
20.本实施例提出了一种基于短时傅里叶变换和bp神经网络的频域盲源分离算法,算法具体流程如图1所示,算法模块框图如图3所示。
21.本实施例提出了一种基于短时傅里叶变换和bp神经网络的频域盲源分离算法,以声信号为例,进行仿真实验,选择六种调制方式的信号为源信号,如图4所示,六种调制方式分别为:2ask、4ask、2psk、4psk、2fsk、4fsk,本实施例包括以下步骤:
s1:仿真几种不同调制方式的信号来训练bp神经网络,具体步骤如下:s1

1: 仿真几种不同调制方式的时域信号作为发送端的时域源信号,将时域源信号变换到频域得到信号频谱;s1

2:提取频谱的多种特征,如:二阶矩、四阶矩、六阶矩、波动系数、方差、幅度熵、均差熵、能量熵、零中心归一化瞬时谱密度的最大值、零中心归一化瞬时幅度绝对值的标准偏差、谱的绝对值的方差等;s1

3:将每种频谱特征按照70%和30%分为训练集和测试集来训练并测试bp神经网络分类性能,分类性能比较好的特征留下用来生成特征矩阵,差的特征舍弃,bp神经网络的训练步骤如下:步骤1:网络初始化。根据系统输入输出序列确定网络输入层节点数n、隐含层节点数,输出层节点数m,初始化输入层、隐含层和输出层神经元之间的连接权值和,初始化隐含层阈值a,输出层阈值b,给定学习速率和神经元激励函数;步骤2:隐含层输出计算。根据输入变量x,输入层和隐含层连接权值以及隐含层阈值a,计算隐含层输出h:式中,为隐含层节点数,f为隐含层激励函数,该函数有多种表达形式。在本发明中使用sigmoid函数:步骤3:输出层计算。根据隐含层输出h,连接权重和阈值b,计算bp神经网络预测输出o:步骤4:误差计算。根据网络预测输出o和期望输出y,计算网络预测误差e:步骤5:权值更新。根据网络预测误差e更新网络连接权值和:步骤6:阈值更新。根据网络预测误差e更新节点阈值a,b:
步骤7:判断算法迭代是否结束,若没有结束,返回步骤2。
22.s1

4:利用特征矩阵训练和测试神经网络,得到的数据如表1所示;表1是本发明实施例1中的信号单个特征训练的bp神经网络的分类准确率表中,加粗特征为分类准确率比较高的几个特征,选取这几个特征训练bp神经网络作为最终的神经网络分类器,其余特征舍弃;s2:将s1仿真生成的时域源信号进行卷积混合;s3:对接收信号进行短时傅里叶变换,得到信号的时频信息;s4:对s3得到的信号,利用基于峰度最大化的ica算法在频域对信号进行分离,得到分离后的频域信号:s4

1: 利用峰度最大化ica算法在频域进行信号分离,具体步骤为:(1)随机生成分离矩阵w,w是n
×
m维的矩阵,m为信号接收端接收器的数目,n为分离信号的数目,每个接收器看作一路接收信号;(2)利用w对信号进行分离,得到频域分离信号;(3)求分离信号的峰度k,具体公式为:(4)利用梯度下降法求解最佳分离矩阵;(5)利用最佳分离矩阵分离信号;具体算法流程为:峰度最大化ica盲源分离算法1: 初始化:选取初始值,随机产生初始分离矩阵;2. 将分离矩阵代入求分离信号的公式得到分离信号作为初始点;3. 利用最速下降法求解最佳分离矩阵,具体步骤为:

选定初始点,,给定精度要求。
23.②
计算,若,则停止,否则令;

计算迭代步长;

在处沿方向作线性搜索得,返回

4. 记录当前最优解5. 矩阵最小失真处理,6. 矩阵归一化处理,output:分离信号 。
24.s5:提取信号的多个特征,利用bp神经网络对信号频谱分类,具体步骤如下:s5

1:提取信号的多个特征:提取频谱的多个特征作为bp神经网络分类器的多维输入矩阵;s5

2:利用bp神经网络对信号频谱分类,具体步骤为:(1)对特征数据进行标准化,通常是进行归一化;(2)将特征输入s1训练的bp神经网络,实现频谱的分类;最后得到的相同类别的频谱来自于同一个时域信号,类别的数目n为分离后信号的数目n;s6:对分类后的频谱按照类别分别进行傅里叶反变换得到分离后的各个时域信号。
25.本实施例针对频域盲源分离中的频谱重构不准确的问题,利用短时傅里叶变换的方法对接收信号进行时频分析,同时保留了信号的时间和频谱信息,然后利用bp神经网络的bp神经网络方式对频谱进行分类,最后对每类频谱进行傅里叶反变换得到时域信号,短时傅里叶变换和bp神经网络相结合的方式使得信号的重构更加精准,得到的时域信号更加接近源信号。
26.本实施例通过利用短时傅里叶变换实现信号的时频分析,克服了傅里叶变换的局限性,通过提取信号频域特征,利用bp神经网络分类器模型对分离信号的频谱分类,解决了频域盲源分离的信号排序问题,实现了频域的盲源分离。通过使用短时傅里叶变换和bp神经网络分类方式增加了算法的鲁棒性,使得其频域盲源分离性能更好,保证了后续的信号解调过程的有效性。
27.本发明通过利用短时傅里叶变换实现信号的时频分析,克服了傅里叶变换的局限性,通过提取信号频域特征,利用bp神经网络分类器模型对分离信号的频谱分类,解决了频域盲源分离的信号排序问题,实现了频域的盲源分离。通过使用短时傅里叶变换和bp神经网络分类方式增加了算法的鲁棒性,使得其频域盲源分离性能更好,保证了后续的信号解调过程的有效性。
28.以上所述之实施例子只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。