Phase-coherent signal generator

Information

  • Patent Application
  • 20080005213
  • Publication Number
    20080005213
  • Date Filed
    January 10, 2007
    18 years ago
  • Date Published
    January 03, 2008
    17 years ago
Abstract
A method is provided for insuring phase-coherency of a sinusoidal signal when changes occur in the signal's frequency. The method may include generation of a phase word that may be used for accessing entries in a relatively small Sin(x) and Cos(x) Look-Up-Tables (LUTs), which may represent values of a sinusoidal signal. The Cos(x) LUT may be used for generating a phase-related error data that may be added to a corresponding entry of the Sin(x) LUT to derive a value that is translated by a digital-to-analog into a corresponding analog value of the generated sinusoidal signal. The phase word may be obtained by multiplying a time word with a frequency word. The frequency word may control the signal's frequency and the phase word may maintain phase coherency. A signal generator is also provided, which utilizes the method.
Description

BRIEF DESCRIPTION OF THE FIGURES

Exemplary embodiments are illustrated in referenced figures. It is intended that the embodiments and figures disclosed herein be considered illustrative, rather than restrictive. The disclosure, however, both as to organization and method of operation, together with objects, features, and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanying figures, in which:



FIG. 1 is a high-level block diagram of a conventional DDS frequency generator;



FIG. 2 exemplifies a typical DDS non-coherent type output signal with transitions between several exemplary frequencies, for demonstrating phase continuity.



FIG. 3 is an exemplary graph showing phase changes as a function of time in a non-phase coherent DDS;



FIG. 4 is an exemplary graph showing phase changes as a function of time in a phase coherent DDS;



FIG. 5 demonstrates the difference between phase continuous waveform and phase coherent (non-continuous) waveform;



FIG. 6 (prior art) is a high-level block diagram of a multiplying digital synthesizer;



FIG. 7 schematically illustrates the general layout and functionality of a DDS frequency generator according to an embodiment of the present disclosure; and



FIG. 8 shows a high-level flowchart for generating a phase coherent signal according to an embodiment of the present disclosure.





It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.


DETAILED DESCRIPTION

In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the disclosure. However, it will be understood by those skilled in the art that the present disclosure may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the present disclosure.


Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as “processing”, “computing”, “calculating”, “determining”, or the like, refer to the action and/or processes of a computer device, a computer or computing system, or similar electronic computing devices, that manipulate and/or transform data represented as physical, such as electronic, quantities within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission or display devices.


The present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the disclosure is implemented in an embodiment containing both hardware and software elements, which includes but is not limited to firmware, resident software, microcode, and so on.


Embodiments of the present disclosure may include apparatuses and devices for performing the operations described herein. This apparatus and devices may be specially constructed for the desired purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer.


Furthermore, the disclosure may take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus or device that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.


A data processing system suitable for storing and/or executing program code may include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements may include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code has to be retrieved from bulk storage during execution. Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, and so on) can be coupled to the system either directly or through intervening I/O controllers.


The processes presented herein are not inherently related to any particular device or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized device to perform the desired method. The desired structure for a variety of these systems will appear from the description below. In addition, embodiments of the present disclosure are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the disclosures as described herein.


Referring now to FIG. 1 (prior art), it schematically illustrates an exemplary DDS frequency generator. A conventional DDS architecture (generally shown at 110) is illustrated in FIG. 1, which is based on three basic active components common to most known types of DDS: a phase accumulator (shown at 100), a mapping device (shown at 102) and a DAC (shown at 104), all of which are timely controlled (driven) by a common clock generator (shown at 108). Clock generator 108 is shown connected to phase accumulator 100, mapping device 102 and to DAC 104 (shown at 101, 103 and 105, respectively).


Phase accumulator 102 is an arithmetic device that performs the discrete function Sn=Sn−1+d, which means that, during the discrete integration, the value (Sn) of the new phase representing parameter is computed by incrementing the previously computed phase value Sn−1 by using some known increment value (d). Two basic DDS phase accumulator structures exist in the market, one of which is designed to directly manipulate binary data and the other is designed to manipulate decimal values by accumulating data in a binary coded decimal (BCD) format.


Memory unit 102, or mapping device 102, performs non-linear transformation of w*t to corresponding Sin(w*t). This function is usually implemented with the use of Read Only Memory (ROM) or Random Access Memory (RAM) based lookup tables (LUTs) that contain a plurality of table entries, each of which containing a w*t value and a corresponding Sin(w*t) value associated with the w*t value. For example, an entry of memory unit 102 may include the value w*t=π/2 (in radians) and an associated value 0.50 (Sin(π/2)=0.50). Typically, the plurality of w*t values (and the respective Sin(w*t) values) are arranged in the memory unit 102 in such as way that, when the LUT entries are visited from one end of the LUT to the other end of the LUT, sinusoidal cycle(s) will be formed.


DAC unit 104 consists of a switch matrix and several current sources. DAC unit 104 is considered in many cases as the performance limiting factor of DDS frequency generators, because DACs conversion time (from a digital value to an analog value) is often considerable, which limits the upper frequency limit of signals generated by DDS frequency generators. Filter 106 filters out unwanted frequency content in the output of DAC 104, for generating a pure single frequency signal at the output (shown at 107) of DDS 110.


Referring now to FIG. 2, a typical DDS's non-coherent (continuous) output signal with transitions between several exemplary frequencies is exemplified. Sinusoidal signal 120 is an exemplary signal that may be generated by a DDS frequency generator such as DDS frequency generator 110. Signal 120 is shown having four different frequencies (f1, f2, f3 and f4), each of which lasts for respective time duration (ΔT1, i=1,2,3,4): frequency f1 (shown at 122) for duration ΔT1, frequency f2 (shown at 124) for duration ΔT2, frequency f3 (shown at 126) for duration ΔT3, and frequency f4 (shown at 128) for duration ΔT4. As is demonstrated by FIG. 2, there are no phase discontinuities at the frequency transition instants 130, 132 and 134.


Referring now to FIG. 3, an exemplary graph (generally shown at 140) showing phase changes as a function of time in a non phase-coherent DDS is shown. Graph 140 shows changes in a signal's phase as a function of time, during which time the signal's frequency switches twice: from frequency fA to fB (at instant TS1), and back, from fB to fA (at instant TS2). As is demonstrated by graph 140, there are no phase discontinuities in the associated non-coherent signal at the frequency transition instants TS1 and TS2. However, as is explained earlier, some applications (for example most Radar applications) require that, when the signal's frequency returns, for example from fB to fA (at instant TS2), the phase of the signal at the transition instant TS2 resume its expected value, as if the frequency transitions (at instants TS1 and TS2) never occurred, as is reflected in dotted line 150. The latter mode of operation, which is more fully described in association with FIG. 4, is referred to herein and in the field of frequency synthesizers as phase coherency. Phase coherency means that the phase value of a signal generated by a frequency synthesizer after it resumes (at instants TS2) its original frequency (fA in example shown in FIG. 3) would have been φ1 (shown at 141), as opposed to the phase value φ2 (shown at 142) in a continuous (non-coherent) phase frequency generator.


Referring now to FIG. 4, an exemplary graph showing phase changes as a function of time in a phase coherent DDS frequency generator is shown. For the sake of demonstration it is assumed that a frequency synthesizer (not shown) simultaneously generates two signals with different frequencies, fA (a frequency associated with phase graph 150) and fB (a frequency associated with phase dotted graph 155), and outputs a 2-frequency signal by switching between the two frequencies, as is shown in FIG. 4. It is also assumed, for simplicity, that the phase value of the two generated frequencies fA and fB is zero (shown at 153) at T=0. The phase value of frequency fA is shown in FIG. 4 increasing slower than the phase value of frequency fB because, according to this example, fA<fB. If the signal's frequency were kept fA, then the signal's phase would have been linearly increased (from zero, shown at 153) along line 150. If, however, the signal's frequency were kept fB, then the signal's phase would have been linearly increased (from zero, shown at 153) along line 155.


However, at instant TS1 (shown at 161) the frequency synthesizer (not shown) switches frequencies, from fA to fB in such a way that the phase value of the signal becomes the value φB1 (shown at 171), which is the value expected at TS1 (shown at 161) for fB, as opposed to the value φA1 (shown at 181) which is the value of fA. In this respect, it may be said that the signal with the frequency fB has resumed its (expected phase value), as switching from fA to fB is accompanied by phase discontinuity (phase coherency) which results from the signal switching from phase line 150 (associated with fA) to phase line 155 (associated with fB). Likewise, at instant TS2 (shown at 162) the frequency synthesizer switches frequencies, now from fB to fA, in such a way that the phase of the signal, which now has the value φB2 (shown at 172) assumes the value φA2 (shown at 182), which is the value expected at TS2 (shown at 162) for fA. In this respect, it may be said that the signal with the frequency fA has resumed its expected phase, because switching from fB to fA is accompanied by a phase discontinuity (phase coherency) which results from the signal switching back from phase line 155 (associated with fB) to phase line 150 (associated with fA).



FIG. 4 shows a significant requirement and therefore a design parameter that must be taken care of by a system designer, in order to achieve a better performance, as required, for example, for applications related to Radar simulation systems. Obtaining both a low dwell time, fast frequency hopping and in parallel fine frequency resolution, is not a trivial thing. The implications of phase-coherency and phase-continuity will now be shown and described in association with FIG. 5.


Referring now to FIG. 5, the difference between phase continuous waveform and phase coherent (non-continuous) waveform is demonstrated. Four different exemplary sinusoidal signals are shown. Signal “a” is a low-frequency signal and therefore its phase changes relatively slowly. Signal “b” is a higher-frequency signal and therefore its phase changes faster than the phase of signal “a”. Signals “a” and “b” freely run (oscillate) without any interruption(s) and shall be used, for the sake of simplicity, as reference signals. Signal c starts (from instant to, shown at 510) as a high-frequency signal (signal “c” it follows reference signal “b”) and, therefore, its phase follows (equals) the changing phase of high-frequency reference signal “b”. At time instant 501, signal “c” switches from high-frequency reference signal “b” to low-frequency reference signal “a”. At time instant 501, therefore, the phase of signal “c” follows (equals) the phase of low-frequency reference signal “a”. At time instant 502, signal “c” switches back to the high-frequency reference signal “b”. Again, signal “c” has the same phase as the high-frequency reference signal b. Signal “c” is called, therefore, a phase-coherent waveform because the phase of signal “c” always resumes (at the frequency switching instant(s)) the phase of the reference signal to which signal “c” (or the frequency synthesizer, not shown) switches. As a result of the phase behavior demonstrated by signal “c”, jump(s) are expected to occur in the phase of signal “c” during transition(s) between two frequencies and the signal's phase, in such cases, is not continuous.


Signal d also switches, at time instant 501, from high-frequency reference signal b to low-frequency reference signal and back to high-frequency reference signal b (at time instant 502). However, signal d has a smooth (continues) phase behavior. When the frequency of signal d changes to a new frequency, signal d does not have the same phase as the reference signals a or b, because some portion(s) of signal d around the transition(s) time instant(s) has/have temporal characteristics (shape) that matches neither reference signal a nor reference signal b. An exemplary portion that does not match the shape of reference signals and/or b is the portion confined between peaks 511 and 512. This type of phase behavior is problematic to many applications such as radars. Signal d demonstrates that whenever the frequency of a signal switches from one frequency to another and back to the previous frequency, the signal returns to the previous frequency with an unexpected (unknown or arbitrary) phase. A traditional frequency synthesizer which enables the generation of phase-coherent signals was is shown in FIG. 6 (prior art).


Referring now to FIG. 6 (prior art), a high-level block diagram of a digital frequency synthesizer (generally shown at 600) is shown and described. Frequency synthesizer 600 includes an n-bit phase counter (shown at 602), an n-bit multiplier (k-bit shown at 604), a Sin(x) LUT (shown at 606), DAC (shown at 608) and LPF (shown at 610). Frequency synthesizer 600 does not use a phase accumulator. Instead, frequency synthesizer 600 uses multiplier 604 that feeds (shown at 605) Sin(x) LUT 606 that can be stored, for example, in a ROM device. The main drawback of a frequency synthesizer such as frequency synthesizer 600 is that for fine frequency steps (such as 1 Hz steps, which is commonly used in some applications) the LUT gets huge in memory space because of the huge number of W*t values (and also the associated Sin(w*t) values) that is required for such fine frequency resolution. For example, in a commonly used Mega Hertz (MHz) frequency range, as many as 100 million lines, or entries (and some times even more than that) are required to be stored in a LUT. LUTs of that size are often impractical for commercial use.


Referring now to FIG. 7 a general layout and functionality of a DDS frequency synthesizer (generally shown at 700 is schematically illustrated according to an embodiment of the present disclosure. DDS frequency synthesizer 700 includes a clock pulse generator (CLK, shown at 701), time-counter (shown at 702), phase multiplier (Multiplier Modulus 2N, shown at 704), Sin(x) LUT (a first lookup table, shown at 706), Cos(x) LUT (a second lookup table, shown at 708), a phase-related error multiplier (shown at 710), an adder (Add, shown at 712), DAC 714 and reconstruction (LPF) filter 716. DDS frequency synthesizer 700 inherently generates phase-coherent signals with no need for alignment or resetting of the signal's phase, as is explained hereinafter.


Let the required frequency resolution, or incremental changes step (the space between each two adjacent frequencies within the operating frequency range of DDS frequency synthesizer 700), be designated FLSB. For example, FLSB may equal 1 Hz. For the sake of simplicity external clock pulse generator 701 is shown in FIG. 7 driving both time-counter 702, which outputs an N-bit time word (shown at 730), and DAC 714, though a first external clock pulse generator may drive time-counter 702 and a second clock pulse generator may drive DAC 714. For the sake of simplicity, (the same) clock pulse generator 701 outputs also drives DAC 714. For practical reasons, a faster clock pulse generator is preferably used for driving time-counter 702 in order to reduce the settling time of the DDS.


Assuming DDS frequency synthesizer 700 is required to cover a frequency range from near DC to Fmax, the frequency of the clock pulse generator (CLK 701 in FIG. 7) that drives DAC 714 has to be at least twice the value of Fmax (in according with Nyquist's sampling Law). The frequency (FCLK) of CLK 701 may be select to be:






F
CLK=2N·FLSB  (1)


where N is the number of binary bits required to comply with Nyquist's sampling law and to satisfy expression (1) above.


For example, a DDS (such as DDS 700) that is required to cover the frequency range of near DC to 50 MHz shall be driven by a clock generator whose frequency FCLK=227*1≅134 MHz, because, in this example, the smallest number (N, shown also at 730) of binary bits that are required for obtaining such a frequency (FCLK) is N=27, because with N=26 FCLK≅67 MHz (which does not comply with Nyquist's sampling law), and with N=28 FCLK≅268 MHz (which corresponds to a sampling rate that is much faster than is practically required). External clock 701 causes the time-counter 702 to count from 0 to 2N−1, after which the counter's value returns to zero, for which reason the counting range 2N of time-counter 702 can be used for generating one cycle of the synthesized signal. The time length (TCLK) of each cycle of CLK 701 can be calculated in the following way:






T
CLK=1/FCLK  (2)


Therefore, the time length TSYN of each cycle of the synthesized signal (at the output 720 of DDS frequency generator 700) equals:






T
SYN
=T
CLK*2N=1/FCLK*2N  (3)


From expressions (2) and (3) one may get:










T
SYN

=



1
/

F
CLK


*

2
N


=



2
N



2
N

*

F
LSB



=

1

F
LSB








(
4
)







Expression (4) implies that, for a given external frequency FCLK, time-counter 702 completes one cycle (of the synthesized signal) every 1/FLSB seconds. Assuming that FLSB=1 Hz, counter 702 completes a cycle in one second. The time word (N bits, shown at 730) of time counter 702 is fed to phase multiplier 704, to which another control signal—an M-bit frequency word (shown at 732)—is fed, which represents the required synthesized frequency (f). Freq (shown at 731), which is represented by the M-bit frequency word (shown at 732) may have any binary value from 0 to 2M−1. Nevertheless, in order to satisfy Nyquist's Law, M shall be equal to, or less than, N−1.


Phase multiplier 704 multiplies the N-bit time word of time-counter 702 (which represents the lapsing time (t)), with ‘Freq’ (the M-bit frequency word representing the required synthesized frequency (f)), to obtain a phase word associated with the synthesized frequency. The larger is N the more phase points there are on a 360′-phase circle and, consequently, the smaller the phase jump-size (and therefore the better the phase resolution). For example, for N=3 there are 23=8 phase points with 360°/8=45° phase jump-size (0°, 45°, 90°, 135°, 180°, 225°, 270°, and 315°). Likewise, for N=5 there are 32 phase points with phase jump-size of 11.25°. The value of Freq remains substantially the same and changes only if it is required or desired to change the frequency of the synthesize signal.


The resulting product (shown at 733) may have a maximum of N+M bits. Since the product of f and t (f*t) represents the phase (the phase being w*t=2πf*t) and it is periodical in 2π (in radians, or 360 degrees), a modulus of the resulting product is taken (as shown by expression (5) below) to generate, or compute, a new control word:






i=mod(f·t,2N)  (5)


In our example, the (N=) 27-bit time word (which represents the time t) and the (M=) 26-bit frequency word (which represents the frequency (f)) are multiplied by phase multiplier 704, and only the 27 binary Least Significant Bits (LSB) of the product are kept (the product being truncated by discarding the other bits), which is equivalent to the application of a 27-bit (N=27 in this example) modulus operator. Put differently, the value of ‘i’ is not allowed to be greater than the maximal value obtainable by using (N=) 27 bits. Phase multiplier 704, therefore, outputs an N-bit phase word (at 733), which is utilized to access a corresponding entry in LUT Sin(x) 706 and a corresponding entry in LUT Cos(x) 708, and to calculate an error value, as is more fully described hereinafter LUT Sin(x) 706 may include entries representative of a sinusoidal signal that is out-of-phase with respect of the sinusoidal signal represented by entries included in LUT Cos(x) 708.


Now, the new word i in expression (5) can be used in the calculation process of the analog voltage output by DAC 714, as is shown in expression (6):





Sin(2·π·i/2N)  (6)


where 0≦i/2N≦1 for rendering the function argument cyclic in the range 0÷2π (in radians), or 0÷360° (in degrees).


In cases where N is relatively small, a single LUT may be used to find corresponding Sine(w*t) values. However, N is normally large and, therefore, the implementation of a 227-entry LUT with, say 16-bit long words, will result in a large-size LUT and, therefore, in a complicated-to-handle and expensive LUT. The size problem associated with the LUT(s) arises because it is desired, on one hand, to evaluate Sin(2·π·i/2N) for essentially every possible ‘i’. However, on the other hand, it is problematic to store all of the possible calculation results in a LUT(s) due to the impractical size of the resulting LUT table(s). If not all ‘i’ values are accurately calculated, for example because of using poor approximation, the output signal of the frequency synthesizer will suffer from a large spurious; that is, the frequency synthesizer's spectral purity will be effected. Therefore, an algorithm may be used, in accordance with the present disclosure, for maintaining spectral purity, by storing only few values of i, with the respective calculation results of Sin(2·π·i/2N) and using the relatively small number of stored values (of i and Sin(2·π·i/2N)) to calculate un-stored i values and their respective Sin(2·π·i/2N) values, whereby to insure that essentially each cycle in the synthesizer's output signal is pure sinusoidal and it is essentially a precise replica of the other cycles in the synthesizer's output signal; that is, so long as the signal's frequency remains unchanged.


Assuming that it is wanted to calculate the value of Sin(y) where y=x+Δx, and the result of the Sin(x) is known and Δx is the difference between a stored value and an un-stored value that is to be calculate, the value of Sin(x+Δx) may be approximated using trigonometric expression (7):





Sin(x+Δx)=Sin(x)·Cos(Δx)+Cos(x)·Sin(Δx)  (7)


The value of Δx (the difference between a stored value and an un-stored value that is to be calculate) can be determined to be very small, for which reason it can be decided that Cos(Δx) roughly equals 1.0 and Sin(Δx) roughly equals Δx. Employing these assumptions on expression (7) yields expression (8):





Sin(x+Δx)≈Sin(x)·1+Cos(x)·Δx+error(Δx2)  (8)


Since Δx is assumed to be very small, (Δx)2 is even smaller, for which reason the clause error(Δx2) in expression (8) can be discarded without detrimentally affecting the final result.

In the frequency generator of FIG. 7, the word i, which can have a maximal length of N bits, may be split into N1 (MSB, shown at 734) and N2 (=N−N1) (LSB, shown at 735). Using N1 (as a first portion of the N-bit phase word) a corresponding entry in LUT Sin(x) 706 and a corresponding entry in LUT Cos(x) 708 may be accessed (shown at 741 and 742, respectively), to obtain corresponding Sin(x) and Cos(x) values in relatively small sized LUTs, with only 2N1 lines or entries (instead of 2N lines or entries). In our example, a 10-bit (N1=10) address word yields 1024 lines or entries in LUT Sin(x) 706 and 1024 lines or entries in LUT Cos(x) 708. The N2-bit word (which is a second portion of the N-bit phase word, shown at 735) may represent Δx and is multiplied by phase error multiplier 710 with the corresponding value in an entry in LUT Cos(x) 708, to obtain (shown at 736) a small correction factor to the sin(2·π·i/2N) calculation (a phase-related error data).


The values of N1 and N2 are defined according to two considerations. On one hand N1 should be kept as minimal as possible in order to keep LUT Sin(x) 706 as small as possible. On the other hand, the value of N2 (=N−N1) should be also kept as minimal as possible in order to keep the approximation error (Δx) to a minimum. For a given application, the minimal usable, or allowable, value of N1 may be obtained using mathematical simulation that will show the spurious signal level resulting from this approximation error (Δx). If the value of N1 is smaller than the ‘minimal usable value of N1’, the approximation in expression (8) will not suffice, which will result in a reconstructed output signal that will deviate from the ideal (pure), or nearly ideal, sinusoidal waveform. In the context of the present disclosure a non-ideal sinusoidal waveform introduces unwanted signals that are called ‘spuriouses’. After setting the value of N1, the value of N2 is set to be N−N1. It has been found in simulations that, for many applications, a value of N1=10 is more that sufficient, and that the resulting LUTs' size is minimal [2K-memory size, with 16-bit long digital words). In order to generate a digital signal corresponding to the required Sin(x+Δx) value approximation, as detailed in the approximation formula above, an adder (shown at 712) is used to sum up the digital Sin(x) data generated by LUT Sin(x) 706 with the output of error multiplier 710 that generates data that corresponds to the value of Cos(x) (generated by LUT Cos(x) 708) multiplied by the error factor N2 which is the LSB part of the binary number received from phase multiplier 704. Now, the calculated voltage output (in digital format) of adder 712 is fed (shown at 737) to k-bit DAC 714 (‘k’ may be, for example, 16), which generates and outputs (shown at 738) an analog signal with the required frequency and phase. The analog signal output by k-bit DAC 714 is then fed (shown at 738) to reconstruction filter (LPF) 716, to reduce unwanted frequency harmonics and to maintain the resulting output signal (at 720) substantially at constant amplitude. In most practical cases, where the maximum frequency of the generated signal (at 720) is considerably lower than the frequency FCLK of the external clock, Reconstruction filter 716 may be relatively simple.


Referring now to FIG. 8, a high-level flowchart for generating a phase coherent signal is shown and described according to an embodiment of the present disclosure. At step 801, a phase word is generated as described in connection with FIG. 7. A first portion of the phase word may be used for accessing, at step 802, an entry in Sin(x) and Cos(x) LUTs. A second portion of the phase word may be used to generate, at step 803, a phase-related error data. The phase-related error data, which may be obtained in the way described in connection with FIG. 7, may be added, at step 804, to a value stored in an entry of the Sin(x) LUT associated with (accessed using) the first portion of the phase word, whereby to generate a digital word from which a corresponding analog value of a sinusoidal may be generated, at step 805. After obtaining an analog value that corresponds to the current time instant, a following analog value may be likewise generated, by repeating (shown as loop 810) steps 801 to 805, for the next time instant, which is specified by the time word generated by a time counter such as the time-counter 702 shown in FIG. 7.


The avowed goal of the present disclosure, of maintaining phase coherency when frequency changes occur in an output signal, is obtained because, regardless of the application of the M-bit control word (shown at 732 in FIG. 7) to set a designated or required frequency (shown at 731 in FIG. 7) and the instant(s) at which the M-bit control word is applied, the values of the signal's phase always equal 2π*f*t. The counter's (shown at 702 in FIG. 7) instantaneous value (within the designated counting range) represents the time elapsing from the activation of the time counter, and the elapsing time does not depend on frequency changes. For example, assuming that the output signal's frequency of a frequency synthesizer (such as frequency synthesizer 700) is initially set to f1 at time t1, the instantaneous phase of the output signal at instant t1 will be 2π*f1*t1. Then, assuming that at instant t2 the frequency of the frequency synthesizer changes from f1 to f2, the instantaneous phase of the output signal at instant t2 will have a value 2π*f2*t2 that differs from the phase value at t2 associated with frequency f1 (2π*f1*t2). Assuming that at instant t3 the frequency of the frequency synthesizer returns (changes back from f2) to f1, the instantaneous phase of the output signal at instant t3 will have a value 2π*f1*t3 which is a value that would have been reached spontaneously, as if no frequency changes occurred from f1 to f2 and from f2 back to f1. In this manner, the novel DDS circuit disclosed in the present disclosure maintains the phase-coherency of the output signal.


While certain features of the disclosure have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the disclosure.

Claims
  • 1. A method of generating a sinusoidal signal, comprising: applying to an input of a digital-to-analog converter a value derived from an entry in a first lookup table and an entry from a second lookup table.
  • 2. The method according to claim 1, wherein entries in the first and second tables represent values of a sinusoidal signal.
  • 3. The method according to claim 2, wherein the sinusoidal signal represented by entries of the first lookup table is out-of-phase with respect of the sinusoidal signal represented by entries of the second lookup table.
  • 4. The method according to claim 3, wherein an entry of the first lookup table and an entry of the second lookup table are accessed using a first portion of a phase word generated by a phase multiplier.
  • 5. The method according to claim 4, wherein the phase word is obtained by multiplying a time word with a frequency word.
  • 6. The method according to claim 4, wherein a second portion of the phase word is multiplied, by a phase error multiplier, with a corresponding entry in the second lookup table to obtain a phase-related error data that is added to an entry of the first lookup table to form the derived value.
  • 7. The method according to claim 1, wherein the derived value is derived such that phase coherence of the sinusoidal signal is maintained when the frequency word or time word is changed.
  • 8. An apparatus for generating a sinusoidal signal, comprising; a digital-to-analog converter adapted to receive a value derived from an entry in a first lookup table and an entry in a second lookup table.
  • 9. The apparatus according to claim 8, wherein an entry of the first lookup table and an entry of the second lookup table are accessed using a first portion of a phase word.
  • 10. The apparatus of claim 9, further comprising an adder for summing the first lookup table entry value and a phase-related error data to obtain the derived value.
  • 11. The apparatus of claim 10, further comprising: a phase multiplier adapted to generate the phase word; anda phase error multiplier adapted to generate the phase-related error data by multiplying a second portion of said phase word with a value in the second lookup table entry.
  • 12. The apparatus of claim 11, wherein the phase multiplier generates the phase word by multiplying a time word with a frequency word.
  • 13. The apparatus of claim 11, wherein the phase multiplier generates an N-bit phase word composed of N1-bit word as the phase word's first portion and N2 word as the phase word's second portion.
  • 14. A method of generating a phase coherent signal, comprising: applying to an input of a digital-to-analog converter a value derived from an entry in a first lookup table and an entry in a second lookup table.
  • 15. The method according to claim 15, wherein entries in the first and second tables represent values of a sinusoidal phase coherent signal.
  • 16. The method according to claim 16, wherein the sinusoidal signal represented by entries of the first lookup table is out-of-phase with respect of the sinusoidal signal represented by entries of the second lookup table.
  • 17. The method according to claim 17, wherein an entry of the first lookup table and an entry of the second lookup table are accessed using a first portion of a phase word that is generated by a phase multiplier.
  • 18. The method according to claim 18, further comprising multiplying, by the phase multiplier, a time-counter word with a frequency word to generate the phase word.
  • 19. The method according to claim 19, wherein a second portion of the phase word is multiplied, by a phase error multiplier, with a corresponding entry in the second lookup table to obtain a phase-related error data that is added to an entry of the first lookup table to form the derived value.
  • 20. The method according to claim 15, wherein the derived value is derived such that phase coherence of the signal is maintained when the frequency word or time-counter word is changed.
Priority Claims (1)
Number Date Country Kind
176652 Jun 2006 IL national