【信号去噪】基于稀疏性 (BEADS) 实现色谱基线估计和去噪附matlab代码和论文

1 简介

This paper jointly addresses the problems of chromatogram baseline correction and noise reduction. The proposed approach is based on modeling the series of chromatogram peaks as sparse with sparse derivatives, and on modeling the baseline as a low-pass signal. A convex optimization problem is formulated so as to encapsulate these non-parametric models. To account for the positivity of chromatogram peaks, an asymmetric penalty function is utilized. A robust, computationally effificient, iterative algorithm is developed that is guaranteed to converge to the unique optimal solution. The approach, termed Baseline Estimation and Denoising With Sparsity (BEADS), is evaluated and compared with two state-of-the-art methods using both simulated and real chromatogram data.

2 部分代码

%% Example: Chromatograms BEADS (Baseline Estimation And Denoising with Sparsity)%% This example illustrates the use of BEADS to estimate and remove the% baseline of chromatogram series.%% Reference:% 'BEADS: Joint baseline estimation and denoising of chromatograms using% sparse derivatives'%% Xiaoran Ning, Ivan Selesnick,% Polytechnic School of Engineering, New York University, Brooklyn, NY, USA%% Laurent Duval,% IFP Energies nouvelles, Technology Division, Rueil-Malmaison, France,% Universite Paris-Est, LIGM, ESIEE Paris, France%% 2014%% Startclear alladdpath dataload data/noise.mat;load data/chromatograms.mat;whos%% Load data% Load data and add noise.y = X(:, 3) + noise * 0.5;N = length(y);%% Run the BEADS algorithm% Filter parametersfc = 0.006;     % fc : cut-off frequency (cycles/sample)d = 1;          % d : filter order parameter (d = 1 or 2)% Positivity bias (peaks are positive)r = 6;          % r : asymmetry parameter% Regularization parametersamp = 0.8;      lam0 = 0.5*amp;lam1 = 5*amp;lam2 = 4*amp;tic[x1, f1, cost] = beads(y, d, fc, r, lam0, lam1, lam2);toc%% Display the output of BEADSylim1 = [-50 200];xlim1 = [0 3800];figure(1)clfsubplot(4, 1, 1)plot(y)title('Data')xlim(xlim1)ylim(ylim1)set(gca,'ytick', ylim1)subplot(4, 1, 2)plot(y,'color', [1 1 1]*0.7)line(1:N, f1, 'LineWidth', 1)legend('Data', 'Baseline')legend boxofftitle(['Baseline, as estimated by BEADS', ' (r = ', num2str(r), ', fc = ', num2str(fc), ', d = ', num2str(d),')'])xlim(xlim1)ylim(ylim1)set(gca,'ytick', ylim1)subplot(4, 1, 3)plot(x1)title('Baseline-corrected data')xlim(xlim1)ylim(ylim1)set(gca,'ytick', ylim1)subplot(4, 1, 4)plot(y - x1 - f1)title('Residual')xlim(xlim1)ylim(ylim1)set(gca,'ytick', ylim1)orient tallprint -dpdf example%% Display cost function historyfigure(2)clfplot(cost)xlabel('iteration number')ylabel('Cost function value')title('Cost function history')

3 仿真结果

4 参考文献

[1] A X N ,  A I W S ,  C L D B . Chromatogram baseline estimation and denoising using sparsity (BEADS)[J]. Chemometrics and Intelligent Laboratory Systems, 2014, 139(139):156-167.​

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值