公司簡介 產品資訊 教育訓練 活動資訊 鈦思書網 技術支援 工程師俱樂部 會員登入


 
     
 

Using Behavioral Models to Drive RF Design
and Verify System Performance

 
  利用行為模型趨動射頻(RF)設計及驗證系統效能(上)  

Colin Warwick, Mike Mulligan
The MathWorks, Inc

 

     
 

 

簡介

在最新一代的Simulink系統層級模擬工具中,提供了射頻設計模擬的功能,讓設計者可以在完整的系統架構下進行射頻設計規格的評估。所以,射頻元件及模組在設計前、設計時、或設計後的結果,都可以輕易的從Simulink上看出其對於系統整體效能的影響。這種新的方法易於在早期設計過程中,找出及修正系統層級的問題,並儘早修正;相對於設計後期發現問題再做修正來說,付出的成本及時間也是最低的。同時也幫助工程師評估系統裡的各個部份對於整體效能的影響,以便在效能、成本、和電力消耗上能夠達到最佳化的目標。這種方法已經大量的被使用在設計的初期階段,尤其是:無線通訊系統。

現行的射頻設計方法

目前要設計一個無線通訊系統,必須由多個不同領域的團隊共同來完成:其中系統整體行為的訂定與分析是系統工程師的責任;要把系統的每一個部份用適合的技術(例如:嵌入式軟體語言、硬體語言、射頻電路設計…)實現出來,則又必須仰賴這些方面的專家。因此,成功的關鍵在於如何能夠讓這些團隊順利地整合。

以往設計的流程始於系統架構團隊制訂出規格,帶領不同的設計及執行團隊(嵌入式系統軟體、數位硬體、及類比電路)進行設計與開發工作。系統規格通常被定義在文件中,雖然這些規格文件看起來頭頭是道,但是正確性到底如何卻無從確認。因此,在後續的執行過程,許多的缺失都可能一一浮出抬面;或者,更糟的是在系統整合和驗證階段才出現──通常,這時候的問題都必須付出非常龐大的金錢與時間來校正。

當系統較簡單時,上述的方法很容易被採用,但現在這種做事的方式卻快速地被淘汰。隨著射頻設計的困難度增加,規格的複雜度和設計團隊的規模也同時上揚,例如:為了要使用平行式處理以達到更高的處理速率,許多設計者必須從採用數位訊號處理器((DSPs) 轉為採用可程式化邏輯元件((FPGAs)或特殊應用積體電路(ASICs)。要用文件的方式來訂定這一類產品的規格已經變的愈來愈困難,甚至無法做得到。

規格無法被實現的風險巳經大到無法忽視。比如說:一個300MHz的ASIC可能在”文件”上看起來是足夠的,但是一旦設計真的被做出來的時候,卻可能無法達到這麼高的速度;某個演算法在A硬體上能達到的速度,也不必然能在B硬體上跑到同樣的速度;某個單獨運作功能正常的硬體演算法,也有可能在與射頻部分整合之後,由於射頻衰減的影響,而造成結果產生錯誤。以上問題都來自於系統之間整合後的交互作用,對於各別的設計團隊來說,通常很難獨自發現這一類型的問題。

在設計初期缺少了一個可以執行的模型,通常會造成問題在系統進行整合時才會出現的情況,這樣的方式會造成設計成本大量的增加──通常在修正問題的成本上,後一個設計階段會比前一個設計階段所要付出的代價高一個數量級;而另一個嚴重的後果就是延遲產品上市的時間。另一個傳統設計方法的缺點為:每一個工作團隊都各自獨立作業,這會難以發覺系統間的交互影響,也難以進行系統間的取捨(tradeoff)。例如:某個團隊也許有機會使用較便宜的射頻元件,而達到幾近相同的系統效能;也有可能一個非常細微的修改,最後卻造成系統整體效能大大衰退。像這類的問題,如果沒有一個完整的系統模型,根本無從評估起。

系統工程師已經意識到這樣的問題:文件式的規格是不夠的,特別是系統層級的模擬變成一項必要的工作──因此,系統設計需要一樣工具來進行系統層級模擬的工作。一開始做這件事情的人選擇了一般人都熟悉且普遍的工具,像是:C語言。但是他們也慢慢發現:C語言用於應用程式、或者嵌入式處理器程式的開發來說是一個?佳的工具,但對於系統模擬來說,卻變成一個低生產力的環境。因為:1. 它缺少模擬同步處理(concurrent)與即時系統演算法的內建架構,尤其對於frame-based多重速率(multirate)系統來說,這樣的缺點更加的明顯2. 很難將訊號用視覺化的方式來做觀察3. 使用者必須花費心力在處理指標或分號的問題──但是時間其實應該花在處理更高階的問題之上4. 沒有標準的訊號處理函式庫,如:濾波器、通道模型、通道編碼、或訊號編碼等5. 最後,在C語言中很難同時表示時域或頻域上的射頻行為。在本文接下的部份,將針對以上所討論的缺點提出適當的解決方案。

以圖形替代文字程式

工程人員過去一直使用序列式的程式語言,如:C 或 MATLAB去模擬無線通訊系統的行為。像這樣的工具在發展個別模組的演算法開發上是成功的,但用在系統模擬之上就沒有辦法如此的成功──因為模擬同步處理(concurrent)與即時系統的需求非常強烈,但是這對序列式的程式語言來說,卻是很難表示的。在手機通訊系統中,基頻的演算法以不同的速率執行著,同時,RF的能量也由於碰到了建築物或地形的阻礙,而造成了能量的衰減。

要把上述的現象很忠實的表現出來,工具本身就必須具備模擬同步處理與物理上電磁波能量衰減的能力。雖然有些人企圖用一些方法來補足序列式程式語言在這些方面的不足,譬如,System C提供了transaction-level的模擬能力。然而,這些努力還是無法解決最基本的問題:也就是同步處理(concurrent)與即時系統的模擬能力。來自客戶的回應是,當他們使用了Simulink於設計流程中時,可以比C程式語言多2∼3倍的生產力。

Simulink的模塊圖環境(內建排程器與解題器)提供了一個非常好的解決方案,因為每個模塊的取樣速率、輸入資料維度與輸出資料維度都可以分別設定,而解題器會針對每個模塊個別的設定在適當的時間點上執行。這些工作如果用”for” loop來做將會非常可怕!

模組化基礎設計(Model-Based Design)提供了可以執行的規格

系統工程師已經開始大量使用Model-Based Design來建構可以”執行”的規格。這種方式比起採用文件來定義規格來說好太多了,因為所建構出來的規格是可以被執行的:Simulink模型即為系統的規格。設計工作通常包含了,運算的劃分(partitioning)、C及HDL程式的撰寫、合成、編譯等。在以文件定義規格的年代,重做是很常見的;相反地,有了模組化基礎設計(Model-Based Design)之後,一個可以被執行的規格可以幫助設計者在更早期驗證並找出問題所在。所謂預防勝於治療。

劃分時域及頻域

通常,系統工程師在時域上發展演算法,這有助於建立訊號演算的流程。相反地,射頻工程師則通常考慮放大器(amplifier)、濾波器、混合器(mixer)等的頻率響應,包括了網路參數、頻率相關的雜訊與非線性度。經過一連串的電路設計、模擬、實測之後,最後產生大量的資料(譬如執行harmonic balance模擬之後的結果)。這些輸出結果和系統工程師及訊號處理工程師時域環境是不相容的。另外一個射頻工程師常用的資料是網路分析儀量到的資料,同樣的,要把這些資料整合成時域系統架構來做驗證是很困難的。

彌補時域及頻域間的差異

最新的 Simulink 環境能夠同時整合多種領域的分析與模擬,包含:數位訊號處理及射頻(RF)。有了這樣的環境,系統工程師就可以在系統模型內加入射頻元件的行為,包含:濾波器、傳輸線、放大器及混合器。元件的行為可以由網路分析儀所量到的結果、數學方程式、或者實體模型來加以定義。如果以C程式碼建立並維護這些程式庫,將會花上非常多的時間。

使用這些預建的射頻元件庫提供了很大的好處。藉者改變參數或演算法,不同的設計可以被快速的驗證。通常,系統工程師會先以完美的射頻元件開始進行模擬,接著逐漸的降低規格,直到整體效能變低的情況發生,這樣做的目的在於找到系統對於干擾、非線性、及頻域扭曲(frequency domain distortion)的容忍度。另外,也可以用視覺化的方式來分析 元件的特性,例如:網路參數可用作圖或SmithO圖表呈現。使用這樣的方式,系統工程師就可以在系統層級找出最適當的規格。這些規格將會發揮莫大的幫助在下一階段的設計工作:電路設計。

(待續)