基于FFT奇异值分解的光谱信号去噪算法
朱红求1, 程菲1, 胡浩南1, 周灿1,2,*, 李勇刚1
1.中南大学自动化学院, 湖南 长沙 410083
2.高性能复杂制造国家重点实验室, 湖南 长沙 410083
*通讯作者 e-mail: zhoucan@csu.edu.cn

作者简介: 朱红求, 1970年生, 中南大学自动化学院教授 e-mail: hqcsu@csu.edu.cn

摘要

微型光谱仪在采集光谱信号过程中, 光谱数据经常受到来自仪器光学系统和电子电路中的干扰出现噪声和光源特征峰, 严重干扰了真实光谱信号的图谱特征, 因此需要使用合理的预处理方法保留光谱信号中有用信号并尽可能过滤噪声信号同时将光源特征峰滤除, 从而提高光谱信息定量分析的稳健性和准确性。 并且在线检测系统要求尽可能减少人为参数选择对去噪效果的影响, 奇异值分解经常应用于由系统电路引起的噪声去噪, 奇异值降噪阶次的选取对提高信号信噪比十分关键, 但是往往参数选取主要依赖经验调试和实验验证。 因此, 提出了一种基于奇异值重构信号分量频率的光谱信号去噪算法。 该算法首先重构原始光谱信号单个奇异值分量信号, 然后对每个奇异值分量信号作快速傅里叶变换, 得到每个奇异值分量信号快速傅里叶变换结果中振幅最大所对应的频率值, 最后按照奇异值递减方式对相应分量信号频率值进行一阶滞后差分, 得到频率差分谱, 研究表明, 差分谱第一个谱峰值在大于设定阈值处所对应的奇异值即为奇异值分解降噪的有效阶次。 结果表明: 对包含多种重金属离子的溶液在线测量的紫外可见光谱信号, 添加不同强度的随机噪声, 并进行去噪处理, 使用信噪比和均方根误差两个性能指标进行对比。 所提算法相较于SG滤波算法和小波变换去噪算法信噪比分别提高了22.05%, 10.88%, 均方根误差分别降低了74.28%, 41.29%。 所提算法完全基于数据驱动, 在处理真实紫外可见光谱信号中不仅抑制了噪声影响, 而且将微型光谱仪的光源特征峰有效滤除, 在紫外可见光谱信号的定量分析中具有较好的应用前景。

关键词: 奇异值分解; FFT; 光谱去噪; 有效阶次; 谱峰
中图分类号:TH744 文献标志码:A
Denoising Algorithm of Spectral Signal Based on FFT SVD
ZHU Hong-qiu1, CHENG Fei1, HU Hao-nan1, ZHOU Can1,2,*, LI Yong-gang1
1. School of Automation, Central South University, Changsha 410083, China
2. The State Key Laboratory of High Performance Complex Manufacturing, Changsha 410083, China
*Corresponding author
Abstract

In the process of collecting spectrum signals, the spectrum data is often interfered with by the optical system and electronic circuit of the instrument, which results in noise and characteristic peaks of the light source, and seriously interferes with the spectrum characteristic of the real spectrum signal. Therefore, it is necessary to use a reasonable preprocessing method to retain the useful signal in the spectrum signal, filter the noise signal as much as possible and filter the light source characteristic peak to improve the robustness and accuracy of the quantitative analysis of spectral information. Spectrum online detection system requires minimizing the influence of human parameter selection on the denoising effect. Singular value decomposition (SVD) is often applied to the denoising caused by the system circuit. The selection of the order of singular value denoising is very important to improve the signal-to-noise ratio. However, the selection of parameters mainly depends on empirical debugging and experimental verification. Therefore, this paper proposes a spectral signal denoising algorithm based on singular value reconstruction of signal component frequency. The algorithm firstly reconstructs the single singular value component signal of the original spectral signal. Then, the Fast Fourier Transform (FFT) of each singular value component signal is performed to obtain the frequency value corresponding to the maximum amplitude of each signal. Finally, according to the singular value decreasing mode, the first-order hysteresis difference of the corresponding component signal frequency value is carried out, and the frequency difference spectrum is obtained. The results show that the first peak value of the difference spectrum is the effective order of singular value decomposition denoising. Random noise of different intensity is added to the UV-Visible spectrum signal measured online of a solution containing a variety of metals, and the signal to noise ratio and root mean square error are compared. The results show that the proposed algorithm’s signal-to-noise ratio and root mean square error are 22.05%, 10.88% and 74.28%, 41.29% higher than those of SG filter and wavelet transform respectively. The proposed algorithm is fully data driven, which not only suppresses the noise effect in processing the real UV-Vis spectrum signal, but also effectively filters out the characteristic peak of the light source of the micro spectrometer, so it has a good application prospect in the quantitative analysis of UV-Vis spectrum signal.

Keyword: Singular value decomposition; Fast Fourier transform; Spectral denoising; Effective order; Spectral peak
引言

微型光谱仪是由光源、 测量附件和光纤构建的光学测量系统[1], 其具有模块化和高速采集的特点。 微型光谱仪在采集光谱数据时, 特别容易受到电子元件组成电路噪声的影响, 比如, 暗电流散粒噪声、 光子散粒噪声、 复位噪声、 读出噪声等等[2]。 噪声在光谱信号采集、 信号调理、 传输过程中逐步渗透到真实光谱信号中, 并且会在一定波长处出现光源特征峰, 这无疑会对后期的数据分析产生巨大的影响。 为提高信号信噪比和还原真实光谱信号图谱特征[3], 在将采集到的光谱数据进行模型预测之前, 对光谱信号进行预处理, 从而提高光谱信息定量分析的稳健性和准确性显得尤为重要。

到目前为止, 对光谱数据降噪, 国内外众多研究者已经进行了大量的研究工作, 有自适应滤波算法[4]、 SG平滑滤波[5]和小波变换[6]等, 但是不同的去噪算法仍然具有各自的局限性, 尤其是传统的去噪算法会将光谱信号中具有图谱特征的突变细节滤除或者信号容易出现延时和失真。 奇异值分解[7](singular value decomposition, SVD)具有无延时、 相移小等特点, 并且选取到合适的奇异值分解的阶次可以使光谱信号的图谱特征得到很好地保留。 张莹等提出用峭度和包络熵指标构成综合评价指标对重构矩阵的秩进行优化, 根据综合评价指标值最优确定信号重构的阶次[8], 赵学智等提出了基于差分谱理论来确定有用分量的个数[9], 代荡荡等[10]利用模糊C均值聚类算法对奇异值降噪阶次选取进行了改进, 但是上述的量化判据方法在处理多重金属离子紫外可见光谱信号时容易导致选取的奇异值降噪阶次偏小而过降噪。 Zheng等提出了一种多级奇异值分解降噪算法[11], 该判据方法对多重金属离子紫外可见光谱信号处理后仍保留部分噪声, 导致去噪性能欠佳。

为此, 本文提出了一种基于奇异值重构信号分量频率的光谱信号去噪算法。 本算法根据每个奇异值分量信号快速傅里叶变换结果中振幅最大所对应的频率值, 然后按照奇异值递减方式对相应分量信号频率值进行一阶滞后差分, 得到频率差分谱。 选择差分谱第一个谱峰值大于设定阈值处所对应的奇异值即为奇异值分解降噪的有效阶次。

1 奇异值分解去噪

假设有含噪信号X=(x1, x2, …, xN), 其中原始信号S=(s1, s2, …, sN), 噪声信号V=(v1, v2, …, vN), N为信号的长度, 并且满足

X=S+V(1)

按照式(2)将含噪信号X构造成m× n(mn)的Hankel矩阵

Hm×n=x1x2xnx2x3xn+1xmxm+1xN(2)

其中1< n< N, m为嵌入维数, 并且满足m+n-1=N

将得到的Hankel矩阵进行奇异值分解

H=VT(3)

其中, U=(u1, u2, …, um)∈ Rm× m, V=(v1, v2, …, vm)∈ Rn× n均为正交矩阵, Σ m× n维矩阵。

Σ=Λ000(4)

其中Λ =diag(σ 1, σ 2, …, σ r), 并且σ 1σ 2≥ …≥ σ r, σ i为矩阵H的奇异值, r为Hankel矩阵的秩, 0为零矩阵。

奇异值分解降噪的原理是通过取矩阵Λ 的前k(k< r)个有效奇异值, 并将剩余奇异值(r-k)个置为零, 然后根据奇异值分解的逆过程求出重构矩阵, 最后将矩阵反演转化为一维信号, 即为去噪信号。

2 奇异值分解阶次选取方法的研究

为保证信号去除噪声的同时, 尽可能的保留信号的图谱特征, 本文提出了一种新的有效的奇异值分解阶次选取的算法。

根据式(2), 式(3)和式(4)得到信号X的奇异值分步Λ =diag(σ 1, σ 2, …, σ r), 对Λ 分别执行只保留其中一个σ i, 并将其余的奇异值都置零, 即Λ 'i=diag(0, …, σ i, …, 0), 可以得到式(5)

Σ'i=Λ'i000(5)

H'i='iVT(6)

通过式(6)可以得到r个奇异值中的每一个奇异值σ i所对应的H'i, 然后通过构造Hankel矩阵的方法反演求得相应奇异值σ i对应的信号X的分量信号Xi, 信号的特征分量都隐藏在这些分量中, 由于前k个奇异值分量信号代表真实信号, 后r-k个奇异值分量信号代表噪声, 将r个新光谱信号的分量信号进行快速傅里叶变换, 并分别从变换结果中获取振幅最大对应的频率值, 再按照奇异值递减方法对应的频率值进行一阶滞后差分得到主频差分谱。 记录主频差分谱中第一个不小于预设差分阈值的主频差分值的位置k, 按照奇异值递减的方式将前k个奇异值保留。

步骤1: 对信号X进行奇异值分解, 得到奇异值Λ =diag(σ 1, σ 2, …, σ r), 对Λ 分别执行只保留其中一个σ i, 并将其余的奇异值都置零, 即Λ 'i=diag(0, …, σ i, …, 0);

步骤2: 通过式(6)可以得到每一个奇异值σ i所对应的H'i, 然后通过构造Hankel矩阵的方法反演求得相应奇异值σ i对应的信号X的分量信号Xi

步骤3: 将步骤2中得到的r个分量信号分别作快速傅里叶变换, 即可得到每个信号分量快速傅里叶变换结果中振幅最大所对应的频率值。

步骤4: 按照奇异值递减方式对相应分量信号频率值进行一阶滞后差分, 得到主频差分谱, 选择差分谱第一个谱峰值大于所设阈值(预设差分阈值范围为[30, 50])所对应的奇异值作为奇异值分解降噪的有效阶次。

步骤5: 根据步骤4所得到的有效阶次, 再将剩余奇异值置零, 再反演重构得到去噪后的光谱信号。

3 实验结果与讨论

以湿法炼锌为背景, 配置Zn2+, Co2+, Cu2+和Fe3+浓度分别为33 g· L-1, 4 mg· L-1, 12 mg· L-1和6 mg· L-1的混合标准溶液, 使用北京普析通用仪器的T9双光束紫外可见分光光度计, 扫描波长为0.5 nm, 扫描范围为480~800 nm, 混合溶液的实测紫外可见光谱信号如图1所示。 为了验证本文算法对紫外可见光谱信号的去噪的优越性和有效性, 我们对实测紫外可见光谱信号添加不同强度的随机噪声, 得到信噪比在[12.4, 32.4]区间内的仿真信号, 单位为dB, 仿真数据总样本量为55, 其中图2为信噪比为20 dB的含噪仿真光谱信号。

图1 原始光谱信号Fig.1 Original spectral signal

图2 信噪比为20 dB的含噪仿真光谱信号Fig.2 Simulation spectral signal with noise ratio of 20 dB

将图2信号构造为m× n的Hankel矩阵, 其中m的取值为320, n的取值为321。 将其SVD, 在对前8个奇异值反演求得相应奇异值分量信号, 如图3、 图4所示。

图3 信噪比为20 dB含噪信号前4个奇异值分量信号分布图Fig.3 Signal distribution diagram of the first four singular value components of noisy signal with signal-to-noise ratio of 20 dB

图4 信噪比为20 dB含噪信号第5至8个奇异值分量信号分布图Fig.4 Signal to noise ratio is 20 dB, the fifth to eighth singular value component signal distribution diagram of noisy signal

由于每一个奇异值分量信号都具有原始噪声信号的特征, 并且前k个奇异值分量信号之和代表着理想真实信号, 从图2和图3中我们发现, 当随着奇异值的增大, 奇异值分量信号的频率会有一个突变, 相较于平稳变化点而言, 突变点往往携带了更重要信息, 对于选择奇异值阶次, 第一个较大突变点需要格外关注, 这时我们可以认为频率突变点前k个奇异值即为我们需要选取的奇异值分解的阶次。

对前50个奇异值分量信号分别作快速傅里叶变换, 即可得到每个信号分量快速傅里叶变换结果中振幅最大所对应的频率值, 然后按照奇异值递减方式对相应分量信号频率值进行一阶滞后差分, 得到主频差分谱, 选择差分谱第一个谱峰值大于50所对应的奇异值作为奇异值分解降噪的有效阶次。 如图4所示, 我们选取前50个奇异值分量信号主频差分谱。

从图5中我们发现差分谱第一个谱峰值大于所设阈值50所对应的奇异值在第6个, 因此该仿真含噪信号奇异值分解降噪的有效阶次为6。

图5 前50个奇异值分量信号主频差分谱Fig.5 Main frequency difference spectrum of the first 50 singular value component signals

为了进一步验证本文所提奇异值分解降噪算法的有效性, 我们选择奇异值差分谱算法、 小波去噪算法、 SG滤波算法同本文所提算法在提高信号信噪比和减少信号均方根误差性能方面作了对比分析, 其中SG去噪算法窗口宽度选择9, 多项式拟合次数选择2次, 小波去噪算法选择“ db4” 作为小波基函数, 同时进行4层分解。 选择50组不同信噪比的仿真数据对比, 本文所提算法相较于SG滤波算法和小波变换去噪算法信噪比分别提高了22.05%, 10.88%, 均方根误差分别降低了74.28%, 41.29%, 而奇异值差分谱算法对部分信噪比的紫外可见光谱信号并无明显去噪能力, 对比结果如图6和图7所示。

图6 不同算法去噪后的信噪比Fig.6 SNR after denoising by different algorithms

图7 不同算法去噪后的均方根误差Fig.7 Root mean square error after denoising by different algorithms

为进一步验证本文算法对真实紫外可见光谱信号的去噪能力, 以湿法炼锌为背景, 配置Zn2+, Co2+, Cu2+, Fe3+和Ni2+浓度分别为33 g· L-1, 1 mg· L-1, 1.2 mg· L-1, 1 mg· L-1和1.4 mg· L-1的混合标准溶液, 使用厦门奥谱天成微型光谱仪扫描波长为0.4 nm, 扫描范围为480~800 nm, 混合溶液的实测紫外可见光谱信号如图8所示。

图8 实测光谱信号Fig.8 Measured spectral signal

如图9—12所示, 通过观察虚线框中的去噪后的信号, 本文算法不仅有效地去除了噪声并且将光源特征峰干扰信号

图9 本文算法对实测光谱信号降噪效果Fig.9 The denoising results of the simulation data with the algorithm in this paper

图10 奇异值差分谱算法对实测光谱信号降噪效果Fig.10 The denoising results of the simulation data with the singular value difference spectrum algorithm

图11 SG滤波算法对实测光谱信号降噪效果Fig.11 The denoising results of the simulation data with the SG filtering algorithm

图12 小波变换去噪算法对实测光谱信号降噪效果Fig.12 The denoising results of the simulation data with the denoising algorithm of wavelet transform

基本滤除, 而奇异值差分谱算法得到的去噪后信号发生失真, SG滤波算法和小波变换去噪算法虽然可以起到信号平滑作用, 但是也未能将光源特征峰干扰信号滤除, 在一定程度影响光谱信号定量分析的精确性。

4 结论

提出了一种基于奇异值重构信号分量频率的光谱信号去噪算法。 本算法根据每个奇异值分量信号快速傅里叶变换结果中振幅最大所对应的频率值, 然后按照奇异值递减方式对相应分量信号频率值进行一阶滞后差分, 得到频率差分谱。 选择差分谱第一个谱峰值大于设定阈值处所对应的奇异值即为奇异值分解降噪的有效阶次。 最后通过对比表明, 本文所提算法相较于奇异值差分谱算法、 SG滤波算法和小波变换去噪算法在处理真实紫外可见光谱信号中不仅抑制了噪声影响, 能更好提高信号的信噪比和减小均方根误差, 而且将微型光谱仪的光源特征峰有效滤除, 在紫外可见光谱信号的定量分析中具有较好的应用前景。

参考文献
[1] Wu Y T, Yang C E, Ko C H, et al. Chemical Engineering Journal, 2020, 393: 124700. [本文引用:1]
[2] XIA Guo, HUANG Chan, WU Su, et al(夏果, 黄禅, 吴骕, ). Acta Optica Sinica(光学学报), 2017, 37(1): 0112001. [本文引用:1]
[3] Quan X, Liu H, Lu Z, et al. Optics Communications, 2016, 359: 95. [本文引用:1]
[4] Kim D W, Hur J W, Park P G. Applied Acoustics, 2020, 158: 107031. [本文引用:1]
[5] GUO Yun-peng, ZHANG Gong, HOU Zhi-cheng, et al(郭云鹏, 张弓, 侯至丞, ). Process Automation Instrumentation(自动化仪表), 2019, 40(2): 30. [本文引用:1]
[6] Dai X, Cheng L Z, Mareschal J C, et al. Journal of Applied Geophysics, 2019, 168: 41. [本文引用:]
[7] Tănăsescu A, Popescu P G. Journal of Computational Science, 2019, 31: 1. [本文引用:]
[8] ZHANG Ying, YIN Hong, PENG Zhen-rui(张莹, 殷红, 彭珍瑞). Noise and Vibration Control(噪声与振动控制), 2020, 40(1): 51. [本文引用:]
[9] ZHAO Xue-zhi, YE Bang-yan, CHEN Tong-jian(赵学智, 叶邦彦, 陈统坚). Journal of Mechanical Engineering(机械工程学报), 2010, 46(1): 100. [本文引用:]
[10] DAI Dang-dang, WANG Xian-pei, ZHAO Yu, et al(代荡荡, 王先培, 赵宇, ). Spectroscopy and Spectral Analysis(光谱学与光谱分析), 2016, 36(7): 2139. [本文引用:]
[11] Zheng Y, Guo X, Jiang H, et al. Biomedical Signal Processing and Control, 2017, 38: 34. [本文引用:]