亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇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)是無線通信中的關(guān)鍵技術(shù),因應(yīng)用場合及技術(shù)指標(biāo)不同,DDS中的正弦波形產(chǎn)生模塊有多種實(shí)現(xiàn)方法,本設(shè)計(jì)采用CORDIC算法計(jì)算波形數(shù)據(jù),并通過預(yù)處理實(shí)現(xiàn)全部相位波形數(shù)據(jù)的即時(shí)計(jì)算,不占用存儲(chǔ)資源,且可通過改變迭代次數(shù)來調(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)的重要組成部分,也是無線通信中關(guān)鍵技術(shù)。在數(shù)字混頻中,DDS產(chǎn)生正弦信號(hào)與輸入信號(hào)進(jìn)行相乘可以實(shí)現(xiàn)信號(hào)調(diào)制的效果。目前,通過現(xiàn)場可編程門陣列 (Field Programmable Gate Array,F(xiàn)PGA)實(shí)現(xiàn)DDS有三種途徑:基于無限沖激響應(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]?;贗IR濾波器的實(shí)現(xiàn)方法用到大量乘法器,不利于FPGA實(shí)現(xiàn),基于查找表的實(shí)現(xiàn)方法用到大量ROM資源,而CORDIC算法只需要簡單移位操作和加減操作就可以計(jì)算正余弦值,可用FPGA高效實(shí)現(xiàn)。CORDIC 算法是一種用于計(jì)算一些常用的基本運(yùn)算函數(shù)和算術(shù)操作的循環(huán)迭代算法[2]。

        本設(shè)計(jì)基于CORDIC算法設(shè)計(jì)DDS,產(chǎn)生正余弦信號(hào),并通過改變輸入信號(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中,通過地址控制找到相位對(duì)應(yīng)正余弦值,從而產(chǎn)生正余弦波形。這種方式會(huì)用到大量ROM資源。傳統(tǒng)DDS設(shè)計(jì)見圖1。本文基于CORDIC算法設(shè)計(jì)DDS,通過改變輸入信號(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通過選擇不同迭代次數(shù)的迭代數(shù)據(jù)改變輸出數(shù)據(jù)的精度。

        本設(shè)計(jì)主要包括相位累加、頻率控制、相位控制、CORDIC預(yù)處理、CORDIC迭代和迭代次數(shù)選擇模塊,結(jié)構(gòu)如圖2所示。其中通過CORDIC預(yù)處理和迭代部分求出每個(gè)相位對(duì)應(yīng)正余弦值,并將計(jì)算結(jié)果輸出。在相位累加部分,通過相位不斷循環(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算法可以用來直接計(jì)算正余弦函數(shù)、乘除法以及雙曲函數(shù)。經(jīng)過發(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ù)在量化后沒有溢出,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)

        展開可得:

        (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)沒有考慮到模長處理。引入模長補(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)過計(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)系見表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倍。通過時(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é)測試的波形。測試開始時(shí)頻率累加步長為10,初始相位為0。第一次調(diào)整將相位累加步長改為20,相位不做調(diào)整。第二次累加步長不做調(diào)整,將相位調(diào)節(jié)到-90°。第三次將累加步長調(diào)節(jié)為30,同時(shí)將相位調(diào)節(jié)到90°。經(jīng)過三次測試可知,該設(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給出了在累加步長為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ù)是一樣的,說明在數(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ì)比見表3。由表3可知,本設(shè)計(jì)在加入數(shù)據(jù)精度調(diào)節(jié)、相位和頻率調(diào)節(jié)后與傳統(tǒng)設(shè)計(jì)的資源使用[3]相當(dāng),且不占用block memory。測得本設(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仿真,通過調(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),并且沒有使用到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] 常柯陽,曾岳南,陳平,等.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
        瞞天過?!律O(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
        国产成人无码一区二区三区| 久久精品国产亚洲5555| 亚洲欧美变态另类综合| 99精品欧美一区二区三区美图| 久久久久亚洲AV无码去区首| 亚洲国产av一区二区不卡| 亚洲 日韩 激情 无码 中出| 国产成年女人特黄特色毛片免| 国产精品九九热| 久久青青草原亚洲av| 亚洲 另类 小说 国产精品| 边啃奶头边躁狠狠躁| 久久狠狠高潮亚洲精品暴力打| 日韩中文字幕久久久经典网| 国产一区二区不卡av| 欧美成人猛片aaaaaaa| 亚洲av无码一区二区二三区| 在线a人片免费观看国产| 亚洲精品不卡av在线免费| 亚洲综合网站久久久| 亚洲精品国产第一区二区尤物| 国产精品久久这里只有精品| 日韩女优视频网站一区二区三区| 蜜桃日本免费观看mv| 中文字幕av日韩精品一区二区| 激情五月婷婷久久综合| 偷拍一区二区三区高清视频| 777精品久无码人妻蜜桃| 91视频免费国产成人| 91青青草视频在线播放| 日韩在线 | 中文| 野外性史欧美k8播放| 少妇高潮惨叫久久久久电影| 久久伊人精品中文字幕有尤物| 影音先锋女人aa鲁色资源| 樱花AV在线无码| 国产精品自拍视频免费看| 国产a级三级三级三级| 国产成人精品三级麻豆| 亚洲av偷拍一区二区三区| 中出人妻希奇杰卡西av|