其他分享
首页 > 其他分享> > 信号去噪:使用专门设计的神经网络(NN)模型对测量信号进行去噪处理,使信号变得更平滑

信号去噪:使用专门设计的神经网络(NN)模型对测量信号进行去噪处理,使信号变得更平滑

作者:互联网

信号预处理

为了对测量数据进行预处理,构建了一个全连接的前馈 NN 模型以将系统输入(即x 和 t)映射到其输出 u。

图显示了用于去噪的 NN 模型的结构。

它在输入层和输出层之间有五个隐藏层,神经元的数量分别为 50、100、500、100 和 50。该模型使用双曲正切激活函数(即 Tanh 函数)。建立均方误差 (MSE) 损失函数来评估测量和模型输出之间的差异。 Adam 优化器用于训练该模型,学习率设置为 0.001。 epochs 的数量设置为 20000。此外,在 NN 模型训练中采用了提前停止策略,以避免过度拟合。为此,将整个数据集分成训练集和验证集,训练与验证的比率为 80% 到 20%。在早期停止策略中,如果验证损失在 500 个 epoch 内没有连续减少(即耐心 = 500),模型训练将停止。将数据拆分为训练集和验证集并采用早期停止策略可防止 NN 过度拟合噪声分量并损害(而不是改善)信号质量。该预处理期望得到一系列平滑的信号。

Burgers 方程为例

Burgers 方程用于描述耗散系统的动力学。

表达式

初始条件,边界条件

 流体粒子的局部加速度,平流加速度,扩散项,

扩散系数(扩散系数要小得多,因此更难以正确识别。)

为了证明 NN 去噪的效果

        在 Burgers 方程的数值解中添加了 10% 的高斯白噪声,这显着改变了解的值(如图 4(b) 所示),因此对下一步计算数值导数提出了挑战。

        (噪声量化)在这项研究中,噪声水平是通过测量变量的标准偏差的百分比来量化的。例如,如果 10% 的噪声被添加到 u,那么结果是 un = u + 10% ∗ std(u) ∗ randn(size(u)) 其中 std(⋅) 计算标准差,randn(⋅)指定维度的高斯白噪声,size(·) 测量维度。

        在没有太多关于噪声特性的先验知识的情况下,应用 NN 建模对噪声测量值进行去噪,处理后的数据在图 4(c)中可视化。比较图 4 中的三个图,可以观察到 NN 去噪在很大程度上降低了收集数据中的噪声水平(从 10% 到 2%),并使解曲线比噪声测量更平滑。此外,将图 4(c) 与图 4(a) 进行比较,可以观察到,在没有过多牺牲有价值的信号分量的情况下实现了噪声抑制。

因此,NN去噪具有提高后续数值微分精度的潜力。

 

 

 

 

标签:NN,噪声,模型,测量,10%,神经网络,信号
来源: https://blog.csdn.net/XDFLYQ/article/details/123626407