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

基于CORDIC算法的參數(shù)可調(diào)信號(hào)源設(shè)計(jì)

2017-03-10 08:54:18張存生張德學(xué)韓學(xué)森冀貞賢
關(guān)鍵詞:設(shè)計(jì)

張存生,張德學(xué),韓學(xué)森,王 超,張 恒,冀貞賢

基于CORDIC算法的參數(shù)可調(diào)信號(hào)源設(shè)計(jì)

張存生,張德學(xué),韓學(xué)森,王 超,張 恒,冀貞賢

(山東科技大學(xué) 電子通信與物理學(xué)院,山東 青島 266590)

直接頻率合成技術(shù)(DDS)是無(wú)線通信中的關(guān)鍵技術(shù),因應(yīng)用場(chǎng)合及技術(shù)指標(biāo)不同,DDS中的正弦波形產(chǎn)生模塊有多種實(shí)現(xiàn)方法,本設(shè)計(jì)采用CORDIC算法計(jì)算波形數(shù)據(jù),并通過(guò)預(yù)處理實(shí)現(xiàn)全部相位波形數(shù)據(jù)的即時(shí)計(jì)算,不占用存儲(chǔ)資源,且可通過(guò)改變迭代次數(shù)來(lái)調(diào)節(jié)精度。所設(shè)計(jì)的DDS精度、頻率、相位可調(diào),在Altera Cyclone2中實(shí)現(xiàn)時(shí),時(shí)鐘頻率可達(dá)172 MHz,占用1 171 LUTs。

FPGA;直接頻率合成技術(shù);CORDIC

0 引言

直接頻率合成技術(shù)(Direct Digital Synthesizer,DDS)是電子系統(tǒng)的重要組成部分,也是無(wú)線通信中關(guān)鍵技術(shù)。在數(shù)字混頻中,DDS產(chǎn)生正弦信號(hào)與輸入信號(hào)進(jìn)行相乘可以實(shí)現(xiàn)信號(hào)調(diào)制的效果。目前,通過(guò)現(xiàn)場(chǎng)可編程門陣列 (Field Programmable Gate Array,F(xiàn)PGA)實(shí)現(xiàn)DDS有三種途徑:基于無(wú)限沖激響應(yīng) (Infinite Impulse Response,IIR)濾波器的實(shí)現(xiàn)方法、基于查找表 (Look Up Table,LUT)的實(shí)現(xiàn)方法以及基于坐標(biāo)旋轉(zhuǎn)數(shù)字計(jì)算機(jī) (Coordinate Rotation Digital Computer,CORDIC)算法的實(shí)現(xiàn)方法[1]。基于IIR濾波器的實(shí)現(xiàn)方法用到大量乘法器,不利于FPGA實(shí)現(xiàn),基于查找表的實(shí)現(xiàn)方法用到大量ROM資源,而CORDIC算法只需要簡(jiǎn)單移位操作和加減操作就可以計(jì)算正余弦值,可用FPGA高效實(shí)現(xiàn)。CORDIC 算法是一種用于計(jì)算一些常用的基本運(yùn)算函數(shù)和算術(shù)操作的循環(huán)迭代算法[2]。

本設(shè)計(jì)基于CORDIC算法設(shè)計(jì)DDS,產(chǎn)生正余弦信號(hào),并通過(guò)改變輸入信號(hào)FWWORD、PH_ADJ_EN、PH_ADJ和DATA_ACC_SEL達(dá)到頻率和相位可調(diào)以及輸出數(shù)據(jù)精度可調(diào)的效果。AD9850芯片可以實(shí)現(xiàn)相位的調(diào)節(jié),但是其調(diào)節(jié)有最小量為11.25°的限制。本設(shè)計(jì)可以在運(yùn)行階段將相位在[-180°,180°]之間任意調(diào)節(jié),同時(shí)可以對(duì)數(shù)據(jù)精度和輸出波形頻率進(jìn)行調(diào)節(jié)。用Verilog編寫代碼,使用Modelsim完成代碼仿真,使用Altera的EP2C70F89C6芯片進(jìn)行資源評(píng)估。

1 DDS的結(jié)構(gòu)

圖1 傳統(tǒng)的DDS

傳統(tǒng)DDS采取查找表方式進(jìn)行設(shè)計(jì),將相位對(duì)應(yīng)值預(yù)先存儲(chǔ)在ROM中,通過(guò)地址控制找到相位對(duì)應(yīng)正余弦值,從而產(chǎn)生正余弦波形。這種方式會(huì)用到大量ROM資源。傳統(tǒng)DDS設(shè)計(jì)見(jiàn)圖1。本文基于CORDIC算法設(shè)計(jì)DDS,通過(guò)改變輸入信號(hào)FWWORD、PH_ADJ_EN、PH_ADJ和DATA_ACC_SEL實(shí)現(xiàn)波形頻率、波形相位和數(shù)據(jù)精度可調(diào),同時(shí)不使用ROM資源,其中FWWORD調(diào)節(jié)波形頻率、PH_ADJ_EN和PH_ADJ共同調(diào)節(jié)相位,DATA_ACC_SEL通過(guò)選擇不同迭代次數(shù)的迭代數(shù)據(jù)改變輸出數(shù)據(jù)的精度。

本設(shè)計(jì)主要包括相位累加、頻率控制、相位控制、CORDIC預(yù)處理、CORDIC迭代和迭代次數(shù)選擇模塊,結(jié)構(gòu)如圖2所示。其中通過(guò)CORDIC預(yù)處理和迭代部分求出每個(gè)相位對(duì)應(yīng)正余弦值,并將計(jì)算結(jié)果輸出。在相位累加部分,通過(guò)相位不斷循環(huán)累加獲得[-180o,180o]之間的相位,將累加相位數(shù)據(jù)送到CORDIC算法模塊,進(jìn)而得到連續(xù)輸出的正余弦函數(shù)值,獲得正交正余弦波形。迭代次數(shù)選擇模塊則可以選擇不同迭代次數(shù)進(jìn)而改變輸出數(shù)據(jù)的精度。與參考文獻(xiàn)[2]和[3]相比,加入了數(shù)據(jù)精度、波形相位和波形頻率調(diào)節(jié)部分。與AD9850芯片相比,相位調(diào)節(jié)不再受到限制,并且輸出數(shù)據(jù)精度可以調(diào)節(jié)。

圖2 DDS的結(jié)構(gòu)

2 CORDIC算法[1,4]

CORDIC算法可以用來(lái)直接計(jì)算正余弦函數(shù)、乘除法以及雙曲函數(shù)。經(jīng)過(guò)發(fā)展CORDIC算法已經(jīng)發(fā)展成為擁有圓周系統(tǒng)、線性系統(tǒng)和雙曲系統(tǒng)的一個(gè)算法系統(tǒng)。每種系統(tǒng)中又包含旋轉(zhuǎn)模式和向量模式兩種不同的計(jì)算模式。本設(shè)計(jì)采用圓周系統(tǒng)中旋轉(zhuǎn)模式計(jì)算正余弦值,獲得相位對(duì)應(yīng)正余弦值。為了保證數(shù)據(jù)在量化后沒(méi)有溢出,CORDIC算法迭代部分輸入信號(hào)采用16位有符號(hào)數(shù),迭代次數(shù)由DATA_ACC_SEL決定,最多為16次。

2.1 算法迭代原理

圓周系統(tǒng)旋轉(zhuǎn)模式矢量旋轉(zhuǎn)圖如圖3所示。

圖3 圓周系統(tǒng)旋轉(zhuǎn)模式矢量旋轉(zhuǎn)圖

根據(jù)圖3可知P點(diǎn)的坐標(biāo)如下:

(1)

逆時(shí)針旋轉(zhuǎn)β得到的Q點(diǎn)坐標(biāo)為:

(2)

展開(kāi)可得:

(3)

將式(1)代入式(3)可得:

(4)

提出cosβ可得:

(5)

如果去掉cosβ可以得到R的坐標(biāo):

(6)

將β分成若干次疊加,那么每次的疊加結(jié)果與上次的關(guān)系為:

(7)

不妨令

βi=tan-1(di2-i)

(8)

將式(8)代入式(7)可得:

(9)

為了確定di的符號(hào),引入變量Z,并給出如下關(guān)系:

zi+1=zi-ditan-12-i

(10)

得到圓周系統(tǒng)旋轉(zhuǎn)模式下的迭代方程如下:

(11)

式(11)沒(méi)有考慮到模長(zhǎng)處理。引入模長(zhǎng)補(bǔ)償因子An。在圓周系統(tǒng)旋轉(zhuǎn)模式下,最終迭代的目標(biāo)是使得Zn=0,最終得到圓周系統(tǒng)旋轉(zhuǎn)模式公式如下:

(12)

令x0=1/An,y0=0可得:

(13)

根據(jù)式(12)和式(13)可知,給定初始值x0和y0,并根據(jù)迭代次數(shù)確定An,利用CORDIC迭代算法,可得Z0對(duì)應(yīng)的正弦值和余弦值。

對(duì)應(yīng)式(11)的并行架構(gòu)設(shè)計(jì)如圖4所示。參考XILINX CORDIC IP[5]核的設(shè)計(jì),本次設(shè)計(jì)迭代次數(shù)最多為16次,CORDIC迭代模塊是16位有符號(hào)數(shù)。

圖4 并行的CORDIC處理器

經(jīng)過(guò)計(jì)算式(8)可以知道β的累加結(jié)果在 [-99.88°,99.88°]之間,即可以直接計(jì)算角度在[-99.88°,99.88°]之間,不在該范圍內(nèi)的相位,需要對(duì)其進(jìn)行預(yù)處理。

2.2 預(yù)處理原理

根據(jù)三角函數(shù)的性質(zhì),對(duì)不能直接計(jì)算的相位值進(jìn)行預(yù)處理。CORDIC算法的預(yù)處理關(guān)系見(jiàn)表1。其中(x0,y0)是預(yù)處理之前的坐標(biāo),θ是要進(jìn)行處理的角度。在預(yù)處理結(jié)果一列中是對(duì)應(yīng)的處理后的結(jié)果。引入變量W,根據(jù)預(yù)處理對(duì)應(yīng)關(guān)系可以得到:

(14)

3 仿真結(jié)果及資源評(píng)估

3.1 仿真結(jié)果

CORDIC迭代模塊輸入采用弧度輸入,并對(duì)輸入進(jìn)行量化處理,擴(kuò)大214倍,輸出結(jié)果也將擴(kuò)大214倍。通過(guò)時(shí)鐘驅(qū)動(dòng)相位累加模塊,產(chǎn)生連續(xù)相位。

FWWORD為17位有符號(hào)數(shù),數(shù)據(jù)范圍在[-65 536,65 535]之間。PH_ADJ為17位有符號(hào)數(shù),相位調(diào)節(jié)范圍在[-65 536,65 535]之間,量化后CORDIC模塊的輸入值范圍在[-51 472,51 472]之間,因此,PH_ADJ可以進(jìn)行[-51 472,51 472]之間的任意相位調(diào)節(jié)。DATA_ACC_SEL的位寬是2,可以選擇迭代7次、10次、13次或16次。

使用Modelsim對(duì)設(shè)計(jì)做仿真,圖5給出了在迭代次數(shù)為16時(shí),對(duì)相位和頻率調(diào)節(jié)測(cè)試的波形。測(cè)試開(kāi)始時(shí)頻率累加步長(zhǎng)為10,初始相位為0。第一次調(diào)整將相位累加步長(zhǎng)改為20,相位不做調(diào)整。第二次累加步長(zhǎng)不做調(diào)整,將相位調(diào)節(jié)到-90°。第三次將累加步長(zhǎng)調(diào)節(jié)為30,同時(shí)將相位調(diào)節(jié)到90°。經(jīng)過(guò)三次測(cè)試可知,該設(shè)計(jì)可以產(chǎn)生正交正余弦波形,同時(shí),可以對(duì)產(chǎn)生波形的頻率和相位進(jìn)行調(diào)整,并且對(duì)單個(gè)參數(shù)進(jìn)行調(diào)整時(shí),其他參數(shù)不受影響。FWWORD對(duì)頻率進(jìn)行調(diào)節(jié),PH_ADJ_EN和PH_ADJ對(duì)相位進(jìn)行調(diào)節(jié),同時(shí)相位的調(diào)節(jié)不會(huì)受到限制。

圖5 仿真結(jié)果

表2給出了在累加步長(zhǎng)為10、初始相位為0時(shí),不同迭代次數(shù)產(chǎn)生的數(shù)據(jù)。其中迭代次數(shù)有7次、10次、13次和16次。表中的實(shí)際值是真實(shí)數(shù)據(jù)擴(kuò)大214倍之后的數(shù)據(jù)。根據(jù)表中數(shù)據(jù)可知,不同的迭代次數(shù)產(chǎn)生的數(shù)據(jù)精度是不同的,本設(shè)計(jì)中DATA_ACC_SEL信號(hào)可以選擇不同迭代次數(shù)的迭代結(jié)果,進(jìn)而改變數(shù)據(jù)的輸出精度。在13次和16次的迭代中數(shù)據(jù)是一樣的,說(shuō)明在數(shù)據(jù)位寬一定的情況下,數(shù)據(jù)的最大迭代次數(shù)是一定的。

表2 不同迭代次數(shù)的數(shù)據(jù)對(duì)比(正弦數(shù)據(jù))

3.2 資源評(píng)估

采用Quartus Ⅱ 13設(shè)計(jì)RTL代碼,并在Altera的EP2C70F89C6 FPGA芯片上實(shí)現(xiàn),評(píng)估資源利用率和最大工作頻率,與文獻(xiàn)[3]使用的芯片相同。本設(shè)計(jì)與文獻(xiàn)[3]中的傳統(tǒng)設(shè)計(jì)及優(yōu)化后的設(shè)計(jì)資源對(duì)比見(jiàn)表3。由表3可知,本設(shè)計(jì)在加入數(shù)據(jù)精度調(diào)節(jié)、相位和頻率調(diào)節(jié)后與傳統(tǒng)設(shè)計(jì)的資源使用[3]相當(dāng),且不占用block memory。測(cè)得本設(shè)計(jì)的最大工作頻率可達(dá)172.83 MHz高于AD8950的最大工作頻率125 MHz。

表3 資源對(duì)比

4 結(jié)論

本設(shè)計(jì)基于CORDIC算法進(jìn)行DDS設(shè)計(jì),對(duì)設(shè)計(jì)進(jìn)行Modelsim仿真,通過(guò)調(diào)節(jié)輸入信號(hào)FWWORD、PH_ADJ_EN、PH_ADJ和DATA_ACC_SEL能夠達(dá)到相位和頻率可調(diào)以及輸出數(shù)據(jù)精度可調(diào)的效果。

采用Quartus Ⅱ 13設(shè)計(jì)RTL代碼,并用Altera的EP2C70F89C6 FPGA芯片進(jìn)行資源評(píng)估,在加入數(shù)據(jù)精度調(diào)節(jié)、相位和頻率調(diào)節(jié)后與傳統(tǒng)設(shè)計(jì)的資源使用情況相當(dāng),并且沒(méi)有使用到ROM資源,節(jié)省了ROM資源。

[1] 高亞軍.基于FPGA的數(shù)字信號(hào)處理(第二版)[M].北京:電子工業(yè)出版社,2015.

[2] 景標(biāo),邢維巍,張燕琴.基于 CORDIC 算法的正交信號(hào)源實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2016,39(7):57-59.

[3] 常柯陽(yáng),曾岳南,陳平,等.CORDIC算法在正余弦函數(shù)中的應(yīng)用及其 FPGA實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2013,49(7):140-143.

[4] 李慶華.通信IC設(shè)計(jì)(上冊(cè))[M].北京:機(jī)械工業(yè)出版社,2016.

[5] 劉東華.Xilinx系列FPGA芯片IP核詳解[M].北京:電子工業(yè)出版社,2013.

Signal source of adjustable parameters design based on CORDIC algorithm

Zhang Cunsheng, Zhang Dexue, Han Xuesen, Wang Chao, Zhang Heng, Ji Zhenxian

(College of Electronic,Communication and Physics, Shandong University of Science and Technology, Qingdao 266590,China)

Direct Digital Synthesizer(DDS) is the key technology in wireless communications. Due to different applications and specifications, sine wave of DDS generator module has a variety of implementations. The design uses CORDIC algorithm to calculate the waveform data, uses pretreatment to achieve full phase waveform real-time calculation of data, and doesn’t take up storage resources. The precision can be adjusted by changing the number of iterations. The accuracy frequency and phase of the DDS designed in this paper are adjustable. Implemented in Altera Cyclone2, the clock frequency is up to 172 MHz, occupying 1 171 LUTs.

FPGA; DDS; CORDIC

TN99

A

10.19358/j.issn.1674- 7720.2017.04.018

張存生,張德學(xué),韓學(xué)森,等.基于CORDIC算法的參數(shù)可調(diào)信號(hào)源設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2017,36(4):59-62.

2016-09-20)

張存生(1990-),男,碩士研究生,主要研究方向:專用集成電路設(shè)計(jì)。

張德學(xué)(1977-),男,副教授,碩士生導(dǎo)師,主要研究方向:異構(gòu)多核片上網(wǎng)絡(luò)NoC建模與評(píng)估、SoC集成電路設(shè)計(jì)。

韓學(xué)森(1992-),男,碩士研究生,主要研究方向:專用集成電路設(shè)計(jì)。

猜你喜歡
設(shè)計(jì)
二十四節(jié)氣在平面廣告設(shè)計(jì)中的應(yīng)用
何為設(shè)計(jì)的守護(hù)之道?
《豐收的喜悅展示設(shè)計(jì)》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統(tǒng)設(shè)計(jì)
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設(shè)計(jì)
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發(fā)生器仿真設(shè)計(jì)
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過(guò)海——仿生設(shè)計(jì)萌到家
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設(shè)計(jì)到“設(shè)計(jì)健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 色综合久久88| 国产黑人在线| 无码专区第一页| 亚洲欧美日韩精品专区| 狠狠干综合| 91网站国产| 无码一区二区波多野结衣播放搜索| 亚洲成a人在线观看| 宅男噜噜噜66国产在线观看| 人妻精品久久无码区| 激情国产精品一区| 成人字幕网视频在线观看| 久久成人国产精品免费软件| 久久综合五月| 国产一级精品毛片基地| 一级爆乳无码av| 亚洲精品无码久久久久苍井空| 国产打屁股免费区网站| 高清无码一本到东京热| 波多野结衣无码视频在线观看| 欧美在线综合视频| 亚洲欧美一区在线| 亚洲无码熟妇人妻AV在线| 综合色在线| 国产欧美视频在线| 国精品91人妻无码一区二区三区| 日韩少妇激情一区二区| 亚洲国产综合精品中文第一| 欧美午夜理伦三级在线观看| 国产玖玖视频| 波多野结衣的av一区二区三区| 就去色综合| 欧美日本二区| 中文字幕啪啪| 白浆视频在线观看| 成人在线综合| 亚洲天堂免费| 日韩123欧美字幕| 国产女人爽到高潮的免费视频| 国产午夜精品鲁丝片| 日韩成人在线网站| AV不卡无码免费一区二区三区| 久久美女精品国产精品亚洲| 欧美啪啪一区| 国产精品福利导航| 色偷偷综合网| 18禁不卡免费网站| 亚洲婷婷在线视频| 中文字幕在线看| 青草视频网站在线观看| 成人精品视频一区二区在线| 亚洲欧美日韩中文字幕在线| 国产在线视频欧美亚综合| 一级毛片免费播放视频| 99久久亚洲综合精品TS| 国产在线小视频| 亚洲精品不卡午夜精品| 日本一区二区不卡视频| 亚洲日韩Av中文字幕无码| 无码视频国产精品一区二区| 亚洲欧美日韩另类在线一| 亚洲男人在线| 亚洲精品片911| 日韩小视频在线观看| 亚洲国产综合精品一区| 爱做久久久久久| 亚洲无码不卡网| 99久久精品视香蕉蕉| 日韩欧美高清视频| 亚洲午夜福利精品无码| 国产精品自拍露脸视频| 一级毛片高清| 在线亚洲天堂| 国产九九精品视频| 亚洲日韩AV无码一区二区三区人| 91精品国产麻豆国产自产在线| 欧美高清视频一区二区三区| 狠狠色丁香婷婷| 女同国产精品一区二区| 色偷偷男人的天堂亚洲av| 亚洲精品动漫| 无码中文AⅤ在线观看|