Дискретное преобразование Фурье
Применяя формулу для , получим:
![\frac12\sum_{j=0}^{N-1}\sin \left (\frac{(2p+2s+2)(2j+1)\pi}{2N}\right)+\sin \left (\frac{(2s-2p)(2j+1)\pi}{2N}\right)](/sites/default/files/tex_cache/2e52023257c6de5f5488b6549fffffc2.png)
Используя второе тождество утверждения, упростим суммы:
![\frac12\sum_{j=0}^{N-1}\sin \left( \frac{(p+s+1)(2j+1)\pi}{N}\right)=\frac{1-\cos\left(\frac{(p+s+1)2N\pi}{N}\right)}{4\sin\left(\frac{(p+s+1)\pi}{N}\right)}](/sites/default/files/tex_cache/c8696f5a9026d807a2e1e9b487bd16c6.png)
Так как синус в знаменателе не равен нулю, а числитель обращается в нуль, то сумма исчезнет. Вычисляя вторую сумму, получим:
![\frca12\sum_{j=0}{N-1}\sin\left( \frac{(s-p)(2j+1)\pi}{N}\right )=\frac{1-\cod\left(\frac{(s-p)2N\pi}{N}\right )}{4\sin \left (\frac{(s-p)\pi}{N}\right )}](/sites/default/files/tex_cache/c8d1de5eed8f0f46ebfecec2167d332b.png)
Если , то сумма равна нулю, но и когда р = s, то сумма также равна нулю, поскольку каждое слагаемое суммы становится равным нулю.
Мы заключаем, что для всех р, s. Вычисление
остается в качестве упражнения.
Обобщая, имеем:
![\tilde u_p*\tilde u_s=\tilde v_p*\tilde v_s=\begin{cases}
N/2,&если p=s,\\
0,&если p \ne s.
\end{cases}\;\;
\tilde u_p*\tilde v_s=0 \text{для любых p,s}](/sites/default/files/tex_cache/63a3a69a8964944a7fb192a2d6ef4438.png)
Это завершает доказательство теоремы.
Для превращения базиса в ортонормальный базис, разделим каждый вектор на его длину:
![u_p=\sqrt{\frac2N}\tilde u_p,\;\; v_p=\sqrt{\frac2N}\tilde v_p](/sites/default/files/tex_cache/4cad0a4819ed48844b0bc20efb34f43d.png)
Так как -базис в
, то любой вектор
можно представить в этом базисе:
![f=\sum_{p=0}^{M-1}a_pu_p+b_pv_p](/sites/default/files/tex_cache/f9dd2531d0685102fd77c1239bbf584f.png)
Коэффициенты и
в этом выражении называются коэффициентами Фурье вектора f. Дискретное преобразование Фурье (ДПФ) - это преобразование вектора измерений в вектор коэффициентов:
![(f_0, f_1, \dots, f_{N-1}) \to (a_0, a_1, \dots, a_{M-1}, b_0, b_1, \dots, b_{M-1})](/sites/default/files/tex_cache/af47aa1aea276fa5526ebcddb32f585a.png)
Изначальный вектор измерений описывает эволюцию сигнала во времени. Каждый коэффициент Фурье соответствует некоторой частоте. Говорят, что ДПФ - это преобразование сигнала из временной области в частотную область.
Нам необходимо решить задачу представления заданного вектора f в виде линейной комбинации векторов . Оказывается, что задача намного проще решается, когда базис векторов является ортонормальным.
Утверждение. Пусть -ортонормальный базис в
, пусть f - вектор в
. Тогда коэффициенты разложения f в линейную комбинацию векторов базиса:
![f=c_1w_1+c_2w_2+\dots+c_Nw_N](/sites/default/files/tex_cache/06e43923704792dd8fb08d8328a43d95.png)
могут быть найдены как скалярное произведение:
![c_j=f*w_j\; for\; j=1,2,\dots, N](/sites/default/files/tex_cache/e5fb51ab7f2c496ffe99b9145119b81f.png)
Доказательство. Рассмотрим скалярное произведение обеих сторон линейной комбинации и вектора т:
![f*w_j=c_1w_1*w_j+c_2w_2*w_j+\dots+c_Nw_N*w_j](/sites/default/files/tex_cache/f7d0bd6fd6acc0e03d5db6dffedda17f.png)
Так как базис ортонормальный, то все скалярные произведения в правой части окажутся равными нулю, за исключением произведения , которое равно 1. Отсюда следует справедливость утверждения
.
Из утверждения непосредственно следуют формулы для вычисления коэффициентов Фурье:
![a_p=f*u_p=\sqrt{\frac2N}\sum_{j=0}^{N-1}f_j\cos \left(\frac{(2p+1)(2j+1)\pi}{2N}\right),\\
b_p=f*u_p=\sqrt{\frac2N}\sum_{j=0}^{N-1}f_j\sin \left(\frac{(2p+1)(2j+1)\pi}{2N}\right)](/sites/default/files/tex_cache/a9dfc8c1e006261325e3058798689ac9.png)
Индекс р пробегает значения р = 0,1, ... , М - 1.
Если нам известны коэффициенты Фурье, то можно восстановить исходный сигнал . Эта процедура называется обратным преобразованием Фурье.
Так как
![f=\sum_{p=0}^{M_1}a_pu_p+b_pv_p,](/sites/default/files/tex_cache/5ffc1b44add32bc7668c2de4299aa0d6.png)
то можно вычислить , взявj-ю компоненту каждого вектора:
![f_i= \sqrt{\frac2N}\sum_{p=0}^{M-1}\cos\left(\frac{(2p+1)(2j+1)\pi}{2N}\right )+b_p\sin \left (\frac{(2p+1)(2j+1)\pi}{2N}\right)](/sites/default/files/tex_cache/6f516f93546133fb7ef8325edc83c367.png)
Как прямое, так и обратное преобразование Фурье являются линейными трансформациями . При обратном ДПФ вектор (1,0,0, .. . , 0), соответствующий
переходит в вектор
. Аналогично, образы стандартных базисных векторов
, являются векторами
. Так как эти вектора ортонормальны, то мы заключаем, что обратное ДПФ является ортогональной линейной трансформацией. Инверсия ортогональной линейной трансформации - ортогональна. Из этого следует, что прямое ДПФ представляет ортогональную линейную трансформацию.
Это хорошая для нас новость, поскольку это означает, что ДПФ совместимо с парадигмой квантовых вычислений. Квантовая версия ДПФ, которая называется квантовым преобразованием Фурье (КПФ) является основой алгоритма Шора. Мы представим КПФ в следующей лекции.
Величина коэффициента Фурье показывает, насколько сильно соответствующая частота представлена в сигнале. В частности, когда мы применяем преобразование Фурье к периодическому сигналу, появляются пики со значениями и
в точках р, соответствующих обертонам базовой частоты сигнала. Это именно то, что мы видели в спектре диаграммы ДПФ при записи звучания флейты.
Давайте рассмотрим совсем простой пример периодического сигнала, который важен для алгоритма Шора. Зафиксируем два целых числа и рассмотрим следующую последовательность длины N и периодом m:
![f_i=\begin{cases}
1,& \text{если i = s mod m,}
0& \text{в противном случае}
\end{cases}](/sites/default/files/tex_cache/fd3949a9fbbac3f849d2e4ab16a7777b.png)
Пусть N/m будет большим числом. Нетрудно видеть, что для i =s + jm, где j = 0, 1, ... , L - 1. Здесь L - минимальное целое, большее или равное (N - s)/m.
Упражнение. Вычислим ДПФ для последовательности Покажем, что коэффициенты Фурье даются следующими формулами:
![a_p= \sqrt{\frac2N}\frac{\sin\left(\frac{(2p+1)(2s+(2L-1)m+1)\pi}{2N}\right)-\sin\left(\frac{(2p+1)(2s-m+1)\pi}{2N}\right)}{2\sin\left(\frac{(2p+1)m\pi}{2N}\right)},\\
b_p= \sqrt{\frac2N}\frac{\cos\left(\frac{(2p+1)(2s-m+1)\pi}{2N}\right)-\cos\left(\frac{(2p+1)(2s+(2L-1)m+1)\pi}{2N}\right)}{2\sin\lefr(\frac{(2p+1)m\pi}{2N}\right)}](/sites/default/files/tex_cache/b980e5a81d09284521e3ae0396ca483f.png)
Подсказка. Первое утверждение этой главы может быть полезным в этих вычислениях.
Давайте проанализируем, когда коэффициенты Фурье, полученные в этом упражнении, являются большими числами. Абсолютное значение числителей в этих формулах не может быть больше чем 2, поскольку значения синуса и косинуса не превосходят 1. Единственная возможность стать большим числом - иметь маленький знаменатель . Это происходит, когда
близко к целом числу
![\frac{(2p+1)m}{2N}\approx K,](/sites/default/files/tex_cache/43b37c3a39a438980cda1eaf2d375a39.png)
Это эквивалентно тому, что
![p\approx K*\fracNm-\frac12](/sites/default/files/tex_cache/96c0eb1618e1705f08bfdaac5073f6eb.png)
Мы видели, что пики в значениях коэффициентов Фурье расположены в точках р, кратных базовой частоте
![\omega=\fracNm](/sites/default/files/tex_cache/176c2417c49db8135e4ae2aaef8f5372.png)
Смещением на 1/2 можно пренебречь. Заметьте, что положение пиков определяется периодом m и не зависит от s.
ДПФ широко используется в цифровой обработке сигналов, в частности для сжатия аудио файлов (стандарт МРЗ) и изображений (JРЕG). Давайте вкратце обсудим аудио сжатие.
Для звуковой волны большая часть измерений значений сигнала далеки от нулевых значений. Если выполнить ДПФ, то большинство коэффициентов Фурье будут близки к нулю, поскольку типичная звуковая волна находится в сравнительно узком диапазоне частот. Мы можем заменить малые коэффициенты Фурье нулями и хранить только существенные коэффициенты, значительно уменьшая объем данных. Это приводит к некоторому искажению записи, но с малой потерей качества достигается большой коэффициент сжатия.