how to use the hanning window to smooth the photon signal
35 ビュー (過去 30 日間)
古いコメントを表示
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
0 件のコメント
回答 (2 件)
Alexander
2024 年 2 月 19 日
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 件のコメント
Alexander
2024 年 2 月 20 日
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.
Star Strider
2024 年 2 月 19 日
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 件のコメント
参考
カテゴリ
Help Center および File Exchange で Filter Design についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!