王宇 馮進良 段靖遠
【摘要】 此文章的研究基于cotex-m4內核的stm32f407芯片,利用快速傅里葉變換算法,對可見光通信信號進行時域和頻域分析,并利用Matlab軟件進行仿真對比。實驗結果表明,該算法對硬件要求不高,易于實現,有利于在小型集成設備上實現可見光信號的時頻域分析和顯示。
【關鍵詞】 快速傅里葉變換 Matlab 時頻域分析
一、引言
與普通光源相比,可見光LED有能量損耗低、高亮度、高可靠性和壽命長等許多優點,可見光LED還因其高速調制特性已被應用在可見光通信中(visible light communication,VLC),相比于射頻無線通信技術,VLC技術有無需申請頻帶、無電磁干擾、發射功率高、安全性好和造價低等優點。
目前VLC技術已成為國內外研究的熱點,研究過程中,對可見光通信信號的研究與分析是必不可少的。信號的分析分為時域分析和頻域分析兩個方面。時域分析是以時間為自變量描述物理量的變化的過程,是信號最基本、最直觀的表達形式,也是真實世界惟一實際存在的域,因而在時域上對信號進行分析必不可少。頻域分析的目的是把復雜的時間歷程波形,經過傅里葉變換分解為若干單一的諧波分量來研究,得到動態信號中的各個頻率成分和頻率分布范圍,求出各個頻率成分的幅值分布和能量分布,從而給出主要幅度和能量分布的頻率值,進而可以對信號的信息作定量解釋。本文主要研究可見光通信信號的時域和頻域分析算法及硬件實現,并對所設計的信號分析儀進行實驗和仿真對比。
二、信號分析儀的設計
LED是單色光源,不能產生包含所有可見光譜的白色光?,F在普遍使用的白色LED利用藍光LED激發熒光粉形成白光。
分析儀采用脈沖形式的波形作為傳輸信號,用脈沖重復周期為250ns,脈沖寬度為20ns的信號進行時域脈沖響應分析時,接收端的的脈沖寬度為77ns。經過VLC信道后,脈沖被展寬非常明顯。
考慮到經過VLC信道后脈沖被展寬,會在信號速率很高時產生碼間干擾等因素,對可見光通信信號分析儀設定了參數指標要求:支持測試波段:380nm~780nm,支持VLC信號頻率:0Hz~200KHz,數據分析刷新速度≥1次/s.
三、快速傅里葉變換
設定被采樣信號的頻率為10KHz、占空比為50%的方波信號,為了不失真地恢復模擬信號,由香農采樣定理可知,采樣頻率需大于信號頻率的兩倍,設定信號分析儀的采樣率為45KHz。
信號頻率和采樣頻率關系式為:Fn=(n-1)*Fs/N
其中Fn為某點n的頻率,Fs為采樣頻率,N為采樣點數。為了保證精度并使得計算方便,設定每次采樣的采樣點數為1024。
在進行時域分析時,采樣1024個點,采樣值存到數據類型為int型、長度為1024的AD_Buffer[]數組中,計算1024個點的平均值作為時域顯示的觸發電平(AD_Level)。同時滿足下面三個條件的點i作為觸發點:
板載液晶屏為800*480的分辨率,進行橫屏顯示時,由于像素點個數的限制,在液晶屏上顯示從點i開始的連續635個像素點組成的波形圖。
進行頻域分析時,首先對1024個采樣點進行快速傅里葉變換,然后把各頻率點所對應的模值存儲到數組中。用635個像素點對1024個采樣點進行頻域顯示,為了更為直觀的顯示信號的頻譜特性,采用柱形圖的方式進行顯示。這里設S為每個數據顯示占用的像素個數,L為可用像素點數,為635個,需要顯示的頻譜個數D=S/L,那么:Output[j]=
其中Output[j]為得到的要顯示的幅值,j,P為需要求平均的個數,P=H/D??焖俑盗⑷~變換結果具有對稱性,只需使用前半部分的變換結果,也就是小于采樣頻率一半的結果,取H=512。Output值的柱狀顯示即為信號的頻域顯示。
四、仿真和實驗
被采樣信號是頻率為10KHz、占空比為50%的方波信號。通過可見光通信信號分析儀對信號進行采樣,并通過串口調試助手傳輸采樣數據到matlab,順序取1024個數據中的300個繪制成時域波形圖,如圖1所示。
圖1中信號時域顯示的數據來自于可見光通信信號分析儀,在可見光通信信號分析儀上的時域圖形和matlab所繪制的是一致的。
調用matlab中的快速傅里葉變換函數對串口調試助手傳輸的1024個數據做FFT變換,變換結果如圖2所示。理論上10KHz方波的FFT變換的頻率分布應該只有10KHz、30KHz、50KHz等譜線,由于頻譜混疊現象的存在,圖2中出現頻率為5KHz、15KHz、25KHz等譜線。實驗的采樣率為45KHz,10KHz方波信號的3次諧波頻率為30KHz,5次諧波頻率為50KHz,由奈奎斯特定理可知,采樣頻率必須為信號最高頻率的兩倍以上,否則會出現頻譜混疊現象,而理論上,方波的諧波次數是無限的,這里考慮到該實驗只是作為驗證性實驗,目的是和可見光通信信號分析儀的頻譜顯示做對比,所以暫不考慮諧波的影響。
利用串口調試助手,直接將通過可見光通信信號分析儀進行FFT變換后的1024個數據在matlab上進行繪圖顯示,考慮到液晶屏的像素點有限,為了清晰顯示FFT變化的結果,在可見光通信信號分析儀上對采樣信號經過FFT變化后的幅值做了*處理,如圖3所示。與圖2比較可以看到,可見光通信信號分析儀的頻域信號顯示和matlab仿真結果基本一致,略有差異是由于stm32f407的數據處理精度和matlab的處理精度不一致造成。
五、結論
通過上述分析,可以看出采用本文提出的算法能夠實現可見光信號的時域和頻域分析,在對可見光信號進行直觀顯示的同時還可以做信息的定量分析,而且該算法對硬件要求不高,易于實現,有利于在小型集成設備上實現可見光信號的時頻域分析和顯示,方便可見光通信的研究。
參 考 文 獻
[1]NAKAMURA S Present performance of InGaN based blue/green/yellow LEDs 1997(04)
[2]顧玉娟.無線光通信技術研究[期刊論文]《山東通信技術》2006年4期
[3]TANAKA Y,HARUYAM S,NAKAGAWA M.Wireless optical transmissions with white colored LED for wireless home links[c].PIMRC2000 Proceedings,2000,2:1325-9