Русская Википедия:Теорема Парсеваля
Под теоремой Парсеваля обычно понимают унитарность преобразования Фурье. То есть сумма (или интеграл) квадрата функции равна сумме (или интегралу) квадрата результата преобразования. Следует заметить, что общий вид теоремы Парсеваля часто называют Теоремой Планшереля или Обобщенной формулой Рэлея. Теорема была доказана для рядов Марком-Антуаном Парсевалем в 1799 году и была позднее применена к рядам Фурье.
Запись теоремы имеет вид
- <math>\int\limits_{-\infty}^{\infty} | x(t) |^2 dt = \int\limits_{-\infty}^{\infty} | \mathcal{F}\{x(t)\} |^2 dw, </math>
где <math>\mathcal{F}\{\cdot\}</math> обозначает непрерывное преобразование Фурье, которое связывает временной или пространственный сигнал <math>x(t)</math> с его представлением в частотной области <math>X(f)</math>.
Более общая и точная формулировка теоремы Парсеваля в теории интеграла Фурье выглядит так. Пусть функции <math>f_{1}(x)</math> и <math>f_{2}(x)</math> принадлежат пространству <math>L^{2}</math> квадратично интегрируемых функций и пусть <math>g_{1}(u)</math> и <math>g_{2}(u)</math> соответственно являются их преобразованиями Фурье. Тогда:[1]
- <math>\int_{-\infty}^{\infty} g_{1}(u) g_{2}(u) du = \int_{-\infty}^{\infty} f_{1}(x) f_{2}(-x) dx </math>
В дискретном виде теорему записывают следующим образом:
- <math>\sum_{i=0}^{N-1} | x(i) |^2 = {1\over N} \sum_{k=0}^{N-1} | X(k) |^2 </math>,
где <math>X(k)</math> представляет собой дискретное преобразование Фурье сигнала <math>x(k)</math>, имеющего <math>N</math> отсчетов.
Теорема Парсеваля устанавливает равенство между энергией сигнала и энергией его спектра.
Пример кода на языке MATLAB, демонстрирующий теорему Парсеваля
N = 100; % количество отсчетов
x = randn(1,N); % нормальное распределение
Et = norm(x)^2; % или так: Et = sum(x.^2);
fprintf('Энергия сигнала во временной области:%f \n', Et);
X = fftn(x);
Ew = 1/N * norm(X)^2; % или так: Ew = 1/N * sum(abs(X).^2);
fprintf('Энергия сигнала в частотной области:%f \n', Ew);
xnew = ifftn(X);
Etn = norm(xnew)^2; % или так: Etn = sum(xnew.^2);
fprintf('Энергия сигнала во временной области:%f \n', Etn);
Результат работы программы
-----------------------------
Энергия сигнала во временной области: 94.236108
Энергия сигнала в частотной области: 94.236108
Энергия сигнала во временной области: 94.236108
Примечания
Литература
См. также