US20220216858A1 - Variable frequency comb generation - Google Patents
Variable frequency comb generation Download PDFInfo
- Publication number
- US20220216858A1 US20220216858A1 US17/452,321 US202117452321A US2022216858A1 US 20220216858 A1 US20220216858 A1 US 20220216858A1 US 202117452321 A US202117452321 A US 202117452321A US 2022216858 A1 US2022216858 A1 US 2022216858A1
- Authority
- US
- United States
- Prior art keywords
- frequency comb
- sine wave
- frequency
- frequencies
- generate
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/01—Shaping pulses
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K7/00—Modulating pulses with a continuously-variable modulating signal
- H03K7/06—Frequency or rate modulation, i.e. PFM or PRM
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K4/00—Generating pulses having essentially a finite slope or stepped portions
- H03K4/92—Generating pulses having essentially a finite slope or stepped portions having a waveform comprising a portion of a sinusoid
Definitions
- the present disclosure relates generally to frequency combs and to systems and methods for generating frequency combs.
- a frequency comb is a signal that includes a series of discrete, equally spaced frequencies.
- a frequency comb is defined by three characteristics: starting frequency, frequency spacing, and number of frequencies.
- the starting frequency is the frequency of the “tooth” in the frequency comb that has the lowest frequency.
- the frequency spacing is the difference in frequency between adjacent “teeth” in the frequency comb.
- the number of frequencies is the number of “teeth” in the frequency comb.
- Frequency combs have various applications. Examples of applications for frequency combs include, without limitation, wide band signal generation for phased arrays, geolocation of signals, probing signal generation, signal propagation measurement, and radio frequency signal characterization and test measurement. Wide band signal generation using frequency combs may be applied to software defined radio systems, satellite and ground communications systems, radar systems, and other appropriate systems and applications.
- Frequency combs can be generated in various different ways.
- frequency combs typically may be generated in an analog fashion using nonlinear devices.
- frequency combs may be generated by periodically modulating a continuous-wave laser in amplitude, phase, or both amplitude and phase.
- Other known methods for generating frequency combs include four-wave mixing in nonlinear media and stabilization of the pulse train generated by a mode-locked laser. These methods for generating frequency combs for relatively high frequency applications are relatively complex and may not be appropriate for generating frequency combs for relatively lower frequency applications, such as radio frequency applications.
- frequency combs currently may be generated digitally using lookup tables or CORDIC algorithms implemented in hardware.
- CORDIC coordinate rotation digital computer
- Such methods for generating frequency combs digitally require one lookup table or CORDIC algorithm implementation for each frequency “tooth” of the comb.
- Existing solutions for generating a frequency comb digitally thus require summing up results from many lookup tables or CORDIC algorithms to generate frequency combs of variable sizes.
- Systems and methods for generating frequency combs that overcome the limitations of current systems and methods are desired.
- systems and methods are desired for generating frequency combs digitally that are more flexible and simple to implement than current systems and methods.
- Illustrative embodiments provide a method of generating a frequency comb.
- a sine wave is generated.
- the sine wave is processed by a universal differential equation to generate the frequency comb.
- Illustrative embodiments also provide a method of generating a frequency comb by selecting a sampling rate and an increment.
- a sine wave is generated comprising samples at the selected sampling rate and the selected increment corresponding to a number of samples for a period of the sine wave.
- the sine wave is processed to generate the frequency comb.
- a starting frequency in the frequency comb is a function of the selected sampling rate and the selected increment.
- a number of frequencies in the frequency comb is a function of the selected increment.
- a frequency spacing of the frequencies in the frequency comb is a function of the selected sampling rate and the selected increment.
- Illustrative embodiments also provide an apparatus for generating a frequency comb comprising a sine wave generator and a universal digital filter.
- the sine wave generator is configured to generate a sine wave.
- the universal digital filter is configured to process the sine wave using a universal differential equation to generate the frequency comb.
- FIG. 1 is an illustration of a block diagram of a variable frequency comb generator in accordance with an illustrative embodiment
- FIG. 2 is an illustration of a block diagram of an implementation of a universal digital filter in accordance with an illustrative embodiment
- FIGS. 3-6 are illustrations of implementations of parts of a universal digital filter in accordance with an illustrative embodiment
- FIG. 7 is a frequency domain illustration of a frequency comb generated in accordance with an illustrative embodiment
- FIG. 8 is an illustration of a block diagram of an arrangement of components for performing timing calibration across frequencies of an electronic circuit using a variable digital frequency comb generator in accordance with an illustrative embodiment
- FIG. 9 is an illustration of a block diagram of an arrangement of components for performing timing calibration across frequencies of a receiver using a variable digital frequency comb generator in accordance with an illustrative embodiment
- FIG. 10 is an illustration of a block diagram of an arrangement of components for performing propagation measurement of a receiver using a variable digital frequency comb generator in accordance with an illustrative embodiment
- FIG. 11 is an illustration of a flowchart of a process for generating a frequency comb in accordance with an illustrative embodiment
- FIG. 12 is an illustration of a flowchart of a process for performing timing calibration across frequencies of an electronic circuit using a variable digital frequency comb generator in accordance with an illustrative embodiment
- FIG. 13 is an illustration of a flowchart of a process for performing timing calibration across frequencies of a receiver using a variable digital frequency comb generator in accordance with an illustrative embodiment
- FIG. 14 is an illustration of a flowchart of a process for performing propagation measurement of a receiver using a variable digital frequency comb generator in accordance with an illustrative embodiment
- FIG. 15 is an illustration of a block diagram of a data processing system in accordance with an illustrative embodiment.
- the illustrative embodiments recognize and take into account different considerations. For example, the illustrative embodiments recognize and take into account that currently there are various applications for frequency combs and various ways to generate frequency combs. Generating frequency combs digitally may be appropriate for relatively lower frequency applications, such as radio frequency applications. However, current methods for generating frequency combs digitally are relatively complex and inflexible.
- Illustrative embodiments provide a variable frequency comb generator that uses a single lookup table or CORDIC algorithm in combination with a nonlinear filter to generate a frequency comb.
- the lookup table or CORDIC algorithm is used to generate a sine wave that is processed by the filter using a universal differential equation to generate a frequency comb with a desired number of frequencies and frequency spacing.
- the filter may implement the universal differential equation using relatively simple digital circuitry. Therefore, a variable frequency comb generator in accordance with an illustrative embodiment may be physically smaller and simpler to implement than current frequency comb generators.
- a frequency comb generated in accordance with an illustrative embodiment has constant amplitude tones that cover a desired frequency range. Characteristics of a frequency comb generated in accordance with an illustrative embodiment may be controlled by selecting the sample rate and the table lookup or CORDIC algorithm increment used to generate the sine wave. By controlling these two parameters, along with a mixer frequency, a variable frequency comb generator in accordance with an illustrative embodiment may be used to generate a frequency comb having almost any desired characteristics, subject to the limitations of the sample rate of the circuit in which the variable frequency comb generator is implemented. Therefore, variable frequency comb generation in accordance with an illustrative embodiment may be more flexible than current systems and methods for frequency comb generation.
- variable frequency comb generator 100 is configured to generate desired frequency comb 102 .
- Variable frequency comb generator 100 may be implemented to generate desired frequency comb 102 using digital hardware, analog hardware, or an appropriate combination of digital and analog hardware. Variable frequency comb generator 100 that is implemented to generate desired frequency comb 102 digitally may be referred to as a variable digital frequency comb generator.
- desired frequency comb 102 that is generated digitally into an analog frequency comb signal or to convert desired frequency comb 102 that is generated as an analog signal into an appropriate digital form for use.
- Such a conversion from digital to analog or from analog to digital may be needed to use desired frequency comb 102 generated by variable frequency comb generator 100 for a particular purpose or for any other appropriate reason.
- a digital-to-analog converter (not shown in FIG. 1 ) or other appropriate device or method may be used to convert desired frequency comb 102 that is generated digitally by variable frequency comb generator 100 into an analog frequency comb signal for use.
- variable frequency comb generator 100 may be implemented in any appropriate manner.
- the functionality of variable frequency comb generator 100 to generate desired frequency comb 102 digitally may be implemented using digital hardware devices or systems such as field-programmable gate array 106 , application-specific integrated circuit 108 , data processing system 110 , other appropriate hardware devices or systems, or any appropriate combination of hardware devices and systems.
- some or all of the functionality of variable frequency comb generator 100 as described herein may be implemented in software running on data processing system 110 .
- Desired frequency comb 102 is a signal that comprises a series of discrete, equally spaced frequencies.
- the frequencies comprising desired frequency comb 102 may include frequencies in any appropriate ranges of frequencies.
- the frequencies comprising desired frequency comb 102 may include optical frequencies, radio frequencies, acoustic frequencies, frequencies in other ranges of frequencies, or frequencies in more than one range of frequencies.
- the time domain representation of desired frequency comb 102 is:
- Desired frequency comb 102 is thus defined by three characteristics: starting frequency F 0 112 , number of frequencies N f 114 , and frequency spacing ⁇ F 116 .
- Starting frequency F 0 112 is the frequency of the “tooth” in desired frequency comb 102 that has the lowest frequency.
- Number of frequencies N f 114 is the number of “teeth” in desired frequency comb 102 .
- Frequency spacing ⁇ F 116 is the difference in frequency between adjacent “teeth” in desired frequency comb 102 .
- desired frequency comb 102 having desired values for characteristics 112 , 114 , and 116 may be generated by variable frequency comb generator 100 by selecting appropriate values for three parameters: sampling rate F s 118 , increment 1/P 120 , and mixer frequency F m 122 .
- Variable frequency comb generator 100 thus may be used to generate desired frequency combs 102 having various different characteristics 112 , 114 , and 116 by selecting various different appropriate values for parameters 118 , 120 , and 122 .
- the use and selection of appropriate parameters 118 , 120 , and 122 for generating desired frequency comb 102 by variable frequency comb generator 100 is described in more detail below.
- Variable frequency comb generator 100 may comprise controller 124 , interface 126 , sine wave generator 128 , universal digital filter 130 , and mixer 132 .
- Controller 124 may be configured to control general operation of variable frequency comb generator 100 .
- controller 124 may be configured to control the starting and stopping of other components of variable frequency comb generator 100 to generate desired frequency comb 102 .
- Interface 126 may be configured to provide for interaction between variable frequency comb generator 100 and user 134 .
- User 134 may be any appropriate user of variable frequency comb generator 100 .
- user 134 may be human operator 136 , application 138 implemented on a machine, or both.
- Interface 126 may include user interface 140 to provide for interaction between human operator 136 and variable frequency comb generator 100 .
- User interface 140 may be implemented in any appropriate manner to provide for interaction between human operator 136 and variable frequency comb generator 100 .
- user interface 140 may comprise a graphical user interface.
- interface 126 may include application programming interface 142 , or any other appropriate interface, to provide for interaction between application 138 on a machine and variable frequency comb generator 100 .
- Desired frequency comb 102 generated by variable frequency comb generator 100 may be provided to user 134 via interface 126 in any appropriate form.
- Other functionality provided by interface 126 may include, without limitation, controller interface 144 and parameter values selector 146 .
- controller interface 144 may be configured to allow user 134 to control, view, or both control and view the general operation of variable frequency comb generator 100 by controller 124 .
- Parameter values selector 146 may be configured to allow user 134 to select the values of parameters 118 , 120 , and 122 to be used by variable frequency comb generator 100 to generate desired frequency comb 102 . Parameter values selector 146 may be configured to allow user 134 to select the values of parameters 118 , 120 , and 122 directly. Alternatively, or in addition, parameter values selector 146 may be configured to allow user 134 to select values for characteristics 112 , 114 , and 116 of desired frequency comb 102 to be generated by variable frequency comb generator 100 . In this case, values for parameters 118 , 120 , and 122 needed to generate desired frequency comb 102 having the selected characteristics 112 , 114 , and 116 may be determined automatically by variable frequency comb generator 100 .
- desired frequency comb 102 is generated using sine wave generator 128 , universal digital filter 130 , and mixer 132 .
- Sine wave generator 128 is configured to generate sine wave 146 using the selected values for the parameters sampling rate F s 118 and increment 1/P 120 .
- Sine wave 146 generated by sine wave generator 128 comprises samples 148 .
- Samples 148 comprise values for sine wave 146 at discrete points in time.
- sine wave generator 128 may be configured to generate sine wave 146 using lookup table 150 or CORDIC algorithm 152 .
- Lookup table 150 comprises values for one cycle of a sine wave at many discrete points in the cycle.
- Sine wave generator 128 may generate sine wave 146 by obtaining values for samples 148 defining sine wave 146 from lookup table 150 at sampling rate F s 118 and increment 1/P 120 .
- Increment 1/P 120 is inversely related to the period P of sine wave 146 and determines the number of values for samples 148 that are obtained from lookup table 150 for an entire period P of sine wave 146 .
- the number of values for samples 148 that are obtained from lookup table 150 for a period P of sine wave 146 will be relatively large when the value of increment 1/P 120 is relatively small and will be relatively small when the value of increment 1/P 120 is relatively large.
- CORDIC algorithm 152 uses relatively simple shift-add operations to calculate values of trigonometric functions, such as sine waves.
- CORDIC algorithm 152 may be implemented in any appropriate manner in variable frequency comb generator 100 .
- Sine wave generator 128 may generate sine wave 146 by obtaining values for samples 148 defining sine wave 146 using CORDIC algorithm 152 at sampling rate F s 118 and increment 1/P 120 .
- Increment 1/P 120 is inversely related to the period P of sine wave 146 and determines the number of values for samples 148 that are obtained using CORDIC algorithm 152 for an entire period P of sine wave 146 .
- Increment 1/P 120 may be referred to as a step in CORDIC algorithm 152 used to generate samples 148 for sine wave 146 .
- Universal digital filter 130 is configured to process sine wave 146 to generate frequency comb 154 .
- the filter function of universal digital filter 130 is selected to generate frequency comb 154 from sine wave 146 for sine waves of certain frequencies.
- discretized universal differential equation 131 may be used to implement a digital difference equation that forms nonlinear universal digital filter 130 .
- universal digital filter 130 may be configured to implement the following universal differential equation filter function to generate frequency comb 154 from sine wave 146 for sine waves of certain frequencies:
- y 1 ⁇ 11/6 ⁇ y 1 +3 y 2 ⁇ 3/2 ⁇ y 3 +1/3 ⁇ y 4 , (4)
- z i is the value of the output of universal digital filter 130 for point in time i.
- y 1 , y 2 , y 3 , and y 4 are the values of sequential samples 148 of sine wave 146 input to universal digital filter 130 for points i-3, i-2, i-1, and i, respectively.
- y 1 , y 2 , y 3 , and y 4 also may be expressed as y i-3 , y i-2 , y i-1 , and y i , respectively.
- Period P is the period of the starting frequency f 0 of frequency comb 154 , expressed as a number of samples 148 for the given sampling rate F s 118 for an entire period P of sine wave 146 . As discussed above, the value of period P defines increment 1/P 120 used for generating sine wave 146 from lookup table 150 or CORDIC algorithm 152 .
- N f is the number of frequencies in frequency comb 154 and in desired frequency comb 102 .
- f 0 is the lowest frequency in frequency comb 154 , expressed relative to sampling rate F s 118 .
- ⁇ f is the frequency spacing in frequency comb 154 , expressed relative to sampling rate F s 118 .
- var(spectral peaks) is the variance of the spectral peaks in frequency comb 154 . This is a measure of the numerical performance of the algorithm for generating frequency comb 154 as well as the performance of universal digital filter 130 in generating frequency comb 154 .
- the table shows only a sample of possible combinations of values that may be used to select values for the parameters sampling rate F s 118 and increment 1/P 120 to generate sine wave 146 from which universal digital filter 130 generates frequency comb 154 . Many more combinations of values are possible that are not shown in the table, even within the ranges of values shown in the table. Such other appropriate values may be determined using fractional periods and may require appropriate adjustments in lookup table 150 or CORDIC algorithm 152 used to generate sine wave 146 .
- Universal digital filter 130 may be implemented in any appropriate manner to implement universal differential equation 131 .
- universal digital filter 130 may be implemented in pipeline 156 .
- pipeline 156 data processing elements are connected in series, such that the output of one element is provided as the input to the next element in the series. The elements may then be operated in parallel.
- Desired frequency comb 102 may be generated from frequency comb 154 generated by universal digital filter 130 from sine wave 146 by processing frequency comb 154 by mixer 132 to convert the frequencies in frequency comb 154 upward or downward by the value of mixer frequency F m 122 .
- Mixer 132 may be implemented in any known and appropriate manner.
- Desired frequency comb 102 having desired values for the characteristics starting frequency F 0 112 , number of frequencies N f 114 , and frequency spacing ⁇ F 116 may be generated by variable frequency comb generator 100 by selecting appropriate values for the parameters sampling rate F s 118 , increment 1/P 120 , and mixer frequency F m 122 .
- Desired frequency comb 102 generated by variable frequency comb generator 100 in accordance with an illustrative embodiment, may be used for any appropriate application 138 in any appropriate system 158 .
- desired frequency comb 102 may be used in application 138 such as geolocation of signals, probing signal generation, propagation measurement and characterization, testing of radio frequency measurements, and other appropriate applications.
- desired frequency comb 102 may be used in system 158 such as software defined radio systems, satellite and ground communications systems, radar systems, and other appropriate systems. More detailed descriptions of some examples of applications of variable frequency comb generator 100 in accordance with an illustrative embodiment are presented below with reference to FIGS. 8-10 and FIGS. 12-14 .
- variable frequency comb generator 100 in FIG. 1 is not meant to imply physical or architectural limitations to the manner in which illustrative embodiments may be implemented.
- Other components in addition to or in place of the ones illustrated, may be used. Some components may be optional.
- the blocks are presented to illustrate some functional components. One or more of these blocks may be combined, divided, or combined and divided into different blocks when implemented in an illustrative embodiment.
- FIG. 2 an illustration of a block diagram of an implementation of a universal digital filter is depicted in accordance with an illustrative embodiment.
- Universal digital filter 200 is an example of one implementation of universal digital filter 130 in variable frequency comb generator 100 in FIG. 1 .
- Universal digital filter 200 is configured to process input sine wave y i 202 using a universal differential equation to generate frequency comb 204 .
- universal digital filter 200 is implemented in circuits 206 , 208 , 210 , and 212 .
- Circuit 206 is configured to implement equation 4 above.
- Circuit 208 is configured to implement equation 5 above.
- Circuit 210 is configured to implement equation 6 above.
- Circuit 212 is configured to implement equation 3 above.
- each of circuits 206 , 208 , 210 , and 212 may be implemented as a pipeline circuit.
- FIGS. 3-6 illustrations of implementations of parts of a universal digital filter are depicted in accordance with an illustrative embodiment.
- Circuit 300 in FIG. 3 is an example of one implementation of circuit 206 in universal digital filter 200 in FIG. 2 .
- Circuit 400 in FIG. 4 is an example of one implementation of circuit 208 in universal digital filter 200 in FIG. 2 .
- Circuit 500 in FIG. 5 is an example of one implementation of circuit 210 in universal digital filter 200 in FIG. 2 .
- Circuit 600 in FIG. 6 is an example of one implementation of circuit 212 in universal digital filter 200 in FIG. 2 .
- a universal digital filter for a variable frequency comb generator in accordance with an illustrative embodiment may be implemented with relatively simple digital circuits including a relatively small number of adders and multipliers and a single divider.
- equations 4-6 are implemented to compute outputs y1 302 , y2 402 , and y3 502 , respectively, from input sine wave y i 202 in a pipelined fashion.
- a new sample of sine wave y i 202 is input to the first of a series of clocked registers 304 , 404 , 504 , and the sample of input sine wave y i 202 that is currently held in each of clocked registers 304 , 404 , 504 is shifted into the next one of clocked registers 304 , 404 , 504 , in the series.
- the values of the input samples in clocked registers 304 , 404 , 504 are multiplied 306 , 406 , 506 , by appropriate coefficients 308 , 408 , 508 , for the equation being implemented, with the results added 310 , 410 , 510 , with values stored in a series of clocked registers 312 , 412 , 512 .
- the results of the additions 310 , 410 , 510 are stored in the next ones of clocked registers 312 , 412 , 512 , in the series.
- the value in the last one of clocked registers 312 , 412 , 512 , in the series is the output 302 , 402 , 502 , of circuit 300 , 400 , 500 at the end of each clock cycle.
- Circuit 600 includes pipelined divider 602 .
- Pipelined divider 602 may be implemented using any appropriate standard pipelined divider circuit or other pipelined divider circuit.
- the delay provided by delay element 604 may be changed depending on the latency of pipelined divider 602 . For example, delay element 604 may provide a delay of 5 clock cycles for a delay of one clock cycle by pipelined divider 602 . The delay provided by delay element 604 may be increased by one clock cycle for each additional clock cycle of delay by pipelined divider 602 .
- FIG. 8 an illustration of a block diagram of an arrangement of components for performing timing calibration across frequencies of an electronic circuit using a variable digital frequency comb generator is depicted in accordance with an illustrative embodiment.
- Arrangement of components 800 includes variable digital frequency comb generator 802 , digital-to-analog converter 804 , electronic circuit 806 , timing characterizer 808 , and timing calibrator 810 .
- Variable frequency comb generator 100 in FIG. 1 is an example of one possible implementation of variable digital frequency comb generator 802 .
- variable digital frequency comb generator 802 may be implemented in digital hardware as described to generate frequency comb 812 as a digital signal.
- Digital frequency comb 812 is converted by digital-to-analog converter 804 to an analog input frequency comb 814 signal which can then be injected into a specific input point of electronic circuit 806 under test. This allows measurement of the time delay through electronic circuit 806 at all comb frequencies of input frequency comb 814 simultaneously.
- Timing characterizer 808 is configured to compare the delay at the various comb frequencies between input frequency comb 814 and the resulting output frequency comb 816 produced by electronic circuit 806 in response to input frequency comb 814 . Timing characterizer 808 is configured to perform this comparison by complex conjugate mixing 818 of input frequency comb 814 and output frequency comb 816 , computing the spectrum 820 of the result of complex conjugate mixing 818 , and then measuring a phase or time difference at each comb frequency 822 from the computed spectrum. The result is timing characterization across frequencies 824 of electronic circuit 806 .
- Timing calibrator 810 may be configured to perform comparison 826 of timing characterization across frequencies 824 for electronic circuit 806 under test to circuit specification 828 for electronic circuit 806 .
- FIG. 9 an illustration of a block diagram of an arrangement of components for performing timing calibration across frequencies of a receiver using a variable digital frequency comb generator is depicted in accordance with an illustrative embodiment.
- a variable frequency comb generator in accordance with an illustrative embodiment is used as a broadcast signal source to test a full receiver including an antenna.
- Arrangement of components 900 includes variable digital frequency comb generator 902 , digital-to-analog converter 904 , transmitter 906 , receiver 908 , timing characterizer 910 , and timing calibrator 912 .
- Variable frequency comb generator 100 in FIG. 1 is an example of one possible implementation of variable digital frequency comb generator 902 .
- variable digital frequency comb generator 902 may be implemented in digital hardware as described to generate frequency comb 914 as a digital signal.
- Digital frequency comb 914 is converted by digital-to-analog converter 904 to an analog input frequency comb 916 signal.
- Analog input frequency comb 916 is provided to transmitter 906 .
- Transmitter 906 includes transmit amplifier 918 and transmit antenna 920 for transmitting input frequency comb 916 as transmission 922 .
- Receiver 908 includes receive antenna 924 and receive amplifier 926 for receiving transmission 922 of input frequency comb 916 .
- the received signal is processed by receiver electronic circuit 928 .
- Timing characterizer 910 is configured to compare the delay at the various comb frequencies between input frequency comb 916 and the resulting output frequency comb 930 produced by receiver 908 in response to input frequency comb 916 . Timing characterizer 910 is configured to perform this comparison by complex conjugate mixing 932 of input frequency comb 916 and output frequency comb 930 , computing the spectrum 934 of the result of complex conjugate mixing 932 , and then measuring a phase or time difference at each comb frequency 936 from the computed spectrum. The result is timing characterization across frequencies 938 of receiver 908 .
- Timing calibrator 912 may be configured to perform comparison 940 of timing characterization across frequencies 938 for receiver 908 to receiver specification 942 for receiver 908 .
- FIG. 10 an illustration of a block diagram of an arrangement of components for performing propagation measurement of a receiver using a variable digital frequency comb generator is depicted in accordance with an illustrative embodiment.
- a variable frequency comb generator in accordance with an illustrative embodiment can provide simultaneous propagation measurements that include channel characterization over time.
- Arrangement of components 1000 includes variable digital frequency comb generator 1002 , digital-to-analog converter 1004 , transmitter 1006 , receiver 1008 , and propagation characterizer 1010 .
- Variable frequency comb generator 100 in FIG. 1 is an example of one possible implementation of variable digital frequency comb generator 1002 .
- variable digital frequency comb generator 1002 may be implemented in digital hardware as described to generate frequency comb 1012 as a digital signal.
- Digital frequency comb 1012 is converted by digital-to-analog converter 1004 to an analog input frequency comb 1014 signal.
- Analog input frequency comb 1014 is provided to transmitter 1006 .
- Transmitter 1006 includes transmit amplifier 1016 and transmit antenna 1018 for transmitting input frequency comb 1014 as transmission 1020 .
- Receiver 1008 includes receive antenna 1022 and receive amplifier 1024 for receiving transmission 1020 of input frequency comb 1014 .
- the received signal is processed by receiver electronic circuit 1026 to generate output frequency comb 1028 .
- Propagation characterizer 1010 is configured to compute the spectrum 1030 of output frequency comb 1028 .
- Set of adaptive equalizers 1032 or their equivalent, process the computed spectrum to provide inverse channel coefficients 1034 at each point in time for each comb frequency.
- FIG. 11 an illustration of a flowchart of process 1100 for generating a frequency comb is depicted in accordance with an illustrative embodiment.
- Process 1100 may be implemented, for example, in variable frequency comb generator 100 in FIG. 1 .
- Process 1100 begins with receiving parameter values for a selected sampling rate, increment, and mixer frequency (operation 1102 ).
- a sine wave is then generated using the selected sampling rate and increment (operation 1104 ).
- Operation 1104 may be performed using a lookup table or a CORDIC algorithm.
- the sine wave is processed by a universal differential equation to generate a frequency comb (operation 1106 ).
- the frequency comb generated at operation 1106 may be processed by a mixer using the selected mixer frequency to generate a desired frequency comb comprising desired frequencies (operation 1108 ).
- the desired frequency comb then may be used to perform an application (operation 1110 ), with the process terminating thereafter.
- FIG. 12 an illustration of a flowchart of a process for performing timing calibration across frequencies of an electronic circuit using a variable digital frequency comb generator is depicted in accordance with an illustrative embodiment.
- Process 1200 may be implemented, for example, using arrangement of components 800 in FIG. 8 .
- process 1200 is in narrow and wide band phase shifters within a phased array antenna, where time delay is the critical operation they perform.
- Another application of process 1200 is to the front-end of a receiver which must cover a relatively wide bandwidth, such as, for example, without limitation, 2-18 GHz or 2-40 GHz, and also must be able to accurately time the start of each received pulse at each frequency.
- Process 1200 may begin with generating a frequency comb using a variable digital frequency comb generator in accordance with an illustrative embodiment (operation 1202 ).
- the digital frequency comb is converted to an analog input frequency comb signal (operation 1204 ).
- the analog input frequency comb is injected into the input of an electronic circuit under test (operation 1206 ).
- An output frequency comb produced by the circuit under test in response to the input frequency comb is received (operation 1208 ).
- Complex conjugate mixing is performed on the input frequency comb and output frequency comb (operation 1210 ).
- the spectrum of the mixed input frequency comb and output frequency comb is determined (operation 1212 ).
- the phase or time difference at each comb frequency in the spectrum is determined to characterize timing across frequencies of the electronic circuit under test (operation 1214 ).
- the timing characterization across frequencies of the electronic circuit under test then may be compared to the specification for the electronic circuit (operation 1216 ), with the process terminating thereafter.
- FIG. 13 an illustration of a flowchart of process 1300 for performing timing calibration across frequencies of a receiver using a variable digital frequency comb generator is depicted in accordance with an illustrative embodiment.
- Process 1300 may be implemented, for example, using arrangement of components 900 in FIG. 9 .
- Process 1300 is similar to process 1200 in FIG. 12 , except that input frequency comb signal is provided to the input of the electronic circuit under test via an amplifier and transmit antenna followed by a receive antenna and amplifier that provides input to the electronic circuit under test. This allows full system testing of timing across frequencies. Process 1300 also applies to various receivers and phased array antennas, but at the full system level.
- Process 1300 may begin with generating a frequency comb using a variable digital frequency comb generator in accordance with an illustrative embodiment (operation 1302 ).
- the digital frequency comb is converted to an analog input frequency comb signal (operation 1304 ).
- the analog input frequency comb is transmitted via a transmit antenna (operation 1306 ).
- the transmitted input frequency comb is received via a receive antenna, amplified, and processed by a receiver electronic circuit of a receiver under test to generate an output frequency comb (operation 1308 ).
- the output frequency comb produced by the receiver under test in response to the input frequency comb is received (operation 1310 ).
- Complex conjugate mixing is performed on the input frequency comb and output frequency comb (operation 1312 ).
- the spectrum of the mixed input frequency comb and output frequency comb is determined (operation 1314 ).
- the phase or time difference at each comb frequency in the spectrum is determined to characterize timing across frequencies of the receiver under test (operation 1316 ).
- the timing characterization across frequencies of the receiver under test then may be compared to the specification for the receiver (operation 1318 ), with the process terminating thereafter.
- Process 1400 may be implemented, for example, using arrangement of components 1000 in FIG. 10 .
- process 1400 may be used to characterize propagation over rapidly changing radio channels such as occur during flight of an aircraft or for dynamic ionospheric measurements across a wide frequency range.
- Process 1400 may begin with generating a frequency comb using a variable digital frequency comb generator in accordance with an illustrative embodiment (operation 1402 ).
- the digital frequency comb is converted to an analog input frequency comb signal (operation 1404 ).
- the analog input frequency comb is transmitted via a transmit antenna (operation 1406 ).
- the transmitted input frequency comb is received via a receive antenna, amplified, and processed by a receiver electronic circuit of a receiver under test to generate an output frequency comb (operation 1408 ).
- the output frequency comb produced by the receiver under test in response to the input frequency comb is received (operation 1410 ).
- the spectrum of the output frequency comb is computed (operation 1412 ). Inverse channel coefficients at each point in time for each comb frequency of the frequency comb are determined from the spectrum to characterize propagation over channels across a range of frequencies (operation 1414 ), with the process terminating thereafter.
- Data processing system 1500 is an example of one possible implementation of a data processing system in which some or all of the functions of a variable digital frequency comb generator as described herein may be implemented.
- data processing system 1500 is an example of one possible implementation of data processing system 110 in which variable frequency comb generator 100 in FIG. 1 is implemented.
- data processing system 1500 includes communications fabric 1502 .
- Communications fabric 1502 provides communications between processor unit 1504 , memory 1506 , persistent storage 1508 , communications unit 1510 , input/output (I/O) unit 1512 , and display 1514 .
- Memory 1506 , persistent storage 1508 , communications unit 1510 , input/output (I/O) unit 1512 , and display 1514 are examples of resources accessible by processor unit 1504 via communications fabric 1502 .
- Processor unit 1504 serves to run instructions for software that may be loaded into memory 1506 .
- Processor unit 1504 may be a number of processors, a multi-processor core, or some other type of processor, depending on the particular implementation. Further, processor unit 1504 may be implemented using a number of heterogeneous processor systems in which a main processor is present with secondary processors on a single chip. As another illustrative example, processor unit 1504 may be a symmetric multi-processor system containing multiple processors of the same type.
- Memory 1506 and persistent storage 1508 are examples of storage devices 1516 .
- a storage device is any piece of hardware that is capable of storing information, such as, for example, without limitation, data, program code in functional form, and other suitable information either on a temporary basis or a permanent basis.
- Storage devices 1516 also may be referred to as computer readable storage devices in these examples.
- Memory 1506 in these examples, may be, for example, a random access memory or any other suitable volatile or non-volatile storage device.
- Persistent storage 1508 may take various forms, depending on the particular implementation.
- persistent storage 1508 may contain one or more components or devices.
- persistent storage 1508 may be a hard drive, a flash memory, a rewritable optical disk, a rewritable magnetic tape, or some combination of the above.
- the media used by persistent storage 1508 also may be removable.
- a removable hard drive may be used for persistent storage 1508 .
- Communications unit 1510 in these examples, provides for communications with other data processing systems or devices.
- communications unit 1510 is a network interface card.
- Communications unit 1510 may provide communications through the use of either or both physical and wireless communications links.
- Input/output (I/O) unit 1512 allows for input and output of data with other devices that may be connected to data processing system 1500 .
- input/output (I/O) unit 1512 may provide a connection for user input through a keyboard, a mouse, and/or some other suitable input device. Further, input/output (I/O) unit 1512 may send output to a printer.
- Display 1514 provides a mechanism to display information to a user.
- Instructions for the operating system, applications, and/or programs may be located in storage devices 1516 , which are in communication with processor unit 1504 through communications fabric 1502 .
- the instructions are in a functional form on persistent storage 1508 . These instructions may be loaded into memory 1506 for execution by processor unit 1504 .
- the processes of the different embodiments may be performed by processor unit 1504 using computer-implemented instructions, which may be located in a memory, such as memory 1506 .
- program instructions are referred to as program instructions, program code, computer usable program code, or computer readable program code that may be read and executed by a processor in processor unit 1504 .
- the program code in the different embodiments may be embodied on different physical or computer readable storage media, such as memory 1506 or persistent storage 1508 .
- Program code 1518 is located in a functional form on computer readable media 1520 that is selectively removable and may be loaded onto or transferred to data processing system 1500 for execution by processor unit 1504 .
- Program code 1518 and computer readable media 1520 form computer program product 1522 in these examples.
- computer readable media 1520 may be computer readable storage media 1524 or computer readable signal media 1526 .
- Computer readable storage media 1524 may include, for example, an optical or magnetic disk that is inserted or placed into a drive or other device that is part of persistent storage 1508 for transfer onto a storage device, such as a hard drive, that is part of persistent storage 1508 .
- Computer readable storage media 1524 also may take the form of a persistent storage, such as a hard drive, a thumb drive, or a flash memory, that is connected to data processing system 1500 . In some instances, computer readable storage media 1524 may not be removable from data processing system 1500 .
- computer readable storage media 1524 is a physical or tangible storage device used to store program code 1518 rather than a medium that propagates or transmits program code 1518 .
- Computer readable storage media 1524 is also referred to as a computer readable tangible storage device or a computer readable physical storage device. In other words, computer readable storage media 1524 is a media that can be touched by a person.
- program code 1518 may be transferred to data processing system 1500 using computer readable signal media 1526 .
- Computer readable signal media 1526 may be, for example, a propagated data signal containing program code 1518 .
- Computer readable signal media 1526 may be an electromagnetic signal, an optical signal, and/or any other suitable type of signal. These signals may be transmitted over communications links, such as wireless communications links, optical fiber cable, coaxial cable, a wire, and/or any other suitable type of communications link.
- the communications link and/or the connection may be physical or wireless in the illustrative examples.
- program code 1518 may be downloaded over a network to persistent storage 1508 from another device or data processing system through computer readable signal media 1526 for use within data processing system 1500 .
- program code stored in a computer readable storage medium in a server data processing system may be downloaded over a network from the server to data processing system 1500 .
- the data processing system providing program code 1518 may be a server computer, a client computer, or some other device capable of storing and transmitting program code 1518 .
- data processing system 1500 may include organic components integrated with inorganic components and/or may be comprised entirely of organic components excluding a human being.
- a storage device may be comprised of an organic semiconductor.
- processor unit 1504 may take the form of a hardware unit that has circuits that are manufactured or configured for a particular use. This type of hardware may perform operations without needing program code to be loaded into a memory from a storage device to be configured to perform the operations.
- processor unit 1504 when processor unit 1504 takes the form of a hardware unit, processor unit 1504 may be a circuit system, an application specific integrated circuit (ASIC), a programmable logic device, or some other suitable type of hardware configured to perform a number of operations.
- ASIC application specific integrated circuit
- a programmable logic device the device is configured to perform the number of operations. The device may be reconfigured at a later time or may be permanently configured to perform the number of operations.
- Examples of programmable logic devices include, for example, a programmable logic array, a programmable array logic, a field programmable logic array, a field programmable gate array, and other suitable hardware devices.
- program code 1518 may be omitted, because the processes for the different embodiments are implemented in a hardware unit.
- processor unit 1504 may be implemented using a combination of processors found in computers and hardware units.
- Processor unit 1504 may have a number of hardware units and a number of processors that are configured to run program code 1518 . With this depicted example, some of the processes may be implemented in the number of hardware units, while other processes may be implemented in the number of processors.
- a bus system may be used to implement communications fabric 1502 and may be comprised of one or more buses, such as a system bus or an input/output bus.
- the bus system may be implemented using any suitable type of architecture that provides for a transfer of data between different components or devices attached to the bus system.
- communications unit 1510 may include a number of devices that transmit data, receive data, or both transmit and receive data.
- Communications unit 1510 may be, for example, a modem or a network adapter, two network adapters, or some combination thereof.
- a memory may be, for example, memory 1506 , or a cache, such as that found in an interface and memory controller hub that may be present in communications fabric 1502 .
- each block in the flowcharts or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function or functions.
- the functions noted in a block may occur out of the order noted in the figures. For example, the functions of two blocks shown in succession may be executed substantially concurrently, or the functions of the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
Landscapes
- Physics & Mathematics (AREA)
- Nonlinear Science (AREA)
- Radar Systems Or Details Thereof (AREA)
- Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
Abstract
A method and apparatus for generating a frequency comb. A sine wave comprising samples is generated at a selected sampling rate and a selected increment corresponding to a number of samples for a period of the sine wave using a lookup table or a CORDIC algorithm. The sine wave is processed by a universal differential equation to generate the frequency comb. Characteristics of the frequency comb generated from the sine wave are controlled by changing the sampling rate and the increment.
Description
- This application claims the benefit of U.S. Provisional Patent Application Ser. No. 63/133,550, filed Jan. 4, 2021, and entitled “Variable Frequency Comb Generation;” which is incorporated herein by reference in its entirety.
- The present disclosure relates generally to frequency combs and to systems and methods for generating frequency combs.
- A frequency comb is a signal that includes a series of discrete, equally spaced frequencies. A frequency comb is defined by three characteristics: starting frequency, frequency spacing, and number of frequencies. The starting frequency is the frequency of the “tooth” in the frequency comb that has the lowest frequency. The frequency spacing is the difference in frequency between adjacent “teeth” in the frequency comb. The number of frequencies is the number of “teeth” in the frequency comb.
- Frequency combs have various applications. Examples of applications for frequency combs include, without limitation, wide band signal generation for phased arrays, geolocation of signals, probing signal generation, signal propagation measurement, and radio frequency signal characterization and test measurement. Wide band signal generation using frequency combs may be applied to software defined radio systems, satellite and ground communications systems, radar systems, and other appropriate systems and applications.
- Frequency combs can be generated in various different ways. For relatively high frequency applications, such as optics, frequency combs typically may be generated in an analog fashion using nonlinear devices. For example, frequency combs may be generated by periodically modulating a continuous-wave laser in amplitude, phase, or both amplitude and phase. Other known methods for generating frequency combs include four-wave mixing in nonlinear media and stabilization of the pulse train generated by a mode-locked laser. These methods for generating frequency combs for relatively high frequency applications are relatively complex and may not be appropriate for generating frequency combs for relatively lower frequency applications, such as radio frequency applications.
- Alternatively, frequency combs currently may be generated digitally using lookup tables or CORDIC algorithms implemented in hardware. CORDIC, coordinate rotation digital computer, uses relatively simple shift-add operations for computing tasks, such as the calculation of trigonometric functions and many others. Currently, such methods for generating frequency combs digitally require one lookup table or CORDIC algorithm implementation for each frequency “tooth” of the comb. Existing solutions for generating a frequency comb digitally thus require summing up results from many lookup tables or CORDIC algorithms to generate frequency combs of variable sizes.
- Systems and methods for generating frequency combs that overcome the limitations of current systems and methods are desired. In particular, systems and methods are desired for generating frequency combs digitally that are more flexible and simple to implement than current systems and methods.
- Illustrative embodiments provide a method of generating a frequency comb. A sine wave is generated. The sine wave is processed by a universal differential equation to generate the frequency comb.
- Illustrative embodiments also provide a method of generating a frequency comb by selecting a sampling rate and an increment. A sine wave is generated comprising samples at the selected sampling rate and the selected increment corresponding to a number of samples for a period of the sine wave. The sine wave is processed to generate the frequency comb. A starting frequency in the frequency comb is a function of the selected sampling rate and the selected increment. A number of frequencies in the frequency comb is a function of the selected increment. A frequency spacing of the frequencies in the frequency comb is a function of the selected sampling rate and the selected increment.
- Illustrative embodiments also provide an apparatus for generating a frequency comb comprising a sine wave generator and a universal digital filter. The sine wave generator is configured to generate a sine wave. The universal digital filter is configured to process the sine wave using a universal differential equation to generate the frequency comb.
- The features and functions can be achieved independently in various embodiments of the present disclosure or may be combined in yet other embodiments in which further details can be seen with reference to the following description and drawings.
- The novel features believed characteristic of the illustrative embodiments are set forth in the appended claims. The illustrative embodiments, however, as well as a preferred mode of use, further objectives, and features thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
-
FIG. 1 is an illustration of a block diagram of a variable frequency comb generator in accordance with an illustrative embodiment; -
FIG. 2 is an illustration of a block diagram of an implementation of a universal digital filter in accordance with an illustrative embodiment; -
FIGS. 3-6 are illustrations of implementations of parts of a universal digital filter in accordance with an illustrative embodiment; -
FIG. 7 is a frequency domain illustration of a frequency comb generated in accordance with an illustrative embodiment; -
FIG. 8 is an illustration of a block diagram of an arrangement of components for performing timing calibration across frequencies of an electronic circuit using a variable digital frequency comb generator in accordance with an illustrative embodiment; -
FIG. 9 is an illustration of a block diagram of an arrangement of components for performing timing calibration across frequencies of a receiver using a variable digital frequency comb generator in accordance with an illustrative embodiment; -
FIG. 10 is an illustration of a block diagram of an arrangement of components for performing propagation measurement of a receiver using a variable digital frequency comb generator in accordance with an illustrative embodiment; -
FIG. 11 is an illustration of a flowchart of a process for generating a frequency comb in accordance with an illustrative embodiment; -
FIG. 12 is an illustration of a flowchart of a process for performing timing calibration across frequencies of an electronic circuit using a variable digital frequency comb generator in accordance with an illustrative embodiment; -
FIG. 13 is an illustration of a flowchart of a process for performing timing calibration across frequencies of a receiver using a variable digital frequency comb generator in accordance with an illustrative embodiment; -
FIG. 14 is an illustration of a flowchart of a process for performing propagation measurement of a receiver using a variable digital frequency comb generator in accordance with an illustrative embodiment; and -
FIG. 15 is an illustration of a block diagram of a data processing system in accordance with an illustrative embodiment. - The illustrative embodiments recognize and take into account different considerations. For example, the illustrative embodiments recognize and take into account that currently there are various applications for frequency combs and various ways to generate frequency combs. Generating frequency combs digitally may be appropriate for relatively lower frequency applications, such as radio frequency applications. However, current methods for generating frequency combs digitally are relatively complex and inflexible.
- Current methods for generating frequency combs digitally require the implementation of one lookup table or CORDIC algorithm for each frequency of the comb. Therefore, the implementation of a system for digitally generating a typical frequency comb that has many frequencies may be relatively complex and time consuming. Furthermore, current systems for digitally generating frequency combs may require more hardware or other processing resources to generate frequency combs with more frequencies. Moreover, a current system for digitally generating a frequency comb that is defined by a particular starting frequency, frequency spacing, and number of frequency parameters may not be used to generate a frequency comb having different characteristics without modifying or replacing the lookup tables or CORDIC algorithms that are used by the system to generate the frequency comb. Therefore, current systems and methods for digitally generating frequency combs also are inflexible.
- Illustrative embodiments provide a variable frequency comb generator that uses a single lookup table or CORDIC algorithm in combination with a nonlinear filter to generate a frequency comb. In accordance with an illustrative embodiment, the lookup table or CORDIC algorithm is used to generate a sine wave that is processed by the filter using a universal differential equation to generate a frequency comb with a desired number of frequencies and frequency spacing. The filter may implement the universal differential equation using relatively simple digital circuitry. Therefore, a variable frequency comb generator in accordance with an illustrative embodiment may be physically smaller and simpler to implement than current frequency comb generators.
- A frequency comb generated in accordance with an illustrative embodiment has constant amplitude tones that cover a desired frequency range. Characteristics of a frequency comb generated in accordance with an illustrative embodiment may be controlled by selecting the sample rate and the table lookup or CORDIC algorithm increment used to generate the sine wave. By controlling these two parameters, along with a mixer frequency, a variable frequency comb generator in accordance with an illustrative embodiment may be used to generate a frequency comb having almost any desired characteristics, subject to the limitations of the sample rate of the circuit in which the variable frequency comb generator is implemented. Therefore, variable frequency comb generation in accordance with an illustrative embodiment may be more flexible than current systems and methods for frequency comb generation.
- Turning to
FIG. 1 , an illustration of a block diagram of a variable frequency comb generator is depicted in accordance with an illustrative embodiment. Variablefrequency comb generator 100 is configured to generate desiredfrequency comb 102. - Variable
frequency comb generator 100 may be implemented to generate desiredfrequency comb 102 using digital hardware, analog hardware, or an appropriate combination of digital and analog hardware. Variablefrequency comb generator 100 that is implemented to generate desiredfrequency comb 102 digitally may be referred to as a variable digital frequency comb generator. - It may be necessary or desirable to convert desired
frequency comb 102 that is generated digitally into an analog frequency comb signal or to convert desiredfrequency comb 102 that is generated as an analog signal into an appropriate digital form for use. Such a conversion from digital to analog or from analog to digital may be needed to use desiredfrequency comb 102 generated by variablefrequency comb generator 100 for a particular purpose or for any other appropriate reason. For example, without limitation, a digital-to-analog converter (not shown inFIG. 1 ) or other appropriate device or method may be used to convert desiredfrequency comb 102 that is generated digitally by variablefrequency comb generator 100 into an analog frequency comb signal for use. - The functionality of variable
frequency comb generator 100 as described herein may be implemented in any appropriate manner. For example, without limitation, the functionality of variablefrequency comb generator 100 to generate desiredfrequency comb 102 digitally may be implemented using digital hardware devices or systems such as field-programmable gate array 106, application-specificintegrated circuit 108,data processing system 110, other appropriate hardware devices or systems, or any appropriate combination of hardware devices and systems. For example, without limitation, some or all of the functionality of variablefrequency comb generator 100 as described herein may be implemented in software running ondata processing system 110. - Desired
frequency comb 102 is a signal that comprises a series of discrete, equally spaced frequencies. The frequencies comprising desiredfrequency comb 102 may include frequencies in any appropriate ranges of frequencies. For example, without limitation, the frequencies comprising desiredfrequency comb 102 may include optical frequencies, radio frequencies, acoustic frequencies, frequencies in other ranges of frequencies, or frequencies in more than one range of frequencies. - The time domain representation of desired
frequency comb 102 is: -
- where the sum is over the frequencies in the comb, fj. The frequencies are evenly spaced and given by:
-
f j =f 0 +jΔf. (2) - Desired
frequency comb 102 is thus defined by three characteristics: startingfrequency F 0 112, number offrequencies N f 114, andfrequency spacing ΔF 116. Startingfrequency F 0 112 is the frequency of the “tooth” in desiredfrequency comb 102 that has the lowest frequency. Number offrequencies N f 114 is the number of “teeth” in desiredfrequency comb 102.Frequency spacing ΔF 116 is the difference in frequency between adjacent “teeth” in desiredfrequency comb 102. - In accordance with an illustrative embodiment, desired
frequency comb 102 having desired values forcharacteristics frequency comb generator 100 by selecting appropriate values for three parameters:sampling rate F s 118,increment 1/P 120, andmixer frequency F m 122. Variablefrequency comb generator 100 thus may be used to generate desired frequency combs 102 having variousdifferent characteristics parameters appropriate parameters frequency comb 102 by variablefrequency comb generator 100 is described in more detail below. - Variable
frequency comb generator 100 may comprisecontroller 124,interface 126,sine wave generator 128, universaldigital filter 130, andmixer 132.Controller 124 may be configured to control general operation of variablefrequency comb generator 100. For example, without limitation,controller 124 may be configured to control the starting and stopping of other components of variablefrequency comb generator 100 to generate desiredfrequency comb 102. -
Interface 126 may be configured to provide for interaction between variablefrequency comb generator 100 anduser 134.User 134 may be any appropriate user of variablefrequency comb generator 100. For example,user 134 may behuman operator 136,application 138 implemented on a machine, or both. -
Interface 126 may includeuser interface 140 to provide for interaction betweenhuman operator 136 and variablefrequency comb generator 100.User interface 140 may be implemented in any appropriate manner to provide for interaction betweenhuman operator 136 and variablefrequency comb generator 100. For example, without limitation,user interface 140 may comprise a graphical user interface. Alternatively, or in addition,interface 126 may includeapplication programming interface 142, or any other appropriate interface, to provide for interaction betweenapplication 138 on a machine and variablefrequency comb generator 100. - Desired
frequency comb 102 generated by variablefrequency comb generator 100 may be provided touser 134 viainterface 126 in any appropriate form. Other functionality provided byinterface 126 may include, without limitation,controller interface 144 andparameter values selector 146. For example,controller interface 144 may be configured to allowuser 134 to control, view, or both control and view the general operation of variablefrequency comb generator 100 bycontroller 124. -
Parameter values selector 146 may be configured to allowuser 134 to select the values ofparameters frequency comb generator 100 to generate desiredfrequency comb 102.Parameter values selector 146 may be configured to allowuser 134 to select the values ofparameters parameter values selector 146 may be configured to allowuser 134 to select values forcharacteristics frequency comb 102 to be generated by variablefrequency comb generator 100. In this case, values forparameters frequency comb 102 having the selectedcharacteristics frequency comb generator 100. - In accordance with an illustrative embodiment, desired
frequency comb 102 is generated usingsine wave generator 128, universaldigital filter 130, andmixer 132. -
Sine wave generator 128 is configured to generatesine wave 146 using the selected values for the parameterssampling rate F s 118 andincrement 1/P 120.Sine wave 146 generated bysine wave generator 128 comprisessamples 148.Samples 148 comprise values forsine wave 146 at discrete points in time. For example, without limitation,sine wave generator 128 may be configured to generatesine wave 146 using lookup table 150 orCORDIC algorithm 152. - Lookup table 150 comprises values for one cycle of a sine wave at many discrete points in the cycle.
Sine wave generator 128 may generatesine wave 146 by obtaining values forsamples 148 definingsine wave 146 from lookup table 150 atsampling rate F s 118 andincrement 1/P 120.Increment 1/P 120 is inversely related to the period P ofsine wave 146 and determines the number of values forsamples 148 that are obtained from lookup table 150 for an entire period P ofsine wave 146. The number of values forsamples 148 that are obtained from lookup table 150 for a period P ofsine wave 146 will be relatively large when the value ofincrement 1/P 120 is relatively small and will be relatively small when the value ofincrement 1/P 120 is relatively large. -
CORDIC algorithm 152 uses relatively simple shift-add operations to calculate values of trigonometric functions, such as sine waves.CORDIC algorithm 152 may be implemented in any appropriate manner in variablefrequency comb generator 100.Sine wave generator 128 may generatesine wave 146 by obtaining values forsamples 148 definingsine wave 146 usingCORDIC algorithm 152 atsampling rate F s 118 andincrement 1/P 120.Increment 1/P 120 is inversely related to the period P ofsine wave 146 and determines the number of values forsamples 148 that are obtained usingCORDIC algorithm 152 for an entire period P ofsine wave 146.Increment 1/P 120 may be referred to as a step inCORDIC algorithm 152 used to generatesamples 148 forsine wave 146. - Universal
digital filter 130 is configured to processsine wave 146 to generatefrequency comb 154. The filter function of universaldigital filter 130 is selected to generatefrequency comb 154 fromsine wave 146 for sine waves of certain frequencies. In accordance with an illustrative embodiment, discretized universaldifferential equation 131 may be used to implement a digital difference equation that forms nonlinear universaldigital filter 130. - For example, without limitation, universal
digital filter 130 may be configured to implement the following universal differential equation filter function to generatefrequency comb 154 fromsine wave 146 for sine waves of certain frequencies: -
z i=(3y3·y2·y1−2(1−n −2)·y23)/y12 −y 1+4y 2−6y 3+4y 4, (3) -
where: -
y1=−11/6·y 1+3y 2−3/2·y 3+1/3·y 4, (4) -
y2=2y 1−5y 2+4y 3 −y 4, and (5) -
y3=−y 1+3y 2−3y 3 +y 4. (6) - zi is the value of the output of universal
digital filter 130 for point in time i. y1, y2, y3, and y4 are the values ofsequential samples 148 ofsine wave 146 input to universaldigital filter 130 for points i-3, i-2, i-1, and i, respectively. y1, y2, y3, and y4 also may be expressed as yi-3, yi-2, yi-1, and yi, respectively. - Examples of combinations of values that may be used to select values for the parameters
sampling rate F s 118 andincrement 1/P 120 to generatesine wave 146 from which universaldigital filter 130 implementing this filter function generatesfrequency comb 154 are shown in the following table: -
Period P Nf f0 Δf var(spectral peaks) 8 2 0.1251 0.25 0.000885979 16 4 0.0626 0.125 0.000247679 20 5 0.0501 0.1 0.000381461 32 8 0.0313 0.0626 0.000391865 40 10 0.0251 0.05 0.000279433 64 16 0.0157 0.0313 9.83E−05 80 20 0.0126 0.025 5.47 E− 05100 25 0.0101 0.02 2.96E−05 160 40 0.0063 0.0125 7.73E−06 200 50 0.0051 0.01 3.98E−06 320 80 0.0032 0.0063 9.97E−07 400 100 0.0026 0.005 5.07E−07 500 125 0.0021 0.004 2.60E−07 800 200 0.0013 0.0025 6.62E−08 1000 250 0.0011 0.002 3.26E−08 1600 400 0.0007 0.0013 8.46E−09 2000 500 0.0006 0.001 4.08E−09 2500 625 0.0005 0.0008 2.09E−09 4000 1000 0.0003 0.0005 6.11E−10 5000 1250 0.0003 0.0004 2.61E−10 8000 1999 0.0002 0.0003 8.61E−11 10000 2499 0.0002 0.0002 3.21E−11 - In this table:
- Period P is the period of the starting frequency f0 of
frequency comb 154, expressed as a number ofsamples 148 for the givensampling rate F s 118 for an entire period P ofsine wave 146. As discussed above, the value of period P definesincrement 1/P 120 used for generatingsine wave 146 from lookup table 150 orCORDIC algorithm 152. - Nf is the number of frequencies in
frequency comb 154 and in desiredfrequency comb 102. - f0 is the lowest frequency in
frequency comb 154, expressed relative tosampling rate F s 118. - Δf is the frequency spacing in
frequency comb 154, expressed relative tosampling rate F s 118. - var(spectral peaks) is the variance of the spectral peaks in
frequency comb 154. This is a measure of the numerical performance of the algorithm for generatingfrequency comb 154 as well as the performance of universaldigital filter 130 in generatingfrequency comb 154. - The table shows only a sample of possible combinations of values that may be used to select values for the parameters
sampling rate F s 118 andincrement 1/P 120 to generatesine wave 146 from which universaldigital filter 130 generatesfrequency comb 154. Many more combinations of values are possible that are not shown in the table, even within the ranges of values shown in the table. Such other appropriate values may be determined using fractional periods and may require appropriate adjustments in lookup table 150 orCORDIC algorithm 152 used to generatesine wave 146. - Universal
digital filter 130 may be implemented in any appropriate manner to implement universaldifferential equation 131. For example, without limitation, universaldigital filter 130 may be implemented inpipeline 156. Inpipeline 156, data processing elements are connected in series, such that the output of one element is provided as the input to the next element in the series. The elements may then be operated in parallel. - Desired
frequency comb 102 may be generated fromfrequency comb 154 generated by universaldigital filter 130 fromsine wave 146 by processingfrequency comb 154 bymixer 132 to convert the frequencies infrequency comb 154 upward or downward by the value ofmixer frequency F m 122.Mixer 132 may be implemented in any known and appropriate manner. - Desired
frequency comb 102 having desired values for the characteristics startingfrequency F 0 112, number offrequencies N f 114, andfrequency spacing ΔF 116, may be generated by variablefrequency comb generator 100 by selecting appropriate values for the parameterssampling rate F s 118,increment 1/P 120, andmixer frequency F m 122. For example, to generate desiredfrequency comb 102 with each frequency Fj in a desired number offrequencies N f 114 given by Fj=F0+jΔF, appropriate values for the parameterssampling rate F s 118,increment 1/P 120, andmixer frequency F m 122 may be selected so that F0=Fm+Fs/P and ΔF=Δf·Fs and the desired number offrequencies N f 114 match for a combination of values from the table presented above or another appropriate combination of values. - Desired
frequency comb 102, generated by variablefrequency comb generator 100 in accordance with an illustrative embodiment, may be used for anyappropriate application 138 in anyappropriate system 158. For example, without limitation, desiredfrequency comb 102 may be used inapplication 138 such as geolocation of signals, probing signal generation, propagation measurement and characterization, testing of radio frequency measurements, and other appropriate applications. For example, without limitation, desiredfrequency comb 102 may be used insystem 158 such as software defined radio systems, satellite and ground communications systems, radar systems, and other appropriate systems. More detailed descriptions of some examples of applications of variablefrequency comb generator 100 in accordance with an illustrative embodiment are presented below with reference toFIGS. 8-10 andFIGS. 12-14 . - The illustration of variable
frequency comb generator 100 inFIG. 1 is not meant to imply physical or architectural limitations to the manner in which illustrative embodiments may be implemented. Other components, in addition to or in place of the ones illustrated, may be used. Some components may be optional. Also, the blocks are presented to illustrate some functional components. One or more of these blocks may be combined, divided, or combined and divided into different blocks when implemented in an illustrative embodiment. - Turning to
FIG. 2 , an illustration of a block diagram of an implementation of a universal digital filter is depicted in accordance with an illustrative embodiment. Universaldigital filter 200 is an example of one implementation of universaldigital filter 130 in variablefrequency comb generator 100 inFIG. 1 . - Universal
digital filter 200 is configured to process inputsine wave y i 202 using a universal differential equation to generatefrequency comb 204. In this example, universaldigital filter 200 is implemented incircuits Circuit 206 is configured to implement equation 4 above.Circuit 208 is configured to implementequation 5 above.Circuit 210 is configured to implement equation 6 above.Circuit 212 is configured to implementequation 3 above. For example, without limitation, each ofcircuits - Turning to
FIGS. 3-6 , illustrations of implementations of parts of a universal digital filter are depicted in accordance with an illustrative embodiment.Circuit 300 inFIG. 3 is an example of one implementation ofcircuit 206 in universaldigital filter 200 inFIG. 2 .Circuit 400 inFIG. 4 is an example of one implementation ofcircuit 208 in universaldigital filter 200 inFIG. 2 .Circuit 500 inFIG. 5 is an example of one implementation ofcircuit 210 in universaldigital filter 200 inFIG. 2 .Circuit 600 inFIG. 6 is an example of one implementation ofcircuit 212 in universaldigital filter 200 inFIG. 2 . As shown inFIGS. 2-6 , a universal digital filter for a variable frequency comb generator in accordance with an illustrative embodiment may be implemented with relatively simple digital circuits including a relatively small number of adders and multipliers and a single divider. - In
circuits FIGS. 3-5 , equations 4-6 are implemented to compute outputs y1 302,y2 402, andy3 502, respectively, from inputsine wave y i 202 in a pipelined fashion. At each cycle of a clock signal, a new sample ofsine wave y i 202 is input to the first of a series of clockedregisters sine wave y i 202 that is currently held in each of clockedregisters registers registers appropriate coefficients registers additions registers registers output circuit - In
circuit 600 inFIG. 6 ,equations 3 is implemented to compute outputfrequency comb z i 204 from inputsine wave y i 202 and outputs y1 302,y2 402, andy3 502, fromcircuits FIGS. 3-5 , respectively, in a pipelined fashion.Circuit 600 includes pipelineddivider 602.Pipelined divider 602 may be implemented using any appropriate standard pipelined divider circuit or other pipelined divider circuit. The delay provided bydelay element 604 may be changed depending on the latency of pipelineddivider 602. For example,delay element 604 may provide a delay of 5 clock cycles for a delay of one clock cycle by pipelineddivider 602. The delay provided bydelay element 604 may be increased by one clock cycle for each additional clock cycle of delay by pipelineddivider 602. - Turning to
FIG. 7 , a frequency domain illustration of a frequency comb generated in accordance with an illustrative embodiment is depicted.Frequency comb 700 was simulated using the method as described herein using P=100 from the table presented above.Frequency comb 700 illustrates that a complete frequency comb is generated up to the Nyquist rate of the system. - Turning to
FIG. 8 , an illustration of a block diagram of an arrangement of components for performing timing calibration across frequencies of an electronic circuit using a variable digital frequency comb generator is depicted in accordance with an illustrative embodiment. Arrangement ofcomponents 800 includes variable digitalfrequency comb generator 802, digital-to-analog converter 804,electronic circuit 806,timing characterizer 808, andtiming calibrator 810. Variablefrequency comb generator 100 inFIG. 1 is an example of one possible implementation of variable digitalfrequency comb generator 802. - In this example, variable digital
frequency comb generator 802 may be implemented in digital hardware as described to generatefrequency comb 812 as a digital signal.Digital frequency comb 812 is converted by digital-to-analog converter 804 to an analoginput frequency comb 814 signal which can then be injected into a specific input point ofelectronic circuit 806 under test. This allows measurement of the time delay throughelectronic circuit 806 at all comb frequencies ofinput frequency comb 814 simultaneously. - Timing
characterizer 808 is configured to compare the delay at the various comb frequencies betweeninput frequency comb 814 and the resultingoutput frequency comb 816 produced byelectronic circuit 806 in response toinput frequency comb 814. Timingcharacterizer 808 is configured to perform this comparison by complex conjugate mixing 818 ofinput frequency comb 814 andoutput frequency comb 816, computing thespectrum 820 of the result of complex conjugate mixing 818, and then measuring a phase or time difference at eachcomb frequency 822 from the computed spectrum. The result is timing characterization acrossfrequencies 824 ofelectronic circuit 806. -
Timing calibrator 810 may be configured to performcomparison 826 of timing characterization acrossfrequencies 824 forelectronic circuit 806 under test tocircuit specification 828 forelectronic circuit 806. - Turning to
FIG. 9 , an illustration of a block diagram of an arrangement of components for performing timing calibration across frequencies of a receiver using a variable digital frequency comb generator is depicted in accordance with an illustrative embodiment. In this example, a variable frequency comb generator in accordance with an illustrative embodiment is used as a broadcast signal source to test a full receiver including an antenna. Arrangement ofcomponents 900 includes variable digitalfrequency comb generator 902, digital-to-analog converter 904,transmitter 906,receiver 908,timing characterizer 910, andtiming calibrator 912. Variablefrequency comb generator 100 inFIG. 1 is an example of one possible implementation of variable digitalfrequency comb generator 902. - In this example, variable digital
frequency comb generator 902 may be implemented in digital hardware as described to generatefrequency comb 914 as a digital signal.Digital frequency comb 914 is converted by digital-to-analog converter 904 to an analoginput frequency comb 916 signal. Analoginput frequency comb 916 is provided totransmitter 906.Transmitter 906 includes transmitamplifier 918 and transmitantenna 920 for transmittinginput frequency comb 916 astransmission 922. -
Receiver 908 includes receiveantenna 924 and receiveamplifier 926 for receivingtransmission 922 ofinput frequency comb 916. The received signal is processed by receiverelectronic circuit 928. - Timing
characterizer 910 is configured to compare the delay at the various comb frequencies betweeninput frequency comb 916 and the resultingoutput frequency comb 930 produced byreceiver 908 in response toinput frequency comb 916. Timingcharacterizer 910 is configured to perform this comparison by complex conjugate mixing 932 ofinput frequency comb 916 andoutput frequency comb 930, computing thespectrum 934 of the result of complex conjugate mixing 932, and then measuring a phase or time difference at eachcomb frequency 936 from the computed spectrum. The result is timing characterization acrossfrequencies 938 ofreceiver 908. -
Timing calibrator 912 may be configured to performcomparison 940 of timing characterization acrossfrequencies 938 forreceiver 908 toreceiver specification 942 forreceiver 908. - Turning to
FIG. 10 , an illustration of a block diagram of an arrangement of components for performing propagation measurement of a receiver using a variable digital frequency comb generator is depicted in accordance with an illustrative embodiment. In this example, a variable frequency comb generator in accordance with an illustrative embodiment can provide simultaneous propagation measurements that include channel characterization over time. Arrangement ofcomponents 1000 includes variable digitalfrequency comb generator 1002, digital-to-analog converter 1004,transmitter 1006,receiver 1008, andpropagation characterizer 1010. Variablefrequency comb generator 100 inFIG. 1 is an example of one possible implementation of variable digitalfrequency comb generator 1002. - In this example, variable digital
frequency comb generator 1002 may be implemented in digital hardware as described to generatefrequency comb 1012 as a digital signal.Digital frequency comb 1012 is converted by digital-to-analog converter 1004 to an analoginput frequency comb 1014 signal. Analoginput frequency comb 1014 is provided totransmitter 1006.Transmitter 1006 includes transmitamplifier 1016 and transmitantenna 1018 for transmittinginput frequency comb 1014 astransmission 1020. -
Receiver 1008 includes receiveantenna 1022 and receiveamplifier 1024 for receivingtransmission 1020 ofinput frequency comb 1014. The received signal is processed by receiverelectronic circuit 1026 to generateoutput frequency comb 1028. -
Propagation characterizer 1010 is configured to compute thespectrum 1030 ofoutput frequency comb 1028. Set ofadaptive equalizers 1032, or their equivalent, process the computed spectrum to provideinverse channel coefficients 1034 at each point in time for each comb frequency. - Turning to
FIG. 11 , an illustration of a flowchart ofprocess 1100 for generating a frequency comb is depicted in accordance with an illustrative embodiment.Process 1100 may be implemented, for example, in variablefrequency comb generator 100 inFIG. 1 . -
Process 1100 begins with receiving parameter values for a selected sampling rate, increment, and mixer frequency (operation 1102). A sine wave is then generated using the selected sampling rate and increment (operation 1104).Operation 1104 may be performed using a lookup table or a CORDIC algorithm. The sine wave is processed by a universal differential equation to generate a frequency comb (operation 1106). The frequency comb generated atoperation 1106 may be processed by a mixer using the selected mixer frequency to generate a desired frequency comb comprising desired frequencies (operation 1108). The desired frequency comb then may be used to perform an application (operation 1110), with the process terminating thereafter. - Turning to
FIG. 12 , an illustration of a flowchart of a process for performing timing calibration across frequencies of an electronic circuit using a variable digital frequency comb generator is depicted in accordance with an illustrative embodiment.Process 1200 may be implemented, for example, using arrangement ofcomponents 800 inFIG. 8 . - One application of
process 1200 is in narrow and wide band phase shifters within a phased array antenna, where time delay is the critical operation they perform. Another application ofprocess 1200 is to the front-end of a receiver which must cover a relatively wide bandwidth, such as, for example, without limitation, 2-18 GHz or 2-40 GHz, and also must be able to accurately time the start of each received pulse at each frequency. -
Process 1200 may begin with generating a frequency comb using a variable digital frequency comb generator in accordance with an illustrative embodiment (operation 1202). The digital frequency comb is converted to an analog input frequency comb signal (operation 1204). The analog input frequency comb is injected into the input of an electronic circuit under test (operation 1206). - An output frequency comb produced by the circuit under test in response to the input frequency comb is received (operation 1208). Complex conjugate mixing is performed on the input frequency comb and output frequency comb (operation 1210). The spectrum of the mixed input frequency comb and output frequency comb is determined (operation 1212). The phase or time difference at each comb frequency in the spectrum is determined to characterize timing across frequencies of the electronic circuit under test (operation 1214). The timing characterization across frequencies of the electronic circuit under test then may be compared to the specification for the electronic circuit (operation 1216), with the process terminating thereafter.
- Turning to
FIG. 13 , an illustration of a flowchart ofprocess 1300 for performing timing calibration across frequencies of a receiver using a variable digital frequency comb generator is depicted in accordance with an illustrative embodiment.Process 1300 may be implemented, for example, using arrangement ofcomponents 900 inFIG. 9 . -
Process 1300 is similar toprocess 1200 inFIG. 12 , except that input frequency comb signal is provided to the input of the electronic circuit under test via an amplifier and transmit antenna followed by a receive antenna and amplifier that provides input to the electronic circuit under test. This allows full system testing of timing across frequencies.Process 1300 also applies to various receivers and phased array antennas, but at the full system level. -
Process 1300 may begin with generating a frequency comb using a variable digital frequency comb generator in accordance with an illustrative embodiment (operation 1302). The digital frequency comb is converted to an analog input frequency comb signal (operation 1304). The analog input frequency comb is transmitted via a transmit antenna (operation 1306). - The transmitted input frequency comb is received via a receive antenna, amplified, and processed by a receiver electronic circuit of a receiver under test to generate an output frequency comb (operation 1308). The output frequency comb produced by the receiver under test in response to the input frequency comb is received (operation 1310). Complex conjugate mixing is performed on the input frequency comb and output frequency comb (operation 1312). The spectrum of the mixed input frequency comb and output frequency comb is determined (operation 1314). The phase or time difference at each comb frequency in the spectrum is determined to characterize timing across frequencies of the receiver under test (operation 1316). The timing characterization across frequencies of the receiver under test then may be compared to the specification for the receiver (operation 1318), with the process terminating thereafter.
- Turning to
FIG. 14 , an illustration of a flowchart of a process for performing propagation measurement of a receiver using a variable digital frequency comb generator is depicted in accordance with an illustrative embodiment.Process 1400 may be implemented, for example, using arrangement ofcomponents 1000 inFIG. 10 . For example, without limitation,process 1400 may be used to characterize propagation over rapidly changing radio channels such as occur during flight of an aircraft or for dynamic ionospheric measurements across a wide frequency range. -
Process 1400 may begin with generating a frequency comb using a variable digital frequency comb generator in accordance with an illustrative embodiment (operation 1402). The digital frequency comb is converted to an analog input frequency comb signal (operation 1404). The analog input frequency comb is transmitted via a transmit antenna (operation 1406). - The transmitted input frequency comb is received via a receive antenna, amplified, and processed by a receiver electronic circuit of a receiver under test to generate an output frequency comb (operation 1408). The output frequency comb produced by the receiver under test in response to the input frequency comb is received (operation 1410). The spectrum of the output frequency comb is computed (operation 1412). Inverse channel coefficients at each point in time for each comb frequency of the frequency comb are determined from the spectrum to characterize propagation over channels across a range of frequencies (operation 1414), with the process terminating thereafter.
- Turning to
FIG. 15 , an illustration of a block diagram of a data processing system is depicted in accordance with an illustrative embodiment.Data processing system 1500 is an example of one possible implementation of a data processing system in which some or all of the functions of a variable digital frequency comb generator as described herein may be implemented. For example, without limitation,data processing system 1500 is an example of one possible implementation ofdata processing system 110 in which variablefrequency comb generator 100 inFIG. 1 is implemented. - In this illustrative example,
data processing system 1500 includescommunications fabric 1502.Communications fabric 1502 provides communications betweenprocessor unit 1504,memory 1506,persistent storage 1508,communications unit 1510, input/output (I/O)unit 1512, anddisplay 1514.Memory 1506,persistent storage 1508,communications unit 1510, input/output (I/O)unit 1512, anddisplay 1514 are examples of resources accessible byprocessor unit 1504 viacommunications fabric 1502. -
Processor unit 1504 serves to run instructions for software that may be loaded intomemory 1506.Processor unit 1504 may be a number of processors, a multi-processor core, or some other type of processor, depending on the particular implementation. Further,processor unit 1504 may be implemented using a number of heterogeneous processor systems in which a main processor is present with secondary processors on a single chip. As another illustrative example,processor unit 1504 may be a symmetric multi-processor system containing multiple processors of the same type. -
Memory 1506 andpersistent storage 1508 are examples ofstorage devices 1516. A storage device is any piece of hardware that is capable of storing information, such as, for example, without limitation, data, program code in functional form, and other suitable information either on a temporary basis or a permanent basis.Storage devices 1516 also may be referred to as computer readable storage devices in these examples.Memory 1506, in these examples, may be, for example, a random access memory or any other suitable volatile or non-volatile storage device.Persistent storage 1508 may take various forms, depending on the particular implementation. - For example,
persistent storage 1508 may contain one or more components or devices. For example,persistent storage 1508 may be a hard drive, a flash memory, a rewritable optical disk, a rewritable magnetic tape, or some combination of the above. The media used bypersistent storage 1508 also may be removable. For example, a removable hard drive may be used forpersistent storage 1508. -
Communications unit 1510, in these examples, provides for communications with other data processing systems or devices. In these examples,communications unit 1510 is a network interface card.Communications unit 1510 may provide communications through the use of either or both physical and wireless communications links. - Input/output (I/O)
unit 1512 allows for input and output of data with other devices that may be connected todata processing system 1500. For example, input/output (I/O)unit 1512 may provide a connection for user input through a keyboard, a mouse, and/or some other suitable input device. Further, input/output (I/O)unit 1512 may send output to a printer.Display 1514 provides a mechanism to display information to a user. - Instructions for the operating system, applications, and/or programs may be located in
storage devices 1516, which are in communication withprocessor unit 1504 throughcommunications fabric 1502. In these illustrative examples, the instructions are in a functional form onpersistent storage 1508. These instructions may be loaded intomemory 1506 for execution byprocessor unit 1504. The processes of the different embodiments may be performed byprocessor unit 1504 using computer-implemented instructions, which may be located in a memory, such asmemory 1506. - These instructions are referred to as program instructions, program code, computer usable program code, or computer readable program code that may be read and executed by a processor in
processor unit 1504. The program code in the different embodiments may be embodied on different physical or computer readable storage media, such asmemory 1506 orpersistent storage 1508. -
Program code 1518 is located in a functional form on computerreadable media 1520 that is selectively removable and may be loaded onto or transferred todata processing system 1500 for execution byprocessor unit 1504.Program code 1518 and computerreadable media 1520 formcomputer program product 1522 in these examples. In one example, computerreadable media 1520 may be computerreadable storage media 1524 or computerreadable signal media 1526. - Computer
readable storage media 1524 may include, for example, an optical or magnetic disk that is inserted or placed into a drive or other device that is part ofpersistent storage 1508 for transfer onto a storage device, such as a hard drive, that is part ofpersistent storage 1508. Computerreadable storage media 1524 also may take the form of a persistent storage, such as a hard drive, a thumb drive, or a flash memory, that is connected todata processing system 1500. In some instances, computerreadable storage media 1524 may not be removable fromdata processing system 1500. - In these examples, computer
readable storage media 1524 is a physical or tangible storage device used to storeprogram code 1518 rather than a medium that propagates or transmitsprogram code 1518. Computerreadable storage media 1524 is also referred to as a computer readable tangible storage device or a computer readable physical storage device. In other words, computerreadable storage media 1524 is a media that can be touched by a person. - Alternatively,
program code 1518 may be transferred todata processing system 1500 using computerreadable signal media 1526. Computerreadable signal media 1526 may be, for example, a propagated data signal containingprogram code 1518. For example, computerreadable signal media 1526 may be an electromagnetic signal, an optical signal, and/or any other suitable type of signal. These signals may be transmitted over communications links, such as wireless communications links, optical fiber cable, coaxial cable, a wire, and/or any other suitable type of communications link. In other words, the communications link and/or the connection may be physical or wireless in the illustrative examples. - In some illustrative embodiments,
program code 1518 may be downloaded over a network topersistent storage 1508 from another device or data processing system through computerreadable signal media 1526 for use withindata processing system 1500. For instance, program code stored in a computer readable storage medium in a server data processing system may be downloaded over a network from the server todata processing system 1500. The data processing system providingprogram code 1518 may be a server computer, a client computer, or some other device capable of storing and transmittingprogram code 1518. - The different components illustrated for
data processing system 1500 are not meant to provide architectural limitations to the manner in which different embodiments may be implemented. The different illustrative embodiments may be implemented in a data processing system including components in addition to and/or in place of those illustrated fordata processing system 1500. Other components shown inFIG. 15 can be varied from the illustrative examples shown. The different embodiments may be implemented using any hardware device or system capable of running program code. As one example,data processing system 1500 may include organic components integrated with inorganic components and/or may be comprised entirely of organic components excluding a human being. For example, a storage device may be comprised of an organic semiconductor. - In another illustrative example,
processor unit 1504 may take the form of a hardware unit that has circuits that are manufactured or configured for a particular use. This type of hardware may perform operations without needing program code to be loaded into a memory from a storage device to be configured to perform the operations. - For example, when
processor unit 1504 takes the form of a hardware unit,processor unit 1504 may be a circuit system, an application specific integrated circuit (ASIC), a programmable logic device, or some other suitable type of hardware configured to perform a number of operations. With a programmable logic device, the device is configured to perform the number of operations. The device may be reconfigured at a later time or may be permanently configured to perform the number of operations. Examples of programmable logic devices include, for example, a programmable logic array, a programmable array logic, a field programmable logic array, a field programmable gate array, and other suitable hardware devices. With this type of implementation,program code 1518 may be omitted, because the processes for the different embodiments are implemented in a hardware unit. - In still another illustrative example,
processor unit 1504 may be implemented using a combination of processors found in computers and hardware units.Processor unit 1504 may have a number of hardware units and a number of processors that are configured to runprogram code 1518. With this depicted example, some of the processes may be implemented in the number of hardware units, while other processes may be implemented in the number of processors. - In another example, a bus system may be used to implement
communications fabric 1502 and may be comprised of one or more buses, such as a system bus or an input/output bus. Of course, the bus system may be implemented using any suitable type of architecture that provides for a transfer of data between different components or devices attached to the bus system. - Additionally,
communications unit 1510 may include a number of devices that transmit data, receive data, or both transmit and receive data.Communications unit 1510 may be, for example, a modem or a network adapter, two network adapters, or some combination thereof. Further, a memory may be, for example,memory 1506, or a cache, such as that found in an interface and memory controller hub that may be present incommunications fabric 1502. - The flowcharts and block diagrams described herein illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various illustrative embodiments. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function or functions. It should also be noted that, in some alternative implementations, the functions noted in a block may occur out of the order noted in the figures. For example, the functions of two blocks shown in succession may be executed substantially concurrently, or the functions of the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
- The description of the different illustrative embodiments has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the embodiments in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. Further, different illustrative embodiments may provide different features as compared to other desirable embodiments. The embodiment or embodiments selected are chosen and described in order to best explain the principles of the embodiments, the practical application, and to enable others of ordinary skill in the art to understand the disclosure for various embodiments with various modifications as are suited to the particular use contemplated.
Claims (20)
1. A method of generating a frequency comb, comprising:
generating a sine wave; and
processing the sine wave by a universal differential equation to generate the frequency comb from the sine wave.
2. The method of claim 1 , wherein generating the sine wave comprises generating the sine wave comprising samples at a selected sampling rate and a selected increment corresponding to a number of samples for a period of the sine wave.
3. The method of claim 2 , wherein generating the sine wave comprises generating the sine wave using a lookup table.
4. The method of claim 2 , wherein generating the sine wave comprises generating the sine wave using a CORDIC algorithm.
5. The method of claim 2 , wherein:
a starting frequency in the frequency comb is a function of the selected sampling rate and the selected increment;
a number of frequencies in the frequency comb is a function of the selected increment; and
a frequency spacing of the frequencies in the frequency comb is a function of the selected sampling rate and the selected increment.
6. The method of claim 1 , wherein the universal differential equation is:
z i=(3y3·y2·y1−2(1−n −2)·y23)/y12 −y 1+4y 2−6y 3+4y 4,
z i=(3y3·y2·y1−2(1−n −2)·y23)/y12 −y 1+4y 2−6y 3+4y 4,
wherein,
y1=−11/6·y1+3y2−3/2·y3+1/3·y4,
y2=2y1−5y2+4y3−y4,
y3=−y1+3y2−3y3+y4, and
y1, y2, y2, and y4 are sequential samples in time of the sine wave.
7. The method of claim 6 , wherein processing the sine wave by the universal differential equation comprises processing the sine wave by a universal digital filter comprising a pipeline circuit.
8. The method of claim 1 further comprising converting the frequency comb to desired frequencies to form a desired frequency comb.
9. The method of claim 1 further comprising using the frequency comb in an application selected from the group of applications consisting of performing timing calibration across frequencies of an electronic circuit, performing timing calibration across frequencies of a receiver, and performing propagation measurement of a receiver.
10. A method of generating a frequency comb, comprising:
selecting a sampling rate and an increment;
generating a sine wave comprising samples at the selected sampling rate and the selected increment corresponding to a number of samples for a period of the sine wave; and
processing the sine wave to generate the frequency comb;
wherein:
a starting frequency in the frequency comb is a function of the selected sampling rate and the selected increment;
a number of frequencies in the frequency comb is a function of the selected increment; and
a frequency spacing of the frequencies in the frequency comb is a function of the selected sampling rate and the selected increment.
11. The method of claim 10 , wherein processing the sine wave to generate the frequency comb comprises processing the sine wave by a universal differential equation to generate the frequency comb.
12. An apparatus for generating a frequency comb, comprising:
a sine wave generator configured to generate a sine wave; and
a universal digital filter configured to process the sine wave by a universal differential equation to generate the frequency comb.
13. The apparatus of claim 12 , wherein the sine wave generator is configured to generate the sine wave comprising samples at a selected sampling rate and a selected increment corresponding to a number of samples for a period of the sine wave.
14. The apparatus of claim 13 , wherein the sine wave generator is configured to generate the sine wave using a lookup table.
15. The apparatus of claim 13 , wherein the sine wave generator is configured to generate the sine wave using a CORDIC algorithm.
16. The apparatus of claim 13 , wherein:
a starting frequency in the frequency comb is a function of the selected sampling rate and the selected increment;
a number of frequencies in the frequency comb is a function of the selected increment; and
a frequency spacing of the frequencies in the frequency comb is a function of the selected sampling rate and the selected increment.
17. The apparatus of claim 12 , wherein the universal differential equation is:
z i=(3y3·y2·y1−2(1−n −2)·y23)/y12 −y 1+4y 2−6y 3+4y 4,
z i=(3y3·y2·y1−2(1−n −2)·y23)/y12 −y 1+4y 2−6y 3+4y 4,
wherein
y1=−11/6·y1+3y2−3/2·y3+1/3·y4,
y2=2y1−5y2+4y3−y4,
y3=−y1+3y2−3y3+y4, and
y1, y2, y3, and y4 are sequential samples in time of the sine wave.
18. The apparatus of claim 17 , wherein the universal digital filter comprises a pipeline circuit for processing the sine wave using the universal differential equation to generate the frequency comb.
19. The apparatus of claim 12 further comprising a mixer configured to convert the frequency comb to desired frequencies to form a desired frequency comb.
20. The apparatus of claim 12 , wherein the sine wave generator and the universal digital filter are implemented in a field-programmable gate array, an application specific integrated circuit, or a data processing system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/452,321 US11381227B1 (en) | 2021-01-04 | 2021-10-26 | Variable frequency comb generation |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163133550P | 2021-01-04 | 2021-01-04 | |
US17/452,321 US11381227B1 (en) | 2021-01-04 | 2021-10-26 | Variable frequency comb generation |
Publications (2)
Publication Number | Publication Date |
---|---|
US11381227B1 US11381227B1 (en) | 2022-07-05 |
US20220216858A1 true US20220216858A1 (en) | 2022-07-07 |
Family
ID=82218884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/452,321 Active US11381227B1 (en) | 2021-01-04 | 2021-10-26 | Variable frequency comb generation |
Country Status (1)
Country | Link |
---|---|
US (1) | US11381227B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11616492B1 (en) * | 2021-11-30 | 2023-03-28 | L3Harris Technologies, Inc. | Time-adaptive RF hybrid filter structures |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110282924A1 (en) * | 2009-01-28 | 2011-11-17 | Andrew Martin Mallinson | Channel Select Filter Apparatus and Method |
US9093983B1 (en) * | 2000-07-11 | 2015-07-28 | Marvell International Ltd. | Movable tap finite impulse response filter |
US9214973B1 (en) * | 2012-08-29 | 2015-12-15 | Marvell International Ltd. | Time varying notch filter |
US20160142042A1 (en) * | 2014-11-13 | 2016-05-19 | Samsung Display Co., Ltd. | Elimination method for common sub-expression |
US9608598B1 (en) * | 2015-11-19 | 2017-03-28 | Cirrus Logic, Inc. | Cascaded integrator-comb filter as a non-integer sample rate converter |
US20170201236A1 (en) * | 2014-06-13 | 2017-07-13 | Azbil Corporation | Digital filter |
US9966933B1 (en) * | 2014-01-14 | 2018-05-08 | Altera Corporation | Pipelined systolic finite impulse response filter |
US20200177166A1 (en) * | 2018-11-30 | 2020-06-04 | Nxp B.V. | Apparatus and method for performing digital infinite impulse filtering |
-
2021
- 2021-10-26 US US17/452,321 patent/US11381227B1/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9093983B1 (en) * | 2000-07-11 | 2015-07-28 | Marvell International Ltd. | Movable tap finite impulse response filter |
US20110282924A1 (en) * | 2009-01-28 | 2011-11-17 | Andrew Martin Mallinson | Channel Select Filter Apparatus and Method |
US9214973B1 (en) * | 2012-08-29 | 2015-12-15 | Marvell International Ltd. | Time varying notch filter |
US9966933B1 (en) * | 2014-01-14 | 2018-05-08 | Altera Corporation | Pipelined systolic finite impulse response filter |
US20170201236A1 (en) * | 2014-06-13 | 2017-07-13 | Azbil Corporation | Digital filter |
US20160142042A1 (en) * | 2014-11-13 | 2016-05-19 | Samsung Display Co., Ltd. | Elimination method for common sub-expression |
US9608598B1 (en) * | 2015-11-19 | 2017-03-28 | Cirrus Logic, Inc. | Cascaded integrator-comb filter as a non-integer sample rate converter |
US20200177166A1 (en) * | 2018-11-30 | 2020-06-04 | Nxp B.V. | Apparatus and method for performing digital infinite impulse filtering |
Also Published As
Publication number | Publication date |
---|---|
US11381227B1 (en) | 2022-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7787533B2 (en) | Alternative method for equalizing DDS generated waveforms | |
CN111835434B (en) | Method and device for measuring broadband frequency response | |
US9252895B1 (en) | System and method of measuring full spectrum of modulated output signal from device under test | |
US11381227B1 (en) | Variable frequency comb generation | |
Liu et al. | Precisely synchronous and cascadable multi-channel arbitrary waveform generator | |
US6526365B1 (en) | Low-power/wideband transfer function measurement method and apparatus | |
JP2020511647A (en) | Exploration of concrete structure using electromagnetic waves | |
US20110028109A1 (en) | Wireless communications device with white gaussian noise generator and related methods | |
US20150147987A1 (en) | Transmitter with a Reduced Complexity Digital Up-Converter | |
US20060066289A1 (en) | Method and apparatus for measuring a digital device | |
WO2021227217A1 (en) | Signal-to-noise ratio estimation method and apparatus, and electronic device and storage medium | |
CN117294365A (en) | Down-conversion channel phase consistency adjustment method, system, terminal and storage medium | |
US8023558B2 (en) | Method and apparatus for measuring the input frequency response of a digital receiver | |
JP4732177B2 (en) | Radar apparatus calibration apparatus and method | |
CN107885118B (en) | A kind of variable center frequency signal processing method, system and programming device | |
US20220229171A1 (en) | System and method for microwave imaging | |
Zeng et al. | Wideband signal transceiver module with a Doppler shift function | |
Grenkov et al. | A Broadband Spectral Analyzer of Cosmic Radio Emissions | |
JP6088391B2 (en) | Signal processing apparatus, signal analysis system, signal generation system, signal analysis method, and signal generation method | |
Sun et al. | Design of Gaussian modulator for continuous-variable quantum key distribution | |
US20230163798A1 (en) | Determining lo leakage and quadrature error parameters of an rf front end | |
RU2807958C1 (en) | System for measuring introduced phase noise of device in the high-frequency, ultra-high-frequency or optical ranges | |
CN114928410B (en) | Vortex microwave quantum ultra-narrow band communication phase synchronization device | |
CN111123383B (en) | Sparse array signal processing method, device, circuit and imaging system | |
CN110346653B (en) | Method and device for measuring solar wind dispersion quantity, electronic equipment and medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |