• 沒有找到結果。

IMT-2000軟體無線電架構之研究---子計畫一:空-時耙狀接收器之演算法及其軟體無線電之實現

N/A
N/A
Protected

Academic year: 2021

Share "IMT-2000軟體無線電架構之研究---子計畫一:空-時耙狀接收器之演算法及其軟體無線電之實現"

Copied!
98
0
0

加載中.... (立即查看全文)

全文

(1)

行政院國家科學委員會補助專題研究計畫成果報告

※※※※※※※※※※※※※※※※※※※※※※※※

※ ※

※ 空

- 時耙狀接收器之演算法及其軟體無線電之實現※

※ ※

※ ※※※※※※※※※※※※※※※※※※※※※※※※

計畫類別: □個別型計畫 ˇ整合型計畫 計畫編號: NSC 89-2219-E-009-023 執行期間: 89 年 8 月 1 日 至 90 年 7 月 31 日 計畫主持人: 李 大 嵩 博士 共同主持人: 本成果報告包括以下應繳交之附件: □赴國外出差或研習心得報告一份 □赴大陸地區出差或研習心得報告一份 □出席國際學術會議心得報告及發表之論文各一份 □國際合作研究計畫國外研究報告書一份 執行單位:國立交通大學電信工程系 中 華 民 國 90 年 10 月 16 日

(2)

-時耙狀接收器之演算法及其軟體無線電

之實現

中文摘要

軟體無線電架構的發展,近幾年來已成為一個極受矚目的研究領 域。在本報告中,吾人首先介紹軟體無線電(software radio)平台之概 念,並整合寬頻分碼多重進接(W-CDMA)技術,發展出結合智慧型陣列 天線訊號處理之空-時犁耙接收器(space-time RAKE receiver)。由模擬 與實作結果顯示,在多重進接干擾(MAI)的環境下,此架構能有效降低 誤碼率(BER),提高系統效能。系統架構採用參數載入式設計,使其 具備軟體無線電要求之可程式化與原件模組化特性,並可透過修改參 數,輕易變更系統設定,以符合在不同環境下之通訊規格。吾人根據 TMS320C6201 DSP 數位信號處理器應用模板來模擬及實現所提之架 構,並配合其硬體特性,如平行運算處理單元,環狀定址模式與高速 化多功能串列埠等,發展出一具備可程式與相容於第三代行動通訊系 統之接收器基頻處理模組。

(3)

Algorithm and Software Radio Realization

of Space-Time RAKE Receiver

Abstract

Recently, the development of software define radio has been an interesting research area in wireless communication signal processing. In this report, we first introduce the concept of software define radio. In the following, we propose a smart array antenna based space-time RAKE receiver for wideband CDMA (W-CDMA). It can be shown form simulation and implementation results that the proposed architecture can effectively reduce the bit-error-probability (BER) in the presence of multiple access interference (MAI). For the purpose of programmability and modularity, the proposed system architecture adopts the parameter-download-type scheme. By modifying the core parameter, we can reconfigure the proposed system easily to meet the different specifications. To realize the system, we exploit some of the hardware characteristics offered by TI TMS320C6201 DSP processor, such as parallel ALUs, circular addressing mode, McBSP device, and so on, to develop a programmable receiving backend compatible with 3GPP.

(4)

第一章

緒論

為滿足人類對通訊的需求,通訊科技在近年來有長足的進步。 隨著 第三代無線通訊的蓬勃發展,各式各樣通訊系統與通訊平台亦不斷的 出現, 但另一方面,許多舊一代的系統也仍持續運作中。如 GSM、 IS-95、 PHS、GPRS 與 IMT-2000 等系統, 雖然許多組織曾嘗試著 使規格統一, 但實際上許多差異仍出現在不同的系統中,新舊世代 的交換,並非一蹴可及。 不同系統的同時運行,代表需要同時使用 不同的設備端,造成使用上諸多不便。如何使單一設備端具備多模與 多功能,並能快速切換到不同系統,為軟體無線電系統的基本概念。 本報告中,吾人將以軟體無線電的概念設計第三代無線電系統之接收 器架構,並分析在即時(Real-Time)的要求下,系統以硬體實現之可能 性。 軟體無線電系統採用分層設計的方式,接收機在接收到訊號後, 會將之轉成全數位化訊號,再經由下層的處理單元處理。數位化處理

(5)

原件的特點在於可透過下載程式碼的方式改變其內部功能,吾人可利 用下載程式碼的方式,輕易改變不同的系統架構。但處理原件的處理 速度為系統時限上一個主要的瓶頸,尤其是負責基頻處理的中央處理 器部分。隨著處理器速度的日新月異,近年來以商業應用為主的軟體 無線電系統已陸續出現。應用上,DSP 處理器與 FPGA 幾乎已成為設 計軟體無線電系統的不二選擇。此兩種處理器皆有可程式化的特點。 程式設計上,DSP 偏向於開發微處理器程式,FPGA 則類似晶片設計。 整合多樣化周邊硬體之 DSP 處理器,具備運行獨立系統(stand-alone system)之能力,便利之發展環境,易於實作複雜之演算法架構。衡量 DSP 處理器以上特點,吾人選擇其作為開發系統之硬體平台。第二章 中將簡介軟體無線電的基本概念,並討論實作上的相關考量。關於軟 體無線電與實作上的的相關討論,可參考[1]-[7]。 為達到更高速的通訊要求,DS-CDMA[9],[10] 術普遍使用於第 三代行動通訊系統中。使用者利用不同的展頻碼,於相同的頻帶同時 進行通訊,雖可有效利用頻寬,但也同時存在有多重進接干擾(MAI)。 再者,於行動無線通訊環境中,訊號在行動端和基地台間傳遞時會因 建築物和地形影響而產生多重路徑衰落,導致通道瞬間狀態隨時間改 變。此外,由於與距離相關的路徑損失(path loss)、屏蔽效應(shadowing) 的影響,產生遠近效應問題(near-far effect)。由於這些影響與強多重

(6)

存取進接干擾,導致上鍊路系統容量下降,需使用不同的技術以抑制 干擾:如快速傳輸功率控制(TPC)的採用,可將訊號干擾功率比盡可能 保持在事先定義的目標值[11],[12],藉以減少多重存取進接干擾。 另一方面,以匹配濾波器(matched filter,MF)對訊號解出不同路徑及 時間延遲的訊號,再利用犁耙(RAKE)接收器將其結合,降低多重路 徑干擾影響。進一步可結合智慧型陣列天線與干擾消除機以有效消除 多重存取進接干擾。第三章中將介紹空$-$時犁耙接收機基本架構, 吾人以寬頻分碼多重進接(W-CDMA)[13],[14],[15]之規格實作接收 機基頻處理部分使用軟體無線電的概念,搭配兩種不同形式的智慧型 陣列天線架構,第五章中將分析此架構之效能。 第四章中介紹數位信號處理器。數位信號處理器(DSP processor) 具備有低耗電與高運算速度等特性,可廣泛應用於通訊、控制、影像 處理、語音處理與消費性電子等領域。TMS320C6201 DSP 處理器為 德州儀器公司[19]發展之最新一代通訊 DSP 處理器。其採用超長指令 架構(Very long instruction word, VLIW)設計,直另執行動作精簡優 異。多運算單元可並行運作,搭配高速的運作時脈(200Mhz),理論上 可達到1600 MIPS 的處理速度[21]。此 DSP 高速化的特點,已可應用 於實際系統中,多樣化硬體周邊與高度可程式化,更適合用於快速驗 證系統效能。

(7)

第五章中吾人將簡介程式架構與流程,並簡單說明程式設計之流 程與考量。在講求處理速度的情況下,DSP 程式設計必須由配合硬體 特性與程式最佳化的觀點出發[23],[24] TMS320C6201 採用定點數運 算架構,為求充分發揮硬體效能,吾人使用定點數演算法撰寫程式, 對於資料動態範圍,運算精確度必須有適當處理。此章節中比較系統 在不同架構下的效能表現,並驗證實作結果。吾人在第六章中作一總 結,並討論多種進階系統實作方法。

(8)

第二章

軟體無線電系統概述

軟體無線電系統具備有多功能與可程式化的特點,透過運作軟體的置 換,能切換至各種不同規格之系統。通訊系統所需之可適性訊號處理 能力,在此系統架構中更可輕易實現。本章將簡介軟體無線電的基本 架構,並說明現階段軟體無線電系統之發展狀況。

2.1 軟體無線電架構

軟體無線電的概念為”可滿足不同環境下多模式、多功能通訊要求, 具備可適性訊號處理、原件可程式化能力之全數位化通訊設備”。在 此概念下,利用軟體控制方式以改變硬體特性的通訊設備,皆可廣泛 視為軟體無線電系統[16]。軟體無線電系統的發展方式類似於開發軟 體,系統中各個硬體原件模組可視為功能不同的物件(object),視需要 呼叫執行。因此,吾人可透過下載程式碼之方式來置換物件,亦即改

(9)

變系統架構。一個軟體無線電系統的基本架構如圖2.1 所示,系統由 不同的硬體模組組成,包含:天線(antenna)單元、多頻帶射頻(RF)單 元、中頻(IF)濾波器、類比-數位轉換器(ADC)、數位-類比轉換器 (DAC)、中央處理器等(CPU)。採用上述架構實作出的系統具有以下 特點: 1、 可藉由改變任一模組的方式達成改變系統架構的目的。 2、 系統本身隨時可透過自行調整達到最佳化的目的。 3、 系統可適用於任何規格的通訊系統。 然而,軟體無線電系統同時存在著幾個主要的問題。第一,處理速度。 軟體無線電系統深受受處理器速度影響。因 DSP 處理器與 FPGA 晶 片皆具有可重複程式化的特色,近代軟體無線電系統也大多以此兩種 硬體作為主要的中央處理器。但長久以來,使用高速化的FPGA 晶片 或使是用容易開發的 DSP 處理器。一直是個值得爭議的地方。使用 DSP 處理器的好處在於其易於使用之特性,但對於需要及時運算與平 行處理的場合,如解調與調變、解展頻等部分,DSP 處理器的晶片速 度便略顯不足。使用FPGA 晶片開發雖然可以提高處理速度,但為處 裡複雜的計算,FPGA 需要相當大的電路面積,造成產品體積過大的 問題。一般而言,DSP 處理器適合開發複雜之演算法架構,FPGA 則 適用於需快速處理速度之單元,表2.1 為 FPGA 與 DSP 之比較表[19],

(10)

[20]。第二,耗電問題。對於使用電池的行動設備而言,耗電量為不 可忽略的因素。越高速的類比-數位轉換器其耗電量越大,複雜的中 央處理器更是消耗大量電源。第三,射頻模組不易設計。多頻帶的使 用造成對寬頻射頻模組的需求,提高設計之複雜度。

2.2 智慧型天線系統

智慧型天線系統為一個具有可適性特色的接收架構。透過改變對不同 入射方向訊號權值(weights)之方式以形成不同的波束,可增加系統處 理空間訊號之能力,降低由不同方向入射訊號所造成之干擾,如圖 2.2 與圖 2.3。軟體無線電系統可藉由與智慧型天線系統的搭配,提高 系統的效能與容量。可適性陣列天線即為一智慧型天線系統的應用實 例。透過可適性調整天線權值的方式,動態改變波束,使得同頻道干 擾(cochannel interference,CCI)降到最低,並提高訊號-干擾比(signal to interference ratio,SIR),因此可使用於多路徑干擾的環境。在可適性 陣列天線中,因計算權值需佔用部分處理器時間,實作上處理器速度 的問題必須列入考慮。固定式波束陣列天線基本上不屬於智慧型天線 系統,因其波束方向視硬體設計而定,無法於系統運作時適應性更 動。使用扇型多工陣列天線會增加系統硬體成本,但因不會對系統處 理速度帶來影響,且能提升一定之效能,普遍使用於傳統接收器中。

(11)

吾人可稍加修改固定波束式陣列天線架構,使系統具備波束選擇的能 力,提高系統效能。關於上述兩種架構的詳細討論,可參考第三章與 [8]之說明。配合軟體無線電系統可變換模組之特性,一個系統可以 同時具備多種智慧型天線架構,軟體無線電系統再視所處通訊環境之 差異,選擇最適合之智慧型天線架構與其搭配[18],基本架構示意圖 如圖2.4 所示。

2.3 參數載入式軟體無線電系統

一般的軟體無線電系統,如圖 2.5 所示,當吾人啟動通訊系統時,必 須將程式碼載入到系統中,並啟動初始程式,此類型之軟體無線電系 統稱為 full-download-type 軟體無線電系統。此系統的缺點在於下載 程式碼過於龐大,使用者需花費長時間下載程式碼,且元件使用率過 低。一個替代的方案[17],如圖 2.6 所示,整個系統由一個中央參數 控制器統籌管理。欲改變系統規格時,只需下載對應系統規格參數。 其特點在於系統程式碼體積精簡,下載程式碼之時間極短以及提高系 統核心程式碼重複利用率。

(12)

2.4 結論

在這個章節中,吾人簡介軟體無線電系統之基本概念,並介紹一些提 高 效 能 的 方 法 與 實 作 觀 念 。 如 智 慧 型 天 線 的 使 用 與 parameter-download-type 的系統架構。以下章節,吾人將分別針對這 些架構作進一步的說明,並以DSP 晶片實作驗證系統效能。

(13)

圖2.1:軟體無線電系統架構

(14)

圖2.3:波束干擾消除示意圖

(15)

圖 2.5:full-download-type 軟體無線電系統內部架構方塊圖

(16)
(17)

第三章

-時犁耙接收器系統模型

在這一章節,將介紹智慧型空-時犁耙接收器系統,智慧型陣列天線 系統包含犁耙接收器。智慧型天線系統使用兩種不同架構,分別為: 適應性陣列天線以及固定式波束陣列天線。最後將討論其在 3GPP 的 規格下的性能。

3.1 專用實體通道的展頻與調變

本章節重點將放在3GPP 規格資料格式與調變方法。在 3GPP 規格裡 的專用實體通道是由專用實體資料通道(DPDCH)和專用實體控制通 道(DPCCH)組成。專用實體控制通道負責傳送第一層的控制訊息,專 用實體資料通道則用於傳送第二層的專用資料。專用實體控制通道內 含尋引位元之已知符號(供上鏈路通道估計使用)、功率控制指令(TPC) 以及傳送格式指引位元,其結構如圖 3.1。每一個時框(frame)長度為 10 ms,含有 15 個時槽(slot)。圖 3.1 之參數 是用來決定位於上鏈路

k

(18)

專用實體資料通道內每一個時槽所容納的位元數。展頻係數 SF ,範圍由 256 到 4。由於專用實體控制通道位元數固定, 即使用不同的展頻係數,大部分專用實體資料通道和專用實體控制通 道的傳輸速率仍不盡相同。表 3.1 和表 3.2 為各通道的格式,表 3.3 和表3.4 則為尋引位元模型。 ( 256 / 2 )= q I + jQ I 圖 3.2 為上鏈路專用實體通道展頻與調變示意圖,資料的調變採 用雙通道 QPSK,亦即將 I 通道和 通道當成兩個獨立的 BPSK 通道。當專用實體資料通道只有一個時,專用資料實體通道和專用實 體控制通道分別使用兩個不同的展頻碼,並置於不同的通道中。若同 時存在數個專用實體資料通道,則需使用額外的展頻碼,並可置於任 一通道。兩展碼資料結合後,再利用特定的攪亂碼將將展頻訊號 Q 攪亂。關於上鏈路專用實體通道展頻碼,有一定的限制存在: 相同的展頻碼不能重複使用,即使其用於不同的通道中。限制的理由 是如果 通道和 通道的資料使用相同的展頻碼,其在專用實體 控制通道被偵測並進行通道相位估計前將無法分離出來。其次,展頻 碼如果出自於同組碼樹,解展頻時會有碼樹結構的優勢,可以避免 chip level buffering。行動端可直接提供資料速度資訊,或透過專用實 體控制通道TFCI 欄位提供更準確的訊息,此資訊可使基地台動態選 擇適當的展頻係數以進行資料解展頻。以圖3.3 為例,通道展頻碼記

(19)

為 ,其中 表示為第 個專用實體資料通道之展頻 係數。專用實體控制通道之通道碼則由碼號為 1 之碼開始,依照展頻 係數 展開。 , SF codenumber C c SF , d n SF n 1,1 2,1 2,2 1,1 C C C C   =     1 1 1 1 = − 2,1 4,1 2,1 4,2 4,3 2,2 4,4 1,1 C C   1 1 1 1                   1 1 1 1 1 1 2 ,1 2 ,2 2 ,3 2 ,4 2 ,2 1 n n n n n n C C C C + + + + + +            =           2 ,1 2 ,1 2 ,2 2 ,2 2 ,2 n n n n n n n n C C C C                   1,1 1,1 C C           (3.1) 2,1 2,1 1,1 2,2 1 1 1 1 1 1 1 1 1 1 1 1 C C C C C C C C C C     − −   = =  − −   − −     (3.2) 1 1 2 ,1 2 ,1 2 ,2 2 ,2 2 ,2 2 ,2 2 ,2 2 ,2 n n n n n n n n n n C C C C C C C C C + + C          (3.3)   訊號傳輸時,利用攪亂碼(scramble code)可區隔不同來源之訊 號,在上鏈路方向分有長碼和短碼兩種。長碼被截成1 個時框 10 ms 的長度,在碼片率(chip rate)為 3.84 Mcps 的情況下,1 個時框會有 38400 個碼片長。短碼長度為 256 個 chip 長,用於架構複雜之系統以

(20)

降低設計困難度,而較為複雜的長碼則適用於架構簡單之接收器。本 報告採用短碼以降低設計複雜度。短碼 ,選自於 延伸碼族,可由 ( ) 推得。長度 255 切片的四進位序列 ,則是由一個四進位序列 ( ) 和兩個二進 位序列 和 進行四進位加法求得,其關係式如下: ( ), 0,1, ,255 v S n n= r a n 2 S ( v v z n ),0 16,777,216 z n ≤ ≤v ( ) s b n c nt( )

)

(

2

)

(

2

)

(

)

(

n

a

n

b

n

c

n

z

v

=

r

+

s

+

t (mod 4), n=0,1, ,254 (3.4) 使用者索引 決定組成序列的索引值 , 和 : v r s t

255

,

,

2

,

1

,

0

255

,

,

2

,

1

,

0

255

,

,

2

,

1

,

0

2

2

16 8

=

=

=

+

+

=

t

s

r

r

s

t

v

(3.5) ( ) r a n 由遞迴產生式 (多項式為 產生, 其式為: 0 G ( ) 8 5 3 3 2 2 1 0 x =x +x + x +x + x+ g

)

8

(

3

)

7

(

2

)

6

(

3

)

5

(

1

)

3

(

3

)

(

+

+

+

+

=

n

a

n

a

n

a

n

a

n

a

n

a

r r r r r r (mod 4) (3.6) 序列 ( ) 由遞迴產生式 (多項式為 產生,其式為: s b n G1 ( ) 8 7 5 1 1 x = x + x + x + x+ g

(21)

)

8

(

)

7

(

)

3

(

)

1

(

)

(

n

=

b

n

+

b

n

+

b

n

+

b

n

b

s s s s s (mod 2) (3.7) 序列C 由遞迴產生式G (多項式為 產生, 其式為: ( ) t n 2 ( ) 1 4 5 7 8 2 x = x +x + x + x + g

)

8

(

)

4

(

)

3

(

)

(

)

(

n

=

c

n

+

c

n

+

c

n

+

c

n

c

t t t t t (mod2) (3.8) 圖3.4 為短攪亂碼產生器示意圖。

3.2 空-時犁耙接收機

適應性天線陣列可以藉由將波束消除(beam nulling)方向指向干擾源 以壓制多重進接干擾源。其方法為將收進各別天線之訊號分別乘上適 當的權值,以提升使用者的訊號干擾功率比(SIR)。為求得適當之權 值,不同系統間會有不同的處理方式,稍後詳述之。

3.2.1 主要架構

圖 3.1 為 上 鍊 路 的 時 框 格 式 , 個 已 知 的 尋 引 符 號 和 資料符號各佔用一組通道平行傳輸。圖 3.2 則為上鏈路展 頻/調變圖解,資料通道和尋引通道使用不同的 OVSF 碼,並分置於 ( p pilot N N ) ) ( d data N N

(22)

I 通道和 通道進行調變。調變的訊號在乘上與所在細胞(cell)相 關的攪亂碼後傳送出去。假設有 個使用者同時傳送,訊號經過多 路徑傳輸通道被基地台以陣列天線接收後。第 個使用者傳送訊號 , Q k k ) (t sk k = ,…,K

)

(

(

t

d

k k

+

k d t C tk( ) 2 , 1

)C

t

,表示成複數的型態:

)

(t

s

k

u t

=

=

=

∞ = = n k n k m k

u

n

u

n

u

m

b

)

(

)

(

)

)

(

k b m c

−∞ ∞ −∞ = ∞ −∞

cp

c

k k k

P

C

d

(

(

( ) k c

)

(

*

P

t

j

k

=

(3.9) 其中 ( ) 、 和 ( ) 分別為符號波形、展頻資料波形以及尋 引符號展頻波形。進一步可表示如下: k P t

c c

n

T

t

t

n

T

t

t

m

T

t

t

)

(

)

)

(

(

)

(

)

(3.10) 其中 ( ) 為資料符號,c 為資料展頻碼,而 ( ) 為尋引展 頻碼。資料展頻碼和尋引展頻碼長度並不需要相同。在3.10 式裡,T 為資料時間間隔,T 為展頻碼 ( ) 碼片時間間隔,當 時 為 1,否則為 0, ( ) k n cp nk n 0≤ ≤t 1 c T T g P = 則為處理增益(processing gain)。若第 個使用者有 k Lk 個可分解的路徑,其獨立複通道增益表示為 ,時間延遲為 ( kl a t)

τ

kll =1,2,…,Lk

(23)

圖 3.5 與 3.6 為處裡第 個使用者在第 個路徑訊號之空$-$時犁 耙接收機之方塊圖。接收到的複合訊號表示為: k l

[

( ) ( ) * ( )

]

( ) ) ( ) ( ) ( 1 1 t t P j t C t d t t K k L l kl kl k kl k kl k n a r =

∑∑

− + − + = =

θ

α

τ

τ

(3.11) 其中 a(

θ

kl) 為第 個使用者在第 個路徑的空間特徵向量,k l n(t) 則為背景(複數高斯)雜訊。需注意到在本報告中假定所有 個路徑 訊號抵達第 根天線的延遲時間 k L J

τ

kl 均為相同,通道增益則存在有 些許不同。假定成立的原因乃因在載波頻率高達2 GHz 的情況下,天 線間的距離遠小於電磁波在一個碼片時間 所傳播的距離。圖 3.5 與圖3.6 所示,空-時犁耙接收器是由匹配濾波器(matched filter, MF)、 c T 波束形成器和同調(coherent)時間犁耙接收機所組成。其中匹配濾波器 是由一組相關器(correlator)合成,每一個相關器則是由乘法器和積傾 濾波器(integrate-and-dump filter)組成。在乘法器乘法器運作時,接收 訊號將會延遲一段欲解析路徑之預估路徑延遲時間,收到訊號再乘上 一組由本地端產生之對應展頻碼,其後積傾器將於每符號間隔送出一 積分值(即解展頻訊號)。因考慮 個路徑,每一根天線接收的訊號 在經由匹配濾波器解展頻後,將分析出 個取樣。在處理尋引符號 時,吾人假設其值皆為 1 (在 3GPP 的規格裡定義有尋引符號的格 k L k L

(24)

式,本報告之模擬均遵循此規範)。則在時間 t =mT +

τ

kl ) ( j kl y ,匹配濾波 器會對於第 根天線第 根路徑輸出取樣值 (資料符號)和 (尋引符號),其表示式為: J l ) ( j kl x



kl kl

x

y

( ( y

t

t

(

T

T

( (

1

1

( j kl J kl p      kl kl p z ( ( kl kl x y ( ( ) ) kl mT t = +

τ

=

=

+ + + + + + kl kl kl kl T m mT kl k j j T m mT kl k j j

dt

P

t

r

m

dt

C

t

r

m

τ τ τ τ

τ

τ

) 1 ) ( ) ) 1 ) ( )

)

(

)

(

)

(

)

)

(

)

(

(3.12) 其中 為第 根天線所接收的訊號。將 根天線解展頻的訊 號 和 取樣加權並相加後形成一接收波束場形,可提昇該 根路徑的訊號雜訊比。相加合成結果值 和 (分別為第 ) ( ) ( t rj ) ( j kl j ) x kl z l 根 路徑波束形成器資料和尋引符號的輸出),其式為: = =

= = J j j kl j J j j kl j m w m m m w m m 1 * ) ( ) 1 * ) ( ) ( ) ( ) ( ) ( ) (3.13) 其中wkl( j) 為第 根天線的權值。為了在時間 j 時能同調 結合 個波束使形成器輸出 ) ,需利用已知尋引通道符號以 估計出複和之通道增益值。吾人所使用之估計方法為取樣平均估計法 則,其式為: k L zkl(m

(25)

= = Np m kl p kl p m N s 1 ) ( 1 (3.14) 使用通道估計值將第 個波束形成器輸出 ) 的隨機相位補除 後,吾人可使用犁耙接收機將訊號同調結合,接收機輸出式如下: j zkl(m

= = Lk l kl kl k m z m s z 1 * ) ( ) ( (3.15)

3.3 權值估計

波束形成器權值之估計方式,在不同的架構下會有不同的考量,使用 之演算法也不盡相同。以下吾人將分別說明使用於本報告中之兩種不 同權值決定方式。

3.3.1 適應性權值調整演算法(Weight adaptation algorithm)

可適性天線陣列架構使用可適性方式動態調整天線陣列之權值。權值 參數 乃利用最小均方(least-mean-square algorithm, LMS)演算 法更新,適應性權值調整演算法的目的在盡可能將波束形成器輸出的 均方差(mean square error, MSE)縮小,運算時需有相對應之參考訊 號存在,以產生第 個波束產生器的錯誤訊號(error signal)。此吾人 ) ( j kl w l

(26)

可以尋引符號作為參考訊號,經由估測值將暫時的參考資料決定出 來:

{

( ) ~ sign z m bk = k

}

(3.16) 由上式,參考訊號: kl k kl m b m s z ( ) ~( )* ~ = (3.17) 錯誤訊號 : ) ( ) ( ˆ ) (m z m z m ekl = klkl (3.18) 最後,權值向量 $w_{kl}(m+1)$ 使用正規化最小均方(NLMS)演算法 求得為: ) ( ) ( ) ( ) ( ) 1 ( * 1 2 ) ( ) ( ) ( ) ( e m m y m y m w m w J kl j kl j j kl j kl j kl + = + ⋅

=

µ

(3.19)

3.3.2 固定式波束選擇器(Fixed-Beam selector algorithm)

(27)

挑選出最適當的權值。選擇器以尋引通道為主要參考訊號,並利用接 收能量大小決定適當的權值。所有權值的集合為: (1) (2) ( )J kl = kl kl kl W w w w   (3.20) 其中 ( ) ( ) ( ) ( ) (1) (2) ( ) T j j j j kl =

ω

kl

ω

kl

ω

kl J w (3.21) 當訊號經過所有波束產生器後的輸出值為: (1) (2) ( ) ( ) T( ) ( ) ( ) J ( ) kl m = kl m kl =zkl m zkl m zkl m  z y W (3.22) 其能量為: (1) 2 (2) 2 ( ) 2 ( ) ( ) ( ) J ( ) kl m =zkl m zkl m zkl m  E (3.23) 波束選擇器再依能量值,從所有候選權值中選擇出最適合之第 組 權值 ),此組權值則用於與下個資料時槽結合,估出所傳送訊息。 j ( j kl w

(28)
(29)
(30)
(31)
(32)
(33)
(34)
(35)
(36)
(37)
(38)
(39)

第四章

TI TMSC6201 DSP 通訊晶片簡介

TMS320C6201為德州儀器公司發展之最新一代通訊DSP 處理器,採 用先進的超長指令架構(VLIW)設計,具 8 個可並行運作之運算單元 與多樣化的硬體周邊,為一功能強大之 DSP處理器。其架構[22]可參 考圖4.1。為使用此 DSP 處理器做為開發系統之主要硬體平台,吾人 有必要瞭解其內部架構與周邊原件,以求充分發揮硬體特性。

4.1 CPU 結構

TMS320C6201 DSP 晶片(以下簡稱 DSP)包含運算單元、控制暫存器 與相關控制電路。

4.1.1 運算單元

DSP 共有兩組運算單元組(1 組與 2 組),各含四個運算單元,分別稱

(40)

為.L、.S、.M、.D運算單元,功能如下: .L 運算單元 - 邏輯、計數器。

.S 運算單元 - 位元移位(bit shift)、程式碼跳躍(branch) .D 運算單元 - 線性(linear)、環狀(circular)定址器。 .M 運算單元 - 乘法器。

4.1.2 CPU 內部暫存器

內部暫存器一功能可大致區分為兩大類: 一般暫存器群組 DSP 中共有兩組一般暫存器群組(A群與 B群),各有16個 32位元 之暫存器。基本上,A群暫存器提供運算單元組1組使用,B 群暫存 器則提供運算單元組 2 組使用。但 DSP 亦提供特殊的存取路徑,如 圖 42,使得運算單元組 1 可以使用 B 群暫存器,反之亦然。暫存器 的長度為 32 個位元,透過兩個暫存器的結合,可延伸至 40 個位元。 結合方式可參考表 4.1及圖4.3。 控制暫存器群組 DSP 中總共有十個控制暫存器,分別用以儲存或設定 DSP 內部的狀 態。此十個控制暫存器皆需要使用特殊的指令加以控制。以下簡要說 明各控制暫存器的功能:

(41)

1. AMR (定址模式控制暫存器)

可控制暫存器儲存間接位址的定址方式,預設為線性定址模式 (linear mode),亦可設定成環形定址模式(circular mode)。

2. CSR (控制狀態暫存器)

控制狀態暫存器為儲存控制及狀態位元之暫存器。可以顯示諸如 是否運算溢位,DSP 及 DMA 之 word 或 half-word 之位元組儲存 方式為little endian或big endian。

3. IER、IFR、ISR、ICR(中斷控制及狀態暫存器)

此群暫存器組為儲存及設定中斷(INT1-INT15,NMI)是否致能,可 分別致能或清除各個中斷。

4. ISTP (中斷向量位置暫存器)

儲存中斷向量服務程式(interrupt service routine)位址與中斷的優先 順序。 5. IRP (中斷回復位置暫存器) 儲存一般中斷服務程式的回復位址。 6. NRP (NMI中斷向量位置暫存器) 儲存NMI中斷服務程式的回復位址。 7. PCE1 (指令執行位址) 儲存執行狀態之指令位址。

(42)

4.2 記憶體架構

TMS320C6201記憶體分配主要可分為程式記憶體(program memory)、 資 料 記 憶 體 (data memory) 、 內 部 周 邊 原 件 空 間 記 憶 體 (internal-peripheral space memory)以及透過記憶體控制介面(EMIF)控 制的外部記憶體四種。使用32-bit定址方式,總共可以存取至 4 Gbytes 的記憶體空間。

4.2.1 記憶體映射模式(memory map)

TMS320C6201 使用記憶體映射的控制方式,將所有的記憶體及暫存 器位址映射至一個單一的記憶體空間,透過此單一定址空間,即可直 接對所有記憶體與周邊控制暫存器作存取,TMS320C201 提供了兩種 型態的映射方式(map 0 與 map 1),如表4.2。相異之處在於其對記憶 體區塊的排列方式。資料放置的方式亦有兩種不同的格式,可以選擇 word或 half-word中低位元組的置放位置。將低位元組置放於低位址 的作法稱為little-endian,反之將低位元組置放於高位址之作法則稱為 big-endian,如圖4.4。

(43)

4.2.2 內部程式記憶體

TMS320C6201總共有 64K 之內部程式記憶體,可等於2K個 256-bit FP(Fetch Packet)或等於16K 個32-bit指令。內部記憶體共有四種工作 模式。大致上分成一般程式記憶體與快取記憶體兩種類型。

4.2.3 內部資料記憶體

TMS320C6201總共有64K 之內部程式記憶體,內部資料記憶體分成 兩區塊,每塊32Kbytes,分成4組,每組含4K個16-bit half-word。 記憶體儲存方式需對齊 2-byte 邊界或 4-byte 邊界限制。DSP 同時可 對不同塊之不圖組記憶體作讀取動作。存取同組之記憶體則會產生 wait state。DSP 與DMA可同時對資料記憶體作存取動作,但如果欲 對同組記憶體存取,則由DMA通道之PRI位元決定其優先次序。

4.2.4 內部周邊原件空間

內部周邊原件空間包含了外界記憶體控制介面(External Memory Interface,EMIF)及記憶體直接存取控制器(Direct Memory Access, DMA)的控制暫存器組。

(44)

4.2.5 外部記憶體介面(External Memory Interface, EMIF)

EMIF 之主要功能為提供各種控制及時序介面信號,以連接各類型記 憶體原件,擴充DSP 可使用之記憶體。EMIF 可使用之記憶體原件包 括 同 步 原 件 如 : 同 步 靜 態 記 憶 體(SBSRAM)、 同 步 動 態 記 憶 體 (SDRAM)、以及非同步原件如:非同步靜態記憶體(ASRAM)、ROM、 FIFO等。EMIF對外控制外接記憶體的使用,對內則負責對提出記憶 體使用要求的原件提供必要的服務,如圖4.5。

4.3 內部周邊原件

TMS320C6201提供的多樣周邊原件,使其本身除了訊號處理功能外, 透過配邊原件的整合,能發展出更多功能更為強大的應用。以下吾人 將簡介幾個重要的週邊原件與其運作控制方式。

4.3.1 主電腦介面(Host Interface Ports,HPIs)

HPI 為一個 16 位元的並聯輸出入埠,提供主電腦(HOST 端)與 DSP 進行資料交換的介面,其架構圖如圖 4.6。透過此介面,主電腦可以 由DMA的輔助通道經由 HPI對DSP 內部記憶體空間存取資料。HPI

(45)

有三個暫存器,分別為:

HPI控制暫存器(HPI control register,HPIC) HPI位址暫存器(HPI address register,HPIA) HPI資料暫存器(HPI address register,HPID)

HPIC 可同時被主電腦與 DSP 存取,為兩者溝通訊號的主要暫存器。 其中的DSPINT 位址用來讓主電腦對DSP 產生中斷信號,HINT 則可 令DSP對主電腦產生中斷訊號。主電腦對DSP存取時,需先設定HPIC, 將位址寫入HPIA,並透過 HPID讀取資料。

4.3.2 直接記憶體存取(Direct Memory Access,DMA)

TMS320C6201 DMA 控制器共有四個獨立的通道與一個連接 HPI 的 輔助通道,可以不透過 DSP 的控制,直接對所有的映射記憶體位址 DMA存取。其控制暫存器主要可分成兩大類:一為 DMA通用控制暫 存器,另一類則為個別通道控制暫存器。個別通道暫存器主要決定 DMA 每讀取一筆資料時的資料大小,來源位址與目的地位址,讀寫 同步事件模式,DMA 啟動與停止、中斷產生。通用暫存器則可設定 來源位址與目的地位址的資料移動方向,使用於 DSP 自動載入之情 況時,可將每一傳送資料區塊所含傳送資料框數目及資料框資料筆數 再重新載入某一通道之傳送計數暫存器中。一般常見的DMA 動作方

(46)

式為區塊資料搬移,設定流程如下 1、設定搬移資料區塊大小。 2、目的地位址與來源位址。目的地位址與來源位址的增減方 式,即下一筆資料的排列位址與前一筆資料位址的相關位 址。 3、設定是否產生資料框同步訊號,設定讀寫同步訊號來源, 同 步 訊 號 來 源 如 表\Z\ref{tbl:dma_sync}\Z 所 示 , 可 使 DMA資料讀寫配合周邊元件的動作。 4、設定是否產生中斷訊號,及中斷訊號產生之狀況。 5、啟動DMA

4.3.3 中斷選擇器與中斷源(Interrupt Selector and External

Interrupts)

TMS320C6201 的 16 個中斷服務來源除了重置與 NMI 對應至預設的 重置與NMI中斷服務常式外,其餘的INT4-INT15 中斷皆可透過中斷 選擇器,自由選擇外接之中斷源。TMS320C6201 的外部中斷源共有 16 個,當系統重置時,系統會依中斷選擇器之預設值設定中斷源與 內部中斷之對應關係,如表4.4所示。

(47)

4.3.3 高速串聯埠介面(Multichannel Buffered Serial Ports,

McBSPs)

TMS320C6201 共有兩個高速串聯埠介面,可分別作高速的全雙工高 速傳輸,其架構如圖 4.7 所示。TMS320C6201 之高速串聯埠提供多 種不同傳輸方式,可直接連接各種通信標準介面如:T1/E1、MVIP、 ST-BUS、IOM-2、AC97、IIS、SPI 等。並可支援最高達 128 通道之 多通道傳輸模式。其內部提供之取樣信號產生器,可程式化產生本身 所需的時脈訊號與同步訊號。多個時脈與訊號框同步訊號接腳,則可 使 其 使 用 或 輸 出 供 外 部 設 備 使 用 之 時 脈 與 訊 號 框 同 步 訊 號 。 TMS320C6201高速串聯埠一般的工作方式為: 接收模式 在接收端接收到設定的訊號框同步訊號後,啟動接收模式並將資料由 DR 腳位讀入,先送入 RSR,次移入 RBR,然後送入 DRR。此時高 速串聯埠會對 DSP設定接收訊號(RRDY)與對DMA 發出讀入事件訊 號(REVT),分別通知DSP 或DMA將資料讀入。 傳送模式 在傳送端接收到設定的訊號框同步訊號後,此時高速串聯埠會對DSP 設定傳送訊號(XRDY)與對 DMA發出寫出事件訊號(XEVT),分別通

(48)

知DSP 或DMA將資料寫入 DXR,資料先移入XSR,後由DX 腳位 送出。詳細時序圖可參考圖4.8。

(49)
(50)
(51)

圖 4.3:TMS320C6201暫存器之結合方式

(52)

圖 4.5:TMS320C6201外界記憶體介面方塊圖

(53)

圖 4.7:TMS320C6201高速串聯埠介面方塊圖

(54)
(55)
(56)
(57)
(58)

第五章

實作過程分析與結果

在講求實用為主的真實系統中,效率乃為一非常重要之考量因素。如 何設計出正確且執行效率高的系統,軟體與硬體間的配合是不可或缺 的。此章中,吾人將嘗試以前一章節所介紹之 TI TMS320C6201 DSP 處理器實現提出之智慧型犁耙機收器基頻處理端,並驗證與分析在軟 體無線電架構基礎下系統實現之可能性。

5.1 發展環境簡介

開發環境依功能可分成 DSP硬體系統與控制程式碼兩部分。

5.1.1 硬體發展環境

硬體開發環境使用 Blue Wave 公司製作之PCI/C6600 TBC 發展板, PCI/C6600的架構如圖5.1 所示。此發展板之特色如下:

(59)

1、處理器:TBC板上共使用兩顆 運算速度為 200Mhz之TI TMS320C6201 DSP 處理器,雙CPU可互相配合,提供更 強大的運算能力。

2、匯流排架構:匯流排之分佈如圖5.1,使用專用之PCI匯 流排連接各個版上元件,對外透過 PCI-PCI 橋接器與 PC 端之PCI匯流排連接,對內則使用 PLX PCI9080 DSP-PCI 橋接器與DSP 溝通。每顆DSP 晶片並擁有獨立匯流排, 用以連接專屬 DSP 本身之週邊設備,如 SDRAM 與控制 用暫存器等。共享匯流排A (Shared Bus A)與共享匯流排 B (Shared Bus B)則提供DSP 存取共享記憶體A (Shared SRAM Bank A)及共享記憶體B (Shared SRAM Bank B)之 路徑。單顆 DSP 晶片對外之介面可以歸納為如圖 5.2 所 示。

3、記憶體配置:除了單顆 DSP 晶片配置的內部 64K bytes 資料記憶體與 64K bytes 程式記憶體外,每顆 DSP 晶片 另配置16M bytes之SDRAM。另有兩組容量皆為1M byte 之共享記憶體(使用 SRAM)。

4、中斷:PCI/C6600 提供許多彈性化的中斷,包含 DSP 與 主電腦端間之中斷、DSP與 DSP間之中斷以及 TBC板上

(60)

元件發出之中斷,如表 5.1所示。

5.1.2 軟體發展環境

DSP 程式可以使用 C 語言或組合語言撰寫而成,組合語言格式又可 分成一般線性組合語言與 DSP 專用組合語言兩種。一般而言,使用 組合語言開發完成之程式碼執行效率會高於使用 C 語言開發之程式 碼。但 TI 提供之編譯器效能已十分接近使用組語開發之程式碼,故 程式發展一般為顧及時效性與方便性,會先以C語言撰寫[23],[24], [26],再針對程式瓶頸處以組合語言加以改寫。TI 之 C 編譯器遵循 ANSI C標準,並支援 ANSI C 執行時期函式庫。因硬體架構的緣故, 資料型態部分如表 5.3,與一般常見的資料型態略有差異。 編譯器可以產生組合語言原始檔、執行檔之目的檔、置放於 ROM中 之初始程式檔處理器執行檔與等四種輸出。TI 本身提供一套功能強 大的整合式發展介面 - Code Composer IDE,吾人可於此系統上撰 寫、編譯程式碼,並進行除錯的工作。程式開發流程圖可參考圖5.3。

5.2 定點 DSP 晶片程式設計上之相關考量

(61)

在設計程式架構時必須考慮到使用定點數設計上時的一些問題,如動 態範圍、量化、及定點算數運算等。

5.2.1 定點數與浮點數

一般所稱之定點數與浮點數表示法,乃是指其儲存一個數字的方式。 IEEE-734浮點數的表示法較為複雜,如圖5.4 所示。實際值為: 2 ( 127) ( 1) 2e (1 . ) X = − − × − × + m (5.1) 最小值為 − −(2 2 ) 2−23 × 127 最大值為 (2 2 ) 2− −23 × 127 動態範圍 ∼±1038.53 解析度為 2−149 定點數的表示方式較為直接,因其以整數型態來儲存數值。一個有號 之數值表示方式常記錄成 ( , )A m n ,其中最高位元用以表示正負號, 為整數部分之位元數,n 為小數點部分之位元數。以 16 位元定 點數為例,常用的表示方式稱為 Q-15 格式,即為 m (0,15) A ,以所有 有效位元代表小數,如圖5.5所示。實際值為:

(62)

15 ( 1) 2 S f X = − + (5.2) 除最高位元外,其餘數字代表小數點部分之值。在有號數情況下: 最大值表示成 0x7fff,實際值為0.9997。 最小值表示成 0xffff,實際值為 -1。 動態範圍為 115 32768 2− = 。 精確度為 115 0.000030518 2 = 。 Q-15之環狀示意圖可參考圖 5.6。因 $Q-15$ 只能表示小數。儲存成 Q-15 格式之前,需先對數值作正規化的動作,並另外記錄正規化係 數之值大小,用於運算後回復原正確值。由精確度可知,最小的差異 值決定因素在於 位元數的多寡,若欲表示值接近此數量級,則必 須考慮以更多的位元數來表示小數部分,以降低量化誤差。 n

5.2.2 定點數計算

浮點數處理器因擁有特殊的浮點運算單元與相關暫存器,可以對浮點 數值直接以硬體處理,並獲得較為精確的結果。但定點數運算[25]並 非就不能執行浮點運算,只是需要利用軟體的方式完成[29],故效能 會有很大的差異。 定點數加法器

(63)

定點數加法器運算如圖5.7 所示,運算動作可於一個時脈內完成。定 點數加法需考慮到溢位(overflow)問題,即運算結果超出所能儲存位 元大小。此時需根據所需結果的形式決定使用更多的位元儲存或是選 擇以飽和(saturation)方式處理。 定點數乘()法器 定點數乘法器運算如圖5.8 所示, 16 位元乘法運算動作可於兩個時 脈內完成。定點數乘法需考慮到截斷(truncation)問題,以 16 位元相 成為例,需使用 32 位元儲存結果,如圖 5.9所示。若不需保留精確 度,則可直接捨棄多餘位元。

5.2.3 程式碼最佳化

DSP 程式執行效率決定了系統效能。為達成程式碼最佳化的目的,使 用正確的工具幫助調整程式架構為必要的動作。TI 提供一個程式發 展流程建議,如圖 5.10。由於吾人主要以 C 語言開發程式,如何寫 出有效率的程式,TI提供了幾點建議[24]: 1、使用編譯器內附參數:TI C 編譯器本身提供了許多可增 加效能的參數,並提供不同等級的最佳化效果,一般程式 皆可藉由調整此參數達到一定程度的最佳化。 2、降低程式相關性:程式相關性對程式的效能影響很大,但

(64)

降低程式相關性牽涉到演繹法則(algorithm)的問題,並非 能真正得到有效的解決方案。若能有效降低程式相關性, 則程式執行時會增加平行處理的次數,有效增加程式的效 能。 3、展開迴圈(unroll loop):回圈程式也是拖慢效能的原因之 一,因回圈架構處無法有效平行化,且因會有多次 branch 發生,會造成許多延遲。若迴圈數目不多,則應以展開方 式處理。 4、使用線性組合語言改寫:以線性組合語言針對程式瓶頸處 加以改寫,為最佳化最有效之作法,若能自行計算程式執 行所需時脈數,搭配指令的應用,則可達到最高的執行效 率。

5.3 系統架構

此系統可依功能大致區分成三個部分:主電腦端(HOST),DSP 傳送 端與DSP 接收端。主電腦負責傳送與接收DSP 資料的工作,DSP 傳 送端負責將資料透過高速串聯埠送至 DSP 接收端處理。整個資料輸 出入流程如圖5.11所示。發送訊號的產生,吾人採用 PC端模擬的方 式。將欲傳送資訊先行轉換成(1,-1)的位元信號後,再通過以Matlab

(65)

模擬之通道,產生接收端模擬訊號。為使接收端DSP (DSP 1)接收資 料模式能接近實際系統,吾人使用另一顆 DSP (DSP 0)為資料傳送 器,隨時對DSP 1 提供資料。DSP 0 本身需維護一個發送暫存記憶體, 並建立與PC端的連線,以確保發送暫存記憶體隨時保持足夠的資料 量。DSP 1則為主要接收機程式部分,本身維護一個時槽長度的暫存 器,作為外界輸入資料的存放位址。當資料解碼後,可選擇透過Code Composer IDE 驗證資料,或將資料送回PC端完成後續的處理工作。 以下個章節分別詳述其細部功能與實作方式。

5.3.1 主電腦端

主電腦端負責個程式的控制部分,包括下載 DSP 程式碼執行檔與初 始設定、下載系統參數、傳輸資料與接取資料。主電腦端在控制DSP 之前,需先取得TBC板的控制指標(handle),再取得DSP 的控制指標, 才能直接透過指標控制DSP。取得DSP handle 後,DSP 必須先設定 成重置狀態(RESET),以進行初始動作。初始步驟依序為: 1、下載 DSP 程式碼:下載程式碼為所有重置動作的第一步 驟,取得必要handle 後,便可以對所欲下載的DSP 處理 器下載程式碼。此時 DSP 應處於重置狀態,等待解除狀 態後,DSP 會從跳進程式進入點開始執行。於重置到解

(66)

除重置(此時 DSP 開始動作)期間的初始化動作包含中 斷程式的安置與參數的載入等。 2、系統參數載入:由於使用parameter-download-type 的觀念 實作,吾人將所有系統相關參數獨立成一個如下之結構 (Structure): /*********************************** Structure ***********************************/ struct param_table_t { /* 3gpp Spec. */

unsigned int slot_num; unsigned int slot_length; unsigned int sf_I ; unsigned int sf_Q ;

unsigned int scramble_length; unsigned int data_length; unsigned int pilot_length;

/* System architecture & simu. param.*/ unsigned int ant_num;

unsigned int path_num; unsigned int frame_num; float tpc_ref; float mu;

unsigned int architecture; unsigned int data_norm; /* chanel */

unsigned int max_delay; };

3、在下載 DSP 程式碼後,透過下載系統參數的方式,可動 態調整系統的特性。系統參數的位址為 0x80000020,總 長度為 0x40。詳細結構可參考表5.2。

(67)

4、傳輸資料與接取資料:因主電腦無法直接得知 DSP 執行 時期(run-time)的變數資訊,必須由 DSP 端提供相關數 值。因 DSP 與主電腦端無 mailbox 暫存器存在,此處使 用的作法稱為virtual-mailbox-interrupt,亦即 DSP 於發出 資料存取請求時,必須於特定位址(需於DSP 內部保留一 特定位址空間存放 mailbox 值)寫入相關參數,再發出 mailbox中斷。主機端在收到此一中斷信號後,會先判斷 訊號屬於何種要求,再讀取mailbox內容,並進一步根據 其內容作讀寫的動作。資料傳輸流程如圖5.12。因使用中 斷方式交換資訊,必須於主程式安置對應之中斷程式,一 旦接收到中斷信號後(在此為DSP 之HINT信號),中斷程 式即可被呼叫執行。

5.3.2 DSP 傳送端

DSP 傳送端使用TBC板上編號為DSP 0 之DSP 處理器。主要功能為 傳送資料至 DSP 接收端或從主電腦端接收資料。為能持續應付 DSP 接收端的資料傳輸要求。DSP 0 部分規劃出兩個時框容量的暫存區, 一個暫存區為作用中時框,另一個暫存區則預先存入下一次需使用之 時框。當 DSP 接收端要求資料時,傳送端必須負責將資料送至接收

(68)

端,在真實系統中,DSP 資料輸出、入標準介面是以高速並聯埠 (McBSP)為輸出、入介面。實作的方式則將 DSP 接收端與 DSP 傳送 端以McBSP相連。在 TBC版的設計中,每顆DSP處理器中的McBSP 皆被連接到TBC板上獨立的輸出接腳,接腳的排列形式如圖 5.13所 示.若以特殊的訊號線直接連接兩端接腳,則一端的框同步訊號輸出 腳位與時脈訊號輸出腳位會被對應到另一端的框同步訊號輸入腳位 與時脈訊號輸入腳位,資料輸出腳位與資料輸入腳位會被對應到另一 端 的 資 料 輸 入 腳 位 與 資 料 輸 出 腳 位 , 可 以 使 傳 送 端 為 主 控 端 (Master),接收端為受控端(Slave),兩邊互相同步傳接資料[28]。 McBSP的設定流程如圖 5.14,以此程序設定McBSP 後,當接收端進 入接收模式時,會持續等待傳送端的框同步訊號,準備接收訊號。雙 邊時脈以傳送端的時脈為基準,以確保資料傳送時的同步正確。 McBSP資料傳輸速率受內部時脈產生器之除頻器與 DSP時脈控制。 為達成3.84Mcps 要求,除頻值 CLKGDV須設定成: 200 52.083 3.84 f Mhz ChipRate= Mhz = (5.3) 上式中, $f_{DSP}$ 為 DSP 處理器時脈速度。CLKGDV 則應設定 為:

(69)

CLKGDV = 52− =1 51 (5.4) 實際傳送速率: 200 3.8462 52 Mhz = Mhz

5.3.3 DSP 接收端

DSP 接收端使用 TBC 板上編號為 DSP 1 的 DSP 處理器,為系統主架 構部分。資料輸出、入的部分採用 polling 的方式,每次向傳送端要 求一個時槽的資料量。傳送端與接收端的溝通以信箱暫存器(mailbox register)為主。本地端欲接收資料,需先設定輸出信箱暫存器(out-going mailbox register),TBC 板則會對另端 DSP 發出信箱暫存器寫入信號, 並發出一中斷信號。主程式可分成:

A. Despreading and descramble B. Adaptive-beam Rake Receiver C. Fixed-beam Rake Receiver

原理大致已於第三章中討論過,在此僅簡述其實作時之考量: A. Despreading and descramble

時槽長度為2560,攪亂碼長度為 256,專用實體控制通道碼與專用實 體資料通道碼長度分別為256 與 32。因解攪亂碼不影響原資料長度,

(70)

可以攪亂碼長度256 為單位,同時解出兩通道資料。解碼發方式以 if 判斷式與加減法為主,減少乘法器使用,以減少運算所需時脈數。天 線數為4 與路徑數為 2 為例,總共需重複解出 8 次。此處最作佳化程 式分析設計則可大幅增加速度。

B. Adaptive-beam Rake Receiver

程式使用前述理論實作,主要運算部分在於可適性天線權值求解,以 定點數實作時,需考慮到動態範圍過大的情形。吾人以16 位元 short 格式 Q-15 儲存量化輸入訊號,亦即訊號正規係數為 6,最大值為 ,精細度(量化誤差)為 。式3.19 後半 部運算更新值,因動態範圍過大,為保存最大精確值,則另以 32 位 元儲存。考慮到速度與乘法運算結果,更新後權值仍以16 位元儲存, 忽略掉 以下之運算誤差。正規化的除法運算因誤差過大,需另 行設計。此處則以TI 內附之_divf() 函式[27]來處理除法部分。_divf() 為一模擬浮點數運算之單精度定點數函示,吾人需犧牲部分效能,以 換取精確度。 6 9 2 −2− =63.998 15 2− 9 2− =0.0019531

C. Fixed-beam Rake Receiver

程式使用前述理論實作,主要運算部分在於權值選擇器的部分,權值 以 Q-15 格式儲存,權值參數檔則另以文字檔形式儲存於程式內,已 便隨時更動。因運算量簡單,執行效率比Adaptive-beam Rake Receiver 高。程式結果統計將列於後表。

(71)

5.4 結果與效能分析

在此章節中,吾人嘗試比較各種系統的模擬結果,並顯示 DSP 實作 結果,使用之環境變數如表5.4 所示。使用可適性空時接收機的模擬 結果如圖5.15 所示。使用固定波束式空時接收機的模擬結果如圖 5.16 所示,兩者的在相同訊號干擾比的環境下之比較如圖 5.17 所示。使 用可適性陣列天線在第十個時框結束時的波束圖形為圖5.18,可見得 已有效消除干擾訊號。在採用固定式天線陣列時,由圖 5.19 中可以 看出其波束方向均分於 間。圖5.20 為使用可適性陣列天線 架構下,實作結果與模擬結果波束形成圖的比較, 在此可看見第二 條路徑之波束圖形略為不同,可見使用定點數運算已發生些許誤差, 其第一個使用者之第一條路徑訊號錯誤值收斂圖如 5.21 所示,由圖 可見權值在第一個時框結束後已大致收斂。程式之效能與統計資料 (使用最佳化參數 -o3, -mt, -pm)可參考表 5.6,不同的最佳化程度 對執行效能會有不同的影響,如表 5.7 與圖 5.22 所示,差異最大者為 解展頻速度,此處應為程式執行瓶頸。另一需消耗大量時脈之程式為 資料輸出入控制函示,因所使用之PCI/C6600 周邊函示需配合版上周 邊硬體控制,採用 polling 接收資料方式也會浪費等待時間,有此執 行結果應屬合理。由表可知使用可適性陣列天線的效果較佳,但執行 60 ~ 60 −

(72)

速度較慢。使用固定式陣列天線的效果較差,但執行速度較快。記憶 體使用配置表則列於表 5.5。

(73)

圖5.1:PCI/C6600 方塊圖

(74)
(75)

圖5.4:單精度浮點數格式圖

圖5.5:16 位元定點數格式圖

(76)

圖5.7:TMS320C6201 加法器運算範例

圖5.8:TMS320C6201 乘法器運算範例

(77)
(78)
(79)

圖5.12:DSP 與主電腦資料交換步驟流程圖

(80)
(81)

圖5.15:Adaptive-beamforming 架構下 BER 與E N 之關係圖。(使b/ 0 用參數: adaptive beamforming, J = 4, user = 2, path = 2)}

(82)

圖5.16:Fixed-beamforming 架構下 BER 與 E N 之關係圖。(使用b/ 0 參數: J = 4, user = 2, path = 2)

(83)

圖5.17:Fixed-beamforming 與 Adaptive-beamforming 的效能比較圖。 (使用參數: J = 4, user = 2, path = 2, SIR = -10 dB)

(84)

圖5.18:Adaptive-beamforming 之波束圖形(使用參數: J = 4, users = 2,path = 2, SIR = -10 dB, E N = 12 dB, frames = 10) b/ 0

(85)

圖5.19:Fixed-beamforming 四個方向之波束圖形(使用參數: J = 4, users = 2, path = 2, SIR = -10 dB, E N = 12 dB) b/ 0

(86)

圖5.20:實作結果與模擬結果波束比較圖(可適性陣列天線)。(a)模擬 結果 (b)DSP 硬體實作結果。(使用參數: J = 4, user = 2, path = 2,SIR = -10 dB, E N = 12 dB, frames = 10) b/ 0

(87)

圖5.21:實作結果與模擬結果錯誤值比較圖(可適性陣列天線)。(a)模 擬結果 (b)DSP 硬體實作結果。(使用參數: J = 4, user = 2, path = 2,SIR = -10 dB, E N = 12 dB, frames = 10) b/ 0

(88)

圖5.22:程式執行所需時間與最佳化關係圖。(使用參數: J = 4, user = 2, path = 2,SIR = -10 dB, E N = 12 dB, frames = 1, 最佳化參數: b/ 0 -pm, -mt)

(89)

表5.1:PCI/C6600 中斷對應表

(90)

表 5.3:TMS320C6201 資料型態列表

(91)

表5.5:接收器程式記憶體配置表

表5.7:接收器程式效能資料統計表(A) (使用參數: J = 4, users = 2, path = 2, SIR = -10 dB, E N = 12 dB, frame = 1, 最佳化參數: -O3, b/ 0 -pm, -mt)

(92)

表5.8:接收器程式效能資料統計表(A) (使用參數: J = 4, users = 2, path = 2, SIR = -10 dB, E N = 12 dB, frame = 1, 最佳化參數: -pm, b/ 0 -mt)

(93)

第六章

結論

軟體無線電系統為未來通訊系統的一個主要的發展趨勢,彈性化 的系統設計觀念與物件導向式的系統開發方法,提供了許多比起傳統 單一功能系統更吸引人的特點。軟體無線電系統最早出現於 1990 年 代初期,雖然它的概念簡單易懂,但實際上,一直到廿世紀結束,許 多的技術仍未能配合軟體無線電的要求,如多頻帶射頻單元效能、類 比-數位轉換器速度、中央處理器的執行時脈等。在此篇報告中,吾 人嘗試整合軟體無線電之概念,以 DSP 處理器實現第三代行動通訊 空-時犁耙接收機基頻端。為使系統可依通訊環境適時的調整架構, 吾人結合智慧型陣列天線,並使用兩種不同之陣列天線處理架構。因 軟體無線電具備可程式化與全數位化的等特點,結合智慧型天線系統 為軟體無線電系統的一個主要技術。使用多重碼進接系統雖可以提高 容量,但因所有使用者共用同一頻帶,訊號間干擾情況嚴重。應用波 束形成技術可有效降低多重進接干擾,提高訊號雜訊比,提升系統效

(94)

能。但也因多根天線的使用,系統的設計複雜度與成本必將提高。可 適性陣列天線系統本身即能動態調整對準訊號入射方向,當系統進入 穩態,效能有顯著提升。吾人提出之扇型多工固定式波束的系統,使 用傳統固定式天線,並搭配一軟體選擇器使其具備可程式化的特點。 但受限於固定天線指向範圍,由執行結果顯示,其效能比適性性天線 來得差。但因其快速之執行速度與易於實作,提供另一種介於速度與 效能之間的選擇。此兩種架構則可透過參數的選擇而任意切換,吾人 可視情況隨時調整系統效能。 使用數位信號處理器開發系統,需考慮到程式的可實行性。此時 程式的效能成為唯一指標。除了系統演算法架構考量外,如何達到即 時處理的要求為系統實現之必要條件。因此,程式碼的最佳化與演算 法的精簡,並配合處理器特性,為設計系統時不可忽略的課題。在訊 號於真實世界由類比-數位晚換器進入到系統中後,所有的資料型態 皆以自然型態之定點數儲存。設計上必須重新分析資料統計特性,以 確保定點數運算法結果正確。處理定點數運算,除了量化誤差外,不 當且大意的設計必定造成巨大的錯誤。吾人所建立之驗證環境為一純 數位化環境,所有資料接由主電腦輸出並傳送至 DSP 處理器處理。 由結果顯示,大量資料的輸出入對此系統並非問題,DSP 程式碼則仍 受限於 DSP 處理速度,為系統之瓶頸。程式碼效能無法提升許多種

(95)

原因,如程式碼架構不佳,演算法過於費時等。但另一個重要因素來 自於傳統程式開發方式-單緒的執行流程。對於需及時運算的系統來 說,此架構將浪費大部分處理時間於等待狀態中,無法有效運用系統 資源。此外,運算採用定點數運算雖可大幅增加速度,但因使用固定 正規係數與固定長度儲存量化資料與演算結果,不易控制動態範圍大 之資料,對於量化誤差之影響無法完全排除。但系統改進之空間仍 大,如: 硬體方面: 吾人可配合實際智慧型天線輸出入介面與高速類比-數位轉換器之使 用以處理真實訊號。並針對程式瓶頸處如解展頻運算提供更高速的專 屬解碼、解展頻運算晶片,使DSP 處理器能專職於執行演算架構。 軟體方面: 搭配即時作業系統(Real-Time OS)之使用,輔助吾人正確管理 DSP 系 統程式之排程、資料輸出入、分配記憶體與 DSP 處理器可用資源, 減少系統閒置時間(idle time),真正發揮 DSP 處理器效能。定點數運 算需配合資料特性採用動態正規係數,並改進演算架構,以使系統能 處理更複雜之訊號。

(96)

參考文獻

[1] J.Mitola, “The software radio architecture,” IEEE Commun. Mag., pp. 26-38,May 1995.

[2] T. Turletti and D. Tennenhouse, “Estimating the computational of softwareGSM base station,” Proc. IEEE ICC’97, Montreal, Canada, June 1997.

[3] J. Kennedy and M. C. Sullivan, “Direction finding and smart antennas using software radio architectures,” IEEE Commun. Mag., pp. 62-68, May 1995.

[4] W. Tuttlebee, “The impact of software radio,” presented at the Software Radio Workshop, Brussels, Belgium, May 1997.

[5] V. Bose, M. Ismert, M. Welborn, and J. Guttag, “Virtual radios,”

IEEE J. Select. Areas Commun, vol. 17, no. 4, pp. 591-602, April

1999.

[6] V. G. Bose, A. B. Shah, and M. Ismert, “Software radio for wireless networking,” IEEE Infocom’98, San Francisco, CA, April 1998.

[7] J. Mitola, Software radio architecture, A Wiley-Interscience Publication,2000.

[8] J. C. Liberti, Jr. and T. S. Rappaport, Smart Antenna for Wireless Communications: IS-95 and Third Generation CDMA Application, Prentice-Hall,1999.

[9] Special Issue, IMT-2000: Standards Efforts of the ITU,IEEE Pers.

數據

圖 2.3:波束干擾消除示意圖
圖 2.5:full-download-type 軟體無線電系統內部架構方塊圖
圖 3.1 :上鏈路專用實體通道 (DPDCH) 規格
圖 3.2 :上鏈路專用實體通道展頻與調變
+7

參考文獻

相關文件

„ Complex Instruction Set Computers (CISC). „ complicated

接收器: 目前敲擊回音法所採用的接收 器為一種寬頻的位移接收器 其與物體表

z 香港政府對 RFID 的發展亦大力支持,創新科技署 06 年資助 1400 萬元 予香港貨品編碼協會推出「蹤橫網」,這系統利用 RFID

 智能電話 、平板電腦的出現  無線網絡普及.  小班教學優化課堂

超外差調幅 調幅 調幅(AM)無線 調幅 無線 無線 無線廣播接收機原理 廣播接收機原理 廣播接收機原理說明 廣播接收機原理 說明 說明 說明(續 續

 智能電話 、平板電腦的出現  無線網絡普及..  小班教學優化課堂

4.1 多因子變異數分析 多因子變異數分析 多因子變異數分析 多因子變異數分析與線性迴歸 與線性迴歸 與線性迴歸 與線性迴歸 4.1.1 統計軟體 統計軟體 統計軟體 統計軟體 SPSS 簡介 簡介

傳統的 RF front-end 常定義在高頻無線通訊的接收端電路,例如類比 式 AM/FM 通訊、微波通訊等。射頻(Radio frequency,