2016-10-19 2 views
0

У меня есть набор данных (x) для спектральной плотности мощности (гауссовский белый шум), и я пытаюсь найти стандартное отклонение от него. Результат выглядит не так, потому что я знаю, что стандартное отклонение должно быть в диапазоне от 5.Расчет стандартного отклонения от спектральной плотности мощности

я использовал ниже код

sd=std(x) 

Data

Благодарности

+0

Этот код работает, моя догадка: ваш knoedge диапазона std неправильный. –

+0

'std (x)' даст вам стандартное отклонение амплитуды спектра. Но похоже, что вы хотите стандартное отклонение сигнала временного ряда. Эти вопросы - вопрос математики/статистики, а не программирующий. – Eric

ответ

2

Возьмите обратное преобразование Фурье, и посмотрите на элемент в нулевое время. Обратите внимание, что это на самом деле просто сумма всех значений (\int{X(w)e^{iwt}}dw | t=0 = \int X(w) dw), с некоторым масштабированием постоянная приложенными, который зависит от того, как вы определили СДП в дискретной частотной области


спектральной плотности мощности, S_xx(w), равно до F{R_xx(tau)}, преобразование Фурье автокорреляции, R_xx(tau) = E[x(t)x(t+tau)].

Поскольку вы хотите стандартное отклонение, вы можете получить R_xx(0) = E[x(t)^2], а затем std^2 = E[x(t)^2] - E[x(t)]^2.


К сожалению, похоже, у вас нет способа восстановить E[x(t)]. Возможно, вы уже знаете, что это 0?

Смежные вопросы