2007年5月26日 星期六

使用C/C++語言編寫基於TMS320系列DSP程式的注意事項

1、 不影響執行速度的情況下,可以使用C或C/C++語言提供的函數庫,也可以自己設計函數,這樣更易於使用“裁縫師”優化處理,例如:進行絕對值運算,可以調用fabs()或abs()函數,也可以使用if...else...判斷語句來替代。

2、 要非常謹慎地使用局部變數,根據自己專案開發的需要,應盡可能多地使用總體變數和靜態變數。

3、 一定要非常重視中斷向量表的問題,很多朋友對中斷向量表的調用方式不清楚。其實中斷向量表中的中斷名是任意取定的,DSP是不認名字的,它只認地址!!中斷向量表要重新定位。這一點很重要。

4、 要明確DSP軟體發展的第一步是對可用存儲空間的分析,存儲空間分配好壞關係到一個DSP程式師的水平。對於DSP,我們有兩種名稱的存儲空間,一種是物理空間,另一種是映射空間。物理空間是DSP上可以存放資料和程式的實際空間(包括外部記憶體),我們的資料和程式最終放到物理空間上,但我們並不能直接訪問它們。我們要訪問物理空間,必須借助於映射空間才行!!但是映射空間本身是個“虛”空間,是個不存在的空間。所以,往往是映射空間遠遠大於實際的物理空間,有些映射空間,如IO映射空間,它本身還代表了一種介面。只有那些物理空間映射到的映射空間才是我們真正可訪問(讀或寫)的存儲空間。

5、 盡可能地減少除法運算,而盡可能多地使用乘法和加法運算代替

6、 如果TI公司或第三方軟體合作商提供了DSPLIB或其他的合法副程式庫供調用,應盡可能地調用使用。這些副程式均使用用彙編寫成,更爲重要之處是通過了TMS320演算法標準測試。而且,常用的數位信號處理演算法均有包括!!

7、 盡可能地採用內聯函數!!而不用一般的函數!!可以提高代碼的集成度。

8、 編程風格力求簡煉!!盡可能用C語言而不用C++語言。我個人感到雖然C++終代碼長了一些,好象對執行速度沒有影響.

9、 因爲在C5000中double型和float型均佔有2個字,所以都可以使用,而且,可以直接將int型賦給float型或double型,但,盡可能地多使用int資料類型代替!這一點需要注意!!

10、 程式最後至少要加上一個空行,編譯器當這個空行爲結尾提示符。

11、 大膽使用位運算符,非常好用!!

12、 2003年6月份從TI的網站上下到了關於TMS320C67x系列DSP的快速演算法庫,於是,TMS320C5000和C6000全系列的快速演算法庫都問世了,這些演算法庫均可供C/C++語言直接調用,優化程度100%,實際編程時盡可能地使用(下載時可以同時下載到說明文檔和ASCII根源程式,可以根據自己需要作出修改,修改前最好做個備份)

Take by http://bbs.eeworld.com.cn/1318/ShowPost.aspx

2007年5月24日 星期四

關於OFDM

OFDM(正交頻分複用調變)技術實際上是MCM(Multi-Carrier Modulation,多載波調製)的一種。其主要思想是:將通道分成若干正交子通道,將高速資料信號轉換成並行的低速子資料流程,調製到在每個子通道上進行傳輸。正交信號可以通過在接收端採用相關技術來分開,這樣可以減少子通道之間的相互干擾(ICI)。每個子通道上的信號帶寬小於通道的相關帶寬,因此每個子通道上的可以看成平坦性衰落,從而可以消除符號間干擾。而且由於每個子通道的帶寬僅僅是原通道帶寬的一小部分,通道均衡變得相對容易。   

結合簡要介紹OFDM的工作原理,輸入資料信元的速率爲R,經過串並轉換後,分成M個並行的子資料流程,每個子資料流程的速率爲R/M,在每個子資料流程中的若干個比特分成一組,每組的數目取決於對應子載波上的調製方式,如PSK、QAM等。M個並行的子資料信元編碼交織後進行IFFT變換,將頻域信號轉換到時域,IFFT塊的輸出是N個時域的樣點,再將長爲Lp的CP(迴圈字首)加到N個樣點前,形成迴圈擴展的OFDM信元,因此,實際發送的OFDM信元的長度爲Lp+N,經過並/串轉換後發射。接收端接收到的信號是時域信號,此信號經過串並轉換後移去CP,如果CP長度大於通道的記憶長度時,ISI僅僅影響CP,而不影響有用資料,去掉CP也就去掉了ISI的影響。   

OFDM技術之所以越來越受關注,是因爲OFDM有很多獨特的優點:   
(1)頻譜利用率很高,頻譜效率比串列系統高近一倍。這一點在頻譜資源有限的無線環境中很重要。OFDM信號的相鄰子載波相互重疊,從理論上講其頻譜利用率可以接近Nyquist極限。  
(2)抗多徑干擾與頻率選擇性衰落能力強,由於OFDM系統把資料分散到許多個子載波上,大大降低了各子載波的符號速率,從而減弱多徑傳播的影響,若再通過採用加迴圈字首作爲保護間隔的方法,甚至可以完全消除符號間干擾。
(3)採用動態子載波分配技術能使系統達到最大比特率。通過選取各子通道,每個符號的比特數以及分配給各子通道的功率使總比特率最大。即要求各子通道資訊分配應遵循資訊理論中的“注水定理”,亦即優質通道多傳送,較差通道少傳送,劣質通道不傳送的原則   
(4)通過各子載波的聯合編碼,可具有很強的抗衰落能力。OFDM技術本身已經利用了通道的頻率分集,如果衰落不是特別嚴重,就沒有必要再加時域等化器。但通過將各個通道聯合編碼,可以使系統性能得到提高。   
(5)基於離散傅立葉變換(DFT)的OFDM有快速演算法,OFDM採用IFFT和FFT來實現調製和解調,易用DSP實現。

Wimax的核心調製技術OFDM   
OFDM的基本原理   
OFDM是一種無線環境下的高速傳輸技術。無線通道的頻率回應曲線大多是非平坦的,而OFDM技術的主要思想就是在頻域內將給定通道分成許多正交子通道,在每個子通道上使用一個子載波進行調製,並且各子載波平行傳輸。這樣,儘管總的通道是非平坦的,具有頻率選擇性,但是每個子通道是相對平坦的,在每個子通道上進行的是窄帶傳輸,信號帶寬小於通道的相應帶寬,因此就可以大大消除信號波形間的干擾。由於在OFDM系統中各個子通道的載波相互正交,它們的頻譜是相互重疊的,這樣不但減小了子載波間的相互干擾,同時又提高了頻譜利用率。   

2 OFDM的關鍵技術   
2.1 同步技術   
OFDM系統中,N個符號的平行傳輸會使符號的延續時間更長,因此它對時間的偏差不敏感。對於無線通信來說,無線通道存在時變性,在傳輸中存在的頻率偏移會使OFDM系統子載波之間的正交性遭到破壞,相位雜訊對系統也有很大的損害。   
由於發送端和接受端之間的採樣時鐘有偏差,每個信號樣本都一定程度地偏離它真確的採樣時間,此偏差隨樣本數量的增加而線性增大,儘管時間偏差壞子載波之間的正交性,但是通常情況下可以忽略不計。當採樣錯誤可以被校正時,就可以用內插濾波器來控制真確的時間進行採樣。   

相位雜訊有兩個基本的影響,其一是對所有的子載波引入了一個隨機相位變數,跟蹤技術和差分檢測可以用來降低共同相位誤差的影響,其次也會引人一定量的通道間干擾(ICI),因爲相位誤差導致子載波的間隔不再是精確的1/T了。   

載波頻率的偏移會使子通道之間産生干擾。OFDM系統的輸出信號是多個相互覆蓋的子通道的疊加,它們之間的正交性有嚴格的要求。無線通道時變性的一種具體體現就是多普勒頻移,多普勒頻移與載波頻率以及移動台的移動速度都成正比。多普勒展寬會導致頻率發生彌散,引起信號發生畸變。從頻域上看,信號失真會隨發送通道的多普勒擴展的增加而加劇。因此對於要求子載波嚴格同步的OFDM系統來說,載波的頻率偏移所帶來的影響會更加嚴重,如果不採取措施對這種通道間干擾(ICI)加以克服,系統的性能很難得到改善。   

OFDM中的同步通常包括3方面的內容:   
(1)幀檢測;   
(2)載波頻率偏差及校正;   
(3)採樣偏差及校正。   

由於同步是OFDM技術中的一個難點,因此,很多人也提出了很多OFDM同步演算法,主要是針對迴圈擴展和特殊的訓練序列以及導頻信號來進行,其中較常用的有利用奇異值分解的ESPRIT同步演算法和ML估計演算法,其中ESPRIT演算法雖然估計精度高,但計算複雜,計算量大,而ML演算法利用OFDM信號的迴圈字首,可以有效地對OFDM信號進行頻偏和時偏的聯合估計,而且與ESPRIT演算法相比,其計算量要小得多。對OFDM技術的同步演算法研究得比較多,需要根據具體的系統具體設計和研究,利用各種演算法融合進行聯合估計才是可行的。OFDM系統對定時頻偏的要求是小於OFDM符號間隔的4%,對頻率偏移的要求大約要小於子載波間隔的1%~2%,系統産生的-3dB相位雜訊帶寬大約爲子載波間隔的0.01%~ 0.1%。   

2.2 PARP的解決   
由於OFDM信號是有一系列的子通道信號重疊起來的,所以很容易造成較大的PAPR。大的OFDM PAPR 信號通過功率放大器時會有很大的頻譜擴展和帶內失真。但是由於大的PARP的概率並不大,可以把大的PAPR值的OFDM信號去掉。但是把大的PAPR值的OFDM信號去掉會影響信號的性能,所以採用的技術必須保證這樣的影響儘量小。

一般通過以下幾種技術解決:   
(1)信號失真技術。採用修剪技術、峰值窗口去除技術或峰值刪除技術使峰值振幅值簡單地線性去除。   
(2)編碼技術。採用專門的前向改錯碼會使産生非常大的PAPR的OFDM符號去除。   
(3)擾碼技術。採用擾碼技術,使生成的OFDM的互相關性儘量爲0,從而使OFDM的PAPR減少。這裏的擾碼技術可以對生成的OFDM信號的相位進行重置,典型的有PTS和SLM。   
2.3 訓練序列/導頻及通道估計技術   
接收端使用差分檢測時不需要通道估計,但仍需要一些導頻信號提供初始的相位參考,差分檢測可以降低系統的複雜度和導頻的數量,但卻損失了信噪比。尤其是在OFDM系統中,系統對頻偏比較敏感,所以一般使用相干檢測。   

在系統採用相干檢測時,通道估計是必須的。此時可以使用訓練序列和導頻作爲輔助資訊,訓練序列通常用在非時變通道中,在時變通道中一般使用導頻信號。在OFDM系統中,導頻信號是時頻二維的。爲了提高估計的精度,可以插入連續導頻和分散導頻,導頻的數量是估計精度和系統複雜的折衷。導頻信號之間的間隔取決於通道的相干時間和相干帶寬,在時域上,導頻的間隔應小於相干時間;在頻域上,導頻的間隔應小於相干帶寬。實際應用中,導頻的模式的設計要根據具體情況而定。 

2007年5月20日 星期日

手機的軟硬體!!

在台灣,雖然手機業者 一天到晚,都在喊mobile看電視,3G 的新時代已來臨!!甚至連3.5G,4G都不斷的在喊著,其實mobile上網/影音/這些其實對一般使用者,有其一定吸引力的!

但是價錢降不下來!!服務費/通話費這些有關的軟體方面,正是業者獲利的最主要來源,說老實話,台灣的硬體真的是很強,但是這些也是賺不到什麼錢的!所以手機硬體真的很便宜,重點是軟體!! 

難怪各家廠商拼了命了,加強手機的附加價值,什麼手機有照相功能,有記事,有PDA功能,甚至還結合信用卡(金融卡功能),號稱手機是電子錢包,這一切的一切,看似越來越方便!!

其實另一觀點,還不是各家廠商想要使顧客拿出錢來,買個便宜硬體的手機,好讓業者賺其軟體費用,其實很像是暗渡陳倉/木馬屠城計... 

對其硬體其實台灣廠商真的很可憐!!很多很多各家產品的規格,根本就是由外國大廠把持住,台灣只能賺別人的零頭

唉...有點可悲!!而我們的政府卻還在睡覺,一天到晚在搞政治!每天為了意識型態在那邊玩弄人民!!唉... 反觀對岸的中國大陸,卻很有野心!!對於各項產品,都積極爭取其規格

就拿通訊中的3G來說好了,偏偏要來搞個SCDMA 擺明了就是為了不想讓國外廠商吃的死死的!! 另一個例子就是數位電視中國大陸也推其規格DMB-T、ADTB-T 為兩大候選!! 

以下是工研院的資料 還滿舊 2005年的!! 淺談台灣行動電視產業未來發展不過可以看到世界強國都很積極,就連小鼻子的南韓都... 
唉!!台灣真的要加油阿,別在玩政治了!! 中正紀念堂沒事幹麻改名阿..泣^^"

電子與通訊

這裡就是我的新的Blog 將以電子與通訊 做為本人研究探討之地!!
希望能夠更加了解神奇的宇宙 歡迎各位光臨 ^^"