Effacer les filtres
Effacer les filtres

how to use the hanning window to smooth the photon signal

15 vues (au cours des 30 derniers jours)
yuxuan
yuxuan le 19 Fév 2024
Commenté : Star Strider le 20 Fév 2024
windowLength = 91;
hannWindow = hann(windowLength);
smooth_data = conv2(data, hannWindow, 'same');
is the code correct? Because when i increase the windowlength, the smooth_data will increase as well

Réponses (2)

Alexander
Alexander le 19 Fév 2024
I can't see this effect you mentioned. smooth_data remains the same size as data (I assume data = Photoncounts1). What do you expect? I never used windowing in the manner you have done it in the code above. Usually I multiplied the data with the window (or parts of the window) in the time domain to get rid of the step function and having a clear transient effect before a fft. Just an example:
clear;
N = 1024;
x = 0:N-1;
Whann = hann(N)';
y = rand(1,N); % Create some data
subplot(211);
plot(x,y);title('Original');grid minor;
subplot(212);
plot(x,y.*Whann);title('Windowed');grid minor;
  3 commentaires
Alexander
Alexander le 20 Fév 2024
Once again: A hann window is not made for smoothing data, but to minimize the effect of a rectangular function (start of measurement <-> end of measurement) in the time domain. If your signal is time domain data, use a filter.
yuxuan
yuxuan le 20 Fév 2024
The following sentences are what i found in eassys about using hanning window to smooth data:
'vertically smoothed by a running Hanning window with FWHM width of 2 or 1 km'
'smoothed by sliding a 2‐km full width at half maximum (FWHM) Hanning window in the vertical direction in the temperature retrieval process '
'The smoothing of the signal plus background is by a Hanning filter with a 2-km FWHM window'

Connectez-vous pour commenter.


Star Strider
Star Strider le 19 Fév 2024
That appears to be some sort of spectrum. I am not certain what you want to do with it, however windowing it is not likely to produce any benefit at this point.
load('photon.mat')
% whos
figure
stairs(Photoncounts1)
grid
xlabel('Bin (?) Frequency (?)')
ylabel('Counts')
title('Photons')
xlim([0 600])
If this is a Fourier transform, the time to window the data was before calculating the transform.
.
  6 commentaires
yuxuan
yuxuan le 20 Fév 2024
I appreciate your answers, i will try
Star Strider
Star Strider le 20 Fév 2024
Thank you!

Connectez-vous pour commenter.

Produits


Version

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by