国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于CORDIC算法的正交信號源實現(xiàn)

2016-07-09 15:39景標(biāo)邢維巍張燕琴
現(xiàn)代電子技術(shù) 2016年7期

景標(biāo) 邢維巍 張燕琴

摘 要: 正交型數(shù)字鎖相放大器中正交信號參考源對于數(shù)字鎖相放大器的性能有著重要的影響,根據(jù)CORDIC算法在FPGA 上設(shè)計數(shù)字正交信號源,實現(xiàn)了直接數(shù)字頻率合成(DDS)技術(shù)中的相位/幅度轉(zhuǎn)換模塊,可輸出高精度的正交參考信號,避免了用ROM實現(xiàn)相幅轉(zhuǎn)換時硬件開銷過大及處理速度受限制的問題。首先介紹了DDS的工作原理,同時對基于 CORDIC 算法的相幅變換方法進行了詳細敘述,利用CORDIC算法計算正余弦值,最后對整體模塊進行了仿真和實驗測試,輸出中心頻率可調(diào)的正交信號,實現(xiàn)了高精度的正交信號源。

關(guān)鍵詞: 正交信號; FPGA; CORDIC; DDS

中圖分類號: TN911.23?34 文獻標(biāo)識碼: A 文章編號: 1004?373X(2016)07?0057?03

Abstract: The quadrature signal reference source has the significant impact on the performance of the quadrature digital lock?in amplifier. According to CORDIC algorithm, the digital quadrature signal source was designed on FPGA. The phase/amplitude transformation module in DDS technology was realized, which can output the high precision quadrature reference signal, and solve the problems of large hardware cost and limited processing speed when ROM is used to realize phase/amplitude transformation. The DSS working principle is introduced. The phase/amplitude transformation method based on CORDIC algorithm is described in detail, in which the CORDIC algorithm is used to calculate the sine and cosine values. The simulation and experimental test for the entire module are conducted, it can output the quadrature signal with adjustable center frequency. The high precision quadrature signal source is realized.

Keywords: quadrature signal; FPGA; CORDIC; DDS

0 引 言

在微弱信號檢測領(lǐng)域,鎖相放大是微弱信號檢測的一種有效方法,數(shù)字鎖相放大器在科學(xué)研究和工程的各個領(lǐng)域都得到廣泛的應(yīng)用。而信號參考源的設(shè)計是數(shù)字鎖相放大器中的一項關(guān)鍵技術(shù)。高精度正交信號源產(chǎn)生兩路正交的正弦信號,作為正交型數(shù)字鎖相放大器[1]的參考信號源,信號源的精度以及噪聲雜散程度對數(shù)字鎖相放大器的性能有很大的影響。

一般數(shù)字信號源的基本原理是利用ROM表查找法實現(xiàn)DDS技術(shù)[2]的相位/幅度轉(zhuǎn)換,用這種方法會造成相位截斷,對DDS產(chǎn)生波形的純度造成比較大的影響。而且因為ROM的存儲能力比較有限,數(shù)據(jù)位數(shù)不夠深,在輸出的頻率信號的頻譜中,幅度量化的存在會引入新的雜散成份。而CORDIC[3]算法則能較好的解決傳統(tǒng)方法的問題。

1 CORDIC算法實現(xiàn)過程

CORDIC算法是由J.volder等人于1959年首次提出的,它是一種用來計算經(jīng)常使用的基本運算函數(shù)(比如三角函數(shù))和算術(shù)操作的循環(huán)迭代算法,CORDIC算法幾乎沒有相位截斷。其基本思想是用一系列只與運算基數(shù)相關(guān)的角度的不斷偏擺從而逼近所需旋轉(zhuǎn)的角度[4]。

如果在使用CORDIC算法前先計算出系數(shù)[cosθn,]就可以通過預(yù)先存儲系數(shù)來實現(xiàn)在CORDIC計算中削去系數(shù),旋轉(zhuǎn)運算就被簡化成簡單的加法和移位。

CORDIC算法是一種用于計算一些常用的基本運算函數(shù)和算術(shù)操作的循環(huán)迭代算法。由于其用一系列與運算基數(shù)相關(guān)的角度的不斷偏擺來逼近所需旋轉(zhuǎn)的角度,而這些固定的角度與計算基數(shù)有關(guān),運算只有移位和加/減。若用傳統(tǒng)的乘、除等計算方法,需要占用大量的硬件資源,甚至算法是難以實現(xiàn)的。

CORDIC算法僅在硬件電路用到了移位和加減運算,而移位和加減運算正是FPGA的強項,大大節(jié)約了硬件資源,使得這些算法在硬件上可以得到較好的實現(xiàn)。

2 正交信號源的設(shè)計

2.1 CORDIC基本單元設(shè)計

最底層部分是CORDIC算法基本單元,它代替了傳統(tǒng)DDS結(jié)構(gòu)中的ROM正弦表的核心基本單元,通過移位和加減運算計算出正交信號對應(yīng)的正余弦值。CORDIC算法基本單元如圖3所示。

2.2 CORDIC流水線設(shè)計

考慮到FPGA硬件的特點以及算法的精度,CORDIC 算法的實現(xiàn)一般需要使用由多個算法基本單元組成的流水線結(jié)構(gòu)[6],CORDIC算法的精度受到流水線級數(shù)的影響,只有增加流水線級數(shù)才能提高算法的精度,而增加流水線級數(shù)之后速度也會相應(yīng)降低,因此必須選取合適的流水線級數(shù)。

在這里選擇16級的并行流水線結(jié)構(gòu)完成信號的相位幅度轉(zhuǎn)換。同時由于每次迭代計算都需要輸入旋轉(zhuǎn)角度的正切值,這里就直接在程序中預(yù)先存儲包含16個角度的正切值。16級流水線單元封裝后如圖4所示,僅僅保留了時鐘與相位輸入,正余弦輸出接口。

2.3 正交信號源總體設(shè)計

頂層設(shè)計以CORDIC流水線模塊為核心,以AD9767芯片為最終輸出端口,編寫AD9767驅(qū)動模塊,在輸出之前加入了編碼轉(zhuǎn)換模塊,因為AD9767以原碼輸入而DDS_CORDIC模塊以偏移二進制碼分兩路分別輸出正弦與余弦信號的數(shù)字編碼,正交信號源總體設(shè)計如圖5所示。

3 仿真實驗結(jié)果

在軟件設(shè)計完成后,在ModelSim中進行了功能仿真[7],驗證算法是否正確,如圖6所示。

在仿真通過后,需要在硬件電路中實現(xiàn)正交信號源的功能。設(shè)計輸出1 MHz的正交余弦信號,以50 MHz頻率作為系統(tǒng)的時鐘基準,通過計算在Quartus Ⅱ中輸入頻率控制字,進行編譯完成[8]。

下載編譯完成的程序到FPGA硬件電路中,將電路輸出到示波器中,得到FPGA硬件電路輸出波形如圖7所示。從圖7可以看到輸出的實際波形與理論相符合,在硬件上實現(xiàn)了正交信號源。

4 結(jié) 語

正交信號源在正交信號解調(diào)[9]以及數(shù)字鎖相放大器參考信號等方面具有非常實際的應(yīng)用需求,而CORDIC算法能夠解決ROM表的存儲容量限制給DDS性能提高帶來的瓶頸,提高DDS相位截斷后的保留字長,減小雜散噪聲。同時根據(jù)FPGA的特點,采用流水線結(jié)構(gòu),保證了程序的運行速度與精度。

本文在FPGA硬件平臺上實現(xiàn)了基于CORDIC算法的正交信號源,對于需要應(yīng)用正交信號源的地方具有較強的實用價值。

參考文獻

[1] 陳宇澤,邢維巍,樊尚春.基于DSP Builder的正交矢量型數(shù)字鎖相放大器實現(xiàn)[J].現(xiàn)代電子技術(shù),2015,38(1):62?65.

[2] 王永,劉志強,劉碩.DDS在任意波形發(fā)生器中的應(yīng)用[J].儀表技術(shù),2001(4):22?23.

[3] 胡國榮,孫允恭.CORDIC算法及其應(yīng)用[J].信號處理,1991(4):229?242.

[4] 鄭立崗,呂幼新,向敬成,等.一種基于CORDIC算法的數(shù)字鑒頻方法[J].信號處理,2003(1):6?10.

[5] 謝亮.基于FPGA的ROM數(shù)據(jù)定制的幾種方法[J].科技廣場,2008(10):160?161.

[6] 李旭.基于FPGA的流水線技術(shù)應(yīng)用研究[J].電子測量技術(shù),2007(2):131?132.

[7] 李壽強.MATLAB和ModelSim聯(lián)合仿真在FPGA開發(fā)中的應(yīng)用[J].電子制作,2013(12):77.

[8] 袁博,宋萬杰,吳順君.基于FPGA的MATLAB與QuartusⅡ聯(lián)合設(shè)計技術(shù)研究[J].電子工程師,2007(1):6?8.

[9] 周之麗,孟令軍,王曉丹,等.基于FPGA與Matlab的數(shù)字正交解調(diào)器的設(shè)計[J].計算機測量與控制,2015(1):294?296.