CN1253332A - 直接数字综合器 - Google Patents

直接数字综合器 Download PDF

Info

Publication number
CN1253332A
CN1253332A CN99123176A CN99123176A CN1253332A CN 1253332 A CN1253332 A CN 1253332A CN 99123176 A CN99123176 A CN 99123176A CN 99123176 A CN99123176 A CN 99123176A CN 1253332 A CN1253332 A CN 1253332A
Authority
CN
China
Prior art keywords
signal
digital
synthesizer
counter
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN99123176A
Other languages
English (en)
Inventor
罗伯特·伊沃里斯特·约翰森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of CN1253332A publication Critical patent/CN1253332A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/16Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop
    • H03L7/22Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using more than one loop
    • H03L7/23Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using more than one loop with pulse counters or frequency dividers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • G06F1/0321Waveform generators, i.e. devices for generating periodical functions of time, e.g. direct digital synthesizers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Abstract

一种数字综合器包括:含有代表诸如正弦波之类的信号的波形值的存储器;用于变换来自存储器的输出为模拟信号的数模变换器;和用于通过预定的固定增量进行计数的计数器,该计数器工作在高频率,能够产生非常精确的波形。该数字综合器具有许多实际的应用,包括从输入射频信号提取信息的精确信号的产生,从低成本时钟获得精确的频率,和用作FSK调制器的一个部件,允许在多个频率的信号之间进行选择,而没有任何相位不连续。

Description

直接数字综合器
本发明涉及一种改进的直接数字综合器。
直接数字综合器(DDS)是一种产生周期性波形的电子电路技术。直接数字综合器产生数字数据码流,利用数模变换器(DAC)该数据流被变换为模拟波形。直接数字综合器以高频率(例如,大于100MHz)为时钟对二进制累加器进行记数(一般大于或等于24比特)进行工作的。
实质上,累加器是具有一个输入端和一个输出端的加法器电路。在每个时钟信号下,输入值被加到当前输出值上和累加器的输出假设为一个新的和。通常称为控制字的输入信号规定计数增量的幅度。如果控制字是250,则累加器将按0、250、500、750、1000、…的序列进行计数,直至翻滚和继续。
一种公知的直接数字综合器1表示在图1中。实质上是一个可变控制字的值“N”从微处理器(μP)3被装入控制寄存器2。例如,具有诸如250的可变值“N”的控制字被输入到累加器4。累加器4相加当前计数值A到以前计数值B上并输出组合的计数值或输出和到查找表6。然后查找表6提供一个输出到数模变换器(DAC)8。这种直接数字综合器的工作是按照以下描述的。
接收由计数值A和以前计数值B组成的累加输出的查找表6存储代表被综合的信号的幅度的值,该信号例如可以是一个正弦波信号。当累加器4步进通过其计数范围时,查找表6输出一个例如正弦波或其它波形的数字表示。然后来自查找表6的输出被输入到DAC8。DAC8输出按被累加器4的最大计数(例如,对24比特计数器的224被时钟频率乘)除的控制字的幅度建立的频率的模拟波形。因此,如果控制字“N”具有250的值,和60MHz的时钟速率计数24比特的累加器4,输出信号的频率将是894.1Hz。251的控制字“N”产生频率897.6Hz的输出信号。因此,从一个高频时钟,直接数字综合器1产生宽范围精密受控频率的周期模拟信号。
设计一种有效的DDC需要平衡电路速度、复杂性和功能的相矛盾的各种要求。以累加器为基础DDC提供了一种通用目的功能,因为它可以加任何数到它的当前输入值上。这种通用性使得电路慢而复杂。在过去,为了试图扩展DDC1的潜在应用范围而增加工作频率的情况下,曾利用流水线型加法器电路,或者利用更为昂贵的诸如基于发射极耦合逻辑电路之类的数字逻辑处理。虽然利用增加速度的流水线型加法器电路,控制字可以被加到当前计数值上,但这种电路制造起来是非常复杂的,从而增加了成本。
在致力于说明实现这种诸如累加器4之类的通用目的累加器的数字逻辑方程中,曾使用Cypress公司4.2版本的WARP2 VHDL(非常高速的集成电路硬件描述语言)编译器(compiler)。对于24比特累加器这种语言产生需要的逻辑方程,在时钟信号的上升沿使累加器加24比特输入值N[23:0]到当前输入值D[23:0]。
-------------------------------------------------------

library ieee;

use ieee.std_logic_1164.all;
use work.std_arith.all;

entity countby_N is port(

       clock:in std_logic;

       N:    in std_logic_vector(23 downto 0);

       D:    buffer std_logic_vector(23 downto 0));

end countby_N;

architecture DDS of countby_N is begin

     accumulator:process(clock)
				
				<dp n="d2"/>
begin

      if(clock′event and clock=′1′)then

      D<=D+N;

      end if;

      end process accumulator;

end DDS.
利用上述的码,VHDL编译器综合一个24比特累加器。24个输出D[23:0]的方程表示在附加的附录A。以Cypress IncorporatedProgrammable Logic(CIPL)器件为目标的合成逻辑含有128个宏单元和640个乘积项。宏单元和乘积项数是用于表征可编程逻辑装置的复杂性的复杂程度的通用度量。当优化最快度量速度时,要求128个宏单元中的55个;和要求640个唯一的乘积项中的210个,和最大时钟速率是52.6MHz。当优化最小度量面积时,则要求128个宏单元中的55个;和要求640个唯一的乘积项中的165个,和最大时钟速率是14.5MHz。
因此,对于以累加器为基础的DDC,即使优化速率或大小。它仍然是慢的和复杂的。另外,当优化速率时,它是特别的复杂,和当优化大小时,它是特别的慢。从而,需要一种更好的DDS。
一种改进的直接数字综合器利用通过预定固定增量(利用C计数的计数器)计数的加法器简化了所要求的数字电路。这种计数器最好是利用非易失可再配置的复杂可编程逻辑装置(CPLD)集成电路。一种数字电路的构成被设计为仅在装入CPLD的所要求增量上进行计数。这样一种规定增量计数器提供的DDC与利用通用累加器的DDC相比可工作在非常高的频率上。
通过参照下面的说明书描述、所附的权利要求书和附图,本发明的特点、方面和优点将是显而易见的,在附图中相同标号代表相同的部件,其中:
图1表示一种已知的直接数字综合器;
图2表示本发明的优选实施例的利用利用C计数的计数器的直接数字综合器;
图3表示本发明的另一个优选实施例的信号提取电路;
图4表示本发明的另一个优选实施例的时钟发生电路;
图5表示本发明的另一个优选实施例,其中该直接数字综合器被用作FSK调制器的一个部件;
图6表示图5的FSK调制器的组合波形输出;
图7表示本发明的另一个优选实施例的利用8比特PROM和10比特DAC的数字综合器;
图8表示存储在图7的8比特PROM的信息;和
图9表示图7的10比特DAC的有效输出。
本发明涉及图2的数字综合器18,和特别是工作在非常高的频率上的直接数字综合器。如图2所示,数字综合器18包括:计数器10,该计数器当接收时钟输入时,利用一个预定的固定增量“c”(这里,“c”是一个整数)进行计数;存储器12,诸如可编程只读存储器(PROM),当从计数器10接收输入时,该存储器存储和输出数字波形值;和数模变换器14,该变换器变换从存储器12输出的数字波形为模拟波形。
最好是,计数器10是一个非易失可再配置的复杂可编程逻辑装置(CPLD)集成电路。可编程器件11从外部接到直接数字综合器18和能够通过预定的固定增量“c”进行递增,最好是装入直接数字综合器18的计数器10的电路组态。这种计数器10工作在比通常加法器高得多的频率上。
在致力于说明如图2所示的直接数字综合器的优点时,使用Cypress公司4.2版本的WARP2 VHDL编译器,产生用于24比特计数器10的逻辑方程,利用固定增量的例子的13、981、013(十进制)的固定增量进行计数。可以利用任何的固定增量,在这里所讨论的特定固定增量应当被视为在任何方式上对本发明的限制。另外,为24比特计数器的计数器10也是示例性的,因为可以利用通过任何固定增量的任何适合规模的计数器进行计数。
下面的码是所有要求的:
----------------------------------------------------
Count_by_C is a 24-bit counter that counts by a fixed
number C.--
library ieee;
use ieee.std_logic_1164.all;
use work.std_arith.all;
entity countby_C is port(

Clock:in std_logic;

D:buffer std_logic_vector(23 downto 0));

constant C:std_logic_vector(23 downto 0):=
b″110101010101010101010101;

--110101010101010101010101 (binary)equals 13,981,013

    decimal.
end count by_C;
architecture DDS of countby_C is
begin

accumulator:process(clock)

begin

     if(clock′event and clock=′1′)then

     D<=D+C;

     end if;
				
				<dp n="d5"/>
    15    end process accumulator;

    end DDS.
利用上述的码,VHDL编译器综合一个24比特利用C进行计数的计数器10,该计数器利用13、981、013进行计数,对于24比特输出,确定产生最复杂的逻辑方程和因此与通用累加器的方程比较,代表一种“最坏情况”。这个最坏情况的C值是由计算机程序确定的,其中每个可能的24比特的C值都被尝试过。对于D[23:0]的各方程被表示在附录B。这些逻辑方程表示在数字综合器18中利用C进行计数的计数器在电路大小和速度方面的优越性。产生的逻辑的目标是CIPL器件。所用资源的概要被提供在这里。
对于C=13、981、013的情况,编译器产生如下结果,该结果不考虑是优化最快速度还是优化最小电路面积:
                  所要求的         最大的(可用)
所用的宏单元         24               128
唯一乘积项           155              640
最大时钟速率                125.0
另外,利用C计数的计数器10的设计要求比标准累加器4少的输入脚,和可以适合具有最大143.0MHz的较小/较便宜/和较快的CPIL。
下面的讨论提供通过路利用C计数的计数器结构提供的一种速度优先的逻辑基础。当两个二进制数被进行相加时,使得:
         01111(15)
        +00001(+1)
         10000(=16)
在和中从“1”到“0”或从“0”到“1”改变或“翻转”一个比特取决于正在被相加的两个数的所有更低有效位。由于最上面的数的4个最右边的数(1111)和第二个数的4个最右边的数(00001)的状态,在最上面的数(01111)的最左边位置上的“0”翻转到“1”。因此,通用累加器4电路的设计用于最左边比特的方程将包括所有这8个比特的状态。
但是,在利用C计数的计数器C中,一个比特的翻转仅取决于当前和的更低有效住。在上面的例子中,对于C=1的情况下,如果所有较低次序的比特等于1,任何比特位置都可以翻转。对于C的任何值,对于利用C计数的计数器,可找到一组方程,对于相同比特数来说,这组方程始终比通用累加器4简单。
按照可能通过利用预定的固定增量(利用利用C计数的计数器)进行计数的简化的另外的说明,如果C的二进制值含有多个0的串(例如,C=240十进制或11110000二进制),因为它们从不影响输出和,所以对于最低的4个比特不要求方程。因此在本发明的直接数字综合器18的利用C计数的计数器10中方程数被降低了和因此速度增加和规模减小了。
产生利用C计数的方程
对于输出和的每个比特的各方程是C值的函数。正如在附录A和B中所看到的那样,一般,各方程采用以下形式:
         D[x].T=D[#]*D[#]*D[#]*D[#]*D[#]
               +D[#]*D[#]*D[#]
这里,其它各乘积项为:
                +D[x-1]
其中D[x]是对于24比特的输出和的输出的具有x=0到23的各个比特的任何比特。“#”是任何更低有效位的位置。“T”表示当该方程的条件被满足时,该输出比特翻转到另外的二进制状态。“*”是与算符。各个比特被相与,共同形成所熟悉的乘积项。“+”是或算符。被相或的各乘积项的表是“各乘积和”的形式。如果所有规定在第一行的比特被设置为“1”,或如果规定在第二行被设置为“1”,或如果比特[x-1]被设置为“1”,该方程描述了比特[x]将翻转。
通过下面两个规则产生对利用C计数的计数器10的方程。
(1)如果在D[(X-1):0]<2X-C[(X-1):0]的条件下,如果C[X]=1,D[x]应当翻转。
(2)如果在D[(X-1):0]>=2X-C[(X-1):0]的条件下,如果C[X]=0,D[x]应当翻转。
在致力于说明C值怎样确定各方程组中,例如值41被用作C。这个C值代表如00101001(32+8+1=41(十进制))的8位二进制数C[7:0]。通过求出满足上述方程(1)或(2)之一的乘积项的和,就可以建立对输出C[7:0]的任何特定比特的方程。
利用C[7]说明这种处理,“x”具有7的值。因为C[7]=0,所以利用第二方程(2)。必须求出识别是否输出比特D[6:0])=2X-C[6:0]的乘积项的和的集。27-C[6:0]等于87,或二进制的1010111。
第一乘积项,方程(1)包括D的设置为1(比特6、4、2、1、0)各个项。通过从右向左扫描,识别设置为0的最右比特和设置这个比特为1,求出下一个乘积项。这个比特以右的各个比特现在被认为是不相关的和利用各个x来代替。第二乘积项被再次写入,包括被设置为1的D项(1011xxx)。继续这个处理,再次产生11xxxxx,给出最后的乘积项。
          D[7].T=D[6]*D[4]*D[2]*D[1]*D[0]
              +D[6]*D[4]*D[3]
              +D[6]*D[5]
考虑到另外的C[X]=1的情况,诸如当x=5时对于比特D[X]的情况,第一方程(1)D[4:0]<25-C[4:0]必须满足。25-C[4:0]等于23,使得对于D[5]的各个方程必须含有识别D[4:0]小于23,其二进制形式为10111的各个乘积项。为了求出这个方程组,方便地将比特D[4:0]的二进制值写成负(-)23,其值为01001。遵循与前面相同的处理,求出含有设置为1的各个比特的D的各个项。然后扫描到左边以寻找第一个0。这个第一个0然后被1代替和更低的比特被设置为x。这个处理产生这样的序列:01001、0101x、011xx、1xxxx。对此>=不相等、/必须放置在每项之前,指示D项必须为0以满足该方程。
             D[5].T=/D[3]*/D[0]
                   +/D[3]*/D[1]
                   +/D[3]*/D[2]
                   +/D[4]
每项不包括的可以是0或1。
为了验证这些方程识别D[4:0]小于23,满足乘积的和的项的所有的值被列表。通过检验,小于23的D[4:0]的所有值利用上述乘积的和的项进行识别。
D[4] D[3] D[2] D[1] D[0]          通过利用0和1代替x获得的值
   x     0     x     x     0   0,2,4,6,16,18,20,22
   x     0     x     0     x   0,1,4,5,16,17,20,21
   x     0     0     x     x   0,1,2,3,16,17,18,19
0 x x x x   0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,10,11,1213,14,15
因此,在数字综合器18中利用C-计数的计数器10,没有方程被写入比C中最低有效设置位更低的有效比特位置。如果C=11110000,则对于比特D[3:0](最后4个比特)没有方程产生。这样就使用了较少的方程。这是由方程(1)和(2)证明的。例如,如果D[2:0]>=23-C[2:0],该值等于if D[2:0]>=8,则C[3]-0、D[3]应当翻转。这是无论如何不能实现的。此外,D[4]的方程(或无论哪个是设置在C的第一比特设置位置),则应当读D[4].T=1。因此,D[4]应当总是翻转。如果D[D:0]<24-C[3:0],该值等于ifC[3:0]<16,C[4]=1,D[4]应当翻转。这始终是真的。在附录A和B中用于产生各个方程的Warp2编译器按照D[4].D=D/D[4]的写这个方程,这具有相同的含义。通过C计数的数字综合器的应用
在另外的优选实施例中,通过C计数的数字综合器18被用于从输入信号中提取预定信息。如图3所示,时钟16产生用于输入到数字综合器18的时钟频率。数字综合器18连接到低通滤波器20,产生用于输入到混频器22的精密频率信号。混频器22混频来自低通滤波器20的信号与输入射频(RF)信号,例如从输入的射频信号中提取所期望的信息,即输入射频信号的预定部分。在通过低通滤波器24输出以后,提取出所期望的信号。如图3所示的设备的操作如下所述。
例如,利用时钟16、数字综合器18、低通滤波器20、和混频器22产生一个诸如49.97MHz的精密信号。输入的射频信号被与这个信号混频产生一个信号频谱,该频谱含有频率和与频率差,以及其它频率副产物。例如,如果30KHz带宽信号呈现在射频输入信号的50MHz载波上,和这个信号与精密49.97MHz混频,需要提取预定的或期望的信号(50MHz-30KHz),和然后进行滤波,原来或期望的30KHz信号将被从低通滤波器24中恢复。最好是,期望的30KHz信号被嵌入到输入射频信号的载波上。通过设置使用在数字综合器18中的混频频率,混频器22被调谐到提取的宽频率范围的期望的信号上。
在如图4所示的另外优选实施例中,本申请的通过C计数型数字综合器18被利用来产生可编程精密控制的低频时钟。高频时钟源从一个诸如振荡器部件26之类的外部源进行输入。通过C计数型数字综合器18然后接收这个时钟信号和产生连接到计数器10输出的最高有效位的输出信号。
为了说明这种技术的利用,假设,要求从外部时钟得到的可能是不精确的(例如)333Hz时钟。例如,如果时钟源(振荡器部件26)的标称值是20MHz,但是在一个例子中测量的是20.2MHz,还可以产生一个精确的333Hz输出时钟。利用36位的数字综合器18的通过C计数实现,C被计算为(236*333)/20200000=1132851。
     library ieee;

     use ieee.std_logic_1164.all;

     use work.std__arith.all;

     entity square__wave is port(

          clock:         in std_logic;

          count_out:     buffer std_logic);

    end square_wave;

    architecture NCO of square_wave is

    signal counter:std_logic_vector(35 downto 0);

         begin

         accumulator:process(clock)

         begin

         if(clock′event and clock=′1′)then

             begin

             counter<=counter+1132851;

             end if;

        end process accumulator;

        count_out<=counter(35);
   end NCO;
因为产生配置文件的处理是通过WARP2开发软件自动进行的,可以不要求获得期望的频率要求的任何特殊的C值来产生所要求的CPLD编程文件,和适应宽松规定的外部时钟。如果一个精确的、精密级振荡器被用作外部时钟26来作为C计数的数字综合器的CPLD的时钟,则具有表示输出频率的文件名的CPLD配置文件可以按照需要被存储和加载,获得期望的输出频率。
在再另外的优选实施例中,本申请的数字综合器18被用作移频键控(FSK)调制器32的一个部件。这个实施例表示在图5。
更具体地,FSK调制器32包括时钟30,用于产生时钟频率信号和数字综合器18,接收该时钟频率信号来作为利用C计数的计数器10的时钟。
如图5所示,数字综合器18还接收输入频率选择信号。频率选择信号是两个不同信号(或多个不同信号之一),诸如一个相对高的频率或相对低的频率,每个频率触发利用C计数的计数器10,由两个预定的固定增量C1或C2之一(或多个预定的固定不同增量之一)进行计数。这种操作又使得数字综合器18产生两个(或多个)不同频率之一的输出信号,因此提供FSK调制器32的输出。
利用C计数的计数器的数字综合器18的使用提供FSK调制器32的输出,该输出在两个信号(或多个信号之间)变换。换言之,利用数字综合器18,FSK调制器32容易地在两个或多个频率之间变换,而没有相位上的不连续。
利用数字综合器18,一种VHDL码容易地被变换到由输入频率选择信号控制的,将要从FSK调制器32输出的两个(或多个)频率之一的允许信号上。VHDL码的这部分说明利用100MHz时钟(例如)产生在两个频率(例如)之间交替变化的FSK调制器32的输出信号是如何实现的,注意,一个例子的常数C1是167772或224/10和另外一个例子的常数C2是83886或224/20:
    --------------------------------------------------------

  library ieee;

  use ieee.std_logic_1164.all;

  use work.std_arith.all;

                        ;

  entity countby_C is port(

    clock:in std_logic;

    F_select:in std_logic;

    count_out:buffer std_logic_vector(23 downto 0)

    constant C1:integer:=167772;--Gives clock/10 output

    frequency.

    constant C2:integer:=083886;--Gives clock/20 output

    frequency.

    end countby_C;

    architecture FSK of countby_C is

         begin

         accumulator:process(clock)

              begin

              if(clock′event and clock=′1′)then

              if(F_select=′0′)then

                  count_out<=count_out+C1;

              else

                  count_out<=count_out+C2;

                  end if;

              end if;

              end process accumulator;

    end FSK;
----------------------------------------------------------
利用数字综合器18作为FSK调制器32的一个部件,在两个频率,或多个频率之间的信号输出进行选择,而没有任何相位不连续。如图6所示,由FSK调制器32基于一个在两个频率之间选择的输出信号产生的输出信号避免了相位的不连续。
最后,在另外的如图7所示的实施例中,本申请的数字综合器18与诸如可编程只读存储器(PROM)之类的单个8比特存储器44和10比特DAC 46一起使用。为了做成例如这种如图7所示数字综合器,具有并行端口40A的微处理器40被连接到可编程逻辑装置(PLD)42,用作利用C计数的计数器10。PLD 42连接到PROM 44和DAC 46两者,利用DAC 46接收来自PROM 44的8比特和来自PLD 42的2比特。诸如70MHz时钟的公用时钟被用于PLD 42以及利用C计数的计数器10、PROM 44、和DAC 46的每一个。如图7所示的利用PLD 42、PROM 44、和DAC 46的数字综合器的操作将被解释如下。
一般地,在数字综合器中,诸如PROM 44之类的存储器将存储有待产生的所有的波形分量,使得(例如)正弦波的数字表示可以从存储器中输出。但是,在如图7所示的利用PLD 42、PROM 44、和DAC 46部件的数字综合器中,PROM 44实质上是现成的PROM和可以是一个8比特器件。因此,PROM 44仅存储诸如正弦波的8个最低有效位(LSB)。例如,正弦波的这些8个最低有效位的模拟表示如图8所示。
DAC 46是10比特器件,因为在许多应用中,对于适当的解决方案,则要求10比特的DAC。因此,通常两个8比特PROM可能提供10比特的DAC使用的10比特,因为单个PROM仅存储8比特,这里作为一种变通。
使用PLD 42的,使用利用下面将描述的VHDL码编程的来自PLD 42的两个输出与从PROM 44输出的8比特相组合,提供10比特输出到DAC 46,产生一个完整的正弦波信号。PROM 44输出正弦波的8个LSB,Sine_out[7:0]和PLD 42输出两个最高有效位(MSB)、Sine_out[9:8]比特。正弦波的的两个最高有效位在正弦波的这些角度值:0°、30°、150°、210°和330°上改变。PLD 42通过估算到PROM 44的地址输出和因此设置Sine_out[9:8]比特计算它在输出哪个角度范围进行输出。例如,PROM 44存储如图8所示的图形,其中MSB被提公因子。
存储在PLD 42中的VHDL码被进行修改,产生Sine_out[9]和Sine_out[8]如下:
-----------------------------------------------
_

library ieee;

use ieee.std_logic_1164.all;

use work.std__arith.all;

entity dds is port(

   clock:        in std._logic;

   sineout:      out std_logic_vector(9 downto 8);

   EPROM addr:   buffer std_logic_vector(10 downto 0)

   );

constant C:integer:=10000;

end dds;

architecture Countby_C of dds is begin

signal count:std_logic_vector(21 downto 0);

----------------------------------------------------------

-

accumulator:process(reset,clock)

   begin

   if(clock′event and clock=′1′)then
       count<=count+C;

   end if;

   end process accumulator;
				
				<dp n="d15"/>
----------------------------------------------------------

calc_sine_msb:process(count)

   begin

        if(count 10 downto 0)<=170)then

            sineout<=″10″;

   elsif(count(10 downto 0)>170)and(count(10 downto

0)<=853) then sineout<=″11″;

   elsif(count(10 downto 0)>853)and(count(10 downto

)<=1024)      then sineout<=″10″;

   elsif(count(10 downto 0)>1024)and(count(10 downto

0)<=1195)     then sineout<=″01″′

   elsif(count(10 downto 0)>1195)and(count(10 downto

0)<=1876)     then sineout<=″00″;

   else sineout<=″01″;

   end if;

   end process calc_sine_msb;

   EPROM addr(10 downto 0)<=count(21 downto 11);

   end Countby_C;

   ------------------------------------------------------
如前所述,这个VHDL码通过WARP2 VHDL编译器(例如)被变换为CPLD配置文件,该文件被装入PLD 42(作为例子的方式下载用于利用C计数的计数器10的各个方程)。
利用如图7所示的电路,仅利用8比特的PROM 44和因此明显地实现节约成本。另外,应当注意到,该解释并不仅限于使用10比特DAC 46,而还可能利用产生3个或者4个地址的11或12比特DAC。最好是,时钟是70MHz时钟,PROM 44是20ns的PROM,DAC是100MHz的DAC,和PLD 42是一种复杂的PLD(CRLD),从个人计算机(未表示出)的微处理器40接收它的编程。
虽然本发明已经参照本申请的数字综合器的各种应用相当详细地进行了描述,但应当认为本发明可应用到使用由本申请的数字综合器可以产生的精密频率的任何装置中。因此,对于本专业的解释人员而言,本发明等效地可应用到其它的各种数字综合器应用中。因此,本发明的精神和范围将不受包含在本说明书中的各个实施例的限制。显然本发明可以按许多方式进行改变,但这样一些改变并不认为是脱离了本发明的精神和范围。对本专业技术人员来说显而易见,所有这些修改都被认为将是包含在下面的权利要求书的范围之中。

Claims (29)

1.一种数字综合器,包括:
一个计数器,适合通过一个预定固定增量进行计数;
一个存储器,当从该计数器接收到一个输入信号时,适合存储和输出数字波形值;和
一个数模变换器,适合变换来自存储器的数字波形值为模拟波形值。
2.权利要求1的数字综合器,其中计数器是一个复杂可编程逻辑装置(CPLD)。
3.权利要求1的数字综合器,其中计数器进行计数的预定固定增量是一个预定的整数。
4.权利要求1的数字综合器,其中存储器包括一个查找表。
5.一种数字综合器,包括:
计数装置,用于通过一个预定的固定增量进行计数;
存储装置,当从计数装置接收到输入计数时,用于存储和输出数字波形值;和
变换装置,用于变换从存储装置输出的数字波形为模拟波形值。
6.权利要求5的数字综合器,其中计数装置包括一个复杂可编程逻辑装置(CPLD)。
7.权利要求5的数字综合器,其中存储装置包括一个查找表(L.U.T)。
8.权利要求5的数字综合器,其中变换装置包括一个数模变换器。
9.一个包含权利要求1所述数字综合器的信号提取装置,还包括:
一个混频电路,适合于混合接收的输入信号与来自数字综合器的输出信号;和
一个滤波器,适合于滤波从混合电路接收的输出,恢复该接收输入信号的预定部分。
10.权利要求9的信号提取装置,其中输入信号的预定部分被嵌入在载波信号中。
11.权利要求10的信号提取装置,其中模拟输出信号是等于载波与输入信号的预定部分之间的差的精确信号。
12.一种包括一个振荡器和权利要求1的数字综合器用于产生可编程低频时钟信号的设备。
13.一种包括如权利要求1中所述的数字综合器的频率选择器,其中取决于接收的输入选择信号,计数器通过不同的预定的固定增量进行计数。
14.一种包括权利要求13的频率选择器的移频键控(FSK)调制器,其中数字综合器取决于输入选择信号产生的输出信号是被可变频率的综合信号。
15.一种包括权利要求5中所述的数字综合器的信号提取装置,还包括:
混频装置,用于混合接收的输入信号与来自数字综合器的模拟输出信号;和
滤波装置,用于滤波从振荡装置接收的输出,恢复输入信号的预定部分。
16.权利要求15的信号提取装置,其中输入信号的预定部分被嵌入在载波信号中。
17.权利要求16的信号提取装置,其中模拟输出信号是等于载波与输入信号的预定部分之间的差的精确信号。
18.一种包括如权利要求5所述的数字综合器的频率选择器,其中取决于接收的输入选择信号,计数装置通过不同的预定的固定增量进行计数。
19.一种包括权利要求18的频率选择器的移频键控(FSK)调制器,其中数字综合器取决于输入选择信号产生的输出信号是被可变频率的综合信号。
20.一种包括一个振荡器和权利要求5的数字综合器用于产生精确频率信号的设备。
21.一种综合器,包括:
一个计数器,适合通过一个预定固定增量进行计数;
一个存储器,连接到该计数器,当接收来自该计数器是输入信号时,适合于存储和输出数字波形值;和
数模变换器,连接到计数器和存储器,适合于组合接收的数字波形值与从计数器接收的输入信号,产生输出模拟波形。
22.权利要求21的综合器,其中数模变换器接收来自存储器的多个比特和来自计数器的多个比特。
23.权利要求22的综合器,其中从计数器接收的(2)比特是最高有效位。
24.权利要求22的综合器,其中数模变换器从存储器接收(8)比特和从计数器接收(2)比特。
25.权利要求21的综合器,其中存储器是(8)位可编程只读存储器(PROM)。
26.权利要求21的综合器,其中数模变换(DAC)是10比特DAC。
27.权利要求21的综合器,其中数模变换(DAC)是12比特DAC。
28.权利要求25的综合器,其中数模变换(DAC)是10比特DAC。
29.权利要求25的综合器,其中数模变换(DAC)是12比特DAC。
CN99123176A 1998-10-29 1999-10-27 直接数字综合器 Pending CN1253332A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/181,815 1998-10-29
US09/181,815 US6539411B1 (en) 1998-10-29 1998-10-29 Direct digital synthesizer

Publications (1)

Publication Number Publication Date
CN1253332A true CN1253332A (zh) 2000-05-17

Family

ID=22665927

Family Applications (1)

Application Number Title Priority Date Filing Date
CN99123176A Pending CN1253332A (zh) 1998-10-29 1999-10-27 直接数字综合器

Country Status (8)

Country Link
US (1) US6539411B1 (zh)
EP (1) EP0997809A3 (zh)
JP (1) JP3413137B2 (zh)
KR (1) KR20000035114A (zh)
CN (1) CN1253332A (zh)
BR (1) BR9904737A (zh)
CA (1) CA2281407A1 (zh)
TW (1) TW507424B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104515885A (zh) * 2013-10-07 2015-04-15 特克特朗尼克公司 波形轨迹显示的随机光栅化
CN105933003A (zh) * 2016-04-25 2016-09-07 中国科学院武汉物理与数学研究所 一种小型铷原子频标射频电路

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4652546B2 (ja) * 2000-09-21 2011-03-16 三星電子株式会社 受信機
US7356186B2 (en) * 2002-08-23 2008-04-08 Kulas Charles J Digital representation of audio waveforms using peak shifting to provide increased dynamic range
US6867625B1 (en) 2003-09-24 2005-03-15 Itt Manufacturing Enterprises, Inc. Method and apparatus for high frequency digital carrier synthesis from plural intermediate carrier waveforms
WO2008030250A2 (en) * 2006-09-07 2008-03-13 William Marsh Rice University Integrated embedded processor based laser spectroscopic sensor
DE102008039205A1 (de) * 2008-08-22 2010-04-22 EPROTECH Reimann e.K. Jürgen Reimann Vorrichtung und Verfahren zur Überwachung einzelner Photovoltaikmodule einer Photovoltaikanlage
CN103346808B (zh) * 2013-06-19 2015-09-09 华为技术有限公司 一种终端设备
CN104378082B (zh) 2013-08-12 2017-11-07 瑞昱半导体股份有限公司 振荡频率偏移侦测方法以及振荡频率偏移侦测电路
TWI551036B (zh) * 2013-08-22 2016-09-21 瑞昱半導體股份有限公司 振盪頻率偏移偵測方法以及振盪頻率偏移偵測電路

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5818803B2 (ja) 1975-03-13 1983-04-14 日本電気株式会社 デジタル正弦波発生回路
JPS585874A (ja) 1981-07-01 1983-01-13 Mitsubishi Electric Corp 波形発生装置
FR2604270B1 (fr) * 1986-09-22 1991-10-18 Jutand Francis Additionneur binaire comportant un operande fixe, et multiplieur binaire parallele-serie comprenant un tel additionneur
JPH087642B2 (ja) 1988-02-16 1996-01-29 アンリツ株式会社 ディジタルファンクションジェネレータ
US5028887A (en) 1989-08-31 1991-07-02 Qualcomm, Inc. Direct digital synthesizer driven phase lock loop frequency synthesizer with hard limiter
US5019825A (en) 1989-11-24 1991-05-28 The United States Of America As Represented By The Secretary Of The Army Coherently interruptible frequency hopped chirp generator
ATE195836T1 (de) * 1990-06-05 2000-09-15 Siemens Metering Ltd Verfahren zum abfragen von stromzählern
JPH0763124B2 (ja) * 1993-02-24 1995-07-05 日本電気株式会社 直接デジタル周波数シンセサイザ
FR2702896B1 (fr) 1993-03-17 1995-06-09 Sgs Thomson Microelectronics Generateur multifrequence programmable.
JPH09205327A (ja) 1996-01-29 1997-08-05 Kokusai Electric Co Ltd 位相制御機能付き直接ディジタル周波数合成回路
US6066967A (en) * 1997-02-07 2000-05-23 Sensytech, Inc. Phase-coherent frequency synthesis with a DDS circuit
US5963607A (en) * 1997-05-02 1999-10-05 Ail Systems, Inc. Direct digital synthesizer with high resolution tracker

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104515885A (zh) * 2013-10-07 2015-04-15 特克特朗尼克公司 波形轨迹显示的随机光栅化
CN105933003A (zh) * 2016-04-25 2016-09-07 中国科学院武汉物理与数学研究所 一种小型铷原子频标射频电路
CN105933003B (zh) * 2016-04-25 2018-07-17 中国科学院武汉物理与数学研究所 一种小型铷原子频标射频电路

Also Published As

Publication number Publication date
KR20000035114A (ko) 2000-06-26
BR9904737A (pt) 2000-09-05
EP0997809A3 (en) 2004-02-25
CA2281407A1 (en) 2000-04-29
TW507424B (en) 2002-10-21
EP0997809A2 (en) 2000-05-03
JP3413137B2 (ja) 2003-06-03
JP2000151284A (ja) 2000-05-30
US6539411B1 (en) 2003-03-25

Similar Documents

Publication Publication Date Title
CN109814939B (zh) 一种动态加载方法、目标文件的制作方法及装置
CN1253332A (zh) 直接数字综合器
CN1774689A (zh) 用于基于快速跳频扩展频谱技术的蜂窝无线通信系统的直接数字频率合成器
EP1873612A1 (en) Phase-coherent signal generator
CN103227637A (zh) 抖动控制电路和具有该抖动控制电路的装置
KR100918793B1 (ko) 위상 지속 가변 신호원 방법, 장치 및 컴퓨터 프로그램기록매체
US5864492A (en) Randomized digital waveshape samples from a look up table
JP2836526B2 (ja) 周波数シンセサイザ
CN107943204B (zh) 数字频率合成方法以及装置
CN1455983A (zh) 频率合成器
US6944295B2 (en) Data-processing device and method of operating said device
CN103618711A (zh) 一种acl规则的配置方法及网络设备
US20220050664A1 (en) Systems, methods, and devices for the sorting of digital lists
US8125363B2 (en) Digital signal processing device
CN1489036A (zh) 灵活的抽取器
US8443023B2 (en) Frequency synthesis rational division
MXPA99009836A (en) Digital synthesizer dire
CN109358698B (zh) 一种基于复合频率控制字的直接数字频率合成方法及装置
RU202507U1 (ru) Генератор цифрового гармонического сигнала
CN1773863A (zh) 一种可用于大容量存储器的rs(256,252)码纠错译码芯片
CN1106066C (zh) 分频器
Bashkirov et al. Design of direct digital synthesizers signal generator
CN1315785A (zh) 数字相位分析器和合成器
US8762436B1 (en) Frequency synthesis with low resolution rational division
JP2020195128A (ja) 伝送システム、送信装置、受信装置、およびプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication