第一章 緒論
1.1 研究背景
一串數列的離散傅立葉轉換,亦稱為傅立葉頻譜或簡稱為頻譜,若其頻譜在 所限定的頻率之內皆大於或等於零,如假設ω∈[0,π],而在ω∈[0,π]內此數列 的頻譜沒有負的部分,則這個數列即可稱之為正數列。本論文就是要找到一串有 限長度正數列,利用min-max 的評判標準[1],去近似一個已給定的頻譜(例如低 通理想濾波器),而得到將誤差最大值最小化的最佳頻譜,再經處理後即可得正 數列頻譜。而此有限長度正數列頻譜即可作頻譜分解,並以 FIR(finite impulse response)系統實現。
首先我們討論min max 指標的數學表示式,再加上限制條件下,我們可將頻 譜設計的問題表示為︰
∑
=−−
∈
=
∈
≥
−
L
L n
n j j
j
j j
e n h e
A
e A t s
e A e
H W
ω ω
ω
ω ω
π ω
π ω ω
] [ )
(
] , 0 [ 0
) ( . .
|}
)) ( ) (
| ) ( max min{ [0, ]
(1.1-1)
表示式中A(ejω)為我們所要找的頻譜,H(ejω)為給定的理想頻譜,而W(ω)為權 重函數(weighted function),然而對每一個ω ,A(ejω)≥0 ω∈[0,π],每一頻率ω
均有一個限制,因此限制條件有無限多個,因此文獻上我們稱此問題為半無限維 規劃問題。
在這裡權重函數我們定義為︰
≤
≤
≤
= ≤
π ω ω
ω ω ω
s
K p
W
, 1
0 1 , )
( , (1.1-2)
其中ωp、ωs分別稱為通帶邊緣頻率(passband edge frequency)及滯帶邊緣頻率 (stopband edge frequency),藉由權重函數中 K 值的變化,可以讓我們得到不同比 率的δ 、1 δ 近似誤差值,而此特性對於得到正數列最佳頻譜,將有極大的用途。 2 1.2 章節介紹
第二章裡我們先介紹正數列的一些基本特性,以及本論文中設計方法 min max 指標的定理基礎和 Parks-McClellan 利用此定理基礎下所發展出的演算法,
最後再介紹頻譜分解理論。第三章裡我們將利用這一套演算法,模擬出設計結 果,並且求出具有最佳之最大誤差正數列頻譜,其中再和一些其它方法的模擬結 果做最大誤差上的比較。第四章則為本論文之結論。
第二章 定理及演算法
在本章節裡我們在2.1 節中首先介紹正數列特性,接著 2.2 節再介紹 min max 指標問題所需使用解多項式方法的交替定理,和此定理其應用在設計濾波器上出 現的性質,而交替定理並沒有確切指出如何解得濾波器。因此2.3 節我們再討論 Parks-McClellan 疊代演算法,這個演算法將會實現交替定理應用到濾波器上的 設計。2.4 節再介紹分解理論來分解所設計出之頻譜,即可以 FIR 系統做近似。
2.1 正數列的特性
我們稱一串數列
{
x(n)}
為正數列其數學式子上的定義,即為:∑
∞−∞
=
− ≥
=
n
n j
j x n e
e
X( ω) ( ) ω 0 (2.1-1) 也就是說若且為若其離散傅立葉轉換大於或等於零,在此需注意的一點 (2.1-1)之定義並非指數列
{
x(n)}
內之元素皆為正數,而是指這串數列的離散傅立 葉轉換後的函數值大於或等於零。而一串數列所有元素皆為非負仍有可能具有負 的離散傅立葉轉換函數。然而正數列總是有實數值的離散傅立葉轉換,如此一 來,此正數列同時也必須遵守共軛對稱(Conjugate Symmetric)性質,亦即:) ( ) ( n x n
x − = ∀n (2.1-2)
x 表示x的共軛複數。我們以一個代數上的表示法來說明正數列的特性,此表示 法即是Parseval’s 關係式的應用,如下所示:
∑ ∑
∫
∞
−∞
=
∞
−∞
=
−
−
=
k m
j j
k w m w k m x
d e W e X
) ( ) ( ) (
) ( ) 2 (
1 π 2
π
ω
ω ω
π (2.1-3)
其中 X(ejω)和W(ejω)為任意兩數列
{ }
x(n) 和{
w(n)}
的離散傅立葉轉換。(2.1-3)是構成正數列的一個必要但不是充分條件,因為有很多數列雖滿足(2.1-3)
卻不是一個正數列。假如X(ejω)為離散傅立葉函數轉換的非負實數,則(2.1-3) 即為非負實數值。因此建立了如下正數列的基礎特性[3]。
定理 2.1.1 一串共軛對稱數列
{ }
x(n) 為正數列之充分必要條件為∑ ∑
∞−∞
=
∞
−∞
=
≥
−
k m
k w m w k m
x( ) ( ) ( ) 0 (2.1-4) 對於每個複數數列
{
w(n)}
,上述定理提供了我們對於測試數列一串無限數列是否為正的方法,我們進而可以將之利用到有限數列上,把(2.1-4)改為如下所示︰
∑ ∑
=− =−≥
L −
L k
L
L m
k w m w k m
x( ) ( ) ( ) 0 (2.1-5) 我們把(2.1-5)中的共軛對稱數列
{
x(n)}
轉換成相關的k 階資料矩陣(date matrix)來 考量。這個矩陣具有下列型式︰
−
= −
) 0 ( )
1 ( ) (
) 1 ( )
0 ( ) 1 (
) ( )
1 ( ) 0 (
x k
x k x
k x x
x
k x x
x Xk
L M M
M
L L
(2.1-6)
(2.1-5)的(k+1)×(k+1)的資料矩陣是一個Hermitian-Toeplitez 的矩陣,而 Hermitian-Toeplitez 矩陣我們可以利用(2.1-5)來得到。
下列我們做簡單的推導,
[
矩陣我們可得以下定理。
定理 2.1.2 共軛對稱數列
{ }
x(n) 是正數列,則若且唯若其相關資料矩陣 ,L2 , 1 , 0 ,k =
Xk 為半正定。
由(2.1-5)所示,這個數列稱之為正數列的條件為大於等於零,因此(2.1-9) 0
) ( )
(k *X W k ≥
W k ,其中W(k)=
{
w(n)}
為任意複數數列,因此Xk ≥0,也就是說若X 為半正定則這個數列即為正數列。 k
這個定理可以讓我們更明確的測試出,一串數列是否為正數列,然而這裡有 一項需要注意的是,在測試這串數列否為正數列時,這個數列的所有資料矩陣都 應該是半正定。也就是說這個數不論取數列中對稱的任何一段數列,其X 都應k 該是半正定。因此若整個資料矩陣族皆為半正定時,此數列不論是有限或無限長 度,都可稱之為正數列。
在介紹完正數列的定義以及測試正數列的方法後,我們接下來再介紹濾波器 設計上,所需使用到的定理基礎也就是交替定理[1]和設計的演算法。
2.2 交替定理(Alternation Theorem)
假設 F 表示包含在實軸 x 上之封閉子集所成的不連續聯集。P (x)表示一個L 階 多項式,如下所示︰
∑
=
= L
k k kx a x
P
0
)
( (2.2-1) 在此我們定義一個誤差函數Ep(x),使其具有以下的表示方式︰
)]
( ) ( )[
( )
(x W x H x P x
Ep = p p − (2.2-2)
) (x
Hp 為一個給定之理想函數,它在 F 上連續;Wp(x)是一個權重函數,在 F 上 連續。此外我們再定義出最大誤差|| E 為︰ ||
| ) (
| max
||
||E Ep x
x∈F
= (2.2-3) 在定理中指出,當一個使|| E 為最小的唯一 L 階多項式|| P(x),若且唯若條件為
||
|| E 最 少 有 (L+2) 個 xi 在 F , 使 得 x1 <x2 <K<xr+2 , 而 且
||
||
) 1 ( )
(x E x E
Ep i =− p i+ =± ,i=1,2,...,(r+1)。也就是說當我們找到了一個 L 階多項 式P(x),而這個多項式在不連續聯集 F 中,最少有(L+2)個端點存在,且此
) 2
(L+ 個極端點之誤差絕對值大小皆相等,並具有一正極端值後為一負端極值順 序特性者,則此 L 階多項式P(x)即為一個使得(2.2-2)中Ep(x)為最大,且為唯一 的多項式解。
定理 2.2.1
在一個 L 階的多項式之最大可能交替數目是(L+3)個且最少有(L+2)個交替。
我們對這個定理做簡單說明如下,由於在等漣波濾波器的設計中,一個 L 階的多項式最多會有(L−1)個極端值,而在ω=0,ωp,ωs,π 亦有可能有交替,所 以最大可能的交替數目為(L−1)個極端值,再加上四個邊緣頻率,因此最多會有
) 3
(L+ 個交替,而由交替定理可知最少有(L+2)個交替,若交替數達到最大可能
交替數目(L+3)個時,則此濾波器也可稱為超越漣波濾波器(extraripple filter)。
在此我們考慮一個三角多項式
∑
== L
k
k
ak
H
0
) (cos )
(cosω ω
) ) (cos )
1 ( ( sin
) ) (cos (
) sin (cos
1
0
1 0
1
∑
∑
−
= +
=
−
⋅ +
⋅
−
=
⋅
⋅
−
=
⇒
L
k
k k
L
k
k k
a k
a d k
dH
ω ω
ω ω ω
ω
(2.2-4)
其在ω=0及π 兩點上總是零,而(L−1)次多項式的(L−1)個根也會使(2.2-4)為 零,在此交替頻率已有(L+1)個,因此再來討論ωp和ωs是否也必定為交替,由 於在交替定理中,我們已知交替頻率點上,其誤差必須要在δ =±|| E||間,且ωp 和ωs為相連接之交替頻率,也就是說|E(ωp)|=−|E(ωs)|,因此若ωp和ωs其中
有一個不為交替頻率會連帶移走兩個交替,而使得交替頻率少於L+2個,不合 定理。
2.3 派克司-麥克連演算法(Parks-McClellan algorithm) 2.3.1 Parks-McClellan 演算法介紹
交替定理提供了誤差在 min max 下是否具最佳性的充分且必要條件。而這個 定理並沒有明確告訴我們,如何尋找最佳濾波器,但是這個條件卻提供了尋找濾 波器的基礎,而 Parks-McClellan 演算法[1]則提供了我們,利用交替定理為基礎 下所發展出的一套疊代設計方法。
以下我們介紹交替定理如何套用在濾波器設計上,以及Parks-McClellan algorithm 演算法做詳細的介紹。通常我們可以先考慮設計一個零相位的濾波器,
也就是說濾波器之係數有以下性質︰
] [ ]
[n h n
h = − n∈ (2.3-1) R 而這個濾波器可以假設為︰
∑
=−在Parks-McClellan 演算法中,它的目的是為了把一個濾波器的設計問題轉 換成一個多項式近似問題,再利用解多項式的方法而來得到所要求的濾波器。因 此就必須將(2.3-5)改成多項式的型式。明確的說,就是把A(ejω)中的cos( nω )能 夠表示成為cos(ω)的多項式,因此在這個演算法裡套用了︰
)
2
ωp
ω ≤
≤
0 (通帶)處的交替頻率ωi,A(ejωi)= 1±Kδ,在ωs ≤ω≤π(滯帶)處交替
頻率ωi,A(ejωi)=±δ ,且E(ω)≤δ,ω∈[0 π]。如果有E(ω)≥δ則表示這並非 是最佳的,必須再找一組新極端點,而我們所找的新極端點為誤差曲線(在此我
們稱還未得到最佳誤差濾波器時,疊代過程中所得到的曲線為誤差曲線)中 )
2
(L+ 個最大尖點頻率,重新計算直到找到最大誤差為止,而這個重複的程序也 一定可以收斂,並找到最佳濾波器。在這裡Parks-McClellan 運用 Lagrange 內插 法,得到可以直接求得A(ejw)和E(ω)的公式。
∑
∑
+
= +
=
−
= 1 −
1 1
1
)] [(
)] [(
)
( L
k k
k L
k
k k k j
x x
m x C x
m e
A ω (2.3-13a)
其中
) (
) 1 ) (
( 1
k k j
k H e W
C k
ω
ω − − +δ
= (2.3-13b)
∏
+≠= = − +
= 1 −
1
2) ) (
( 1
L
k i i
L k k i k
k b x x
x
m x (2.3-13c)
其中ωk,k =0,1,...,L+1,為原先所猜測的極值頻率,但並不限定是前(L+1)個,
也就是說ωk只要是這一組極值頻率中任意L+1個頻率即可。
我們將整體設計流程整理如下,首先我們將所要設計的頻譜A(ejω)表示式改 換成多項式形式,並且套用至交替定理上可得(2.3-11),而由(2.3-11)為基礎下 Parks-McClellan 找出了一組公式,此公式可以得出演算法每次疊代時所需之數 據,也就是誤差δ 值和新的誤差曲線,在這些數據的獲得後,我們即可做演算法
誤差濾波器後,我們再做第三章所介紹之處理方法,即可得到我們所要的正數列 頻譜。下一章節我們將把演算法疊代過程以條列表示出,並展示其流程圖。
2.3.2 Parks-McClellan 演算法疊代過程及流程圖
2.3.1 演算法
1、一開始先猜測L+2個交替頻率,ωi,i=0,1,2,L,(L+2),而這個L+2個頻率,
包含通帶邊緣頻率ωp 和滯帶邊緣頻率ωs。 2、此L+2個頻率利用(2.3-12)可計算出δ值。
3、將猜測之交替頻率中L+1個極端點頻率代入(2.3-13)中,可以得到A(ejω)。 4、由A(ejω)可以算出E(ω)值,若| E(ω)|≥δ ,尋找A(ejω)的極端點。
5、比較新找出的極端點是否為原先之頻率,若不是則重新 2 的步驟。
6、演算終止,所得到的δ值即為最佳值,而此L+2個頻率即為交替頻率。
以下我們將這個演算法展示出其流程圖。
任意猜測(L+2)個 起始極端點頻率
內插(L+1)個點 以得到A(ejw)
計算E(w)當|E(w)|≧δ 時找出區域極大值
極端點的數目 大於(L+2)?
檢查極端點 是否改變了
最佳近似
保留(L+2)個最大極端點 計算在極端點集上
的最佳δ值
不變 是
不是
改變
圖2.3-1 演算法流程圖 2.4 頻譜分解定理
在介紹頻譜分解定理[3]之前,我們首先要將一串數列轉換到 z-domain 來分 析,因為在 z-domain 下我們可以更了解數列上的特性,以及更容易分析這串數 列,在此我們舉出一串典型的共軛對稱數列來敘述這個定理,其 z 轉換表示如
下︰
∑
=− +
+
= q
n
n
n x n z
z n x x
z X
1
] ) ( )
( [ ) 0 ( )
( (2.4-1)
而由於此數列具有共軛對稱的特性,因此我們可以得到︰
∑ ∑
= =
− −
− + = + + =
+
= q
n
q
n
n n
n
n x n z x x n z x n z X z
z n x x
z X
1 1
1) ( ] ) ( )
( [ ) 0 ( ] ) ( )
( [ ) 0 ( )
( (2.4-2)
其中x(0)= x(0)為實數取共軛相等且z= ,而由(2.4-2)我們可得到若z z 是0 X(z)
的一個零點(zero),則其共軛倒數(Conjugate Reciprocal) 01
非落在單位圓上便會以共軛倒數成對出現。
定理 2.4.2 分解理論(Factorization Theorem)
一串有限長度2q+1的正數列
{
x(n)}
若且為若其 z 轉換可被因式分解為下:∏
=− −
−
= q
k
k
kz z z
z z
X
1
1
2 (1 )(1 )
)
( α (2.4-6)
此處α2為一正數,由(2.4-6)我們可以發現一個正數列的特性,也就是其在單位圓 上的零點會以偶數重數出現,如2、4、6….個,因此我們可以比較出正數列以及 一般共軛對稱數列的不同點,就在於單位圓上零點,正數列會出現偶數個數,而 一般共軛對稱數列則奇、偶數重數都有可能,如2、3、4…個出現。
利用(2.4-6)我們可以得到以下型式︰
) ( ) ( )
(z =B z ⋅B z−1
X q q (2.4-7) 其中
∏
=−
−
− = + + +
−
= q
k
q k
q z z z b b z b q z
B
1
1
1) (0) (1) ( )
1 ( )
( α L (2.4-8)
∏
=− = q − = + + +
k
q k
q z z z b b z b q z
B
1
1
1) (1 ) (0) (1) ( )
( α L (2.4-9) 在此我們必須注意到一點,也就是(2.4-8)和(2.4-9)之組合解非唯一,而這個原因
和零點z 及k z 有關,也就是說當我們沒有限定−k1 Bq(z)內的零點,皆為單位圓內或
和零點z 及k z 有關,也就是說當我們沒有限定−k1 Bq(z)內的零點,皆為單位圓內或