您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 基于FPGA的并行扫频DDS的实现
《科技传播》2010•7(上)203信息科技InformationTechnology基于FPGA的并行扫频DDS的实现张卫清,谭剑美,陈菡华东电子工程研究所,安徽合肥230031摘要 本文介绍了直接数字合成技术(DDS)的工作原理,深入分析了结构组成,在传统串行DDS结构的基础上,提出了一种具有扫频功能的并行DDS结构,同时对居于CORDIC算法的相幅变换方法进行了详细叙述,最后对提出的并行DDS结构进行了理论仿真和硬件实现,证明了该结构在不提高DDS工作时钟的情况下可获得较高的输出信号。关键词 直接数字频率合成器;CORDIC;并行DDS中图分类号TN941.3 文献标识码A 文章编号 1674-6708(2010)22-0203-03TheImplementationofParallelSweepDDSBasedonFPGAZHANGWeiqing,TANJianmei,CHENHanEastChinaResearchofElectronicEngineeringAbsractInthispaperwefirstlyintroducetheconcept,architectureoftheDirectDigitalSynthesizer.ThenBaseontraditionalserialDDS,aparallelarchitectureDDSwichfrequencysweepfunctionwasbringforward,FinallythetheorysimulationandhardwareimplementationwasgivenfortheparallelstructureofDDS,higheroutputsignalcanbeobtainedbaseonthisparallelDDSarchitectureinconditionoflowerDDSsystemclock。Keywordsdirectdigitalsynthesizer;digitalarraymodule;DigitalArrayRadar1概述直接数字合成技术(DirectDigitalSynthesis,DDS)是由美国学者J.Tierney等在1971年提出的,它是一种全数字频率合成技术,是一种新型的频率、相位波形合成技术。它充分利用了目前大规模集成电路的快速、低功耗、大容量、体积小等特点。与传统的频率合成器相比,具有相位噪声低、频率分辨率高、转换迅速等优点,它的频率、相位变化连续性可以用于相位及频率调制,快速频率变换特性可用于频率捷变和扩频系统[1,2]。因此,DDS可广泛地应用于雷达、电子对抗、移动通信等领域。随着大规模集成电路在工艺和材料上的不断创新和近年来对其算法的不断改进,DDS越来越因其明显的优势而倍受瞩目。2DDS的组成及其工作原理一个具备扫频功能的DDS典型结构如图1所示,其主要由频率累加器、相位累加器、相-幅转换器、DAC及相应的滤波器(低通或带通)组成。DDS的工作原理为:对于一个给定的系统工作时钟fC相位累加器在每一个时钟上升沿与频率控制字(K)累加一次,当累加器完成2N(N为累加器的长度)次运算后,相位累加器相当于做了一次模余运算。正弦查找表在每一个时钟周期内,根据送给ROM的地址取出存储在ROM表中与该地址对应的正弦幅值,最后将该值送给DAC与LPF实现量化幅值到一个纯净的正弦信号间的转换,同时正弦信号的相位及幅度可以根据需要分别进行控制。相位累加器的作用是根据从步进寄存器输入的频率控制字,以系统时钟频率fC为采样率,在2π周期内对相位进行采样。如果步长为K,采样点数为2NK,则输出频率为:f0=K$fC2N(1)从而改变频率控制字K就可以精确地改变频率,从式(1)可知,可变的最小频率间隔,即最小频率分辨率Dfmin为:Dfmin=fC2N(2)㸼↣ϔϾᯊ䩳਼ᳳݙˈḍ䗕㒭520ⱘഄഔপߎᄬټ520㸼ЁϢ䆹ഄഔᇍᑨⱘℷᓺᐙؐˈ᳔ৢᇚ䆹ؐ䗕㒭'$&Ϣ/3)ᅲ⦄䞣࣪ᐙؐࠄϔϾ㒃ޔⱘℷᓺֵো䯈ⱘ䕀ᤶˈৠᯊℷᓺֵোⱘⳌԡঞᐙᑺৃҹḍ䳔㽕ߚ߿䖯㸠ࠊDŽⳌԡ㌃ࡴ఼ⱘ⫼ᰃḍҢℹ䖯ᆘᄬ఼䕧ܹⱘ乥⥛ࠊᄫˈҹ㋏㒳ᯊ䩳乥⥛Ў䞛ḋ⥛ˈCfS2਼ᳳݙᇍⳌԡ䖯㸠䞛ḋDŽབᵰℹ䭓Ў.ˈ䞛ḋ⚍᭄ЎKN2ˈ߭䕧ߎ乥⥛Ў˖NCfKf20˄˅Ң㗠ᬍব乥⥛ࠊᄫ.ህৃҹ㊒⹂ഄᬍব乥⥛ˈҢᓣৃⶹˈৃবⱘ᳔ᇣ乥⥛䯈䱨ˈे᳔ᇣ乥⥛ߚ䕼⥛Ў˖minf'NCff2min'˄˅乥⥛ᄫK1ᠿ乥ˠˠ˯ॳ⧚Ḛ3DDSᑊ㸠㒧ᵘᅲ⦄''6ᑊ㸠㒧ᵘⱘᇐ⬅''6ⱘॳ⧚៥Ӏⶹ䘧ˈ''6䕧ߎ᳔催乥⥛Ўˈℸ㽕ᛇ㦋ᕫ䕗催ⱘ䕧ߎ乥⥛ˈᖙ乏ᦤ催''6㋏㒳Ꮉᯊ䩳ˈ✊㗠䗮ᐌᚙމϟফ఼ӊ䰤ࠊˈϡৃ㛑ᕜ催ˈᇸ݊ᰃ⫼)3*$ᅲ⦄''6ⱘᚙމϟˈℸ᳝ᖙ㽕ᇏ∖ϔ⾡ᮍ⊩ˈϡᰒ㨫ᦤ催ⱘᚙމϟˈ㦋ᕫ䕗催乥⥛ⱘ䕧ߎֵোDŽ2/CfCfCfCf䅽៥Ӏݡಲ乒᠔⼎ⱘᠿ乥''6㒧ᵘˈ㋏㒳ᯊ䩳ⱘ⫼ϟˈ↣㾺থϔˈⳌԡ㌃ࡴ఼䕧ߎϔϾ1ELWⱘⳌԡؐˈ៥Ӏϡོ߫ߎ䍋ྟᯊࠏⳌԡ㌃ࡴ఼ⱘ䕧ߎ⢊ᗕ˖CfCf;...'˅;.'.'˅;.'.'˅;.'.'˅;.'.'˅ᯊ䩳fcNN᭰⥛ᄫD乥⥛㌃ࡴ఼fo乥⥛㌃ࡴ఼Ⳍᐙবᤶ఼DACⒸ⊶఼图1扫频DDS原理框图3DDS并行结构实现3.1DDS并行结构的推导由DDS的原理我们知道,DDS输出最高频率为fC/2,因此要想获得较高的输出频率,必须提高DDS系统工作时钟fC,然而通常情况下受器件限制,fC不可能很高,尤其是在用FPGA实现DDS的情况下,因此有必要寻求另一种方法,在不显著提高fC的情况下,获得较高频率的输出信号。让我们再次回顾图1所示的扫频DDS结构,在系统时钟fC的作用下,fC每触发一次,相位累加器输出一个Nbit的相位值,我们不妨列出起始时刻相位累加器的输出状态:X(0)=K=K=1*K+(0+0)*D(3)X(1)=2*K+1*D=2*K+(1+0)*D(4)X(2)=3*K+3*D=3*K+(2+1)*D(5)X(3)=4*K+6*D=4*K+(3+3)*D(6)X(4)=5*K+10*D=5*K+(4+6)*D(7)X(5)=6*K+15*D=6*K+(5+10)*D(8)X(6)=7*K+21*D=7*K+(6+15)*D(9)X(7)=8*K+28*D=8*K+(7+21)*D(10)X(8)=9*K+36*D=9*K+(8+28)*D(11)X(9)=10*K+45*D=10*K+(9+36)*D(12)X(10)=11*K+55*D=11*K+(10+45)*D(13)X(11)=12*K+66*D=12*fre+(11+55)*D(14)上式X(0)~X(11)为相位累加器从起始时刻开始连续12个状态的输出,我们可以把相位累加器输出的值分为两部分,一部分只与频率字有关(记为Xk),另一部分只与斜率字有关(记为Xd),因此可以得出以下规律,Xk(n)=(n+1)*K,n=0…N(15)Xd(n)=Xd(n-1)+n*D,Xd(0)=0,n=1…N(16)对于Xk(n)可以进一步推导出以下公式:Xk(4n)=(4n+1)*K=4n*K+K(17)Xk(4n+1)=(4n+1+1)*K=4n*K+2K(18)Xk(4n+2)=(4n+2+1)*K=4n*K+3K(19)Xk(4n+3)=(4n+3+1)*K=4n*K+4K(20)7月上.indd2032010-7-517:44:322010•7(上)《科技传播》204信息科技InformationTechnology其中4n*K为加法器前一个时钟输出的状态,K为输入的频率字,因此Xk(4n),Xk(4n+1),Xk(4n+2),Xk(4n+3)四个连续的状态就被4n*K和K两个状态表示出来,因此Xk的累加过程可以用图2所示的结构来表示;.'.'˅;.'.'˅;.'.'˅;.'.'˅;.'.'˅;.'.'˅;.'IUH'˅Ϟᓣ;a;ЎⳌԡ㌃ࡴ఼Ң䍋ྟᯊࠏᓔྟ䖲㓁Ͼ⢊ᗕⱘ䕧ߎˈ៥ӀৃҹᡞⳌԡ㌃ࡴ఼䕧ߎⱘؐߚЎϸ䚼ߚˈϔ䚼ߚাϢ乥⥛ᄫ᳝݇˄䆄Ў;N˅ˈϔ䚼ߚাϢ᭰⥛ᄫ᳝݇˄䆄Ў;G˅ˈℸৃҹᕫߎҹϟ㾘ᕟˈ;NQQ.ˈQĂ1˄˅;GQ;GQQ'ˈ;GˈQĂ1˄˅ᇍѢ;NQৃҹ䖯ϔℹᇐߎҹϟ݀ᓣ˖;NQQ.Q..˄˅;NQQ.Q..˄˅;NQQ.Q..˄˅;NQQ.Q..˄˅݊ЁQ.Ўࡴ⊩఼ࠡϔϾᯊ䩳䕧ߎⱘ⢊ᗕˈ.Ў䕧ܹⱘ乥⥛ᄫˈℸ;NQˈ;NQˈ;NQˈ;NQಯϾ䖲㓁ⱘ⢊ᗕህ㹿Q..ϸϾ⢊ᗕ㸼⼎ߎᴹˈℸ;Nⱘ㌃ࡴ䖛ৃҹ⫼᠔⼎ⱘ㒧ᵘᴹ㸼⼎乥⥛ᄫᑊ㸠㌃ࡴ㒧ᵘḚৠ⧚ˈᇍѢ;GQৃҹ䖯ϔℹᇐߎҹϟ݀ᓣ˖;GQ;GQQ'˄˅;GQ;GQQ''˄˅DFFDFFDFFDFFh4h3h2h1Xk(4n+1)Xk(4n+2)Xk(4n+3)Xk(4n)Kfc/4图2频率字并行累加结构框图同理,对于Xd(n)可以进一步推导出以下公式:Xd(4n)=Xd(4n-1)+4n*D(21)Xd(4n+1)=Xd(4n)+4n*D+D(22)Xd(4n+2)=Xd(4n+1)+4n*D+2D(23)Xd(4n+3)=Xd(4n+2)+4n*D+3D(24)其中Xd(4n-1)+4n*D为加法器前一个时钟输出的状态,D为输入的扫频斜率字,因此Xd(4n),Xd(4n+1),Xd(4n+2),Xd(4n+3)四个连续的状态就被4n*D和D两个状态表示出来,因此Xd可以用图3所示的结构来表示;GQ;GQQ''˄˅;GQ;GQQ''˄˅݊Ё;GQQ'Ўࡴ⊩఼ࠡϔϾᯊ䩳䕧ߎⱘ⢊ᗕˈ'Ў䕧ܹⱘᠿ乥᭰⥛ᄫˈℸ;GQˈ;GQˈ;GQˈ;GQಯϾ䖲㓁ⱘ⢊ᗕህ㹿Q''ϸϾ⢊ᗕ㸼⼎ߎᴹˈℸ;Gৃҹ⫼᠔⼎ⱘ㒧ᵘᴹ㸼⼎᭰⥛ᄫᑊ㸠㌃ࡴ㒧ᵘḚℸˈབ᠔⼎ⱘ''6㒧ᵘЁⱘ乥⥛㌃ࡴ఼Ⳍԡ㌃ࡴ఼ৃ⬅ϸ㒧ড়ⱘ㒧ᵘ㒘៤ˈᮄⱘᑊ㸠''6㒧ᵘབ᠔⼎DŽᠿ乥ᑊ㸠''6㒧ᵘḚ៥Ӏৃҹⳟࠄ䖭⾡㒧ᵘⱘӬ⚍ᰃᡞⳌԡ㌃ࡴ఼乥⥛㌃ࡴ఼ⱘݙ䚼Ꮉᯊ䩳䰡ԢЎˈড䖛ᴹгህᰃᦤ催њסⱘᯊ䩳乥⥛ˈ↣䕧ܹϔϾ乥⥛ᄫ᭰⥛ᄫⱘ⢊ᗕϟˈϾࡴ⊩఼ৠᯊ䕧ߎϾ䖲㓁ⱘ⢊ᗕˈ㒣䖛䏃⫼఼䖯㸠䗝䗮ˈֱ䆕њ䚼↣Ͼⱘᚙމϟ䛑ৃҹ䕧ߎϔϾؐˈ䖭ḋᐙᑺ䰡Ԣњ⌕∈㒓㌃ࡴ఼催䗳ᯊ䩳ֵোϟᎹ᠔ѻ⫳ⱘࡳ㗫ˈᑊϨᦤ催њᭈϾ㋏㒳ᯊ䩳Ꮉⱘ乥⥛ˈᦤ催њ''6
本文标题:基于FPGA的并行扫频DDS的实现
链接地址:https://www.777doc.com/doc-6947318 .html