孫書龍
摘 要: 根據(jù)數(shù)字通信的AM調(diào)制技術(shù)原理和CORDIC算法的工作原理,用Verilog語言設(shè)計了一種可綜合的AM調(diào)制器IP核,整個系統(tǒng)在modelsim6.2b上編譯并仿真通過,然后下載到EP3C5E144C8的FPGA芯片上,實現(xiàn)了預(yù)期的功能,具有較高的工程應(yīng)用價值。
關(guān)鍵詞: CORDIC算法; AM調(diào)制; Verilog; IP核
中圖分類號: TN919?34 文獻標(biāo)識碼: A 文章編號: 1004?373X(2014)13?0162?02
Reserch and realization of AM modulation IP based on CORDIC algorithm
SUN Shu?long
(Shanghai Institute of Microsystem and Information Technology, Chinese Academy of Sciences, Shanghai 200050 China)
Abstract: According to the principles of AM modulation technology and CORDIC algorithm for digital communication, a synthesizable IP core described with Verilog language is desiged. The whole system is compiled and simulated in the platform Modelsim6.2b, and then downloaded onto the EP3C5E144C8 FPGA to realize the expected funcion. It has a great engineering application value.
Keywords: CORDIC algorithm; AM modulation; Verilog; IP core
0 引 言
坐標(biāo)旋轉(zhuǎn)式數(shù)字計算機(CORDIC)是在1959年由J.D.VolderJ提出的,它可以用來計算三角函數(shù),雙曲線函數(shù),指數(shù)函數(shù),對數(shù)函數(shù)等,這個電路結(jié)構(gòu)通過使用加法和移位運算來取代相應(yīng)的乘法運算,從而避免了使用向量的乘法操作,同時也無需三角函數(shù)、平方、反三角運算等復(fù)雜的運算,大大降低了系統(tǒng)的硬件成本。利用數(shù)控振蕩器產(chǎn)生正余弦波形是傳統(tǒng)的方式,在數(shù)字系統(tǒng)中NCO是重要的組成部分[1],它可以用來產(chǎn)生正弦波形,作為正弦信號發(fā)生器使用,然而傳統(tǒng)的NCO是采用一個相位角度作為地址,相位角對應(yīng)的正弦值作為數(shù)據(jù)的存儲器,在輸入相位累加的過程中,不斷輸出對應(yīng)的正弦波形,所以需要大量的存儲資源[2],基于CORDIC算法的正弦信號發(fā)生器避免使用查找表方式[3],大大節(jié)約了硬件資源,而且,基于Pipeline結(jié)構(gòu)的CORDIC處理器又具有吞吐速率高[4?5],抗干擾能力強的優(yōu)勢,所以,在數(shù)字信號處理[6?7],無線通信[8?9],調(diào)制解調(diào)[[10]]等領(lǐng)域,CORDIC算法得到越來越廣泛的應(yīng)用。本文正是基于Pipeline結(jié)構(gòu)的CORDIC處理器設(shè)計了一種AM調(diào)制系統(tǒng)。
1 CORDIC算法原理
如圖1所示,如果坐標(biāo)順時針旋轉(zhuǎn)角度[θn,]則點[Μ]由坐標(biāo)[(X[n],][Y[n])]轉(zhuǎn)變?yōu)樽鴺?biāo)[(X[n+1],][Y[n+1]]),旋轉(zhuǎn)方程則為:
[Xn+1Yn+1=cosθn-sinθnsinθncosθnXnYn] (1)
圖1 直角坐標(biāo)系下的向量旋轉(zhuǎn)
單獨的一個旋轉(zhuǎn)可由式(1)給出,對式(1)變換得到式(2):
[Xn+1Yn+1=cosθn1-tanθntanθn1XnYn] (2)
這樣使所選步長角的正切值的絕對值為2的冪次方,即:
[θn=arctan 2-n, n=0,1,2,…] (3)
所有旋轉(zhuǎn)角度之和就為所需要旋轉(zhuǎn)的角度[φ,]就有:
[φ=n=0∞δnarctan 2-n] (4)
為-1表示逆時針旋轉(zhuǎn),為+1表示順時針旋轉(zhuǎn)。
結(jié)合式(1)~式(4)得到:
[Xn+1Yn+1=cosθn1,-δn2-nδn2-n1XnYn] (5)
式中:
[cosθn=11+δ2n2-2n=11+2-2n] (6)
[K=n=0∞11+2-2n=0.607 253] (7)
原坐標(biāo)([X[0],][Y[0]])經(jīng)過[n]次迭代轉(zhuǎn)化為[(X[n],][Y[n]),]旋轉(zhuǎn)的角度為[φ,]即:
[XnYn=cosφ-sinφsinφcosφX0Y0] (8)
2 AM調(diào)制原理
由式(8)可以看出:
[Xn=X0cosφ-Y0sinφ] (9)
[Yn=Y0cosφ+X0sinφ] (10)
令[X0=x(n)+H,] [Y0=0,][φ=delta*nT,]其中[H]為常數(shù),得到調(diào)幅信號:
[Xn=(x(n)+H)cos(delta*nT)] (11)
[Yn=(x(n)+H)sin(delta*nT)] (12)
基于CORDIC結(jié)構(gòu)的AM調(diào)制原理框圖如圖2所示,delta是頻率控制字,在系統(tǒng)時鐘的控制下,累加器以delta為步長進行相位累加,這樣頻率控制字代表已調(diào)信號的頻率,累加器的輸出就是載波信號的瞬時相位,CORDIC模塊的輸出就是最終的已調(diào)信號。此處,CORDIC處理器采用全流水線設(shè)計,經(jīng)過16級迭代,一個時鐘輸出一個正/余弦波形值,調(diào)制之后的波形幅度正比于[X[n]]和常數(shù)[H]的代數(shù)和。
3 仿真與硬件實現(xiàn)
用verilog語言編寫CORDIC算法AM調(diào)制器IP核,其中CORDIC模塊采用級流水線結(jié)構(gòu),是由CORDIC單元級聯(lián)復(fù)用而成。大大提高了系統(tǒng)的數(shù)據(jù)吞吐率,在AM調(diào)制方式下,delta輸入端作為頻率控制字可以給定一常數(shù),delta的大小決定了載波信號的頻率,CORDIC模塊的輸出端輸出的信號頻率正比于delta,其幅度是[X[n]]和[H]常量之和,在Modelsim6.2b軟件上調(diào)試并仿真通過,如圖3所示,該IP核實現(xiàn)了對載波的AM調(diào)制。結(jié)果表明,該方案是可行的。
圖2 基于CORDIC結(jié)構(gòu)的AM調(diào)制原理框圖
圖3 數(shù)字AM調(diào)制仿真波形
最后選用Altera公司CycloneⅢ系列的 EP3C5E144C8FPGA,在QuartusⅡ開發(fā)工具上將可綜合的IP核下載到該器件上,完成系統(tǒng)的綜合與實現(xiàn)。EP3C5E144C8內(nèi)部有5 136個邏輯單元,830個寄存器單元,93個pin引腳,423 936 b存儲器資源,該IP綜合之后的頂層網(wǎng)表如圖4所示。綜合結(jié)果表明,該設(shè)計用到了一個15 b加法器和一個32 b累加器,一個CORDIC流水線處理器,其中CORDIC處理器是由16個CORDIC單元串行級聯(lián)而成,整個系統(tǒng)輸出波形采用16位二進制表示,將輸出的中頻信號經(jīng)過DAC數(shù)據(jù)轉(zhuǎn)換器發(fā)送到射頻前段后由發(fā)射機調(diào)制到射頻段便可以經(jīng)天線發(fā)送出去,在接收端可以用相應(yīng)的解調(diào)電路提取出基帶信號,大大降低了系統(tǒng)的復(fù)雜度,利于硬件實現(xiàn)。
圖4 數(shù)字AM調(diào)制頂層網(wǎng)表
4 結(jié) 語
本文詳細(xì)闡述了CORDIC算法的基本原理,并詳細(xì)論述了基于CORDIC算法在AM信號調(diào)制系統(tǒng)中的應(yīng)用,應(yīng)用Verilog語言設(shè)計了一款系數(shù)靈活可調(diào)的全數(shù)字AM調(diào)制器,只要改變端口設(shè)置也可用于其他調(diào)制方式,避免了傳統(tǒng)的DDS信號發(fā)生器大量使用存儲器資源的弊端,同時采用流水線結(jié)構(gòu)的CORDIC處理器,大大提高了數(shù)據(jù)吞吐率,使用這一結(jié)構(gòu)將混頻和本振結(jié)合到一起,無需另外的乘法器,因此,相比于傳統(tǒng)的數(shù)字AM調(diào)制方法,這一結(jié)構(gòu)不僅大大降低了硬件資源,同時也大大提高了系統(tǒng)性能,具有廣泛的應(yīng)用價值。
參考文獻
[1] 田耘,徐文波.無線通信FPGA設(shè)計[M].北京:電子工業(yè)出版社,2008.
[2] 胡中豫.現(xiàn)代短波通信[M].北京:國防工業(yè)出版社,2003.
[3] 樊昌信.通信原理[M].北京:國防工業(yè)出版社,2001.
[4] 段吉海,黃智偉.基于CPLD/FPGA的數(shù)字通信系統(tǒng)建模與設(shè)計[M].北京:電子工業(yè)出版社,2004.
[5] 尹常永.EDA技術(shù)與數(shù)字系統(tǒng)設(shè)計[M].西安:西安電子科技大學(xué)出版社,2004.
[6] VOIDER J. The CORDIC trigonometric computing technique [J]. IRE Transactions on Electronics Computers, 1959, 8(3): 330?334.
[7] 趙林軍.流水線CORDIC算法的FPGA實現(xiàn)[J].電腦知識與技術(shù),2008(4):716?717.
[8] 胡海華,楊芳,時華杰.基于CORDIC算法的AM基帶解調(diào)方法[J].數(shù)據(jù)通信,2010(3):39?41.
[9] 楊宇,毛志剛,來逢昌.一種改進的流水線CORDIC算法結(jié)構(gòu)[J].微處理機,2006(4):10?13.
[10] 王偉,張斌,吳松.基于CORDIC算法的AM解調(diào)技術(shù)研究[J].傳感器與微系統(tǒng),2012(2):36?38.
3 仿真與硬件實現(xiàn)
用verilog語言編寫CORDIC算法AM調(diào)制器IP核,其中CORDIC模塊采用級流水線結(jié)構(gòu),是由CORDIC單元級聯(lián)復(fù)用而成。大大提高了系統(tǒng)的數(shù)據(jù)吞吐率,在AM調(diào)制方式下,delta輸入端作為頻率控制字可以給定一常數(shù),delta的大小決定了載波信號的頻率,CORDIC模塊的輸出端輸出的信號頻率正比于delta,其幅度是[X[n]]和[H]常量之和,在Modelsim6.2b軟件上調(diào)試并仿真通過,如圖3所示,該IP核實現(xiàn)了對載波的AM調(diào)制。結(jié)果表明,該方案是可行的。
圖2 基于CORDIC結(jié)構(gòu)的AM調(diào)制原理框圖
圖3 數(shù)字AM調(diào)制仿真波形
最后選用Altera公司CycloneⅢ系列的 EP3C5E144C8FPGA,在QuartusⅡ開發(fā)工具上將可綜合的IP核下載到該器件上,完成系統(tǒng)的綜合與實現(xiàn)。EP3C5E144C8內(nèi)部有5 136個邏輯單元,830個寄存器單元,93個pin引腳,423 936 b存儲器資源,該IP綜合之后的頂層網(wǎng)表如圖4所示。綜合結(jié)果表明,該設(shè)計用到了一個15 b加法器和一個32 b累加器,一個CORDIC流水線處理器,其中CORDIC處理器是由16個CORDIC單元串行級聯(lián)而成,整個系統(tǒng)輸出波形采用16位二進制表示,將輸出的中頻信號經(jīng)過DAC數(shù)據(jù)轉(zhuǎn)換器發(fā)送到射頻前段后由發(fā)射機調(diào)制到射頻段便可以經(jīng)天線發(fā)送出去,在接收端可以用相應(yīng)的解調(diào)電路提取出基帶信號,大大降低了系統(tǒng)的復(fù)雜度,利于硬件實現(xiàn)。
圖4 數(shù)字AM調(diào)制頂層網(wǎng)表
4 結(jié) 語
本文詳細(xì)闡述了CORDIC算法的基本原理,并詳細(xì)論述了基于CORDIC算法在AM信號調(diào)制系統(tǒng)中的應(yīng)用,應(yīng)用Verilog語言設(shè)計了一款系數(shù)靈活可調(diào)的全數(shù)字AM調(diào)制器,只要改變端口設(shè)置也可用于其他調(diào)制方式,避免了傳統(tǒng)的DDS信號發(fā)生器大量使用存儲器資源的弊端,同時采用流水線結(jié)構(gòu)的CORDIC處理器,大大提高了數(shù)據(jù)吞吐率,使用這一結(jié)構(gòu)將混頻和本振結(jié)合到一起,無需另外的乘法器,因此,相比于傳統(tǒng)的數(shù)字AM調(diào)制方法,這一結(jié)構(gòu)不僅大大降低了硬件資源,同時也大大提高了系統(tǒng)性能,具有廣泛的應(yīng)用價值。
參考文獻
[1] 田耘,徐文波.無線通信FPGA設(shè)計[M].北京:電子工業(yè)出版社,2008.
[2] 胡中豫.現(xiàn)代短波通信[M].北京:國防工業(yè)出版社,2003.
[3] 樊昌信.通信原理[M].北京:國防工業(yè)出版社,2001.
[4] 段吉海,黃智偉.基于CPLD/FPGA的數(shù)字通信系統(tǒng)建模與設(shè)計[M].北京:電子工業(yè)出版社,2004.
[5] 尹常永.EDA技術(shù)與數(shù)字系統(tǒng)設(shè)計[M].西安:西安電子科技大學(xué)出版社,2004.
[6] VOIDER J. The CORDIC trigonometric computing technique [J]. IRE Transactions on Electronics Computers, 1959, 8(3): 330?334.
[7] 趙林軍.流水線CORDIC算法的FPGA實現(xiàn)[J].電腦知識與技術(shù),2008(4):716?717.
[8] 胡海華,楊芳,時華杰.基于CORDIC算法的AM基帶解調(diào)方法[J].數(shù)據(jù)通信,2010(3):39?41.
[9] 楊宇,毛志剛,來逢昌.一種改進的流水線CORDIC算法結(jié)構(gòu)[J].微處理機,2006(4):10?13.
[10] 王偉,張斌,吳松.基于CORDIC算法的AM解調(diào)技術(shù)研究[J].傳感器與微系統(tǒng),2012(2):36?38.
3 仿真與硬件實現(xiàn)
用verilog語言編寫CORDIC算法AM調(diào)制器IP核,其中CORDIC模塊采用級流水線結(jié)構(gòu),是由CORDIC單元級聯(lián)復(fù)用而成。大大提高了系統(tǒng)的數(shù)據(jù)吞吐率,在AM調(diào)制方式下,delta輸入端作為頻率控制字可以給定一常數(shù),delta的大小決定了載波信號的頻率,CORDIC模塊的輸出端輸出的信號頻率正比于delta,其幅度是[X[n]]和[H]常量之和,在Modelsim6.2b軟件上調(diào)試并仿真通過,如圖3所示,該IP核實現(xiàn)了對載波的AM調(diào)制。結(jié)果表明,該方案是可行的。
圖2 基于CORDIC結(jié)構(gòu)的AM調(diào)制原理框圖
圖3 數(shù)字AM調(diào)制仿真波形
最后選用Altera公司CycloneⅢ系列的 EP3C5E144C8FPGA,在QuartusⅡ開發(fā)工具上將可綜合的IP核下載到該器件上,完成系統(tǒng)的綜合與實現(xiàn)。EP3C5E144C8內(nèi)部有5 136個邏輯單元,830個寄存器單元,93個pin引腳,423 936 b存儲器資源,該IP綜合之后的頂層網(wǎng)表如圖4所示。綜合結(jié)果表明,該設(shè)計用到了一個15 b加法器和一個32 b累加器,一個CORDIC流水線處理器,其中CORDIC處理器是由16個CORDIC單元串行級聯(lián)而成,整個系統(tǒng)輸出波形采用16位二進制表示,將輸出的中頻信號經(jīng)過DAC數(shù)據(jù)轉(zhuǎn)換器發(fā)送到射頻前段后由發(fā)射機調(diào)制到射頻段便可以經(jīng)天線發(fā)送出去,在接收端可以用相應(yīng)的解調(diào)電路提取出基帶信號,大大降低了系統(tǒng)的復(fù)雜度,利于硬件實現(xiàn)。
圖4 數(shù)字AM調(diào)制頂層網(wǎng)表
4 結(jié) 語
本文詳細(xì)闡述了CORDIC算法的基本原理,并詳細(xì)論述了基于CORDIC算法在AM信號調(diào)制系統(tǒng)中的應(yīng)用,應(yīng)用Verilog語言設(shè)計了一款系數(shù)靈活可調(diào)的全數(shù)字AM調(diào)制器,只要改變端口設(shè)置也可用于其他調(diào)制方式,避免了傳統(tǒng)的DDS信號發(fā)生器大量使用存儲器資源的弊端,同時采用流水線結(jié)構(gòu)的CORDIC處理器,大大提高了數(shù)據(jù)吞吐率,使用這一結(jié)構(gòu)將混頻和本振結(jié)合到一起,無需另外的乘法器,因此,相比于傳統(tǒng)的數(shù)字AM調(diào)制方法,這一結(jié)構(gòu)不僅大大降低了硬件資源,同時也大大提高了系統(tǒng)性能,具有廣泛的應(yīng)用價值。
參考文獻
[1] 田耘,徐文波.無線通信FPGA設(shè)計[M].北京:電子工業(yè)出版社,2008.
[2] 胡中豫.現(xiàn)代短波通信[M].北京:國防工業(yè)出版社,2003.
[3] 樊昌信.通信原理[M].北京:國防工業(yè)出版社,2001.
[4] 段吉海,黃智偉.基于CPLD/FPGA的數(shù)字通信系統(tǒng)建模與設(shè)計[M].北京:電子工業(yè)出版社,2004.
[5] 尹常永.EDA技術(shù)與數(shù)字系統(tǒng)設(shè)計[M].西安:西安電子科技大學(xué)出版社,2004.
[6] VOIDER J. The CORDIC trigonometric computing technique [J]. IRE Transactions on Electronics Computers, 1959, 8(3): 330?334.
[7] 趙林軍.流水線CORDIC算法的FPGA實現(xiàn)[J].電腦知識與技術(shù),2008(4):716?717.
[8] 胡海華,楊芳,時華杰.基于CORDIC算法的AM基帶解調(diào)方法[J].數(shù)據(jù)通信,2010(3):39?41.
[9] 楊宇,毛志剛,來逢昌.一種改進的流水線CORDIC算法結(jié)構(gòu)[J].微處理機,2006(4):10?13.
[10] 王偉,張斌,吳松.基于CORDIC算法的AM解調(diào)技術(shù)研究[J].傳感器與微系統(tǒng),2012(2):36?38.