I have a list with 1000 sensor reading values (sampling rate = 10Hz):
sensor = [100,100,200,...,100]
I need to get the spectral analysis of subsets of this list with a windowing function (i.e a Kaiser window).
So, I want to get a list where the FFT is calculated over multiple sub-samplers of this data (let's say 100 results), with a displacement window of 50 readings (overlapping 25 reading in each limit) and, so, getting 20 results on frequency domain.
Then, I want to apply a bandpass weighting function for 3 bands (let's say 1-2Hz, 2-4Hz, 4-8Hz).
The ending result should be a 2D list, where in the first dimension are the "bands" and in the second one are represented the values of the amplitude (real part) for that band.
bands = [[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],[1,...],[1,...]]
Can anyone help me?
EDITED: ok, let's split the problem:
1) Given a list=[1,2,3,4,5,6,7,8]. How can I create a 2D list of this kind: list2D = [[1,2,3,4],[3,4,5,6],[5,6,7,8]]? This is the first problem to make a displacement window.
2) For each element (1st dimension) of this list2D: how can I make a FFT analysis together with a windowing function (a FFT that takes more into "consideration" the middle values) ?
3) For each FFT result, how can I make a bandpass filter such as the discrete results from the real part of the spectrum are converted into the average value for a frequency interval?