專利名稱:一種基于cordic算法的數字鎖相放大器的制作方法
技術領域:
本發明涉及微弱信號檢測領域,尤其涉及一種基于CORDIC算法的數字鎖 相放大器。
背景技術:
鎖相放大器(Lock-in Amplifier, LIA)是微弱信號檢測領域中基于互相關 原理設計的一種同步相干檢測儀器,能對檢測信號和參考信號進行相關運算,適 用于檢測深埋在噪聲或直流漂移中極其微弱信號的幅度和相位。鎖相放大器能 提高檢測信號的信噪比,已經廣泛應用于物理、化學、生物、醫學、天文、通 信、電子技術等領域的研究工作中。常用的鎖相放大器由模擬電路實現,參考 信號和輸入信號進入由模擬乘法器和低通濾波器組成的相敏檢測器(Phase Sensitive Detection, PSD),最后將結果輸出。模擬鎖相放大器存在著參數穩定性 和靈活性方面的問題,因為模擬電路一旦確定后,就不能改變了。此外,由于 鎖相放大器內模擬濾波器和模擬乘法器器件本身精度有限而且還會引入噪聲。 相對于模擬鎖相放大器,數字鎖相放大器穩定性高、設計靈活,可以有效抑制 1//噪聲和溫度等引起的漂移噪聲。
CORDIC (Coordinate Rotation Digital Computer) 算法由J. Voider提出,主 要運用于計算三角函數、雙曲函數以及其他一些進本函數的運算。基于CORDIC 算法實現的正弦波信號產生,是直接數字頻率合成(Direct Digital Frequency Synthesis, DDS)技術的一種。相對于其他DDS技術如存儲器(Read-Only Memory, ROM)査表法、泰勒級數法等,CORDIC算法可實現高精度而且對 FPGA的容量要求適中,易于在FPGA中實現。
發明內容
本發明的目的是克服現有技術的不足,提供一種基于CORDIC算法的數字 鎖相放大器。
基于CORDIC算法的數字鎖相放大器包括輸入信號通道、模數轉換器、PC 控制器、RS232串口、現場可編程門陣列、第一數模轉換器、帶通濾波器、第 二數模轉換器、模擬放大器、模擬帶通濾波器、串口接收模塊、第一加法器、 第二加法器、第一 CORDIC模塊、第二 CORDIC模塊、輸出信號數字濾波器、 輸出偏置調整模塊;信號通道通過模數轉換器與現場可編程門陣列相連,現場 可編程門陣列對輸入信號進行解調處理后經第二數模轉換器輸出;同時,現場
4可編程門陣列產生載波信號,經第一數模轉換器、帶通濾波器輸出,為系統提
供載波信號;PC控制器通過RS232串口與現場可編程門陣列相連,通過PC控 制器對載波相位、頻率、幅度、偏置進行實時調節。
所述的現場可編程門陣列內部模塊的連接關系為PC控制器通過RS232串 口與串口接收模塊相連,串口接收模塊的頻率控制字輸出經過第一加法器累加 后,輸入至第一 CORDIC模塊作為相位輸入,同時串口接收模塊的幅度控制字 輸入至第一 CORDIC模塊作為幅度輸入,第一 CORDIC模塊的輸出經第一數模 轉換器、帶通濾波器輸出,為系統提供載波信號;第一加法器的輸出和串口接 收模塊的相位控制字經第二加法器,輸入至第二 CORDIC模塊作為相位輸入, 同時輸入信號經模擬放大器、模擬帶通濾波器、模數轉換器輸入至第二 CORDIC 模塊作為幅度輸入,第二 CORDIC模塊進行解調處理后經輸出信號數字濾波器、 輸出偏置調整模塊、第二數/模轉換器輸出。
所述的第一 CORDIC模塊、第二 CORDIC模塊其內部連接關系為上級輸 入x(i)經過右移i位和旋轉方向系數相乘后,經第一數據選擇器疊加到y(i)形成 y(i+l)輸出;同時上級輸入y(i)經過右移i位和旋轉方向系數相乘后,經第二數 據選擇器疊加到x(i)形成x(i+l)輸出。
所述的輸入信號通道的電路連接關系為第一電阻的一端作為信號輸入端, 第一電阻的另一端與第一運算放大器的正輸入端相連接,第一運算放大器的負 輸入端接地;第二電阻的一端與第一運算放大器的正輸入端相連接,第二電阻 的另一端與第一運算放大器的輸出端相連接;第三電阻的一端與第一運算放大 器的輸出端相連接,第三電阻的另一端與第一電容的一端相連接,第一電容的 另一端接地;第一電感的兩端與第一電容的兩端分別連接;第二電容的一端與 第一電容的一端相連接,第二電容的另一端與第三電容的一端相連接,第三電 容的另一端接地;第二電感的兩端與第三電容的兩端分別連接;第四電容的一 端與第三電容的一端相連接,第四電容的另一端與第五電容的一端相連接,第 五電容的另一端接地;第三電感的兩端與第五電容的兩端分別連接;第四電阻 的兩端與第五電容的兩端分別連接,第四電阻的非地端作為輸入信號通道的輸 出。
本發明與現有技術相比具有的有益效果
1) 本發明應用基于CORDIC算法,通過FPGA實現數字鎖相放大器,系統 精度由算法中的迭代次數和數據字長決定,可實現高精度;
2) 本發明通過PC控制器實時設置FPGA中的參變量,可在線靈活配置調制信號的幅度、相位和頻率;
3) 本發明基于CORDIC算法,是一種參考信號為正弦波的鎖相放大器,可 以避免信號通道高次諧波的影響。
4) 本發明適用頻段為1Hz-20MHz。
圖1是基于CORDIC算法的數字鎖相放大器的模塊示意圖2是基于CORDIC算法的數字鎖相放大器的詳細系統結構圖3是CORDIC算法的原理示意圖4是信號通道框圖中輸入信號通道l、模數轉換器2、 PC控制器3、 RS232串口4、現場 可編程門陣列5、第一數模轉換器6、載波濾波器7、第二數/模轉換器8、模擬 放大器9、模擬帶通濾波器IO、串口接收模塊ll、第一加法器12、第二加法器 13、第一 CORDIC模塊14、第二 CORDIC模塊15、輸出信號數字濾波器16、 輸出偏置調整模塊17。
具體實施例方式
圖1所示,基于CORDIC算法的數字鎖相放大器包括輸入信號通道1、模 數轉換器2、 PC控制器3、 RS232串口4、現場可編程門陣列5、第一數模轉換 器6、帶通濾波器7、第二數模轉換器8、模擬放大器9、模擬帶通濾波器10、 串口接收模塊11、第一加法器12、第二加法器13、第一 CORDIC模塊14、第 二 CORDIC模塊15、輸出信號數字濾波器16、輸出偏置調整模塊17;信號通 道1通過模數轉換器2與現場可編程門陣列5相連,現場可編程門陣列5對輸 入信號進行解調處理后經第二數模轉換器8輸出;同時,現場可編程門陣列5 產生載波信號,經第一數模轉換器6、帶通濾波器7輸出,為系統提供載波信號; PC控制器3通過RS232串口 4與現場可編程門陣列5相連,通過PC控制器3 對載波相位、頻率、幅度、偏置進行實時調節。
圖2所示,現場可編程門陣列5內部模塊的連接關系為PC控制器3通過 RS232串口 4與串口接收模塊11相連,串口接收模塊11的頻率控制字輸出經過 第一加法器12累加后,輸入至第一 CORDIC模塊14作為相位輸入,同時串口 接收模塊11的幅度控制字輸入至第一 CORDIC模塊14作為幅度輸入,第一 CORDIC模塊14的輸出經第一數模轉換器6、帶通濾波器7輸出,為系統提供 載波信號;第一加法器12的輸出和串口接收模塊11的相位控制字經第二加法 器13,輸入至第二 CORDIC模塊15作為相位輸入,同時輸入信號經模擬放大器9、模擬帶通濾波器10、模數轉換器2輸入至第二 CORDIC模塊15作為幅度 輸入,第二 CORDIC模塊15進行解調處理后經輸出信號數字濾波器16、輸出 偏置調整模塊17、第二數/模轉換器8輸出。
輸入信號通道1包括模擬放大器9和模擬帶通濾波器10,對信號進行預放 大和濾波處理。由于通常輸入的檢測信號都非常微弱,在pV甚至nV量級,且 信號經常淹沒在噪聲中,因此一方面要通過信號的預放大提高整個鎖相放大器 的分辨率,另一方面進行濾波處理濾除部分噪聲。
串口接收模塊ll為異步串口接收模塊,通過串口的異步時鐘信號接收不同 地址(Address)線上的數據(Data),并配置到串口接收模塊11的各輸出中, 包括頻率控制字(Freq)、相位控制字(Phase)、幅度控制字(Amp)以及偏置 控制字(Offset)。通過PC控制器3調整頻率控制字(Freq)、幅度控制字(Amp) 可以分別調整載波信號的頻率和幅度。該載波信號為檢測系統提供一正弦載波 信號,用于具體的系統中可代替信號發生器進行調制,經過系統之后的調制信 號作為數字鎖相放大器的輸入信號進行相關解調,達到微弱信號檢測的目的。
第二 CORDIC模塊15充當乘法器的作用,乘法器兩路分別為輸入信號和載 波信號,當二者同頻同相時,輸出信號的直流分量與輸入信號的幅度成正比, 對輸出信號進行濾波處理可以達到將輸入信號幅度信息從噪聲中提取出來的目 的。第二 CORDIC模塊15輸出不僅包括直流分量,而且還包括輸入信號和載波 信號的合頻分量,因此經輸出信號數字濾波器16將合頻分量濾除,然后經輸出 偏置調整模塊17通過第二數/模轉換器8轉換成模擬信號輸出。信號流程的核心 部分都在現場可編程門陣列5實現,避免了模擬器件的1//噪聲和溫度等引起的 漂移噪聲,因此可以達到較高的精度和穩定性,且易實現,有非常大的實用性。
圖3所示,第一 CORDIC模塊14、第二 CORDIC模塊15其內部連接關系 為上級輸入x(i)經過右移i位和旋轉方向系數相乘后,經第一數據選擇器18 疊加到y(i)形成y(i+l)輸出;同時上級輸入y(i)經過右移i位和旋轉方向系數相 乘后,經第二數據選擇器19疊加到x(i)形成x(i+l)輸出,完成一次迭代操作。一 次迭代操作過程中只用到2個數據選擇器和3個加法器,所有的乘法操作可以 通過移位和數據取反結合完成,資源占用率低,實現效率高。
向量K(Xi,yO旋轉角度e后操作得到向量F2(x2,y2),其關系可表示為
可以將總的旋轉角度A分解為/次旋轉的疊加,為了在FPGA平臺上實現方便,將每進行一次旋轉角度設定為 《=《..arctan(2-')
二 cos《=, 1
(2)
. 1 + 2-2;
其中《=±1其中+1表示逆時針旋轉,-1代表順時針旋轉。經過N次子角度旋轉,
校正因子X定義為
W-1 W-l / ]
"n^njY^r (3)
通過《將初始單位向量預校正為F"&0),可避免(1)式中每次子角度旋轉操 作中的幅度放大因子cos《。因此CORDIC算法的子角度旋轉操作表示為
A+i =《-《?,.2-'
;;,+,X+《.-x,.2-' (4) = ^ -《arctan (2-')
其中,x。=& yo=o, Zq是預定要計算正弦值和余弦值的角度e,當Zi>0或Zi<0時,
5i分別取為+ l和一l。當子角度旋轉操作次數N為無限大時,w和yw分別等 于cos(e)和sin(e),從而實現了相位/幅度的轉換。根據(2)式,子旋轉角度之 和的最大值可表示為
<9隨=i arctan(2—') 1.7433 (99.90) ( 5 )
為使CORDIC算法角度計算的范圍覆蓋±180°,可增加兩次i=0的子角度旋轉操 作。修正后的CORDIC算法相位/幅度轉換操作可以描述為
《+i =x,-《7,
=—《 . arctan (20)
…、/ (6) = z;-《.arctan (2力+2)
由于增加了兩次1=0的子角度旋轉操作,w為迭代操作的總次數,校正因子《
修正為
W-3 iW-3 1
卜o z ,=0 "十z因此,(6)式中的xj、 yi和Zi作為子角度旋轉操作的輸入變量,xi+1、 yw和zw 為子角度旋轉操作的輸出變量,(6)式在FPGA中通過加/減、移位運算實現; x0=《,y(TO,zo的輸入是要計算三角函數值的角度值; 一系列的子角度旋轉操作 迭代的次序為i=0,l,2,3......。
設總迭代次數為N, (6)式描述的基于CORDIC算法的相位/幅度轉換模塊 的誤差可表示為
由(8)式可以看出,算法的精度由迭代次數和運算操作中的數據寄存器的 位數決定,因此可調整算法達到很高的精度。
圖4所示,輸入信號通道l的電路連接關系為第一電阻Ri的一端作為信 號輸入端,第一電阻Ri的另一端與第一運算放大器l的正輸入端相連接,第一 運算放大器1的負輸入端接地;第二電阻R2的一端與第一運算放大器1的正輸 入端相連接,第二電阻R2的另一端與第一運算放大器1的輸出端相連接;第三 電阻R3的一端與第一運算放大器1的輸出端相連接,第三電阻R3的另一端與第 一電容Q的一端相連接,第一電容d的另一端接地;第一電感Li的兩端與第 一電容d的兩端分別連接;第二電容C2的一端與第一電容d的一端相連接, 第二電容C2的另一端與第三電容C3的一端相連接,第三電容C3的另一端接地; 第二電感L2的兩端與第三電容C3的兩端分別連接;第四電容Q的一端與第三 電容C3的一端相連接,第四電容C4的另一端與第五電容C5的一端相連接,第 五電容Cs的另一端接地;第三電感L3的兩端與第五電容Cs的兩端分別連接; 第四電阻R4的兩端與第五電容Cs的兩端分別連接,第四電阻R4的非地端作為
輸入信號通道l的輸出。
輸入信號通道1對信號進行預放大和濾波處理。由于被檢測信號微弱,而噪 聲相對較大,因此要求信號通道的前置放大器具備低噪聲、高增益和大的動態 范圍,具有較高的共模抑制比,以達到最佳的噪聲抑制性能。
9
權利要求
1.一種基于CORDIC算法的數字鎖相放大器,其特征在于包括輸入信號通道(1)、模數轉換器(2)、PC控制器(3)、RS232串口(4)、現場可編程門陣列(5)、第一數模轉換器(6)、帶通濾波器(7)、第二數模轉換器(8)、模擬放大器(9)、模擬帶通濾波器(10)、串口接收模塊(11)、第一加法器(12)、第二加法器(13)、第一CORDIC模塊(14)、第二CORDIC模塊(15)、輸出信號數字濾波器(16)、輸出偏置調整模塊(17);信號通道(1)通過模數轉換器(2)與現場可編程門陣列(5)相連,現場可編程門陣列(5)對輸入信號進行解調處理后經第二數模轉換器(8)輸出;同時,現場可編程門陣列(5)產生載波信號,經第一數模轉換器(6)、帶通濾波器(7)輸出,為系統提供載波信號;PC控制器(3)通過RS232串口(4)與現場可編程門陣列(5)相連,通過PC控制器(3)對載波相位、頻率、幅度、偏置進行實時調節。
2. 根據權利要求1所述的一種基于CORDIC算法的數字鎖相放大器,其特 征在于所述的現場可編程門陣列(5)內部模塊的連接關系為PC控制器(3)通過 RS232串口(4)與串口接收模塊(11)相連,串口接收模塊(ll)的頻率控制字輸出經 過第一加法器(12)累加后,輸入至第一 CORDIC模塊(14)作為相位輸入,同時串 口接收模塊(ll)的幅度控制字輸入至第一 CORDIC模±央(14)作為幅度輸入,第一 CORDIC模塊(14)的輸出經第一數模轉換器(6)、帶通濾波器(7)輸出,為系統提 供載波信號;第一加法器(12)的輸出和串口接收模塊(ll)的相位控制字經第二加 法器(13),輸入至第二 CORDIC模塊(15)作為相位輸入,同時輸入信號經模擬 放大器(9)、模擬帶通濾波器(10)、模數轉換器(2)輸入至第二 CORDIC模塊(15) 作為幅度輸入,第二 CORDIC模塊(15)進行解調處理后經輸出信號數字濾波器 (16)、輸出偏置調整模塊(17)、第二數/模轉換器(8)輸出。
3. 根據權利要求2所述的一種基于CORDIC算法的數字鎖相放大器,其特 征在于所述的第一CORDIC模塊(14)、第二CORDIC模塊(15)其內部連接關系為 上級輸入x(i)經過右移i位和旋轉方向系數相乘后,經第一數據選擇器(18)疊加 到y(i)形成y(i+l)輸出;同時上級輸入y(i)經過右移i位和旋轉方向系數相乘后, 經第二數據選擇器(19)疊加到x(i)形成x(i+l)輸出。
4. 根據權利要求1所述的一種基于CORDIC算法的數字鎖相放大器,其特 征在于所述的輸入信號通道(1)的電路連接關系為第一電阻(RJ的一端作為信號 輸入端,第一電阻(R0的另一端與第一運算放大器(1)的正輸入端相連接,第一運 算放大器(l)的負輸入端接地;第二電阻(R2)的一端與第一運算放大器(1)的正輸 入端相連接,第二電阻(R2)的另一端與第一運算放大器(1)的輸出端相連接;第三電阻(R3)的一端與第一運算放大器(1)的輸出端相連接,第三電阻(R3)的另一端與 第一電容(Q)的一端相連接,第一電容(d)的另一端接地;第一電感(")的兩端與 第一電容(Q)的兩端分別連接;第二電容(C2)的一端與第一電容(d)的一端相連 接,第二電容(C2)的另一端與第三電容(C3)的一端相連接,第三電容(C3)的另一 端接地;第二電感(L2)的兩端與第三電容(C3)的兩端分別連接;第四電容(Q)的一 端與第三電容(C3)的一端相連接,第四電容(C4)的另一端與第五電容(C5)的一端 相連接,第五電容(Cs)的另一端接地;第三電感(L3)的兩端與第五電容(C5)的兩端分別連接;第四電阻(R4)的兩端與第五電容(C5)的兩端分別連接,第四電阻(R4)的非地端作為輸入信號通道(l)的輸出。
全文摘要
本發明公開了一種基于CORDIC算法的數字鎖相放大器。信號通道通過模數轉換器與現場可編程門陣列相連,現場可編程門陣列對輸入信號進行解調處理后經第二數模轉換器輸出;同時,現場可編程門陣列產生載波信號,經第一數模轉換器、帶通濾波器輸出,為系統提供載波信號;PC控制器通過RS232串口與現場可編程門陣列相連,通過PC控制器調節載波相位、頻率、幅度、偏置等達到實時調整的效果。本發明的核心模塊在FPGA上實現,穩定性高、設計靈活,可以有效抑制1/f噪聲和溫度等引起的漂移噪聲,算法精度由迭代次數和數據字長決定;通過PC控制器配置調制信號的幅度、相位和頻率;參考信號為正弦波,避免了輸入信號通道奇次頻率的干擾;適用帶寬為1Hz-20MHz。
文檔編號H03F7/00GK101626220SQ200910101089
公開日2010年1月13日 申請日期2009年8月3日 優先權日2009年8月3日
發明者金仲和, 馬慧蓮, 鮑慧強 申請人:浙江大學