View full-text article in PMC PeerJ Comput Sci. 2024 Feb 20;10:e1852. doi: 10.7717/peerj-cs.1852 Search in PMC Search in PubMed View in NLM Catalog Add to search Copyright and License information © 2024 Akşehir and Kılıç This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, reproduction and adaptation in any medium and for any purpose provided that it is properly attributed. For attribution, the original author(s), title, publication source (PeerJ Computer Science) and either DOI or URL of the article must be cited. PMC Copyright notice Algorithm 3. 2LE-CEEMDAN denoising method. Input: Timeseriesdata IMFs:[IMF0,IMF1,...,IMFk−1]← k IMFs obtained with CEEMDAN() (Algorithm 1) procedure SELECTION_IMF(IMFs) sample_entropy_list=[] approximate_entropy_list=[] for imf in IMFs do sample_entropy_list.append(SampEn(imf)) approximate_entropy_list.append(ApEn(imf)) total_SampEn=sum(sample_entropy_list) total_ApEn=sum(approximate_entropy_list) sample_entropy_ratio = [entropy*100total_SampEnfor entropy in sample entropy list] approximate_entropy_ratio = [entropy*100total_ApEn for entropy in approximate entropy list] end for noisy_imfs=[] noiseless_imfs=[] for i in range(len(IMFs)) do if sample_entropy_ratio[i]>20 approximate_entropy_ratio[i]>20 then noisy_imfs.append(IMFs[i]) else noiseless_imfs.append(IMFs[i]) end if end for return noisy_imfs, noiseless_imfs end procedure First_IMFs=CEEMDAN(Input) First_decomposition_noisy_IMF,First_decomposition_noiseless_IMF=Selection_IMF(First_IMFs) noisly_First_IMFs_sum=sum(First_decomposition_noisy_IMF) Second_IMFs=CEEMDAN(noisly_First_IMFs_sum) Second_decomposition_noisy_IMF,Second_decomposition_noiseless_IMF=Selection_IMF(Second_IMFs)