《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于CORDIC算法的光相位檢測(cè)及FPGA實(shí)現(xiàn)
基于CORDIC算法的光相位檢測(cè)及FPGA實(shí)現(xiàn)
來(lái)源:電子技術(shù)應(yīng)用2011年第9期
胡 博,段發(fā)階,張 超,呂昌榮,蔣佳佳,董宇青
(天津大學(xué) 精密測(cè)試技術(shù)及儀器國(guó)家重點(diǎn)實(shí)驗(yàn)室,天津300072)
摘要: 基于交流相位跟蹤零差補(bǔ)償技術(shù),采用CORDIC算法檢測(cè)光相位變化,并在FPGA中設(shè)計(jì)了CORDIC算法實(shí)現(xiàn)的流水線結(jié)構(gòu),實(shí)現(xiàn)了對(duì)光相位變化的實(shí)時(shí)檢測(cè)。同時(shí),通過(guò)查找表和拋物線插值校正算法解決了CORDIC算法在運(yùn)算中存在的“死區(qū)”問(wèn)題,實(shí)現(xiàn)了光相位變化的高精度檢測(cè)。實(shí)驗(yàn)表明,光相位的誤差精度達(dá)到10-4。此方法具有實(shí)時(shí)性強(qiáng)和精度高的優(yōu)點(diǎn),適合大量數(shù)據(jù)的高速處理。
中圖分類(lèi)號(hào): TP301
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)09-0070-04
The optical phase detection based on CORDIC algorithm and it′s realization in FPGA
Hu Bo,Duan Fajie,Zhang Chao,Lv Changrong,Jiang Jiajia,Dong Yuqing
State Key Laboratory of Precision Measuring Technology & Instruments, Tianjin University, Tianjin 300072,China
Abstract: This paper employs CORDIC algorithm to detect the variation of the optical phase based on phase tracking with AC and devises pipeline architecture in FPGA to realize the algorithm, so as to achieve the real-time detection of optical phase changes. Meanwhile, this thesis solves the "dead zone" problem existing in CORDIC computation through the look-up table and parabolic interpolation correction algorithm, which reaches the precise detection of optical phase changes. The simulation proves that the accuracy of measurement reaches 10-4 order magnitude. While maintaining a good precision, the algorithm is real-time and fits the high-speed processing for large amounts of data.
Key words : optical phase detection;CORDIC;arcsine;look-up table;parabolic interpolation


    當(dāng)前,非接觸式測(cè)量已經(jīng)逐漸取代接觸式測(cè)量,成為測(cè)量發(fā)展的方向。而在各種各樣的非接觸式測(cè)量方法中,光纖干涉投射技術(shù)測(cè)量物體表面形貌的方法,由于其光路具有柔軟、形狀可變、傳輸距離遠(yuǎn)、抗干擾能力強(qiáng)等優(yōu)點(diǎn),得到了越來(lái)越廣泛的應(yīng)用,尤其在各種有強(qiáng)電磁干擾、易燃易爆等惡劣環(huán)境中,光纖干涉投射測(cè)量技術(shù)更是有著很高的應(yīng)用價(jià)值。
    在光纖干涉投射技術(shù)中,裸露在空氣中的光纖容易受到溫度、振動(dòng)的影響,使臂長(zhǎng)差發(fā)生變化,進(jìn)而產(chǎn)生光相位的變化,導(dǎo)致干涉條紋漂移,從而影響到測(cè)量的精度[1]。交流相位跟蹤零差補(bǔ)償技術(shù)(PTAC)是實(shí)現(xiàn)光纖相位變化檢測(cè)和誤差補(bǔ)償?shù)囊环N關(guān)鍵技術(shù)[2],其中涉及信號(hào)解調(diào)和相位求解,求解反正弦是相位求解的一種主要方法[2]。在FPGA中,傳統(tǒng)的求解反正弦函數(shù)的主要方法是查找表法[3],查找表數(shù)據(jù)量的大小和精度緊密相關(guān),在高精度下,查找表法需要大量存儲(chǔ)單元,另外也需要校正算法來(lái)計(jì)算未計(jì)入表中的點(diǎn),這樣就對(duì)處理器資源提出很高的要求。
    針對(duì)傳統(tǒng)反正弦函數(shù)求解方法的缺點(diǎn),本文采用CORDIC算法求解反正弦值,得到光相位變化并在FPGA中設(shè)計(jì)了CORDIC算法實(shí)現(xiàn)的流水線結(jié)構(gòu),從而達(dá)到了對(duì)光相位變化的實(shí)時(shí)檢測(cè)。同時(shí),提出采用查找表配合拋物線插值校正算法解決CORDIC算法在運(yùn)算中存在的“死區(qū)”問(wèn)題。通過(guò)實(shí)驗(yàn)驗(yàn)證該了方法的可行性。
1 系統(tǒng)結(jié)構(gòu)
    光纖干涉投射系統(tǒng)由激光器、聚焦透鏡和3 dB耦合器等組成。激光器發(fā)出的激光經(jīng)過(guò)聚焦透鏡耦合到光纖,經(jīng)3 dB耦合器分光后由兩光纖臂輸出。兩光纖輸出端可被看作是楊氏雙孔干涉中的兩個(gè)小孔,其輸出光由同一點(diǎn)光源發(fā)出,頻率相同,具有恒定的相位差,滿足楊氏雙孔干涉條件,從而在輸出端產(chǎn)生干涉條紋。在實(shí)際測(cè)量中,溫度、振動(dòng)的影響使光纖發(fā)生臂長(zhǎng)差變化,從而使光相位發(fā)生變化,導(dǎo)致干涉條紋漂移。為解決這一問(wèn)題,通過(guò)PTAC對(duì)光相位進(jìn)行調(diào)制解調(diào)得到光相位變化信息并對(duì)相位誤差進(jìn)行補(bǔ)償。
    如圖1所示,光纖干涉投射交流相位跟蹤零差補(bǔ)償系統(tǒng)由激光器、聚焦透鏡、3 dB耦合器、PZT和信號(hào)調(diào)理等部分組成。兩輸出臂分別纏繞在兩個(gè)PZT上,一路作為信號(hào)臂對(duì)光相位進(jìn)行調(diào)制,另一路用作控制和補(bǔ)償。兩條輸出臂投射端面存在反射,反射的光返回到3 dB耦合器中發(fā)生干涉,構(gòu)成馬赫-澤德干涉儀[4],干涉的光由光電探測(cè)器PD接收。信號(hào)臂反射回耦合器的光包含光相位調(diào)制信息,同時(shí)也存在著由環(huán)境影響產(chǎn)生的光相位變化信息。兩束反射光在耦合器中發(fā)生干涉,則光相位調(diào)制信息轉(zhuǎn)化為光強(qiáng)變化,再由光電探測(cè)器將光強(qiáng)變化轉(zhuǎn)化為電信號(hào)。


 
    經(jīng)過(guò)AD轉(zhuǎn)換后,輸入FPGA進(jìn)行計(jì)算,通過(guò)求解反正弦求出?琢。改變驅(qū)動(dòng)器的直流偏置,即改變待測(cè)鏡和參考鏡的相位差?琢。再經(jīng)過(guò)數(shù)模轉(zhuǎn)換、高壓放大,通過(guò)控制PZT2調(diào)整另一輸出臂的長(zhǎng)度,使兩光纖臂相位差保持為一正弦函數(shù),消除溫度振動(dòng)等環(huán)境因素帶來(lái)的影響。
2 反正弦算法實(shí)現(xiàn)
2.1 反正弦算法原理

    基于CORDIC算法計(jì)算反正弦。數(shù)字信號(hào)處理中常常會(huì)遇到求解超越函數(shù)的問(wèn)題,如求解矢量旋轉(zhuǎn)、反三角函數(shù)運(yùn)算、雙曲函數(shù)等,CORDIC是為了這些問(wèn)題而提出的[5]。CORDIC基本思想是用一組確定的角度不斷擺偏去逼近所求的角度,而這一組角度與運(yùn)算基數(shù)(2i)有關(guān)。在硬件電路中,CORDIC運(yùn)算可以只通過(guò)加減操作和移位操作實(shí)現(xiàn),大大節(jié)約了資源。CORDIC算法可由式(3)、(4)、(5)、(6)給出[6]。其中,(xi,yi)是矢量的坐標(biāo),zi為剩余未旋轉(zhuǎn)的角度。

2.2 反正弦程序設(shè)計(jì)
2.2.1 字長(zhǎng)設(shè)計(jì)

    輸入值范圍為[-1,1],輸入FPGA的初值c為12位。選第一位為符號(hào)位,第二位為整數(shù)位,后10位為小數(shù)位。在FPGA中,使用浮點(diǎn)形式計(jì)算小數(shù)比較復(fù)雜,因此,將小數(shù)部分左移10位,化成定點(diǎn)形式運(yùn)算。CORDIC的計(jì)算次數(shù)取決于xi、yi的小數(shù)位數(shù)。如式(8),用yi與輸入初值c比較,如果yi的小數(shù)位為10位,則最多進(jìn)行10次CORDIC計(jì)算,精度很難保證。因此,設(shè)計(jì)xi、yi的小數(shù)位為22位,在c后面補(bǔ)0,補(bǔ)足22位小數(shù)位,則最多可進(jìn)行22次CORDIC計(jì)算。因?yàn)閦的值域范圍為[-1.570 8 rad,1.570 8 rad],將z設(shè)計(jì)成25位,z[24]為符號(hào)位,z[23:22]為整數(shù)位,z[21:0]為小數(shù)位。
2.2.2 實(shí)現(xiàn)結(jié)構(gòu)的設(shè)計(jì)
    在FPGA中,CORDIC的實(shí)現(xiàn)結(jié)構(gòu)可以選擇迭代結(jié)構(gòu)或流水線結(jié)構(gòu)。迭代結(jié)構(gòu)是直接由公式寫(xiě)出循環(huán)語(yǔ)句,處理完當(dāng)前數(shù)據(jù)才可以處理下一個(gè)數(shù)據(jù),缺點(diǎn)是效率低。本設(shè)計(jì)采用流水線結(jié)構(gòu),流水線結(jié)構(gòu)在數(shù)據(jù)處理的同時(shí),還能繼續(xù)輸入和處理后續(xù)數(shù)據(jù),提高了數(shù)據(jù)吞吐率。此外,設(shè)計(jì)中采用前端數(shù)據(jù)處理加22級(jí)CORDIC計(jì)算加后端處理,第一個(gè)數(shù)據(jù)需要24個(gè)時(shí)鐘周期處理完畢,之后每個(gè)周期都可以輸出一個(gè)處理結(jié)果,可以顯著提高數(shù)據(jù)處理速度。
2.2.3 CORDIC結(jié)構(gòu)
    本設(shè)計(jì)總共有22級(jí)CORDIC計(jì)算模塊,第i級(jí)CORDIC計(jì)算模塊如圖3所示。yi與|ci|比較,決定di的值,再根據(jù)式(7)來(lái)計(jì)算xi+1、yi+1、zi+1,同時(shí)傳遞輸入值的符號(hào)位,在流水線的后端處理模塊處理。若輸入c[11]為1,則結(jié)果為-arcsinc;若輸入c[11]為0,則結(jié)果為arcsinc。

3 算法校正
    輸入數(shù)據(jù)范圍為[-1,1],將計(jì)算結(jié)果與真實(shí)結(jié)果比較,得到誤差分布如圖4所示。

    由圖4可見(jiàn),在橫坐標(biāo)絕對(duì)值為0.6、0.8、0.9附近出現(xiàn)較大誤差,最大誤差達(dá)到10-1數(shù)量級(jí)。CORDIC算法使用的是一種數(shù)值計(jì)算逼近的思想,增減的步長(zhǎng)值是離散的,為arctan(2i)。在橫坐標(biāo)絕對(duì)值為0.3、0.6、0.8、0.9附近,CORDIC計(jì)算存在“死區(qū)”。本文采用查找表和拋物線插值校正,在誤差值較大的區(qū)間[c1,c3],令:
  
    在前端數(shù)據(jù)處理中判斷輸入值是否在需要校正的區(qū)間,若在則進(jìn)行拋物線插值校正。用少量查找表存儲(chǔ)校正區(qū)間端點(diǎn)的反正弦值和分母的比值。選用FPGA為32 bit,在其中設(shè)計(jì)乘法運(yùn)算時(shí),乘數(shù)和被乘數(shù)最高為16 bit才不會(huì)使數(shù)據(jù)溢出。在所有拋物線插值校正系數(shù)中,區(qū)間[0.95,0.96]上拋物線插值校正的一次項(xiàng)系數(shù)最大為22.108 9。因此選擇高5位為整數(shù)位,低11位為小數(shù)位進(jìn)行運(yùn)算。
4 實(shí)驗(yàn)與仿真
    CORDIC程序流程圖如圖5所示,初始化之后,先判斷輸入值c是否在需要校正的區(qū)間。若是,則進(jìn)入拋物線插值校正運(yùn)算;否則進(jìn)行CORDIC運(yùn)算,使x0=1/An,y0=0,z0=0。CORDIC運(yùn)算計(jì)算出一個(gè)小數(shù)的反正弦值需要24個(gè)時(shí)鐘周期,為了保證流水線的機(jī)能,當(dāng)輸入值c在需要校正的區(qū)間時(shí),插值計(jì)算后的數(shù)據(jù)在CORDIC運(yùn)算模塊中直接傳輸。計(jì)算出反正弦值后,判斷輸入值c的符號(hào)位,如果是0,則c為正數(shù),反正弦值也為正數(shù);如果是1,則c為負(fù)數(shù),反正弦值也為負(fù)數(shù)。

    仿真軟件采用ModelSim SE PLUS 6.2b。輸入的c值范圍為[-1,1],存放在ModelSim的測(cè)試激勵(lì)文件中。處理一個(gè)數(shù)據(jù)需要24個(gè)時(shí)鐘周期,之后每個(gè)周期都能輸出一個(gè)數(shù)據(jù),如圖6所示。

    將仿真后的數(shù)據(jù)導(dǎo)入Matlab得到反正弦仿真曲線,如圖7(a)所示,并與理想值對(duì)比,得到如圖7(b)所示誤差曲線,CORDIC計(jì)算部分弧度值精度達(dá)到10-4數(shù)量級(jí),經(jīng)過(guò)校正的部分,誤差從10-1數(shù)量級(jí)降到10-4數(shù)量級(jí)。
    本設(shè)計(jì)采用流水線結(jié)構(gòu),提高了數(shù)據(jù)吞吐率。仿真實(shí)驗(yàn)表明,光相位的誤差精度達(dá)到10-4數(shù)量級(jí),精度較高,且具有較高的運(yùn)算速度,適合大數(shù)據(jù)量高速處理。
參考文獻(xiàn)
[1] Duan FaJie,Zhang Cong,Zhang Chao,et al.Fourier transform profilometry based on fiber-optic interferometric projection[C],2009 2nd International Congress on Image and Signal Processing.2009.
[2] 李超.邁克爾遜型全光纖加速度地震檢波器理論與實(shí)驗(yàn)研究[D].天津:天津大學(xué),2007.
[3] 付雷,陳淑芬,孟彥斌.?dāng)?shù)字式開(kāi)環(huán)單模光纖陀螺中求arcsine的查表和線性插值法[J].北京理工大學(xué)學(xué)報(bào),2003,23(4):499-502.
[4] 孟克.光纖干涉測(cè)量技術(shù)[M].哈爾濱:哈爾濱工程大學(xué)出版社,2008:67-74.
[5] RAY A.A survey of CORDIC algorithms for FPGA based  computers[C].Proceeding.ACM/SIGDA Conference,1998:191-200.
[6] CHANG Y K,Swartzlander.An analysis of the CORDIC algorithm for direct digital frequency synthesis[C].In:IEEE International Conference on ASAP.California,USA:IEEE  Press,2002:111-119.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美日韩一区二区在线播放| 国产农村妇女精品| 亚洲女同性videos| 亚洲狼人综合| 亚洲人精品午夜在线观看| 欧美一区二区三区四区高清 | 亚洲欧洲一级| 亚洲国产精品v| 亚洲高清视频在线观看| 亚洲电影专区| 亚洲国产精选| 亚洲精品免费观看| 一本不卡影院| 亚洲色无码播放| 亚洲一区区二区| 午夜免费在线观看精品视频| 亚洲深夜福利在线| 亚洲小说春色综合另类电影| 一本到高清视频免费精品| 一本色道久久88亚洲综合88| 在线综合欧美| 亚洲字幕在线观看| 久久国产主播精品| 久久一二三区| 欧美韩日亚洲| 欧美日韩一区二区三区| 国产精品日韩| 国精产品99永久一区一区| 在线精品视频在线观看高清| 亚洲国产一二三| 洋洋av久久久久久久一区| 亚洲图片欧美一区| 久久疯狂做爰流白浆xx| 亚洲电影免费观看高清完整版| 91久久在线观看| av成人手机在线| 性欧美大战久久久久久久久| 久久激情视频久久| 欧美成人精品一区| 欧美午夜精品久久久久久浪潮| 国产美女精品视频免费观看| 黄色日韩网站| 亚洲精品久久在线| 亚洲永久精品国产| 亚洲国产欧美日韩精品| 这里只有精品在线播放| 欧美一区二区三区视频| 麻豆亚洲精品| 欧美三级午夜理伦三级中视频| 国产精品美女主播在线观看纯欲| 国产一区欧美日韩| 亚洲经典在线看| 亚洲视频香蕉人妖| 久久国产精品亚洲va麻豆| 99综合在线| 久久精品国产99精品国产亚洲性色 | 最新日韩在线| 亚洲欧美日韩精品| 老司机成人在线视频| 欧美日韩另类一区| 国产综合18久久久久久| 亚洲人精品午夜| 欧美伊人久久久久久午夜久久久久| 亚洲精品日韩综合观看成人91| 亚洲免费影院| 猛男gaygay欧美视频| 国产精品高清网站| 亚洲福利在线视频| 亚洲欧美日韩成人| 亚洲免费观看在线观看| 久久九九免费| 国产精品麻豆va在线播放| 亚洲第一精品久久忘忧草社区| 亚洲性夜色噜噜噜7777| 亚洲精品一区二区三| 久久成人免费视频| 欧美日韩在线播放三区| 在线播放豆国产99亚洲| 一区二区免费看| 亚洲韩国青草视频| 久久狠狠亚洲综合| 国产精品v欧美精品∨日韩| 在线日韩电影| 欧美一区二区视频免费观看| 亚洲小视频在线观看| 欧美成人有码| 国内外成人免费激情在线视频| 亚洲深夜影院| 99综合视频| 欧美精品一区二区精品网| 国语自产精品视频在线看一大j8| 亚洲一区二区三区在线看| 日韩写真在线| 欧美成年人在线观看| 国产在线精品二区| 亚洲欧美一区二区三区极速播放| 正在播放欧美视频| 欧美精品久久久久久久久久| 精品av久久久久电影| 性色一区二区三区| 午夜精品久久久久久久99樱桃 | 欧美成人一区在线| 一区二区三区在线看| 校园激情久久| 亚欧成人精品| 国产精品美女久久久久av超清 | 一二三区精品福利视频| 亚洲精品中文字幕有码专区| 久久伊人免费视频| 狠狠色香婷婷久久亚洲精品| 午夜精品999| 午夜在线成人av| 国产精品你懂的在线欣赏| 99国产精品视频免费观看| 亚洲美女福利视频网站| 免费看亚洲片| 亚洲第一主播视频| 亚洲国产另类精品专区| 久久综合伊人77777麻豆| 国产在线拍偷自揄拍精品| 午夜精品一区二区在线观看| 欧美在线视频二区| 国产日韩1区| 欧美一区成人| 久久久久欧美| 一区二区三区在线看| 亚洲国产人成综合网站| 麻豆精品网站| 亚洲区一区二| 亚洲一级电影| 国产精品日日摸夜夜添夜夜av| 亚洲伊人伊色伊影伊综合网| 香港久久久电影| 国产日韩欧美综合精品| 欧美在线视频播放| 久久夜色撩人精品| 亚洲国产毛片完整版| 一区二区精品在线| 欧美婷婷六月丁香综合色| 亚洲网站视频| 久久精品99国产精品酒店日本| 国产一区二区无遮挡| 亚洲激情成人| 欧美国产欧美亚洲国产日韩mv天天看完整 | 久久se精品一区精品二区| 国产一区二区视频在线观看 | 欧美亚洲一区三区| 激情五月婷婷综合| 亚洲精品一区二区三区樱花| 欧美揉bbbbb揉bbbbb| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美一级淫片播放口| 韩日精品中文字幕| 99精品久久久| 国产精品久久久久永久免费观看| 性高湖久久久久久久久| 欧美成人精品不卡视频在线观看| 亚洲蜜桃精久久久久久久| 午夜视频一区二区| 精品粉嫩aⅴ一区二区三区四区| 亚洲精品美女在线观看| 国产精品video| 亚洲国产成人精品久久久国产成人一区 | 国产欧美精品日韩| 亚洲国产高清在线| 欧美色视频在线| 欧美伊人久久大香线蕉综合69| 欧美寡妇偷汉性猛交| 亚洲一区二区三区色| 久久夜色精品国产| 一本久久a久久免费精品不卡| 欧美在线一级视频| 亚洲国产毛片完整版| 欧美一级片一区| 亚洲国产美女| 欧美一区免费视频| 91久久精品久久国产性色也91| 午夜精品久久久| 亚洲国产一区二区三区在线播 | 亚洲精品视频啊美女在线直播| 欧美一区二区在线播放| 亚洲黄色高清| 久久精品夜色噜噜亚洲a∨| 亚洲精品日产精品乱码不卡| 欧美中文字幕第一页| 亚洲人成网站777色婷婷| 久久精品亚洲一区二区| 亚洲美女淫视频| 久久综合给合久久狠狠色| 中日韩高清电影网| 麻豆freexxxx性91精品| 亚洲一二三四久久| 欧美欧美在线| 亚洲电影在线看| 国产日产精品一区二区三区四区的观看方式| 亚洲精品一区二区三区99| 国内在线观看一区二区三区| 亚洲一区二区三区成人在线视频精品 | 欧美成人黄色小视频| 欧美一区二区三区视频在线|