Abstract:
Disclosed are a method of and an apparatus devising a packet based DDS circuitry for performing packet based a direct digital synthesizing (DDS) function within an electronic testing instrument. The circuitry comprising a DDS logic circuit configured to execute direct digital syntheses on a plurality of consecutive packets of sine-like waves, each packet having a length of a period precisely chosen such that the sine wave at the end of one packet matches up with the sine wave at the start of the immediate subsequent packet. Also disclosed is an eddy current testing circuitry using multiple outputs of the single packet based DDS, one of the output is used in a circuit producing reference signals approximating the response signals. With the usage of the packet based DDS, the reference signal can be highly effective in nulling the unchanging portion of the response signals.

Description:
FIELD OF INVENTION 
       [0001]    The present invention relates generally to non-destructive testing and inspection (NDT/NDI) methods and instruments, more specifically to an improved method and circuitry for a direct digital synthesizer (DDS) with a significantly increased repeatability and a circuitry deploying such DDS in an NDT/NDI instrument, such as an eddy current instrument. 
       BACKGROUND OF THE INVENTION 
       [0002]    When using an NDT/NDI device, such as an eddy current flaw detector, inspecting a test object, some instruments are designed to operate at frequencies referred to as the “operating frequency”. Under most testing scenarios, the instrument sends a strong excitation signal to the probe to form the eddy current in the material under test. Since the instrument is tasked to measure very small changes to the phase and amplitude of the signal returned back to the probe as it is moved across the surface of the test object, it is highly desirable for the instrument to be able to null the unchanging portion of the signal and to better focus on the small changes. The existing eddy current instruments have not shown to be effective in nulling the unchanging portion, which largely decreases the sensitivity of the measurement and impedes the capture of very small changes or defects. 
         [0003]    The electronic circuitry of eddy current instruments commonly involve the usage of an electronic component widely known as direct digital synthesizer (herein later as “DDS”) for performing direct digital synthesizing functions. When multiple outputs of the DDS are devises for building reference signals, it can be appreciated by those skilled in the art that the high or perfectly repeatability of the DDS signals it is crucial. 
         [0004]    It is known in the art that perfect repeatability is a property of digital signal where each and every sine wave is composed of an identical set of numbers. 
         [0005]    A DDS of conventional architecture uses a control register to control the frequency. According to http://en.wikipedia.org/wiki/Direct_digital_synthesizer, a basic Direct Digital Synthesizer consists of a frequency reference (often a crystal or SAW oscillator), a numerically controlled oscillator (NCO) or an accumulator and a digital-to-analog converter (DAC) as shown in the figure of this reference. 
         [0006]    The reference provides a stable time base for the system and determines the frequency accuracy of the DDS. It provides the clock to the NCO or accumulator which produces at its output a discrete-time, quantized version of the desired output waveform (often a sinusoid) whose period is controlled by the digital word contained in the frequency control register. The sampled, digital waveform is converted to an analog waveform by the DAC. The output reconstruction filter rejects the spectral replicas produced by the zero-order hold inherent in the analog conversion process. 
         [0007]    As can be seen in the conventional DDS, the value of the frequency control register is added to the accumulator repeatedly on every system clock cycle. Thus the accumulator produces a series of ascending values. After a period of time the accumulator overflows, the carry bit is generated but it is not used. This causes the accumulator value to drop to a lower value and continues to accumulate without end. This is called modular arithmetic. The accumulator value is then passed to a circuit that performs the function SIN(accumulator*constant) to convert the accumulator values into a continuous sine wave for the digital to analog converter. 
         [0008]    For example, a conventional DDS constructed using a 32 bit accumulator and a 100 MHz system clock can synthesize signals as low as 0.023283064 Hz. All possible operating frequencies of this DDS are integer multiples of 0.023283064 Hz. That is to say operating frequency=0.023283064*frequency control register. This provides frequency accuracy of 0.12% or better for all frequencies greater than 10 Hz. 
         [0009]    According to Applicant&#39;s observation, signals of many frequencies produce numeric number sequences that are passed to the DAC that may take as long as 42.95 seconds (2 32 /10 8 ) before they repeat. Because the DDS generates each consecutive sine wave which is numerically different, it generates a different math errors and digital to analog (D to A) errors. This can produce an undesired noise since signal may take as long as 42.95 seconds to repeat. This noise is spread across the spectrum at every integer multiple of 0.023283064 Hz up to 50 MHz. Since this error is caused at the roll-over from one sine wave to the next, it is hereinafter referred by the Applicant as “roll-over error”. 
         [0010]    It is Applicant&#39;s believe the math error and/or “roll-over error” is uniquely observed by the Applicant and a corresponding solution to the problem was not found either. Accordingly, a solution is needed to overcome the roll-over error of the conventional DDS as described above and to achieve advantages of higher repeatability and sensitivity of testing results and subsequently improved inspection productivity. 
       SUMMARY OF THE INVENTION 
       [0011]    Accordingly, it is an object of the present disclosure to teach an apparatus and method that significantly eliminates the aforementioned problem of roll-over error of a direct digital synthesizer (DDS) by employing a novel packet design method of designing a packet based DDS, and applying such DDS to improve the sensitivity and accuracy of testing instruments. 
         [0012]    It is another object of the present disclosure to provide an NDT/NDI instrument, particularly for testing small anomaly of test objects, with the capability of nulling unchanging portion of the testing signals and of focusing on the often small yet changing portion of the testing signals. 
         [0013]    The foregoing and other objects of the invention are realized with the use of one or more reference signals designed to approximate the response signals and later to null the unchanging portion of the response signals. 
         [0014]    The foregoing and other objects of the invention are further realized by applying multiple outputs of a packet based DDS with perfectly repeatable DDS functions to both the reference and response signals. 
         [0015]    The foregoing and other objects of the invention are further realized by using a packet design method with which the DDS is designed to execute DDS function on packets of a sequence of one or more complete sine waves. The period of each packet is precisely chosen so that the sine wave at the end of one packet matches up with the sine wave at the start of the next packet so that the roll-over error is annihilated. 
     
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0016]      FIG. 1  is a schematic diagram of an exemplary embodiment of a Thomas DDS circuit according to the present disclosure. 
           [0017]      FIG. 2  is a flow chart exhibiting the process of a DDS packet design method according to the present disclosure. 
           [0018]      FIGS. 3   a ,  3   b  and  3   c  are exhibitions of some exemplary selection processes for “output cycles per packet” according to according to the present disclosure. 
           [0019]      FIG. 4  is schematic diagram of an embodiment of the eddy current inspection circuitry devised with the Thomas DDS according to the present disclosure. 
           [0020]      FIG. 5  is an exhibition of the core math used in the Thomas DDS generated by the packet design process. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0021]    Reference is made to  FIG. 1 , which is a schematic diagram of an exemplary embodiment of a DDS circuit according to the present disclosure. 
         [0022]    Referring to  FIG. 1 , the circuit representing DDS ( 102 ) according to the present disclosure embodies a count register  110 , a step register  112 , and a counter  114 , and a multiplier  116 , and a phase-to-sine converter  18 . A packet design calculator  100  is deployed either integrally with the DDS  102  or off-line, manually imported to provide selected output frequencies for all corresponding operating frequencies using a process called DDS packet design. The signal of DDS  102  or  104  is later fed to digital to analog converter  128 . As depicted in  FIG. 1 , this DDS  102  presents a different architecture from that of the conventional ones and has been designed so that it produces consecutive sine waves from  118  that are all numerically identical. As known to those skilled in the art that many measurement instruments, including those of Eddy Current instruments, are operated at one of many predetermined operating frequencies. With this signal structure, all the errors from the math of the DDS operation and A to D converter appear at the output as stable harmonics of the operating frequency. Harmonics do not degrade the performance of the instrument. Further explanation is elaborated hereinafter. 
         [0023]    To provide further explanation, still in reference to  FIG. 1 , this method can be viewed as a packet based DDS wherein a sine wave is packed into a packet of any integer number of clock periods. The concept of “packet” is herein referred to a packet of sine waves that one complete cycle of counter  114  generates. This packet is transmitted repeatedly so as to produce a continuous sine wave of the operating frequency. All math and A to D errors are repeated at exactly a packet frequency making all the energy in these errors fall on the harmonics of the packet frequency. Because the packet size is limited to a selection of time periods that is an integer number of system clock periods, it is not possible to synthesize all the required frequencies with the required precision with only one sine wave in the packet. The concept of “system clock” is known by those skilled in the art, which in this context refers to the clock of the DDS device. Usually, this system clock could be the same one as the system clock used by the processor or GPU of the instrument. This is a problem that occurs at many operating frequencies above 100 KHz. This is because a packet containing a single sine wave has a period less than 1000 system clock cycles. This reduces the resolution of frequency control. At higher frequencies many sine waves must be packaged into a single packet. Because the packet frequency remains above 100 KHz and all the noise is distributed to the harmonics of the packet frequency they do not degrade instrument performance. Herein the packet frequency is the number of packets sent each second during the DDS operation. 
         [0024]    Continuing with reference made to  FIG. 1 , Count Register  110  is set by the instrument to the packet period minus 1. Count Register output signal S 12  which controls the modulus of counter  114 . Counter  114  increments by one on each system clock cycle. The Counter output signal S 14  is an ascending sequence of numbers starting at 0 until Counter=Count Register, then the on the subsequent system clock cycle, Counter  114  is reset to zero, then repeats the sequence again indefinitely. One perfectly complete cycle of counter  114  generates a single packet. 
         [0000]      The counter count period=(Count Register+1) system clock cycles  Eq. 1
 
         [0025]    The principle used for this improved method of designing a DDS is that a sequence of one or more complete sine waves must be generated to form each packet. The period of this sine wave or group of sine waves must closely match the packet size or period so that the sine wave at the end of one packet matches up with the sine wave at the start of the next packet. Because this is a digital system for which the only time reference is based on a system clock, therefor the output must advances in discreet phase angle steps. “System clock” and the associated “system clock frequency” are known and understood by those skilled in the art. 
         [0000]      Step angle=(operating frequency/system clock frequency)*2*π  Eq. 2
 
         [0026]    Step Register  112  is controlled by the instrument to control the sine wave period. 
         [0027]    Continuing making reference to  FIG. 1 , in an exemplary implementation according to the present disclosure, a 32 bit register is used as Step Register  112 . A 32 bit register can be set to any value between 0 and 4,294,967,295. The register is needed to represent step values that are all less than 0.12 so the following significance is applied to Step Register  112 . Therefore in this case, 
         [0000]      Step angle=(Step Register/4,294,967,296))*2*π  Eq. 3
 
         [0028]    Step Register  112  is designed as follows. 
         [0000]      Step Register=(2 32 *Operating frequency/system clock frequency)  Eq. 4
 
         [0029]    Counter output S 14  is multiplied with the result from Step Register S 16  by multiplier  116  resulting signal S 18 . S 18  is a 32 bit digital signal representing the phase of the output with numeric amplitude of 0 to 4,294,967,295. If more than one sine wave is contained in each packet, then the result of multiplying S 14 *S 16  will sometimes exceed 4,294,967,295, the bits that cannot be represented by the 32 bits of S 18  are dropped or negated. 
         [0030]    As a result, S 18  is the current output phase angle. 
         [0000]      Phase  S 18=(2*π)/4,294,967,296  Eq. 5
 
         [0031]    As can be seen in  FIG. 1 , phase-to-sine wave conversion is done by a SIN(x) function inside block  118 . 
         [0032]    Output of sine function block  118  or DAC&#39;s input S 4  is therefore expresses as: 
         [0000]        S 4=SIN(( S 18 2*π)/4,294,967,296)*Amplitude-Set  Eq. 6
 
         [0033]    Amplitude-Set sets the amplitude of the sine wave output. 
         [0034]    Alternatively, in another example, when a 16 bit DAC is used, Amplitude-Set value range is 0 to 32,767. 
         [0035]    Subsequently, DAC  128  or  126  converts the sine converter output S 4  into an analog output. 
         [0036]    It should be noted that the hardware or circuitry architecture shown in  FIG. 1  is not the only architecture or embodiment that could be used to generate the signals described above. The most important novel aspect of the present disclosure, however, is the used of newly designed packet based DDS and the associated method of selecting a packet frequency, or the number of cycles per packet for each desired DDS output frequency, so that the circuit can synthesize the required operating frequency without the roll-over errors. As can be seen, the circuitry shown in the DDS cannot synthesize all the required output frequencies without frequency error. Therefore, many frequency possibilities must be replaced with a suitable substitute, which is a selected packet frequency. The operating principle of packet design calculator  100  for selecting the substitute frequency and packet length is herein described with the help of making reference to  FIG. 2 . 
         [0037]    Alternatively, instead of using circuitry  102  of  FIG. 1 , this principal of the packet based DDS and the associated method herein disclosed can be deployed by providing the output of packet design calculator  100  to an arbitrary function generator known to those skilled in the art. This can achieve the same result as the circuitry shown in  FIG. 1 . 
         [0038]    The process of herein described selecting substitute or suitable output frequency which should be or a close match of the respective operating frequency involves the usage of a computing tool, such as that can be devised by a spreadsheet program. The computing tool is herein referred as “packet design calculator” ( 100  as in  FIG. 1 ). The purpose of using such packet design calculator is to provide a corresponding packet frequency for the DDS for each corresponding DDS output frequency or operating frequency. A table of selected packet frequencies with their corresponding DDS output frequencies is therefore generated and then imported or loaded to a memory device which is usually the memory device of the CPU or the processor of the instrument. It should be noted that at any given time during the operation of the newly designed DDS device, only one pair of the selected packet frequency with its corresponding DDS output frequency is loaded. By design, therefore operates without the “roll-over error. 
         [0039]    Reference is now made to  FIG. 2 , a process shown in flow-chart steps describing the packet design method. It should be noted that the steps of this design method can be executed either by designer manually off-line, or by a data processor or a computing device residing on-board of the instrument. The design result, which is explained above, a table of packet frequencies, is then loaded in a DDS device, such as  102  shown in  FIG. 1 . 
         [0040]    With further elaboration of  FIG. 2 , in step  202 , a designer or the data processor starts the DDS design with the known system clock frequency and a range of frequency error tolerance predetermined by the designer. These are the two known values for the parameters listed to the right-hand side of  FIGS. 3   a ,  3   b  and  3   c , namely as “System Clock Frequency” and “Frequency Tolerance”. 
         [0041]    Further, in step  204 , the designer determines the total number of N desired output frequencies for the DDS. In this regard, for further clarification, both the quantity of number N and the value of each of N specific values of the desired output frequencies for DDS are predetermined by the designer. 
         [0042]    In step  206 , either the designer or the processor chooses # i of desired output frequency and make input of such in the packet design calculator  100  of  FIG. 1 , where i=1, 2, . . . , N. This is further shown in  FIGS. 3   a ,  3   b  and  3   c  to the right-hand side as the “Desired output frequency” with a specific value. 
         [0043]    In step  208 , the DDS packet design calculator  100 , embodied by the presently disclosed packet design process, is used to conduct computation of a series of DDS configuration options for the #i desired output frequency. More detailed description of the packet design calculator is provided later in association with exhibitions shown in  FIGS. 3   a ,  3   b  and  3   c.    
         [0044]    In step  210 , the most suitable “ideal packet period” or output frequency that falls within the frequency tolerance is selected. This would be optionally and preferably the first row of data that is marked with the OK flag in column #6 for “Freq. OK Flag” in  FIGS. 3   a ,  3   b  and  3   c . The selection of such output frequency provides the “Packet period” value from selected “Rounded Packet period” and “Step Register” values for use in the instrument to configure the DDS for the “Desired output frequency”, which is further described in association with  FIGS. 3   a ,  3   b , and  3   c.    
         [0045]    Step Register and Rounded Packet period are pairs from the same spreadsheet line. Each of which is used as a DDS configuration for a particular frequency setting. 
         [0046]    In step  212 , it is checked if the selection process for output frequency (steps  206 - 210 ) is done for all N desired output frequencies. If not, the selection process repeats until all the desired output frequencies. 
         [0047]    In step  214 , the table of DDS operational parameter with all the pairs of step register and rounded packet period for corresponding desired output frequencies are stored; and in step  216 , the table of data is imported, preferably in a memory of the instrument, to build DDS as the “core math” of the DDS. In another word, the herein built DDS operates with the selected output frequency for each desired output frequency with substantially zero roll-over error, or substantially perfect repeatability. This is how the novel aspect of the present disclosure is obtained. 
         [0048]    Reference now is made to three spreadsheet exhibitions in  FIGS. 3   a ,  3   b  and  3   c , which are exemplary cases showing how packet design calculator  100  works. 
         [0049]    Referring to  FIG. 3   a , an exemplary case of how the packet design calculator is used to select the value of an output frequency to operate the DDS ( 102  in  FIG. 1 ) in a substantially perfectly repeatable fashion. 
         [0050]    In order for DDS  102 , or any other circuits with the same function of  102 , to operate without roll-over errors, or with perfect repeatability, two operational parameters are required. The two parameters are:
       a. Col. #3, The Rounded Packet Period, which is period of the packet representing the number data points in the packet.   b. A number referred as the value of the Step Register (See later description related to  FIGS. 3   a ,  3   b  and  3   c .)       
 
         [0053]    The three inputs of known parameters made in steps  204  and  206  to the packet design calculator and listed to the right-hand side of the spreadsheet, are: system clock frequency, in this case to be 100 MHz; desired output frequency, to be 8.9 MHz for the case shown in  FIG. 3   a ; and frequency tolerance which is a limit of allowed frequency variance from the desired output frequency expressed in percent. In this case, the frequency tolerance is set to be 0.05%. 
         [0054]    After these three inputs have been entered, the spread sheet provides a list of possible DDS configurations. Each row is calculated so that each packet will contain the number of output sine waves listed in the 1 st  column (Output Cycles per Packet). The returned data of our most interest is the rounded packet period and Step Register value that produces an adjusted output frequency that is as close to the Desired output frequency as possible. It should be noted that the operating frequency or the “desired output frequency” of the DDS is not used in the DDS design parameter; instead its “adjusted output frequency” which falls within the frequency tolerance is used. For the exemplary case of  FIG. 3   a , this is because the adjusted output frequency (8,904,109.59 Hz) provides the rounded packet period, an integer number of system clock cycles and at the same time, meets the criteria of within the acceptable frequency tolerance range. A Tolerance flag show an “OK” on each line that produces a frequency that meets the user&#39;s requirements. 
         [0055]    It should be noted that Excel sheet is only an exemplary method to carry out the subsequent calculation. Many other calculators can be used to carry out the packet design calculation based on the principle herein disclosed. 
         [0056]    Still referring to  FIG. 3   a , the other details of the packet design calculator or spreadsheet are further elaborated. It should be noted that herein referred “desired output frequency” is the same as the operating frequency as it is to design the DDS to operate at certain operating frequencies.
       1 st  column, “Output Cycles Per Packet”: This denotes the cycles of output sine-waves per packet. It is a list of possibilities for the number of output cycles in each packet. No formula for this column.   2 nd  column “Ideal Packet period”: This denotes the ideal packet size in terms of length of time per packet, in the concept of number of system clock cycles. This is the packet period needed to produce the exact desired output frequency.       
 
         [0000]      Clocks per Packet=(Output cycles of sine-wave Per Packet)*(Ideal # of clocks per sine-wave)  Eq. 7
 
         [0059]    For most frequencies this is not an integer, and therefore it cannot be used by the circuit hardware.
       3 rd  column: “Rounded packet period”, which is the “Ideal Packet period” being rounded to the nearest integer value, since the clock cycles can only be integers.       
 
         [0061]    Rounded packet period can be expressed by, if using Excel spreadsheet syntax, as: 
         [0000]      Round (“Ideal Packet period”,0)  Eq. 8
 
         [0000]    This value of “rounded packet period” sets the counter modulus.
 
If selected this value will become the “Packet period”, for which, in reference to  FIG. 1  the Count Register  118  is set to (Packet period −1) and for the DDS to operate at for the desired output frequency.
       4 th  column: “Adjusted Output Frequency”,       
 
         [0000]      Adjusted Output Frequency=Output Cycles Per Packet*System Clock frequency/Rounded Packet Period  Eq. 9
 
         [0000]    Using a Packet period that has been rounded to an integer value will cause a small change in the output frequency.
       5 th  column: “Adjusted Frequency Error”, the magnitude showing in percentage that the frequency will be to be adjusted caused by rounding the Packet period to an integer value.       
 
         [0000]      Adjusted Frequency Error=Adjusted Output Frequency/Desired output frequency  Eq. 10
       6 th  column “OK Flag”: Marks the rows that produce a frequency within in the Frequency Tolerance, which is 0.05% in this case, in Excel syntax, it&#39;s expressed as:       
 
         [0000]      IF(ABS(Adjusted Freq Error)&lt;=Tolerance, “OK”, “ ”)  Eq. 10
       7 th  column “Step Reg”: For the row that is selected when the adjusted frequency error falls within the range of the defined tolerance, this value would be loaded into the DDS Step Register  2012 .       
 
         [0000]      Step Register=(2 32 *Adjusted Output Frequency)/System clock frequency  Eq. 11
 
         [0066]    As a result, this provides the “Packet period” value from selected “Rounded Packet period” and “Step Register” values for use in the instrument to configure the DDS for the “Desired output frequency”. 
         [0067]    Step Register and Rounded Packet period are the pairs from the same spreadsheet line of #13 in column 1. Packet design calculator  100  has therefore yield the selected pair of values of step register and rounded packet period to be 146 and 382,428,595, respectively. By providing this pair of the value defining the DDS to operate for the system clock frequency of 100 MHz, and with desired output frequency of 8.9 MHz, the DDS will be performing with perfect repeatability. 
         [0068]    Intuitively, the number of sine waves per packet can be derived by the number of clocks per packet divided by ideal number of clocks per sine-wave cycle. 
         [0069]    Similarly,  FIGS. 3   b  and  3   c  exhibit the same calculating steps as that shown in  FIG. 3   a , for two scenarios with desired output frequency 10 MHz, and 11 MHz, respectively; both of are fore system clock frequency of 100 MHz. 
         [0070]    Reference is now made to  FIG. 4 , which is a schematic diagram of the analog measurement portion of the circuit of an eddy current instrument embodying the packet based DDS according to the present disclosure. As shown in  FIG. 4 , a DDS Core Math block  410  is the math produced by the packet based DDS  102 . It can be understood the core math represents the functions executed by components  110 ,  112 , S 12 ,  114 , S 14 , S 16 ,  116  shown in  FIG. 1 , producing signal S 18  as the output. The analog measurement portion of circuit comprises the core math block  410 , a pair of amplitude-phase adjuster  402  and  404  with corresponding DAC converters  126  and  128 , an amplifier  426 , an A to D converter  428  and an eddy current probe  424 . Preferably, a resistor  430  is also devised between the DDS logic and probe  424 . 
         [0071]    Each of amplitude-phase adjusters  402  and  404  is followed by a sine converter and further followed by a multiplier to adjust the output S 2  and S 4  amplitudes. Each adjuster  402  and  404  contains independent phase and amplitude registers set by the processor, such as an FPGA of the instrument. For adjuster  402 , output S 2 =SIN(S 18 + 102 &#39;sPhase Reg.)* 102 &#39;s Amplitude Reg. For adjuster  404 , output S 4 =SIN(S 18 + 102 &#39;sPhase Reg.)* 104 &#39;s Amplitude Reg. 
         [0072]    Digital signals S 2  and S 4  are passed through DACs  126  and  128  to produce analog sine waves  420  for signal S 6  and  422  for signal S 8 . It should be noted that S 8  is the source of the probe drive signal; it is passed through a resister  430 , a 100 ohm resistor in this case, to an eddy current probe  424 . Signal S 6  is viewed as a reference signal mirroring S 8 . 
         [0073]    The voltage at the + input of amplifier  426  is preferably an attenuated and phase shifted copy of the original from signal S 8 . As probe  424  is moved over a testing material under test, there are small changes in the amplitude and phase at the + input to amplifier  426 . Accurate measurement of these small changes in amplitude and phase is the principal of operation for an eddy current flaw detector. Signal  420  provided as input signal S 6  is then adjusted to approximately equal the signal on the + input to amplifier  426 . Signal S 6  is subtracted from the + input signal by the differential input of amplifier  426 . This greatly reduces the large unchanging portion of the probe signal so that amplifier  426  can be set to a larger gain without overloading the A to D  428 . Thus the signal on S 10  to the A to D contains more of the information about the material the probe is passing over and less of the unchanging probe drive signal. 
         [0074]    It should be noted that this represents the significance and novelty of the presently disclosed design of using this “dual-DAC” design in which a nulling effect is achieved by largely reducing the “unchanged” portion of the probe signal. The two DDS channels formed by components in the upper and lower branches of circuit shown in  FIG. 4  are both operating at different phase and amplitude settings. Because one DDS output is subtracted from the other, any dynamic variation in the DDS outputs would be amplified and compete with the changes caused by the probe. This would cause a reduced signal to noise ratio. 
         [0075]    If a conventional DDS were to be used, then D to A&#39;s  126  and  128  would most likely receive none repeating sine waves with math and D to A errors that do not match; thus the errors pass through to the A to D and mix into the received signal from the probe reducing the sensitivity of the instrument. However, a perfect repeatable DDS as presently disclosed does not have this dynamic variation in the signals. There are math errors and D to A errors nonetheless. The significance is that errors are exactly the same on each and every DDS output cycle. Thus the errors are static and can be eliminated by the instruments calibration procedure. This is the significance and the key technique of the presently disclosed packet based DDS enabling the success usage of the dual DAC design achieving nulling effect of the significantly reducing the unchanging portion of the probe signal. This allows for the focus and magnifying the changing portion of the probe, which represents the anomaly that the testing is focused on. 
         [0076]    It should be noted that two DDS logic with associated DACs can be designed with other alternative configurations with the goal of nulling or cancelling the unchanging part of the signal. 
         [0077]      FIG. 5 . Shows an exemplary portion of what core math block  410  provides to the two amplitude-phase adjusters.
       Column 1 “Operating Frequency” is the same as describe previously.   Column 2 “Count” is the packet size. Because of implementation details this value is not the same as the value in Count Register  110  of  FIG. 1     Column 3 “step” is the decimal format of the  112  Step register value.
           Conversion formula: Decimal fraction*2 32 =Binary value   
               
 
         [0082]    As described above, the pairs of values of packet size and step are the results of the operation from the presently disclosed packet based DDS shown in  FIG. 1 . It should be noted that values from the core math is deployed one set at a time during operation of the measurement circuit for each specific operating frequency. 
         [0083]    The forgoing description of embodiments associated with  FIGS. 4 and 5  is illustrated as a measurement circuitry for an eddy current instrument. However, the scope and teaching of the present disclosure can be readily applied to other instruments involving signal of the nature of continuous waves. In addition, it is conceivable that, enlightened by the teaching of the present disclosure, one skilled in the art can device the packet design calculator in multiple ways either implemented by manual computation, or a digital processing module executing the herein disclosed method. The digital processing module can also be on-board the processor of the instrument or alternatively be a stand-along unit. Such alternative designs are within the scope and teaching of the present disclosure.