2015-12-07 9 views
3

Я новичок в цифровой обработке сигналов. У меня есть образец данных датчика следующиеВычислить энергию данных во временной области

Time(milliseconds)   data 
------------------ ------------------- 
0      0.30865225195884705 
60     0.14355185627937317 
100     -0.16846869885921478 
156     -0.2458019256591797  
198     -0.19664153456687927 
258     0.27148059010505676 
305     -0.16949564218521118 
350     -0.227480947971344 
397     0.23532353341579437 
458     0.20740140974521637 

что означает, во время 0 у меня значение 0.30865225195884705 и в то время 60 у меня есть значение 0.14355185627937317 и так далее.

Данные берутся с датчика при каждом 10 milliseconds. Итак, я предполагаю, что частота дискретизации должна быть установлена ​​равной 100 Hz.

Я хочу рассчитать полную энергию сигнала временной области.

Я читал, что это может быть вычислен с помощью теоремы Парсеваля следующим образом:

enter image description here

где X[k] является DFT из x[n], обе длины N.

Любое предложение, как я могу рассчитать общую энергию, используя MATLAB?

ответ

3

Теорема Парсеваля полезна для связывания энергии во временной области с частотной областью. Однако, если вам не нужно выполнять другие вычисления в частотной области, можно вычислить энергию непосредственно во временной области с:

Energy = sum(abs(x).^2) 

Если с другой стороны, вам необходимо преобразовать сигнал с частотой домен по другим причинам, вы можете также вычислить энергию (согласно теореме Парсеваля):

Xf = fft(x); % compute the DFT (using the Fast Fourier Transform) 
Energy = sum(abs(Xf).^2)/length(Xf); % Get the energy using Parseval's theorem 
+0

Мне нужно преобразовать его в частотную область – danishjo

+0

Спасибо. мне нужен столбец «Время» данных датчика? – danishjo

+0

Помимо подтверждения того, что вы регулярно получаете данные, и чтобы получить частоту дискретизации (которая необходима для согласования между ячейками DFT и частотой в Гц), на самом деле. – SleuthEye

2

теоремы замкнутости и анализ ДПФА относятся только к ограниченной полосе пропускания данных выборочных с регулярными равными промежутками (постоянная частотой дискретизации выше Fmax * 2). Поскольку ваши метки времени не расположены на регулярной основе, вам нужно будет использовать их для интерполяции вектора новых равномерно распределенных выборок, прежде чем вы сможете рассчитать энергию, используя уравнение Парсеваля. Или вам придется делать численное интегрирование вместо простого суммирования.

+0

Я понял проблему. Спасибо. Есть ли какой-либо метод или реализация, чтобы я мог создавать равномерно распределенные данные из данных моего сенсора? – danishjo