正交變換(傅裡葉變換、Z變換)
信号分解方法多種多樣,我們可将信号分解為直流分量+交流分量、偶分量+奇分量、實部分量+虛部分量、脈沖分量、正交分量等多種形式。其中一個較複雜而又有重要意義的分解方法便是将信号分解為正交分量,我們把這個過程稱作:信号的正交分解(正交變換)。
将信号正交分解之後,可以用于:
- 友善處理
- 便于抽取特性
- 資料壓縮
首先有一個問題——什麼是正交?
線上性代數中我們了解過,向量的正交指的是 a ⃗ ⋅ b ⃗ = 0 \vec{a}\cdot\vec{b} = 0 a
⋅b
=0——兩個向量的内積為0,意味着兩個向量在對方上的投影為0,即可認為這兩個向量互不相關互不影響。顯然,向量的正交對應的是正交的離散形式 ∑ i = 0 n a i ∗ b i = 0 \sum_{i=0}^n a_i * b_i = 0 i=0∑nai∗bi=0。
然而,從信号的角度,許多信号其實是連續的,由連續的函數所表示,那麼我們又該如何定義正交的連續形式呢?由此,我們引入連續函數的概念:如果在區間 ( t 1 , t 2 t_1, t_2 t1,t2) 上,函數 f 1 f_1 f1(t) 和 f 2 f_2 f2(t) 互不含有對方的分量,則稱 f 1 f_1 f1(t) 與 f 2 f_2 f2(t) 在( t 1 , t 2 t_1, t_2 t1,t2)上正交。 即:
< f 1 , f 2 > = ∫ t 1 t 2 f 1 ( t ) f 2 ( t ) d t = 0 <f_1 , f_2> = \int_{t_1}^{t_2}f_1(t)f_2(t)dt = 0 <f1,f2>=∫t1t2f1(t)f2(t)dt=0
并有定理:
任一函數 f (t)在 ( t 1 , t 2 t_1, t_2 t1,t2) 上可表示為正交函數集内函數 的線性組合。
f ( t ) ≈ ∑ n = 1 N c n g n ( t ) f(t) \approx \sum_{n=1}^Nc_ng_n(t) f(t)≈n=1∑Ncngn(t)
同時,用于正交變換的方法也多種多樣:
- 傅裡葉變換 Fourier Transform
- 離散餘弦變換 Discrete Cosine Transform
- 沃爾希-哈德瑪變換 Walsh-Hadamard Transform
- 斜變換 Slant Transform
- 哈爾變換 Haar Transform
- 離散小波變換 Discrete Wavelet Transform
- 離散K-L變換 Discrete Karhunen-Leave Transform
- 奇異值分解SVD變換 Singular-Value Decomposition
- Z變換
本次學習心得中,我将主要介紹自主學習了解的傅裡葉變換及其衍生Z變換這兩種正交變換方法。
傅裡葉變換
對傅裡葉變換的了解
法國數學家讓·巴普蒂斯·約瑟夫·傅裡葉男爵發現,任何周期函數都可以用正弦函數和餘弦函數構成的無窮級數來表示:
f ( t ) = a 0 2 + ∑ n = 1 ∞ [ a n cos ( n w 0 t ) + b n sin ( n w 0 t ) ] f(t) = \frac{a_0}{2} + \sum_{n=1}^{\infty}[a_n\cos(nw_0t) + b_n\sin(nw_0t)] f(t)=2a0+n=1∑∞[ancos(nw0t)+bnsin(nw0t)]
可以将*f(x)*了解為由如下正交基表示成的向量:
{ 1 , cos ( 2 π n T x ) , sin ( 2 π n T x ) } \{1,\cos(\frac{2\pi n}{T}x),\sin(\frac{2\pi n}{T}x)\} {1,cos(T2πnx),sin(T2πnx)}
那麼上面的式子就可以解讀為:
令 w n = 2 π n T w_n = \frac{2\pi n}{T} wn=T2πn ,從三角函數的意義來說, w n w_n wn就對應着該三角函數的角頻率,對于信号,則可看作是一個正弦波對應的角頻率。
我們将x(通常代表時間t)作為自變量可以畫出信号f(x)在時域上的函數圖像:
而将頻率 w n w_n wn作為自變量我們同樣也可以畫出信号f(x)在頻域上的函數圖像:
将二者綜合我們可以看到這樣一個圖像:
那麼,我們從信号的角度可以這麼認為——傅裡葉級數展開的核心意義在于:将一個周期信号(時域上看隻有一個)分解為了多個不同頻率下的互相正交(互相獨立、互不幹擾)的信号。傅裡葉級數展開的本質是信号由時域到頻域
我們注意到,傅裡葉級數展開有一個前提條件:函數(信号)必須是周期的!但在生活研究中,許多信号顯然都無法符合具有周期性這個要求。那麼,對于非周期函數(信号),我們該如何實作時域到頻域的分解變化呢?
例如:下圖這個函數,由于并非一個周期函數,無法寫出它的傅裡葉級數。
然而,我們可以拓寬一下思路,沒有多個連續周期,但我們可以将函數的整個定義域( − ∞ , ∞ -\infty , \infty −∞,∞)看作是唯一的一個周期T:
T ⟶ ∞ T \longrightarrow \infty T⟶∞
将T慢慢變大我們可以觀察到:
頻域上看,這些頻率就會變得稠密,直至連續,變為一條頻域曲線:
傅立葉變換就是,讓 T = ∞ T=\infty T=∞,求出上面這根頻域曲線的過程。即傅裡葉變換是傅裡葉級數展開對應非周期函數(信号)的拓展延伸。
下面是傅裡葉變換的數學公式推導:
前面所述的傅裡葉級數:
f ( t ) = a 0 2 + ∑ n = 1 ∞ [ a n cos ( n w 0 t ) + b n sin ( n w 0 t ) ] , a 0 ∈ R f(t) = \frac{a_0}{2} + \sum_{n=1}^{\infty}[a_n\cos(nw_0t) + b_n\sin(nw_0t)],a_0\in\mathbb{R} f(t)=2a0+n=1∑∞[ancos(nw0t)+bnsin(nw0t)],a0∈R
通過歐拉公式可以将其等價變換為複數形式:
f ( x ) = ∑ n = − ∞ ∞ c n ⋅ e i 2 π n x T f(x) = \sum_{n = -\infty}^{\infty}c_n\cdot e^{i\frac{2\pi nx}{T}} f(x)=n=−∞∑∞cn⋅eiT2πnx
複數形式下,将其看作向量的話正交基則為:
{ e i 2 π n x T } \{e^{i\frac{2\pi nx}{T}}\} {eiT2πnx}
将周期T推向無窮時:
{ f ( x ) = ∑ n = − ∞ ∞ c n ⋅ e − i 2 π n x T T = ∞ ⟹ f ( x ) = ∫ − ∞ ∞ F ( ω ) e i ω x d x \begin{cases} f(x) = \sum_{n=-\infty}^{\infty}c_n\cdot e^{-i\frac{2\pi nx}{T}} \\ T=\infty \end{cases}\Longrightarrow f(x) = \int_{-\infty}^{\infty}F(\omega)e^{i\omega x}dx {f(x)=∑n=−∞∞cn⋅e−iT2πnxT=∞⟹f(x)=∫−∞∞F(ω)eiωxdx
由此可推出 F ( ω ) F(\omega) F(ω):
{ c n = 1 T ∫ x 0 x 0 + T f ( x ) ⋅ e − i 2 π n x T d x T = ∞ ⟹ F ( ω ) = 1 2 π ∫ − ∞ ∞ f ( x ) e − i ω x d x \begin{cases} c_n = \frac{1}{T}\int_{x_0}^{x_0+T}f(x)\cdot e^{-i\frac{2\pi nx}{T}}dx \\ T = \infty \end{cases} \Longrightarrow F(\omega) = \frac{1}{2\pi}\int_{-\infty}^{\infty}f(x)e^{-i\omega x}dx {cn=T1∫x0x0+Tf(x)⋅e−iT2πnxdxT=∞⟹F(ω)=2π1∫−∞∞f(x)e−iωxdx
F ( ω ) F(\omega) F(ω)就是傅裡葉變換,得到的就是頻域曲線。
f ( x ) f(x) f(x)與 F ( ω ) F(\omega) F(ω)二者成為傅裡葉變換對,可以互相轉換:
F ( ω ) = ∫ − ∞ ∞ f ( t ) e − j ω t d t ⟺ f ( t ) = 1 2 π ∫ − ∞ ∞ F ( ω ) e j ω t d ω F(\omega)=\int_{-\infty}^{\infty}f(t)e^{-j\omega t}dt \iff f(t) = \frac{1}{2\pi}\int_{-\infty}^{\infty}F(\omega)e^{j\omega t}d\omega F(ω)=∫−∞∞f(t)e−jωtdt⟺f(t)=2π1∫−∞∞F(ω)ejωtdω
可以這麼說,二者是同一個數學對象的兩種形式,一個是函數,一個是向量。
傅裡葉變換的性質及其應用舉例
連續傅裡葉變換的一些性質
模、幅度函數、相角
F ( u ) = R ( u ) + j I ( u ) = ∣ F ( u ) ∣ e j ϕ ( u ) F(u) = R(u)+jI(u)=|F(u)|e^{j\phi(u)} F(u)=R(u)+jI(u)=∣F(u)∣ejϕ(u)
模: F ( u ) = R 2 ( u ) + I 2 ( u ) F(u)=\sqrt{R^2(u)+I^2(u)} F(u)=R2(u)+I2(u)
(也稱為幅度函數,傅裡葉譜,頻譜)
相角: ϕ ( u ) = t a n − 1 [ I ( u ) R ( u ) ] \phi(u)=tan^{-1}[\frac{I(u)}{R(u)}] ϕ(u)=tan−1[R(u)I(u)]
函數 f ( x ) f(x) f(x):
幅度函數:
雙變量函數 f ( x , y ) f(x,y) f(x,y)的傅裡葉變換
ℑ { f ( x , y ) } = F ( u , v ) ℑ − 1 { F ( u , v ) } = f ( x , y ) \Im\{f(x,y)\} = F(u,v)\\ \Im^{-1}\{F(u,v)\} = f(x,y) ℑ{f(x,y)}=F(u,v)ℑ−1{F(u,v)}=f(x,y)
- 對稱性
傅裡葉變換後得到實奇部與虛偶部: F ( u ) = F e ( u ) − j F o ( u ) F(u) = F_e(u)-jF_o(u) F(u)=Fe(u)−jFo(u)
故 F ( u ) F(u) F(u)具有共轭對稱性: F ( u ) = F ∗ ( − u ) F(u) = F^*(-u) F(u)=F∗(−u)
加法原理
ℑ { f ( x ) + g ( x ) } = F ( u ) + G ( u ) \Im\{f(x)+g(x)\} = F(u)+G(u) ℑ{f(x)+g(x)}=F(u)+G(u)
且由加法定義可推出:
ℑ { c f ( x ) } = c F ( u ) \Im\{cf(x)\} = cF(u) ℑ{cf(x)}=cF(u)
圖像展示:
平移原理
ℑ { f ( x − a ) } = e j 2 π u a F ( u ) \Im\{f(x-a)\}=e^{j2\pi ua}F(u) ℑ{f(x−a)}=ej2πuaF(u)
相似性原理(展縮性質)
ℑ { f ( a x } = 1 ∣ a ∣ F ( u a ) \Im\{f(ax\}=\frac{1}{|a|}F(\frac{u}{a}) ℑ{f(ax}=∣a∣1F(au)
圖像展示:
e n e r g y = ∫ − ∞ ∞ ∣ f ( x ) ∣ 2 d x = ∫ − ∞ ∞ ∣ F ( u ) ∣ 2 d u energy = \int_{-\infty}^{\infty}|f(x)|^{2}dx = \int_{-\infty}^{\infty}|F(u)|^2du energy=∫−∞∞∣f(x)∣2dx=∫−∞∞∣F(u)∣2du
- Rayleigh’s原理
離散傅裡葉變換的一些性質
可分離性
F ( u , v ) = 1 N ∑ x = 0 N − 1 e − j 2 π u x / N ⋅ ∑ y = 0 N − 1 f ( x , y ) e − j 2 π v y / N f ( x , y ) = 1 N ∑ u = 0 N − 1 e − j 2 π u x / N ⋅ ∑ v = 0 N − 1 F ( u , v ) e − j 2 π v y / N F(u,v) = \frac{1}{N}\sum_{x=0}^{N-1}e^{-j2\pi ux/N}\cdot\sum_{y=0}^{N-1}f(x,y)e^{-j2\pi vy/N}\\f(x,y) = \frac{1}{N}\sum_{u=0}^{N-1}e^{-j2\pi ux/N}\cdot\sum_{v=0}^{N-1}F(u,v)e^{-j2\pi vy/N} F(u,v)=N1x=0∑N−1e−j2πux/N⋅y=0∑N−1f(x,y)e−j2πvy/Nf(x,y)=N1u=0∑N−1e−j2πux/N⋅v=0∑N−1F(u,v)e−j2πvy/N
線性性質
ℑ { a f ( x , y ) + b g ( x , y ) } = a ℑ { f ( x , y ) } + b ℑ { g ( x , y ) } \Im\{af(x,y)+bg(x,y)\} = a\Im\{f(x,y)\}+b\Im\{g(x,y)\} ℑ{af(x,y)+bg(x,y)}=aℑ{f(x,y)}+bℑ{g(x,y)}
比例性
ℑ { f ( a x , b y ) } = 1 ∣ a b ∣ F ( u a , v b ) \Im\{f(ax,by)\} = \frac{1}{|ab|}F(\frac{u}{a},\frac{v}{b}) ℑ{f(ax,by)}=∣ab∣1F(au,bv)
周期性
F ( u ) = F ( u + N ) F(u) = F(u+N) F(u)=F(u+N)
快速傅裡葉變換
利用共轭性質将逆離散傅裡葉變換變為其共轭數的正離散傅裡葉變換。
傅裡葉變換應用舉例
圖(a)為一幅受正弦幹擾模式覆寫的圖像。 圖(b)是(a)的傅立葉頻譜幅度圖, 其上有一對較明顯的脈沖白點(正交分解後便于處理)。利用帶阻濾波器除掉亮點。然後取傅立葉反變換,就可得到圖(d)和 (f)所示的恢複效果。
Z變換
Z變換的引入原因及其定義
首先,我們先來看看Z變換的定義:
序列 x ( n ) x(n) x(n)的 z z z變換 X ( z ) X(z) X(z)定義為:
X ( z ) = ∑ n = − ∞ ∞ x ( n ) z − n X(z) = \sum_{n = -\infty}^{\infty}x(n)z^{-n} X(z)=n=−∞∑∞x(n)z−n
表達式中的 z z z是可由我們自由選取的,是以,通過改變 z z z的值,我們總能夠找到一個 z z z使得 ∑ n = − ∞ ∞ ∣ x ( n ) ∣ z − n < ∞ \sum_{n = -\infty}^{\infty}|x(n)|z^{-n}<\infty ∑n=−∞∞∣x(n)∣z−n<∞成立,即使 X ( z ) X(z) X(z)這個級數收斂。對給定的序列,使z變換收斂的那些 z z z值就稱為z變換的收斂域,縮寫ROC。
同理我們可以知道,無窮項之和不可能總是有限的,是以傅裡葉變換的幂級數不是對是以序列都收斂。這也就是我們引入Z變換的原因——傅裡葉變換不是對所有序列都收斂,是以我們需要一個能包括更廣泛信号的傅裡葉變換的推廣形式——Z變換。
下面來介紹一些常見的基本Z變換:
離散沖激信号: δ ( n ) \delta(n) δ(n)
X ( z ) = ∑ n = 0 ∞ δ ( n ) z − n = 1 X(z)=\sum_{n=0}^{\infty}\delta(n)z^{-n}=1 X(z)=n=0∑∞δ(n)z−n=1
階躍信号: u ( n ) u(n) u(n)( ∣ z ∣ > 1 |z|>1 ∣z∣>1才能收斂)
X ( z ) = ∑ n = 0 ∞ u ( n ) z − n = z z − 1 X(z) = \sum_{n=0}^{\infty}u(n)z^{-n} = \frac{z}{z-1} X(z)=n=0∑∞u(n)z−n=z−1z
斜線信号: x ( n ) = n u ( n ) x(n) = n u(n) x(n)=nu(n)
X ( z ) = ∑ n = 0 ∞ n z − n = z ( z − 1 ) 2 X(z) = \sum_{n=0}^{\infty}nz^{-n}=\frac{z}{(z-1)^2} X(z)=n=0∑∞nz−n=(z−1)2z
指數序列: x ( n ) = a n u ( n ) x(n) = a^nu(n) x(n)=anu(n)( ∣ z ∣ > ∣ a ∣ |z|>|a| ∣z∣>∣a∣才能收斂)
X ( z ) = ∑ n = 0 ∞ a n z − n = z z − a X(z) = \sum_{n=0}^{\infty}a^nz^{-n} = \frac{z}{z-a} X(z)=n=0∑∞anz−n=z−az
Z變換的性質及其應用
Z變換的一些性質
線性
若 x ( n ) x(n) x(n)的Z變換為 X ( z ) X(z) X(z), y ( n ) y(n) y(n)的Z變換為 Y ( z ) Y(z) Y(z)
則 a ⋅ x ( n ) + b ⋅ y ( n ) a\cdot x(n) + b\cdot y(n) a⋅x(n)+b⋅y(n)的Z變換為 a ⋅ X ( z ) + b ⋅ Y ( z ) a\cdot X(z) + b\cdot Y(z) a⋅X(z)+b⋅Y(z)
時移
若 x ( n ) x(n) x(n)的Z變換為 X ( z ) X(z) X(z)
則 x ( n − m ) x(n-m) x(n−m)的Z變換為 z − m ∗ X ( z ) z^{-m}*X(z) z−m∗X(z)
初值定理
若 x ( n ) x(n) x(n)的Z變換為 X ( z ) X(z) X(z)
則 x ( 0 ) = lim z → ∞ X ( z ) x(0) = \lim_{z\to \infty}X(z) x(0)=limz→∞X(z)
Z域微分
若 x ( n ) x(n) x(n)的Z變換為 X ( z ) X(z) X(z)
則 n x ( n ) nx(n) nx(n)的Z變換為 − z d [ X ( z ) ] d z -z\frac{d[X(z)]}{dz} −zdzd[X(z)]
終值定理
若 x ( n ) x(n) x(n)的Z變換為 X ( z ) X(z) X(z)
則:
lim n → ∞ x ( n ) = lim z → 1 [ ( z − 1 ) X ( z ) ] \lim_{n\to \infty}x(n) = \lim_{z\to1}[(z-1)X(z)] n→∞limx(n)=z→1lim[(z−1)X(z)]
Z變換應用舉例——消除勻速直線運動
最終效果: