999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

利用CORDIC算法提取脈內特征在FPGA上的實現

2016-05-14 09:17:15王煒珽張文旭陶東香
現代電子技術 2016年9期

王煒珽 張文旭 陶東香

摘 要: 介紹了坐標旋轉數字計算(CORDIC)算法的原理,給出了利用CORDIC算法提取信號脈內特征的迭代公式,在此基礎上實現了用該算法的流水型迭代結構提取瞬時幅度、相位和頻率的FPGA電路,解決了電路中的時鐘與寄存器配置、數據的補碼格式和相位累加等問題。通過在硬件芯片上的下載驗證,表明電路結構合理、測試有效,滿足設計要求。

關鍵詞: 坐標旋轉數字計算; 脈內特征; FPGA設計; 補碼

中圖分類號: TN79?34 文獻標識碼: A 文章編號: 1004?373X(2016)09?0001?05

Abstract:The principle of the coordinated rotation digital computer (CORDIC) algorithm is introduced. The iterative formula of the signal in?pulse characteristics extracted by CORDIC algorithm is proposed. On this basis, the FPGA circuit of extracting the instantaneous amplitude, phase and frequency by pipeline iterative structure of the algorithm was realized. The problems of clock and register configuration, data′s complementary code format and phase accumulation in the circuit were solved. The downloading verification on hardware chip shows that the circuit structure is reasonable, and test is effective. The circuit can satisfy the design requirement.

Keywords: coordinated rotation digital computor; in?pulse characteristics; FPGA design; complementary code

0 引 言

現代電子戰中,提取輻射源信號脈內特征已成為許多電子偵查設備必備的功能,在此,僅以針對輻射源的測向技術為例,如比幅法需要知道脈沖的幅度信息、干涉儀法需要知道高精度的脈內瞬時相位和頻率等。坐標旋轉數字計算(Coordinated Rotation Digital Computer,CORDIC)算法是各種用來提取脈內特征的方法中較為常見的一種。該算法最早由J.Volder等人在1959年提出[1],最初用它進行坐標變換。其基本思想是通過多次的迭代實現方向反復搖擺、數值逐次遞減以逼近最終需要到達的角度,同時計算出與該角度有關的某些復雜函數運算結果。統一的CORDIC算法由J.S.Walther在1971年提出[2],他將圓周、線性、雙曲線三種算法和旋轉、矢量兩種模式統一到一個迭代方程中,為實現多模式共存的CORDIC算法硬件結構奠定了理論基礎。CORDIC因能通過簡單的移位和加減操作就能實現乘除、開方、三角變換、對數、指數等原本需要大量乘法器的運算,所以非常適合用FPGA設計實現[3?5]。

本文在分析圓周CORDIC算法原理的基礎上,給出了利用CORDIC算法提取信號脈內特征的迭代公式,實現了用該算法的流水型迭代結構提取瞬時幅度、相位和頻率的FPGA電路,在電路的設計過程中解決了電路中的時鐘與寄存器配置、數據的補碼格式和相位累加等問題。在信號分選、脈沖識別、輻射源定位等技術領域有一定的實用價值。

1 圓周CORDIC算法原理

兩種方法的主要區別在于:前者計算的瞬時頻率仍在[-π,π]之間,但要加入判斷電路;而后者的計算結果在[0,2π]之間,但在硬件電路中實現取模運算非常簡單,有時甚至都不需要運算。由于圓周矢量模式CORDIC算法是對同相正交分量的計算,因此檢測輸出的頻率可能出現負頻率。這在硬件電路中用補碼表示負數的方法即可解決,因為正余弦函數的周期對稱特性使弧度在[0,2π]之間的取值本身就是其在[-π,π]之間取值的補碼形式。分別利用式(9)和式(10)對2.1節仿真得到的瞬時相位求瞬時角頻率,Matlab仿真結果如圖3所示,其中圖3(a)是存在相位卷繞的結果,圖3(b)是用第二種方法解相位卷繞并將補碼換算為正常負數的結果。從圖3可見仿真結果正確地檢測出了瞬時角頻率,且符合上行LFM規律。

3 流水型CORDIC電路在FPGA上的實現

3.1 CORDIC算法迭代結構分析

CORDIC算法原理簡單且易于理解和仿真,其難點在于如何設計合理的迭代結構來實現運算過程。迭代類算法通常有兩種結構實現,即循環反饋型迭代結構(簡稱循環結構)和流水型迭代結構(流水結構)。循環結構是指通過單級算法單元實現多次迭代計算,將每次的計算結果反饋回本級進行下一次計算,如此循環[L]次以得到最終結果。流水結構是指通過多級算法單元實現多次迭代計算,將每級的計算結果輸入到次級進行下一次計算,經過[L]級后得到最終結果。兩種結構都必須在延遲[L]個時鐘后完成計算。循環結構的優點是相對簡單、硬件資源需求低;而流水結構恰恰相反。循環結構的缺點是每隔[L]個時鐘才能進行一次計算,其運算速率是時鐘頻率的[1L;]流水結構沒有此問題,其運算速率等于時鐘頻率。在實際應用中,應根據設計要求、結構特點,選擇適當的實現結構[4]。圓周矢量模式CORDIC算法循環迭代結構如圖4所示,其中符號“>>”表示移位。CORDIC算法的循環結構稍作改進即可作為流水結構的單級計算單元使用。

3.2 電路的具體設計

為保證提取的信號脈內特征的實時性,本文設計的CORDIC算法電路采用流水結構,設計過程中有以下三方面的技術問題需要重點解決:

(1) 時鐘與寄存器的配置問題

考慮到一個時鐘脈沖有兩個邊沿,當輸入的同相正交數據在第0個脈沖上升沿到達時,為確保數據的穩定性,可利用第0個脈沖的下降沿承接并寄存輸入數據,再到第1個脈沖上升沿到達時計算出結果并交給下一級的寄存器,此刻本級的寄存器便可準備好在第1個脈沖下降沿到達時承接新的數據。以此可實現數據的逐級流水計算,最終在延遲了[L]個脈沖上升沿后,CORDIC模塊可輸出與第0個脈沖上升沿數據對應的幅度和相位值。

由于VHDL語言規定一個寄存器只能受一個時鐘脈沖邊沿的控制,所以CORDIC模塊每級運算單元設計了兩個寄存器:一個是用來承接上級數據的流水寄存器,由下降沿控制;另一個是用來輸出加減法結果的加法寄存器,由上升沿控制。差分模塊同樣需要兩個寄存器,但他的輸入數據寄存器可用CORDIC模塊第[L]個加法輸出寄存器替代,這也使差分模塊只需CORDIC模塊后的0.5個周期就可得到瞬時頻率。各級寄存器與時鐘的配置設計思路如圖5所示。具體的實現電路中采取[L=12]的流水級,輸出的幅度和相位數據相對于輸入的同相正交數據延遲了12個時鐘周期,瞬時頻率數據則延遲了12.5個時鐘周期。

(2) 實現用補碼表示數據的問題

在大多數的A/D轉換器和處理器中,負數都是用補碼格式表示的[11]。補碼的優點是做加定點數的減法運算時方便,無論正負數都可以直接相加,由于硬件電路中數的位數通常是固定的,所以加減運算時數據溢出會被直接去掉不影響最后結果[12],這相當于做了一次求模運算。補碼在表示負數和正數時均保持了數的單調增的變化規律,因此在做移位運算時要根據正負采取不同的方式。圓周矢量模式CORDIC算法每級迭代都是驅動正交分量[yi]向0逼近,所以對于正數采取數據右移并在高位補“0”的方法,對于負數仍是數據右移但在高位補“1”。其中[yi]可能在正負之間反復搖擺,所以對其移位要有判斷程序,對[yi]正負的判斷在求[di]時已經完成,拿來直接用即可。根據式(7)可知[xi]在第1級迭代結束后就已經被限定為正數了,且移位是從第3級迭代開始的,而其[xL]輸出的是沒有正負的幅度,因此對[xi]的移位都可按照正數執行。

對于[zi]而言,輸入為0且沒有移位的操作,只是根據[yi]的正或負逐級加上或減去一個相應的無極性原碼表示的相位常數。由于弧度表示相位時本身就體現了補碼的特性,用無極性的原碼表示相位時可認為[φ(n)∈][0,2π],用補碼表示相位時可認為[φ(n)∈[-π,π]。]同理,對于差分模塊的瞬時角頻率也是如此,故無需做專門處理即可滿足式(10)的要求。

針對輸出數據的瞬時幅度采用無極性的原碼表示,其值帶有處理增益[KC,]且[KC]趨近于1.646 8,因此幅度的位數與[xi]的位數相同,本文所設計的電路不再做其他處理。

(3) 當[x0,y0]均為0時,瞬時相位的累加問題

可見,此時瞬時相位輸出了一個非0的角度。對于同相正交分量來講,[yi,xi]均為0的情況表示信號的瞬時幅度也為0,因此可引入一個幅度閾值,通過對比[xL]與閾值的大小消除該現象,同時該閾值可做噪聲抑制門限用。

3.3 設計驗證與分析

為適應更高的數據流速,實現運算速率與時鐘頻率的一致,本文針對圖5所示的流水結構設計實現了FPGA電路并在Altera公司生產的EP4CE15F17C8芯片上進行了驗證。該FPGA電路包括CORDIC和差分兩個模塊,均借助QuartusⅡ軟件和VHDL語言設計[13]。

模塊例化集成后的原理結構設計圖如圖6所示,其中CORDIC模塊由12級流水單元構成。該電路輸入端的[xi](同相分量),[yi](正交分量)和輸出端的Aout(瞬時幅度)的位寬18位,輸出端的pnout(瞬時相位)和fnout(瞬時頻率)位寬20位,時鐘clk外接100 MHz的頻率源,與時鐘異步的使能端en在高電平有效。[xi,yi,]pnout,fnout的數據格式為補碼,Aout的數據格式是無極性的原碼。

啟動編譯器,編譯成功后得到的資源需求分析如圖7所示,該電路結構占用了1 291個邏輯單元(LE),其中用到的寄存器為1 216個。

為了驗證電路效果,輸入仿真數據并利用Quartus Ⅱ自帶的嵌入式邏輯分析儀(Signal Tap Ⅱ)進行數據的實時監測和采集。Signal Tap Ⅱ能夠將測到的信號樣本暫存在EP4CE15F17C8內嵌的RAM中,然后再通過JTAG端口將樣本送回QuartusⅡ進行顯示、分析,同時還能將采集的樣本數據轉換為txt格式文件輸出,以供其他仿真軟件如Matlab進行進一步的運算分析。輸入數據如表2所示。

為了更好地觀察時鐘的上下邊沿對模塊的控制情況,利用一個數字鎖相環將時鐘倍頻到200 MHz,每個clk時鐘周期內包含2個樣本采集點。啟動Signal Tap Ⅱ,測試得到的波形效果如圖8所示。圖8中多位數據除Aout采用“Unsigned Line Chart”格式顯示外,其他均采用“Signed Line Chart”格式顯示。從波形效果上看,按表中數據依次循環的輸入正交同相分量時,電路輸出了瞬時的幅度、相位和頻率。調幅信號的瞬時幅度為一頻率較低的正弦信號,其他兩種的瞬時幅度為一矩形脈沖信號。線性調頻信號的瞬時相位、頻率很好地體現了上行LFM的特點。從圖8中還可以看出從同相正交分量數據輸入到幅度、相位輸出之間間隔24個樣本采樣點,即輸出比輸入延遲了12個clk時鐘周期,但輸出與輸入數據的流速是相同的,這說明電路中實現了12級流水計算單元。

對比圖9、圖10可看出,圖10中當[xi=0]且[yi=0]時,Aout輸出為0,用其控制pnout輸出為1(用于調試測試數據,使用時可設為0或其他值,閾值的選取視擬抑制的噪聲幅度決定)。圖10中當[xi=0]且[yi=0]時,輸出補碼格式的相位值為-495 666,折算成歸一化弧度相位為-0.945 4π,這與式(12)一致。

4 結 論

本文設計的流水型結構電路實現了利用圓周矢量模式CORDIC算法檢測中頻脈沖信號的瞬時幅度、相位和頻率,解決了時鐘與寄存器配置、數據的補碼格式和相位累加等問題。通過在硬件芯片上的下載驗證,表明電路結構合理、測試有效,滿足設計要求。

參考文獻

[1] VOLDER J E. The CORDIC trigonometric computing technique [J]. IEEE transactions on computers, 1959, 8: 330?334.

[2] WALTHER J S. A unified algorithm for elementary function [C]// Proceedings of 1971 Spring Joint Computer Conference. [S.l.]: ACM, 1971: 379?385.

[3] 閻嘯,秦開宇,高援開,等.基于CORDIC算法的頻譜分析技術研究[J].電子科技大學學報,2006,36(3):335?338.

[4] 張俊濤,王紅倉.基于FPGA的CORDIC算法通用IP核設計[J].微計算機信息,2008,24(7):238?240.

[5] 陳婧.改進型CORDIC算法的研究與實現[J].現代電子技術,2011,34(24):165?167.

[6] 孔德元.針對正弦余弦計算的CORDIC算法優化及其FPGA實現[D].長沙:中南大學,2008.

[7] 金鋒,佘世剛,王鍇,等.基于System Generator的PM信號CORDIC算法鑒相的仿真與實現[J].現代電子技術,2013,36(5):96?98.

[8] 閆溫合,胡永輝,李瑾琳.應用于數字下變頻中CORDIC算法的FPGA實現[J].時間頻率學報,2014,37(1):34?40.

[9] 胡愛明,胡可欣.一種雷達信號類型識別方法[J].現代電子技術,2006,29(14):123?126.

[10] 張文旭.被動雷達導引頭數字信道化接收機研究及實現[D].哈爾濱:哈爾濱工程大學,2009.

[11] 維納 K 英格爾,約翰 G 普羅克斯.數字信號處理(Matlab版)[M].劉樹棠,陳志剛,譯.3版.西安:西安交通大學出版社,2013.

[12] 杜勇.數字濾波器的Matlab與FPGA實現[M].北京:電子工業出版社,2012.

[13] 陳欣波.Altera FPGA工程師成長手冊[M].北京:清華大學出版社,2012.

主站蜘蛛池模板: 一区二区三区在线不卡免费| 国产麻豆va精品视频| 国产精品网址你懂的| 99热国产这里只有精品9九 | 国产麻豆va精品视频| 午夜福利在线观看成人| 国产欧美日韩在线在线不卡视频| 国产欧美专区在线观看| 国产aaaaa一级毛片| 综合久久五月天| 少妇高潮惨叫久久久久久| 国产成人乱码一区二区三区在线| 综合人妻久久一区二区精品 | 日韩高清中文字幕| 欧美a在线看| 国产精品嫩草影院av| 日韩av高清无码一区二区三区| 8090成人午夜精品| 国产黄色视频综合| 美女啪啪无遮挡| 欧美日韩精品在线播放| 亚洲经典在线中文字幕 | 免费毛片全部不收费的| 欧美区在线播放| 国产大片喷水在线在线视频| 欧美综合区自拍亚洲综合天堂| 亚洲欧洲综合| 成人av手机在线观看| 美女国产在线| 青青草国产在线视频| 国产区人妖精品人妖精品视频| 国产精品欧美日本韩免费一区二区三区不卡 | 亚洲天堂成人在线观看| 小蝌蚪亚洲精品国产| 全部无卡免费的毛片在线看| 国产福利一区在线| 国产成人亚洲精品色欲AV| 韩国自拍偷自拍亚洲精品| 91麻豆国产视频| www.91中文字幕| 114级毛片免费观看| 91免费片| 日本三级欧美三级| 伊人久久福利中文字幕| 国产欧美日本在线观看| 午夜小视频在线| 亚洲另类国产欧美一区二区| 久久亚洲美女精品国产精品| 日韩a级毛片| 免费国产高清视频| 欧美精品成人| 亚洲人成高清| 无码AV日韩一二三区| 噜噜噜久久| 麻豆AV网站免费进入| 激情综合网址| 午夜影院a级片| 全部免费毛片免费播放| 日韩精品成人网页视频在线| 91成人免费观看| 97av视频在线观看| 多人乱p欧美在线观看| 一级毛片不卡片免费观看| 一区二区理伦视频| 精品国产黑色丝袜高跟鞋| 欧美成人第一页| 国产成人av大片在线播放| 114级毛片免费观看| 国产免费黄| 啪啪啪亚洲无码| 久无码久无码av无码| 国产精品嫩草影院av| 久久久久无码国产精品不卡| 91亚洲免费| 在线毛片网站| 国产午夜人做人免费视频中文| 成人免费视频一区二区三区| 国产尹人香蕉综合在线电影| 国产亚洲精品自在久久不卡| 91欧美亚洲国产五月天| 国产精品所毛片视频| 成人国产一区二区三区|