9
Abstract Software radio 的 的的的的的的的 一,一。,,一 channelizer 的 的 的 的 的 一。一, channelizer 的的 channel 的的的的的的的的的 Filter 的的的的的 ,,!!一 efficient 的 channelizer 的的的 。,一 efficient 的 channelizer poly-phase decomposition 的 的 performanceIntroduction Software Radio 的 的的 一。 Hardware Radio 的的 ,一 Hardware Radio 的的的 ,體, GSM 2G 的的的 3G 的的的的的的 ,一,體,一。Software Radio 的 的的的 ,體 的的 filter 的 的的的的的 ,,, DSP的 的 的 。體, 的的的 一體! 的的的 Software Radio 的 GSM 的 WCDMA 的 的 ,: 的的的的 GSM 的 的 200KHz WCDMA 的 的 5MHz 的的 。, A/D 的的的的的的的的的的的的的 WCDMA 的 的 的 ,一的的 的的的的的的的的的的的的 WCDMA 的 的 WCDMA 的的的的的的的的的的 GSM 的 channel 的的的的 的的的 的的 channel 的 的 的 ,一 channelizer 的的的的的 !一一,, 的的的的的的的 一,體!,一 efficient 的 channelizer poly-phase decomposition 的的的的的 channelizer GSM 的的 channel 的的的的的的Proposed Structure

Introduction - access.ee.ntu.edu.twaccess.ee.ntu.edu.tw/.../student/Final_Project/R899210… · Web viewSoftware radio的最根本概念是對不同的通訊界面提供一個橋樑,讓一個基地台或是手機能有能力處理各種不同通訊界面的信號。

  • Upload
    tranque

  • View
    228

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction - access.ee.ntu.edu.twaccess.ee.ntu.edu.tw/.../student/Final_Project/R899210… · Web viewSoftware radio的最根本概念是對不同的通訊界面提供一個橋樑,讓一個基地台或是手機能有能力處理各種不同通訊界面的信號。

Abstract

Software radio的最根本概念是對不同的通訊界面提供一個橋樑,讓一個基地台或是手機能有能力處理各種不同通訊界面的信號。因此,當它有可能要面對窄頻及寬頻信號時,它就需要一個 channelizer來進一步把窄頻信號濾出來。一般來說,而 channelizer是由許多濾波器所組成,有幾個 channel有信號就必須有幾個 Filter,當通道數目變多或是濾波器階數增多時,所需要的運算量非常驚人!需要耗費高成本來完成!因此我們需要一個 efficient的channelizer。在本次專題中,將呈現一個 efficient的 channelizer,它利用poly-phase decomposition的技巧大大了降低所需的運算量,來達到相同的performance。

Introduction

Software Radio是一個趨勢。它的相對設計是Hardware Radio,現在一般設計思考方向大多都是屬於Hardware Radio,它的硬體都是針對某種規格所專門設定,如GSM,所以如果要從 2G升級到 3G,規格一改,那麼所有的硬體設備都必須設計及汰換,這將是費時費力又耗費金錢的一項工作。Software Radio則不需要,它的前端硬體設計非常的寬鬆,在天線接收到信號之後只是做粗略的 filter動作,然後盡快將類比信號轉成數位信號,將各種規格不同的需求用數位的方法去實現,如DSP處理器。於是所需求的硬體都相同,就可以在同一套硬體上接收多種規格的信號!由於在 Software Radio概念的基地台設計中,基地台必須有能力接收GSM及WCDMA的信號,這兩種信號在頻譜上的特性如下圖左:

如圖所示,GSM是窄頻信號,頻寬小於 200KHz,而WCDMA是寬頻信號,頻寬為 5MHz。為了能夠接收到兩種信號,所以在 A/D之前的濾波器頻寬至少要大於WCDMA信號的頻寬,這樣一來才能保存所有有可能發生的信號。然而這樣濾波的效果僅適合WCDMA的信號,在WCDMA的頻寬內有可能有許多GSM的 channel帶有信號,我們必須進一步再設計窄頻的數位濾波器將各個channel的信號濾出來,這一套濾波器稱為 channelizer!由於每一個通道都需

Page 2: Introduction - access.ee.ntu.edu.twaccess.ee.ntu.edu.tw/.../student/Final_Project/R899210… · Web viewSoftware radio的最根本概念是對不同的通訊界面提供一個橋樑,讓一個基地台或是手機能有能力處理各種不同通訊界面的信號。

要一個濾波器,當濾波器的要求變嚴格,所需要的階數一多,則整體的運算量就會變得很可觀!所以在期末計畫中,我所要做的就是實現一個 efficient的channelizer,利用 poly-phase decomposition的方法來做 channelizer,把GSM各個 channel的信號濾出來。

Proposed Structure

Channelizer所負責的功能包括了將各個頻道的信號從一整個頻帶濾出來,接著將濾出來的信號降到基頻,最後再降低 sequence的取樣率送到基頻信號處理器中去做更進一步的處理。而在過去一般基地台 channelizer的設計中,多採用如上圖左的設計,對於各個頻道去設計相對應的帶通濾波器(Band pass filter),接著各個頻道的信號降到基頻來處理,最後做 decimation的動作,減少一些資料量,減低基頻信號處理器的負擔。按照這種架構最簡單的設計是先設計出一個基頻率波器的 Prototype,然後再根據這個 Prototype,去做簡單的處理得到其他的帶通濾波器,它們之間的關係如下:給定一個 F階的帶通濾波器 Prototype:

其他通道的帶通濾波器可以經由下列方式產生:

這樣一來從 Prototype衍生出來的帶通濾波器就可以順利的被移到適當的頻道去。而濾波器係數即為Complex。假設M為通道個數,F為帶通濾波器階數,進入的信號為Complex,則所需的Complex乘法數為M*F。當濾波器的要求嚴格,需要的濾波器階數跟著增多增多時 (F↑),或是通道數目變多時 (M↑),一個Channelizer的複雜度將是相當驚人的!!

Page 3: Introduction - access.ee.ntu.edu.twaccess.ee.ntu.edu.tw/.../student/Final_Project/R899210… · Web viewSoftware radio的最根本概念是對不同的通訊界面提供一個橋樑,讓一個基地台或是手機能有能力處理各種不同通訊界面的信號。

為了降低複雜度,有人提出了上圖右的架構。我們可以藉由 poly-phase的觀念調動一下帶通濾波器、Mixer及 decimator的位置來減少運算量。首先將Mixer搬到後面,再調換濾波器與 decimator的位置,由於各個濾波器係數之間的關係是差了一個 exp(j2πkn/M)的 factor,所以我們可以利用 IDFT來幫我們實現這個功能,所以得到如上頁圖右的架構。同時在圖中各個濾波器特性如下:

如此一來,上頁左右兩個架構仍是等效的架構,然而右圖的複雜度只有F*(M/N)+(M/2)log2M。不論是 F↑或是M↑,整體的複雜度都沒有 discrete filter bank的架構上升速度來的快!也大大的降低了所需要的運算量而沒有影響performance。

Parameter & Environment Setup

在這份期末專題設計當中,我參考了一些GSM系統的規格及 paper上的設計,並在不失一般性的狀況下,訂定了以下的模擬環境參數。Parameters ValueSampling frequency of ADC 1.6MHz

Channel separation 200kHz

Channelizer Specifications As table list below

ADC word length 12 bits

Number of Radio Channel (M) 8

Downsampling Factor (N) 4

表一 模擬環境參數而Channelizer的核心 filter需要達到以下要求:Frequency (KHz) Response Attenuation (dB)

0 0

80 0

100 3

200 18

Page 4: Introduction - access.ee.ntu.edu.twaccess.ee.ntu.edu.tw/.../student/Final_Project/R899210… · Web viewSoftware radio的最根本概念是對不同的通訊界面提供一個橋樑,讓一個基地台或是手機能有能力處理各種不同通訊界面的信號。

表二 filter spec

預計達到的效果:經由Channelizer,我們可以在各個通道的輸出得到該頻道的信號。

Design Approach

a. Prototype low-pass filter

在GSM的實用性上,channelizer的規格必須符合之前所列出來的規格,才能夠提供足夠的抑制能力,來抵擋鄰近頻道的信號,使得它們不會互相干擾,同時在距離中心頻 80KHz的地方還是不能有衰減,使得GSM的信號能完整的通過帶通濾波器而不會有 distortion。這其實是一個嚴厲的要求,所需要的帶通濾波器階數相當高,一般都需要超過 100階才能達到要求。而我在設計的過程中,採用了貝蘇章教授在DSP的課程中所教的設計方法。以下就簡介這個設計方法:為了要維持 linear phase的特性,所以濾波器在頻譜上的特性是 even function,因此它的濾波器係數可以由底下的式子求得:

經由模擬測試之後,為求符合規格及平均分配給各個 channel的階數平均起見,最後選用的階數為 120階。而設計出來的濾波器頻譜如下:

Page 5: Introduction - access.ee.ntu.edu.twaccess.ee.ntu.edu.tw/.../student/Final_Project/R899210… · Web viewSoftware radio的最根本概念是對不同的通訊界面提供一個橋樑,讓一個基地台或是手機能有能力處理各種不同通訊界面的信號。

phase都是 linear。而從 prototype filter衍生出來的帶通濾波器如下:

最後達到的規格:Frequency (KHz) Response Attenuation (dB)

0 0

80 0

100 4.5

200 35.2

Page 6: Introduction - access.ee.ntu.edu.twaccess.ee.ntu.edu.tw/.../student/Final_Project/R899210… · Web viewSoftware radio的最根本概念是對不同的通訊界面提供一個橋樑,讓一個基地台或是手機能有能力處理各種不同通訊界面的信號。

b. 8-point IDFT Design

比較 FFT及 IFFT,若不考慮 1/N的Normalize的項,則 IFFT可完全參照FFT的架構設計,只是原本 twiddle factor WN=exp(-j2π/N),現在的 twiddle factor變成WN=exp(j2π/N)。而在這份設計中,還特別為了減少乘法數,採用了Radix2-4-8的架構設計。雖然在 8點的情況,任何一種架構都不會差太多,但若要加以擴充可接收的通道個數,則此種架構會大大減少乘法數。它的架構圖如下:

所需乘法數與其他架構比較表:N=8n Radix-2 Radix2/4 Radix-2/4/88 2 2 064 98 72 48

而再進一步觀察兩個需要乘法的項,一個是WNN/8 = * (1+j),一個是

WN3N/8= * (-1+j),為了捨棄乘法,我們可以用 power of two的 shift

and add來代替 ,讓 ~ 2-1+2-3+2-4+2-6+2-8 = 0.70710678。c. Decimator Implement

在所提出的系統當中有Decimator的元件,這意味著在這個系統中存在兩個工作頻率。而在設計時,只提供一個時脈輸入,利用兩個暫存器取得 1/4 clock rate的信號,避免因兩個頻率不是整數倍的關係導致錯誤的情形。

Page 7: Introduction - access.ee.ntu.edu.twaccess.ee.ntu.edu.tw/.../student/Final_Project/R899210… · Web viewSoftware radio的最根本概念是對不同的通訊界面提供一個橋樑,讓一個基地台或是手機能有能力處理各種不同通訊界面的信號。

而在設計Decimator的時候,並不需要如我原先所預估必須的De-multiplexer,只需要一條Delay-line,及一個較慢的取樣頻率,在Delay-line中的各個暫存器輸出取樣,這樣就輕易達成Decimation的動作。

d. Finite word length effect

在以上都設計好了之後,在數位系統還有一個最重要的步驟需要完成:決定要用幾個位元來表示一個信號或是係數。以下就是我針對各個方塊及整個系統的模擬結果及結論。

1. Prototype Filter因為在這裡並沒有什麼 SNR的準則,所以在取捨位元數多寡時都是將各個位元數的濾波器頻譜秀出來,然後去量是否合乎規格,在逐一觀察的過程中發現:當位元數設定在 11位元以上之後就沒什麼大差異,所以觀察了 6~11位元的 Filter頻譜,它們的頻譜如下:

11位元 8位元

7位元 6位元令人驚訝的是:雖然係數為 6位元的 prototype濾波器在離中心頻較遠時,已經有了不小的 distortion,但是它仍符合所提出來的規格要求!但是為了減少一些在 passband的 ripple大小所以真正在實現上是採用8位元的係數。

Page 8: Introduction - access.ee.ntu.edu.twaccess.ee.ntu.edu.tw/.../student/Final_Project/R899210… · Web viewSoftware radio的最根本概念是對不同的通訊界面提供一個橋樑,讓一個基地台或是手機能有能力處理各種不同通訊界面的信號。

2. IFFT module在本次設計中由於只有 8個通道(8點),所以如之前所秀的架構圖所示只有 3級,所以在決定word length上顯得容易許多!因為每進一級有兩個元素相加,所以每進一級就多給一個位元,三級就多了三個位元,如輸入是 12位元,那麼原始輸出就是 15位元的格式。最後再將最末三位 truncate掉,所以最後仍是 12位元。

e. Simulation

首先先對GSM信號做一些了解,GSM用的調變是GMSK,它的頻域特性如下圖所示:

0.9 0.95 1 1.05 1.1-200

-150

-100

-50

0

GMSK spectrum

Am

plitu

de(d

B)

Frequency(MHz)

由上圖可知信號主要集中在中心頻附近的 100KHz的範圍之內,超過這個範圍,與中心能量區會差 60~70dB。所以鄰近頻道的信號若相差 60~70dB,則能量較弱的信號將會受到嚴重的干擾。從另外一個方向考量,在我們所設計的濾波器中,在離中心頻 200KHz左右的區域,attenuation可達到 35dB,所以若鄰近頻道的信號相差 35dB以上,則信號較弱的頻道會受到其他頻道的干擾!考慮這兩個因素,所以在設定頻道信號能量大小時能量差都不會超過 20dB,以防止 co-channel interference。在設定的模擬中,設定了兩種情況:

1. 每個頻道都有相同能量的信號左邊的圖為送進系統的信號,而右圖為經過Channelizer之後的信號。可知所設計的系統是可以動的。(註:由於做 decimation之後只能看到兩個Channel,所以這裡秀出的圖是等效濾波器跑出的結果!)

Page 9: Introduction - access.ee.ntu.edu.twaccess.ee.ntu.edu.tw/.../student/Final_Project/R899210… · Web viewSoftware radio的最根本概念是對不同的通訊界面提供一個橋樑,讓一個基地台或是手機能有能力處理各種不同通訊界面的信號。

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-140

-120

-100

-80

-60

-40

-20

0

20

40

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-200

-150

-100

-50

0

50

2. 只有兩個頻道有信號,但能量差了 20dB左圖為送進系統的模擬,右圖是在信號比較弱的 channel得到的結果。由於原先的信號已差了 20dB,最後在這個通道所得到的 SNR剩 25dB左右。

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-160

-140

-120

-100

-80

-60

-40

-20

0

20

40

Frequency(MHz)

Am

plitu

de(d

B)

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-200

-150

-100

-50

0

50

Frequency(MHz)

Am

plitu

de(d

B)

Implementation Issue

在寫 Verilog來實現這個架構時,其實有兩種方法來實現,一種是全部平行處理;另一種則是每一個通道只有一個乘法器。若是平行處理所需耗的硬體非常的大,在這次的模擬環境下它所需的元件個數如下:

Processing Element Poly-phase structure Discrete FilterComplex Multiplier(9 bits x 12 bits)

128 968

Complex Adder 150 952Register (12 bits) 234 952Shifter 10 0

此外,由於 discrete filter的架構的 decimation放在最後,所以在相同的信號產生率的情況下,discrete filter的時脈要是 4倍快!

Page 10: Introduction - access.ee.ntu.edu.twaccess.ee.ntu.edu.tw/.../student/Final_Project/R899210… · Web viewSoftware radio的最根本概念是對不同的通訊界面提供一個橋樑,讓一個基地台或是手機能有能力處理各種不同通訊界面的信號。

若是每個通道只有一個乘法器,所需硬體如下:Processing Element Poly-phase structure Discrete FilterComplex Multiplier(9 bits x 12 bits)

16 16

Complex Adder 46 8Register (12 bits) 234 952Shifter 10 0

此時兩個架構的硬體並不會差太多,但是如果要讓信號進出 filter的時間延遲縮短,勢必時脈要加快!否則在 discrete filter的架構中,輸出將延遲 119個cycle才會出來!而 poly phase的架構則是延遲 14個 cycle(它在執行的時間上會省非常多)。

Conclusion

在這個期末專題中實現了一個低複雜度又不降低 performance的 channelizer。首先證明架構的正確性,知道它與傳統所用的 discrete filter channelizer是等價的(只設計 prototype,其餘 channel利用這個 prototype延伸的情況)。之後自行設計了所需要的濾波器,使它符合所訂定的要求,並考慮 finite word length的影響,使得我們可以用有限的位元數來表示這個濾波器係數,使得濾波器的品質還能達到需求的水準。在這個設計中也考慮了減少乘法的 IFFT架構,Radix-2-4-8,當頻道數目一多,它可以大大減少乘法的數目。甚至可以用shift and add來避免乘法!最後自行產生送入系統的GSM信號,驗證了這個系統的功能性。此外一些確切的數據來說明 poly-phase架構複雜度較低的優點