Smoothing The Data and Find Major Peaks

By | January 15, 2021
1,289 Views

Sinopsis

Smoothing The Data and Find Major Peaks – Latar belakang tulisan ini dibuat ketika Penulis menjumpai sebuah plot data tidak semulus yang dibayangkan yaitu  Projected Integral Image. Data yang secara real didapatkan akan banyak terdapat beberapa gangguan sehingga plot data tersebut tidak semulus apa yang kita harapkan, oleh hal tersebut, maka diperlukan beberapa hal kecil untuk mengubahnya agar lebih smooth. Sebuah plot grafik terkadang dijumpai dalam kondisi yang noise / bergerigi seperti berikut:

Bila dilihat sekilas, maka banyak ‘gerigi’ atau noise yang cukup mengganggu agar bisa dihilangkan, sehingga find peak dapat ditentukan dengan lebih akurat.

Bila dibandingkan dengan data tersebut di ‘smooth’ menggunakan operasi konvolusi berikut ini

Maka hasilnya akan terlihat lebih ‘clear’ serta pencarian peak menjadi lebih presisi, jika kalian ingin mencoba operasi diatas menggunakan kernel gaussian. Kalian bisa menggunakan kode berikut

clc;clear all;close all;
data = load('data.txt');
g = gausswin(30); % <-- this value determines the width of the smoothing window
g = g/sum(g);
data2 = conv(data, g, 'same');
[pks,locs] = findpeaks(data2,1:length(data2),'MinPeakDistance',20,'MinPeakWidth',10);
 
figure()
plot(data2);
xlabel('x','fontsize',18);
xticks([0:50:length(data)+100])
xtickangle(45)
yticks([]);
grid on;
title('Data Sinyal')
hold on;
text(locs+.02,pks,num2str((1:numel(pks))'))

Bagaimana menurut kalian mengenai Smoothing The Data and Find Major Peaks