離散分數傅立葉轉換(英語:Discrete Fractional Fourier Transform)是用來解決數字序列分數傅立葉轉換的計算問題,方法是利用它們的特徵函數展開的表達來實現離散算法,而離散分數傅立葉轉換的特徵函數是埃爾米特多項式與高斯函數的乘積,這樣的特徵函數同時也是傅立葉轉換的特徵函數。利用離散傅立葉轉換的結果,可以建立周期分數傅立葉轉換的離散算法。
在建立離散分數傅立葉轉換的算法之前,必須對離散傅立葉轉換(Discrete Fourier Transform)有一定的理論認識。
對於一般的傅立葉轉換具有4周期性質,也就是對任何訊號連續做4次傅立葉轉換就會回到它自己。然而離散傅立葉轉換也有這樣的性質,所以以下先討論離散傅立葉轉換的4周期性質。
對於一串數字序列訊號
,定義它的離散傅立葉轉換是:
![{\displaystyle y_{m}={\frac {1}{\sqrt {N}}}\sum _{n=0}^{N-1}x_{n}e^{-{\frac {2\pi mni}{N}}},m=0,1,...,N-1}](https://wikimedia.org/api/rest_v1/media/math/render/svg/62d046e63d799177a9f175c5b97ede5a778e8581)
引入矩陣符號
![{\displaystyle X={\begin{bmatrix}x_{0}\\x_{1}\\\vdots \\x_{N-1}\end{bmatrix}}\quad Y={\begin{bmatrix}y_{0}\\y_{1}\\\vdots \\y_{N-1}\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/03448c88ec71b0aacad8de8d42ba20d4f52e74b0)
![{\displaystyle E={\frac {1}{\sqrt {N}}}{\begin{bmatrix}W^{0\times 0}&W^{0\times 1}&\vdots &W^{0\times N-1}\\W^{1\times 0}&W^{1\times 1}&\vdots &W^{1\times N-1}\\\vdots &\vdots &\ddots &\vdots \\W^{N-1\times 0}&W^{N-1\times 1}&\vdots &W^{N-1\times N-1}\\\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b45e4ac75c6bad4c2f6b48130597a7d656e672ee)
其中
,現在可以把離散傅立葉轉換寫成:
由上面的分析可知一串長度為N的數字序列訊號
,其離散傅立葉轉換在N維向量空間相當於一個線性轉換,也就是矩陣E,矩陣E稱作離散傅立葉轉換的矩陣。又因為
![{\displaystyle {\frac {1}{N}}\sum _{l=0}^{N-1}W^{l\times m}\times {\overline {W}}^{l\times n}={\frac {1}{N}}\sum _{l=0}^{N-1}e^{-{\frac {2\pi li}{N}}(m-n)}={\begin{cases}1\quad m=n\\0\quad m\neq n\end{cases}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/1fd919c46ccbdcd0d022f7e53ec8e2c609615939)
所以
離散傅立葉轉換的線性轉換是正交轉換。
利用離散傅立葉轉換的矩陣,可以證明4周期性質。因為
![{\displaystyle {\frac {1}{N}}\sum _{l=0}^{N-1}W^{l\times m}\times {\overline {W}}^{l\times n}={\frac {1}{N}}\sum _{l=0}^{N-1}e^{-{\frac {2\pi li}{N}}(m-n)}={\begin{cases}1\quad \mod (m+n)=0\\0\quad \mod (m+n)\neq 0\end{cases}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/98f236a5fa8881f8a7bdfa108dcdfe75ea2086f1)
而且
,所以
![{\displaystyle E^{2}={\begin{bmatrix}1&0&\vdots &0\\0&0&\vdots &1\\\vdots &\vdots &\ddots &\vdots \\0&1&\vdots &0\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/bbf00face1d3f1477814b9b1ff951ab2a919776e)
由上可知訊號
做兩次離散傅立葉轉換後會得到
,除了第一個數字不動其餘順序皆顛倒,這意味著發生了時間反射。現在用矩陣來表達連續兩次的離散傅立葉轉換:
![{\displaystyle Z=E^{2}X={\begin{bmatrix}1&0&\vdots &0\\0&0&\vdots &1\\\vdots &\vdots &\ddots &\vdots \\0&1&\vdots &0\end{bmatrix}}{\begin{bmatrix}x_{0}\\x_{1}\\x_{2}\\\vdots \\x_{N-1}\end{bmatrix}}={\begin{bmatrix}x_{0}\\x_{N-1}\\x_{N-2}\\\vdots \\x_{1}\\\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/bc96a45b9e733b290d471785afb5e1b6e28f99ae)
再來計算連續三次的轉換:
![{\displaystyle ={\frac {1}{\sqrt {N}}}{\begin{bmatrix}W^{0\times 0}&W^{0\times 1}&\vdots &W^{0\times N-1}\\W^{N-1\times 0}&W^{N-1\times 1}&\vdots &W^{N-1\times N-1}\\\vdots &\vdots &\ddots &\vdots \\W^{1\times 0}&W^{1\times 1}&\vdots &W^{1\times N-1}\\\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6f81bcacbdcbe32b7478612f75da1204c8fb116e)
最後計算連續四次的轉換:
![{\displaystyle E^{4}=E^{2}\times E^{2}={\begin{bmatrix}1&0&\vdots &0\\0&0&\vdots &1\\\vdots &\vdots &\ddots &\vdots \\0&1&\vdots &0\end{bmatrix}}{\begin{bmatrix}1&0&\vdots &0\\0&0&\vdots &1\\\vdots &\vdots &\ddots &\vdots \\0&1&\vdots &0\end{bmatrix}}={\begin{bmatrix}1&0&\vdots &0\\0&1&\vdots &0\\\vdots &\vdots &\ddots &\vdots \\0&0&\vdots &1\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/05307c3ef947dd032fc31feee5a760b85881e160)
由上式可知,離散傅立葉轉換連續做4次一定會讓訊號返回它自己,這就是離散傅立葉轉換4周期性質的證明。
為了得到離散傅立葉轉換的週期性定理,必須理解它的運算性質,因此現在用另外一個觀點去說明4周期性質。
![{\displaystyle U=E^{3}X=E\times E^{2}X}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e8c87c41ce9e3913eaa5654f57f345bea815dc7c)
![{\displaystyle ={\begin{bmatrix}W^{0\times 0}&W^{0\times 1}&\vdots &W^{0\times N-1}\\W^{1\times 0}&W^{1\times 1}&\vdots &W^{1\times N-1}\\\vdots &\vdots &\ddots &\vdots \\W^{N-1\times 0}&W^{N-1\times 1}&\vdots &W^{N-1\times N-1}\\\end{bmatrix}}{\begin{bmatrix}1&0&\vdots &0\\0&0&\vdots &1\\\vdots &\vdots &\ddots &\vdots \\0&1&\vdots &0\end{bmatrix}}{\begin{bmatrix}x_{0}\\x_{1}\\\vdots \\x_{N-1}\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/aabb1efe7518cc9c4932d036f774bfd26157631f)
![{\displaystyle ={\begin{bmatrix}W^{0\times 0}&W^{0\times 1}&\vdots &W^{0\times N-1}\\W^{1\times 0}&W^{1\times 1}&\vdots &W^{1\times N-1}\\\vdots &\vdots &\ddots &\vdots \\W^{N-1\times 0}&W^{N-1\times 1}&\vdots &W^{N-1\times N-1}\\\end{bmatrix}}{\begin{bmatrix}x_{0}\\x_{N-1}\\x_{N-2}\\\vdots \\x_{1}\\\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/50ea4e214c0420f3b481194ef879e975522d6287)
![{\displaystyle ={\begin{bmatrix}1&0&\vdots &0\\0&0&\vdots &1\\\vdots &\vdots &\ddots &\vdots \\0&1&\vdots &0\end{bmatrix}}{\begin{bmatrix}W^{0\times 0}&W^{0\times 1}&\vdots &W^{0\times N-1}\\W^{1\times 0}&W^{1\times 1}&\vdots &W^{1\times N-1}\\\vdots &\vdots &\ddots &\vdots \\W^{N-1\times 0}&W^{N-1\times 1}&\vdots &W^{N-1\times N-1}\\\end{bmatrix}}{\begin{bmatrix}x_{0}\\x_{1}\\\vdots \\x_{N-1}\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/88e0548fc2437206fd3d00b9b398914aaecd3c9f)
![{\displaystyle ={\begin{bmatrix}y_{0}\\y_{N-1}\\y_{N-2}\\\vdots \\y_{1}\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/81b2974dbf2de94fa3aa08bd2f258992ec3b900c)
上面的分析可以理解為原始訊號作三次離散傅立葉轉換其成分還是跟原本訊號相同,只是順序上做了調整,也就是從第二個訊號至最後一個訊號作了顛倒的順序。又或者可以這樣理解,原本的訊號經過交換順序而得到
,其離散傅立葉轉換就是
,若再做一次離散傅立葉轉換,結果就是將
的下標按照前面規則作了交換,連續四次的離散傅立葉轉換其結果應該為
,由此可知離散傅立葉轉換具有4周期的性質。
因此,
,即任何數字序列作四次離散傅立葉轉換就會返回它自己,在矩陣乘法之下,集合
會構成一個四階循環群。
離散傅立葉轉換的整數次重覆運算等價於一個4階循環矩陣群
。
利用前述離散傅立葉轉換的計算方法可以得到離散分數傅立葉轉換的計算方法,因此接下來的分析就先從離散傅立葉轉換出發。
根據離散傅立葉轉換的矩陣形式,定義符號:
![{\displaystyle X^{(l)}={\begin{bmatrix}x_{0}^{(l)}\\x_{1}^{(l)}\\\vdots \\x_{N-1}^{(l)}\end{bmatrix}},l=0,1,2,3}](https://wikimedia.org/api/rest_v1/media/math/render/svg/7535491ee1265ba72133b5900900cba95583aa56)
其遞迴關係為:
![{\displaystyle X^{(l+1)}=EX^{(l)}=E^{l+1}X^{(0)},l=0,1,2,3}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6b59d364aa95d91f2863e42e7c7b39bdde836d68)
當
時,對應的是原始數字序列訊號;當
時,對應的昰原始數字序列訊號的離散傅立葉轉換。現在定義冪次a的離散分數傅立葉轉換為:
![{\displaystyle X^{(a)}=\sum _{l=0}^{3}A_{l}(a)X^{(l)}=(\sum _{l=0}^{3}A_{l}(a)E^{l})X^{(0)}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/fc27e296708670bb3c4f0061bff5d128a1bacf70)
上式中的
是a的連續函數。引入矩陣符號為:
![{\displaystyle E^{a}=\sum _{l=0}^{3}A_{l}(a)E^{l}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6d7938046b8a49b938fb8b6841ae5b9d467415d6)
稱作矩陣E的a次冪,因此冪次a的離散分數傅立葉轉換可以寫成:
![{\displaystyle X^{(a)}=E^{a}X^{(0)}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/fe9ea9d40eda9ea52024f22a20ba13a1de4bb491)
其中
是只與a有關的係數,它使得
全體生成的矩陣族
滿足以下公理。
- 連續性公理:
為連續的;
- 邊界性公理:
是離散傅立葉轉換連續作用a次的結果;
- 週期性公理:
;
- 可加性公理:
。
由以上可得連續函數
的方程組:
![{\displaystyle {\begin{cases}A_{0}(a+b)=A_{0}(a)A_{0}(b)+A_{1}(a)A_{3}(b)+A_{2}(a)A_{2}(b)+A_{3}(a)A_{1}(b)\\A_{1}(a+b)=A_{0}(a)A_{1}(b)+A_{1}(a)A_{0}(b)+A_{2}(a)A_{3}(b)+A_{3}(a)A_{2}(b)\\A_{2}(a+b)=A_{0}(a)A_{2}(b)+A_{1}(a)A_{1}(b)+A_{2}(a)A_{0}(b)+A_{3}(a)A_{3}(b)\\A_{3}(a+b)=A_{0}(a)A_{3}(b)+A_{1}(a)A_{2}(b)+A_{2}(a)A_{1}(b)+A_{3}(a)A_{0}(b)\end{cases}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c38abce03900c1f5e625a330dc5d2bc3d93abc50)
為了解得這個方程組的解,先做變數變換:
![{\displaystyle {\begin{bmatrix}B_{0}(a)\\B_{1}(a)\\B_{2}(a)\\B_{3}(a)\end{bmatrix}}={\begin{bmatrix}1&i&1&1\\1&-i&-1&i\\1&1&1&-1\\1&i&-1&-i\end{bmatrix}}{\begin{bmatrix}A_{0}(a)\\A_{1}(a)\\A_{2}(a)\\A_{3}(a)\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/976b291170e1b4afce4551b9d8f6b7cd9e4d6546)
則方程組可表達為:
同時又由邊界性公理可得:
因此
的邊界條件就是:
此外週期性條件為:
考慮了這些條件後方程組
有唯一解:
![{\displaystyle B_{l}(a)=e^{-{\frac {2\pi lai}{4}}},j=0,1,2,3}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b154a31ee921cac319c80594ae886d88d518fcf2)
最後再根據
![{\displaystyle {\begin{bmatrix}B_{0}(a)\\B_{1}(a)\\B_{2}(a)\\B_{3}(a)\end{bmatrix}}={\begin{bmatrix}1&i&1&1\\1&-i&-1&i\\1&1&1&-1\\1&i&-1&-i\end{bmatrix}}{\begin{bmatrix}A_{0}(a)\\A_{1}(a)\\A_{2}(a)\\A_{3}(a)\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/976b291170e1b4afce4551b9d8f6b7cd9e4d6546)
得到方程組的通解為:
![{\displaystyle A_{l}(a)={\frac {1}{4}}{\frac {1-e^{-2\pi (a-l)i}}{1-e^{-{\frac {2\pi (a-l)i}{4}}}}}=\cos({\frac {(a-l)\pi }{4}})\cos({\frac {2(a-l)\pi }{4}})e^{-{\frac {3i(a-l)\pi }{4}}},l=0,1,2,3}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6194df2b5664b11b558a49feec9822fa046f8cc9)
所以滿足前述4個公理的矩陣E之a次冪定義為:
![{\displaystyle E^{a}=\sum _{l=0}^{3}\cos({\frac {(a-l)\pi }{4}})\cos({\frac {2(a-l)\pi }{4}})e^{-{\frac {3i(a-l)\pi }{4}}}E^{l}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/346111a3f7062f721ba7ce674b9dd6997e0a1af8)
上式得到了
的離散形式並把它帶入
最後得到了離散分數傅立葉轉換的計算方法:
![{\displaystyle X^{(a)}=(\sum _{l=0}^{3}\cos({\frac {(a-l)\pi }{4}})\cos({\frac {2(a-l)\pi }{4}})e^{-{\frac {3i(a-l)\pi }{4}}}E^{l})X^{(0)}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/8b83b742dc69f1305e8a9ba0c2bd3b1d7c0a575d)
若去對照分數傅立葉轉換的形式,上式的計算方法可以說是C.C.Shih的分數傅立葉轉換的離散算法。