У меня есть список с 1000 показаниями датчиков (частота дискретизации = 10 Гц):
sensor = [100,100,200,...,100]
Мне нужно получить спектральный анализ подмножеств этого списка с помощью оконной функции (то есть окна Кайзера).
Итак, я хочу получить список, в котором БПФ вычисляется для нескольких субдискретизаторов этих данных (скажем, 100 результатов), с окном смещения из 50 показаний ( перекрытие 25 показаний в каждом пределе) и, таким образом, получение 20 результатов в частотной области.
Затем я хочу применить функцию взвешивания полосы пропускания для 3 полос (скажем, 1-2 Гц, 2-4 Гц, 4-8 Гц).
Конечным результатом должен быть 2D-список, где в первом измерении представлены «полосы», а во втором представлены значения амплитуды (действительная часть) для этой полосы.
bands = [[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],[1,...],[1,...]]
Может кто-нибудь помочь мне?
EDITED: хорошо, давайте разделим проблему:
1) Дан список = [1,2,3,4,5,6,7,8]. Как я могу создать 2D-список такого типа: list2D = [[1,2,3,4], [3,4,5,6], [5,6,7,8]]? Это первая проблема при создании окна смещения.
2) Для каждого элемента (1-е измерение) этого списка 2D: как я могу провести анализ БПФ вместе с оконной функцией (БПФ, которое больше учитывает средние значения)?
3) Как я могу сделать полосовой фильтр для каждого результата БПФ, например, преобразовать дискретные результаты из реальной части спектра в среднее значение для частотного интервала?