A method, comprising: generating, by a signal source, a continuous chirp signal the chirp signal being generated by converting to analog form a plurality of digital samples, each of the plurality of digital samples being calculated, at least in part, by: (i) incrementing a first counter by a frequency slope value, (ii) incrementing a second counter by a current value of the first counter, and (iii) evaluating a periodic function based on a current value of the second counter; and transmitting the chirp signal from the signal source to a signal receiver, the chirp signal being transmitted over a communications channel that couples the signal source to the signal receiver, the chirp signal being transmitted as part of a test for detecting a phase response of the communications channel.
|
1. A method, comprising:
generating, by a signal source, a continuous chirp signal, the chirp signal being generated by converting to analog form a plurality of digital samples, each of the plurality of digital samples being calculated, at least in part, by: (i) incrementing a first counter by a frequency slope value, (ii) incrementing a second counter by a current value of the first counter, and (iii) evaluating a periodic function based on a current value of the second counter; and
transmitting the chirp signal from the signal source to a signal receiver, the chirp signal being transmitted over a communications channel that couples the signal source to the signal receiver, the chirp signal being transmitted as part of a test for detecting a phase response of the communications channel,
wherein the chirp signal has a frequency that changes in a cyclical pattern, and the first counter is arranged to wrap at an end of each frequency cycle of the chirp signal.
9. A method, comprising:
receiving a chirp signal at a signal receiver and digitizing the chirp signal to produce a first plurality of digital samples, the chirp signal being received from a signal source over a communications channel;
generating the chirp signal locally, at the signal receiver, by calculating a second plurality of digital samples, each of the second plurality of digital samples being calculated, at least in part, by: (i) incrementing a first counter by a frequency slope value, (ii) incrementing a second counter by a current value of the first counter, and (iii) evaluating a periodic function based on a current value of the second counter; and
identifying a phase response of the communications channel based on a difference between the received chirp signal and the generated chirp signal,
wherein the chirp signal has a frequency that changes in a cyclical pattern, and the first counter is arranged to wrap at an end of each frequency cycle of the chirp signal.
16. An apparatus for generating a cyclical chirp signal, comprising:
a first modulo counter that is incremented by a frequency slope value;
a second modulo counter that is incremented by a current value of the first modulo counter, the second modulo counter being incremented once each time the first modulo counter is incremented;
a computation module that is configured to generate a different respective digital sample each time the second modulo counter is incremented, the respective digital sample being generated, at least in part, by evaluating a periodic function based on a current value of the second modulo counter; and
a digital-to-analog converter that is configured to receive each respective digital sample that is generated by the computation module, convert the respective digital sample to analog format, and output the converted digital sample as part of the chirp signal,
wherein the chirp signal has a frequency that changes in a cyclical pattern and the second modulo counter is arranged to wrap at an end of every other frequency cycle of the chirp signal.
2. The method of
3. The method of
4. The method of
6. The method of
7. The method of
8. The method of
10. The method of
11. The method of
12. The method of
14. The method of
15. The method of
17. The apparatus of
18. The apparatus of
19. The apparatus of
|
Direct digital synthesis (DDS) is a method for generating an analog waveform by producing a time-varying signal in digital form and then converting the signal to analog format. Waveforms generated by DDS are frequently used in the calibration and testing of various types of equipment, such as communications equipment. Because operations within DDS are mostly digital, DDS offers fast switching between output frequencies, fine frequency resolution, and operation over a broad spectrum of frequencies. Waveforms produced by using DDS tend to have low phase noise and low spurious performance.
According to aspects of the disclosure, a method is provided, comprising: generating, by a signal source, a continuous chirp signal, the chirp signal being generated by converting to analog form a plurality of digital samples, each of the plurality of digital samples being calculated, at least in part, by: (i) incrementing a first counter by a frequency slope value, (ii) incrementing a second counter by a current value of the first counter, and (iii) evaluating a periodic function based on a current value of the second counter; and transmitting the chirp signal from the signal source to a signal receiver, the chirp signal being transmitted over a communications channel that couples the signal source to the signal receiver, the chirp signal being transmitted as part of a test for detecting a phase response of the communications channel, wherein the chirp signal has a frequency that changes in a cyclical pattern, and the first counter is arranged to wrap at the end of each frequency cycle of the chirp signal.
According to aspects of the disclosure, a method is provided, comprising: receiving a chirp signal at a signal receiver and digitizing the chirp signal to produce a first plurality of digital samples, the chirp signal being received from a signal source over a communications channel; generating the chirp signal locally, at the signal receiver, by calculating a second plurality of digital samples, each of the second plurality of digital samples being calculated, at least in part, by: (i) incrementing a first counter by a frequency slope value, (ii) incrementing a second counter by a current value of the first counter, and (iii) evaluating a periodic function based on a current value of the second counter; and identifying a phase response of the communications channel based on a difference between the received chirp signal phase and the generated chirp signal phase, wherein the chirp signal has a frequency that changes in a cyclical pattern, and the first counter is arranged to wrap at the end of each frequency cycle of the chirp signal.
According to aspects of the disclosure, an apparatus is provided for generating a cyclical chirp signal, comprising: a first modulo counter that is incremented by a frequency slope value; a second modulo counter that is incremented by a current value of the first modulo counter, the second modulo counter being incremented once each time the first modulo counter is incremented; a computation module that is configured to generate a different respective digital sample each time the second modulo counter is incremented, the respective digital sample being generated, at least in part, by evaluating a periodic function based on a current value of the second modulo counter; and a digital-to-analog converter that is configured to receive each respective digital sample that is generated by the computation module, convert the respective digital sample to analog format, and output the converted digital sample as part of the chirp signal.
The foregoing features may be more fully understood from the following description of the drawings in which:
In operation, the signal source 102 may generate a chirp signal 107a. The signal source 102 may transmit the chirp signal 107a, over the communications channel 106, to the signal receiver 104. The signal receiver 104 may receive the chirp signal 107a. Next, the signal receiver 104 may calculate the chirp signal 107a locally. Next, the signal receiver 104 may determine a phase response of the communications channel 106 based on a phase difference between the received chirp signal 107a and the calculated chirp signal 107a. For example, the signal receiver 104 may determine the phase response of the communications channel 106 (at least in part) by subtracting, in the frequency domain, the calculated chirp signal 107a from the received chirp signal 107a. As another example, the signal receiver 104 may perform a complex divide of in-phase and quadrature (I/Q) samples of the calculated chirp signal 107a and the received chirp signal 107a, respectively, and then use the result to compute the phase response of the communications channel 106. Afterwards, the signal source 102 may calculate, in a well-known fashion, a set of compensation parameters for the communications channel 106. The compensation parameters may be calculated based on the determined phase response. The compensation parameters may be used by the signal receiver 104, or another device, to correct receive errors on the communications channel 106 to a desired phase response.
Plot 122 illustrates that the frequency of the chirp signal 107a may change in a first cyclical pattern. More particularly, the chirp signal 107a may be a linear frequency ramp that has a plurality of frequency cycles 126, with each frequency cycle 126 having either: (i) a first Nyquist zone 127 and a second Nyquist zone 128 or (ii) a third Nyquist zone 129, and a fourth Nyquist zone 130. As can be readily appreciated, the second 128, third 129, and fourth 130 Nyquist zones may be caused by aliasing or folding of the upper components of the chirp signal 107a into the operating band of the chirp signal 107a. The number of Nyquist zones that are present in the chirp signal 107a may depend on the sampling rate (at the signal source 102) of the chirp signal 107a. Although, in the present example, the chirp signal 107a includes four Nyquist zones, it will be understood that the present disclosure is not limited to any number of Nyquist zones being present in the chirp signal. The chirp signal 107a may be generated by calculating a first plurality of digital samples and converting each of the digital samples to analog format. Each frequency cycle 126 of the chirp signal 107a may be generated based on (and/or include) M digital samples, where M is a positive integer greater than 1. Each frequency cycle 126 of the chirp signal 107a may begin with the chirp signal 107a assuming the same initial frequency (e.g., 0 GHz). Furthermore, the frequency range of each frequency cycle 126 of the chirp signal 107a may span between 0 and Fs/2 Hz, where Fs is the sampling rate at which the signal source 102 generates digital samples of the chirp signal 107a (e.g., digital samples/second).
Plot 124 illustrates that the phase of the chirp signal 107a may change in a second cyclical pattern. More particularly, the chirp signal 107a may include phase cycles 131. Each of the phase cycles 131 may have a duration that is twice as long as the duration of the frequency cycles 126. Each of the phase cycles 131 may start at the same time as one of the frequency cycles 126 and end at the same time with the next one of the frequency cycles 126. Each of the phase cycles 131 may start at an initial value (e.g., 0 BAMS) and return to the same value at the end.
Under the arrangement shown in
For example, in Nyquist zone 127, the chirp signal 107a may have a first phase (e.g., 0.1 BAMS) at all times when the chirp signal has a frequency F1 (e.g., 1.5 GHz, etc.). In the second Nyquist zone 128, the chirp signal 107a may have a second phase (e.g., 0.2 BAMS) at all times when the chirp signal has the same frequency F1 (e.g., 1.5 GHz, etc.). In the third Nyquist zone 129, the chirp signal 107a may have a third phase (e.g., 0.3 BAMS) at all times when the chirp signal 107a has the same frequency F1 (e.g., 1.5 GHz, etc.). And in the fourth Nyquist zone 130, the chirp signal 107a may have a fourth phase (e.g., 0.4 BAMS) at all times when the chirp signal 107a has the same frequency F1 (e.g., 1.5 GHz, etc.). In the example of
In some respects, conventional techniques for channel calibration require a known phase (and time) reference for determining the phase response of a channel. Establishing such known reference may be difficult and prone to errors. By contrast, using the chirp signal 107a for channel calibration does not require a known phase (and time reference). Because in each of Nyquist zones 127-130 there is a predictable mapping between frequency and phase, no external phase reference is necessary to use the chirp signal 107a. Rather, a phase (and time) reference may be extracted directly from the chirp signal 107a in postprocessing.
According to aspects of the disclosure, the chirp signal 107a is a continuous analog signal (as opposed to a pulse). Having the chirp signal 107a be a continuous signal is advantageous because it eliminates trigger uncertainty error, which is present in conventional approaches that utilize swept pulsed continuous-wave (CW) signals for channel calibration. The frequency range of the chirp signal 107a is capable of being set to match the frequency band of the communications channel 106, thereby allowing the frequency response of the communications channel 106 to be tested across the entire band. Moreover, as noted above, the phase of the chirp signal 107a is matched to the frequency of the chirp signal 107a, which causes the chirp signal 107a to have: (i) the same respective phase at any given frequency in the first Nyquist zone 127, (ii) the same respective phase at any given frequency in the second Nyquist zone 128, (iii) the same respective phase at any given frequency in the third Nyquist zone 129, and (iv) the same respective phase at any given frequency in the fourth Nyquist zone 130. This property of the chirp signal 107a is advantageous because it allows digital samples of the chirp signal 107a to be averaged (to improve the signal-to-noise ratio of the chirp signal 107a) without obfuscating any phase distortions that are imparted on the chirp signal 107a by the communications channel 106 (and/or transmit/receive circuitry).
The frequency accumulator 403 may be implemented by using a first modulo-N counter. The frequency accumulator may be configured to store a variable COUNTER1 and increment COUNTER1 by a value FREQ_SLOPE, which is stored in register 402. When the frequency accumulator 403 is first started, or subsequently reset, the value of COUNTER1 may be set to equal a value FINITIAL. The frequency accumulator 403 may be reset every time when the addition of FREQ_SLOPE to the current value of COUNTER1 results in a sum that is greater than the maximum value, which the frequency accumulator 403 can store. As can be readily appreciated, the maximum value, which the frequency accumulator can store, is equal to 2k−1, where k is the bit size of the frequency accumulator 403. Resetting the frequency accumulator 403 may include setting the value of COUNTER1 to equal the value FINITIAL. In some implementations, the value FREQ_SLOPE may be matched with a carryover function of the first modulo-N counter, so as to cause COUNTER1 to return automatically to the value FINITIAL when the maximum of the first modulo-N counter is reached.
The phase accumulator 405 may be implemented by using a second modulo-N counter. The phase accumulator 405 may be configured to store a variable COUNTER2 and increment COUNTER2 by the current value of COUNTER1. The phase accumulator 405 may increment COUNTER2 once for each time COUNTER1 is incremented by the frequency accumulator 403. When the phase accumulator 405 is first started, or subsequently reset, the value of COUNTER2 may be set to equal a value PINITIAL. The phase accumulator 405 may be reset every time when the addition of the current value of COUNTER1 to the current value of COUNTER2 results in a sum that is greater than the maximum value, which the phase accumulator 405 can store. As can be readily appreciated, the maximum value, which the phase accumulator can store, is equal to 2q−1, where q is the bit size of the phase accumulator 405. The bit size of the phase accumulator may be the same or different from the bit size of the frequency accumulator. Resetting the phase accumulator 405 may include setting the value of COUNTER2 to equal the value PINITIAL. In some implementations, the value FREQ_SLOPE may be matched with a carryover function of the second modulo-N counter, so as to cause COUNTER2 to return automatically to the value PINITIAL when the maximum value of the second modulo-N counter is reached.
The computation module 408 may be configured to produce a plurality of digital samples. The computation module 408 may produce one digital sample every time COUNTER2 is incremented by the phase accumulator 405. The computation module may calculate each digital sample (at least in part) by calculating the sine of the current value of COUNTER2. According to the present example, the computation module 408 is implemented by using a lookup table. However, alternative implementations are possible in which the computation module 408 is implemented by using a CORDIC processor, an arithmetic-and-logic unit, and/or another type of type electronic circuit. Although, in the present example, the computation module 408 produces each digital sample by calculating the sine of the current value of COUNTER2, alternative implementations are possible in which the computation module evaluates another type of periodic function based on the value of COUNTER2. Furthermore, alternative implementations are possible in which the computation module 408 performs other calculations when generating each digital sample, in addition to the evaluation of the sine of the current value of COUNTER2.
The DAC 410 may be configured to receive each digital sample that is generated by the computation module 408, convert the digital sample to analog form, and output the converted sample as part of the chirp signal 107a. The present disclosure is not limited to using any specific type of digital-to-analog converter in the signal source 102.
The value FINITIAL is equal to (or otherwise specifies) the initial frequency that is assumed by the chirp signal 107a at the beginning of each frequency cycle 126 (see
The value FREQ_SLOPE specifies the slope of the chirp signal 107a. In some respects, the size of FREQ_SLOPE determines the resolution at which the phase response of the communications channel 106 would be determined by the signal receiver 104 (i.e., the smaller the magnitude, the greater the resolution). Furthermore, the size of FREQ_SLOPE determines the time it would take the signal receiver 104 to test the phase response of the communications channel 106. The value FREQ_SLOPE 402 may be customized by the user of the signal source 102 (e.g., by storing a desired number in register 402). Allowing the value FREQ_SLOPE to be customized by the user is advantageous because it affords the user the flexibility of controlling the resolution and/or duration of any tests that are performed on the communications channel 106.
According to the example of
According to the example of
At step 502, the signal source identifies a communications channel to test (and/or calibrate). According to the example of
At step 504, a frequency slope is selected for a first chirp signal 107a that is going to be used to test the communications channel (identified at step 502). The frequency slope may include the rate at which the frequency of the first chirp signal 107a changes with respect to time. In some implementations, selecting a frequency slope may include selecting a value, such as a value FREQ_SLOPE (shown in
At step 506, an initial frequency is selected for the first chirp signal 107a. The initial frequency may be the frequency of the first chirp signal 107a at the beginning of each one of its frequency cycles (e.g., see frequency cycles 126 shown in
At step 508, an initial phase is selected for the first chirp signal 107a. The initial phase may be the phase, which the first chirp signal 107a would assume at the beginning of each of its phase cycles (e.g., see phase cycles 131 shown in
At step 510, the first chirp signal 107a is generated and transmitted over the communications channel (identified at step 502) to a signal receiver. According to the present example, the first chirp signal 107a is generated based on the frequency slope (selected at step 504), the initial frequency (selected at step 506), and the initial phase (selected at step 508). The first chirp signal 107a may be generated in accordance with the processes discussed above with respect to
At step 512, the signal source provides one or more of the frequency slope (selected at step 504), the initial frequency (selected at step 506), and the initial phase (selected at step 508). In some implementations, generating the first chirp signal 107a may include encoding the frequency slope, the initial frequency, and the initial phase in a preamble (or elsewhere) of the first chirp signal 107a, and they may be provided together with the first chirp signal 107a. Additionally or alternatively, in some implementations, the frequency slope, the initial frequency, and the initial phase may be provided to the signal receiver separately of the chirp signal 107a.
At step 511, the signal receiver 104 receives the first chirp signal 107a (transmitted at step 510). According to the present example, receiving the first chirp signal 107a may include obtaining a first plurality of digital samples of the first chirp signal 107a. According to the present example, each of the first plurality of digital samples is obtained by averaging samples of the first chirp signal 107a. In some implementations, the averaging may be performed in the manner discussed with respect to
At step 513, the signal receiver 104 identifies one or more parameters that were used in generating the first chirp signal 107a. According to the present example, the parameters include one or more of the frequency slope of the first chirp signal 107a (selected at step 504), the starting frequency of the first chirp signal 107a (selected at step 506), the starting phase of the first chirp signal 107a (selected at step 508), and the sampling rate (at the signal source) of the first chirp signal 107a. In some implementations, identifying the one or more parameters may include receiving user input specifying the parameters. Additionally or alternatively, identifying the one or more parameters may include receiving an indication of the one or more parameters from the signal source. Additionally or alternatively, identifying the one or more parameters may include decoding the one or more parameters from a preamble of the first chirp signal 107a. Stated succinctly, the present disclosure is not limited to any specific method for obtaining the one or more parameters of the first chirp signal 107a.
At step 515, the signal receiver 104 generates a second chirp signal 107b based on the obtained parameters of the first chirp signal 107a (identified at step 513). In some implementations, the second chirp signal 107b would ideally be a replica of the first chirp signal 107a, if it were not for one or more of: (i) errors introduced in the first chirp signal 107a by the communications channel used for transmitting the first chirp signal 107a (e.g., non-linear phase shift), (ii) errors introduced in the first chirp signal 107a by transmitting and/or receiving electronics (e.g., linear phase shift), and (iii) errors introduced in the first chirp signal 107a by any other factor that is present in the transmission path of the first chirp signal 107a. According to the example of
At step 517, the signal receiver 104 determines the phase response of the communications channel (identified at step 502). In some implementations, the signal receiver 104 may determine the phase response by calculating the phase of the frequency domain complex I/Q samples of the first 107a and second 107b chirp signals and then subtracting, in the frequency domain, the second chirp signal 107b from the first chirp signal 107a (or vice versa). As noted above, another way to determine the phase response of the communications channel may be to divide I/Q samples of the first 107a and second 107b chirp signals and then use the result to calculate the phase response of the communications channel. For example, the phase response of the channel can be calculated by using Equation 1 below, where:
where Cpr is the phase response of the communications channel, Qr is the quadrature component of the result of the division of the I/Q samples of the first 107a and second 107b chirp signals, and Ir is the in-phase component of the result of the division of the I/Q samples of the first 107a and second 107b chirp signals. Stated succinctly, the present disclosure is not limited to any specific method for calculating the phase response of the communications channel based on the first chirp signal 107a and the second chirp signal 107b.
In some implementations, the difference between the first 107a and second 107b chirp signals may include a linear component and a non-linear component. The non-linear component may be the phase response of the communications channel (identified at step 502), and the linear component may be attributable to delays caused by transmit/receive circuitry, as well as other sources. The linear component and the non-linear component may be separated in a well-known fashion by using a least-square or a D-trend algorithm. Specifically, the least-square or D-trend algorithm may be used to identify the linear component of the difference between the first 107a and second 107b chirp signals; and the non-linear component may be estimated by subtracting the linear component from the difference
At step 519, the signal receiver 104 calculates a plurality of compensation parameters for the communications channel (identified at step 502) based on the phase response (identified at step 517). The compensation parameters may be used to correct non-linear phase distortions that are caused by the communications channel (identified at step 502).
The processes described herein may be implemented in hardware, software, or a combination of the two. As used throughout the disclosure, the term “counter” shall refer to one or both of: (i) a variable that is being incremented and (ii) a hardware counter that is incrementing the variable. For example, and without limitation, a hardware counter may include a modulo-N counter. The processes described herein may be implemented in computer programs executed on programmable computers/machines that each includes a processor, a non-transitory machine-readable medium or another article of manufacture that is readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and one or more output devices. Program code may be applied to data entered using an input device to perform any of the processes described herein and to generate output information.
The system may be implemented, at least in part, via a computer program product, (e.g., in a non-transitory machine-readable storage medium such as, for example, a non-transitory computer-readable medium), for execution by, or to control the operation of, data processing apparatus (e.g., a programmable processor, a computer, or multiple computers). Each such program may be implemented in a high-level procedural or object-oriented programming language to work with the rest of the computer-based system. However, the programs may be implemented in assembly, machine language, or Hardware Description Language. The language may be a compiled or an interpreted language, and it may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or another unit suitable for use in a computing environment. A computer program may be deployed to be executed on one computer or multiple computers at one site or distributed across multiple sites and interconnected by a communication network. A computer program may be stored on a non-transitory machine-readable medium that is readable by a general or special-purpose programmable computer for configuring and operating the computer when the non-transitory machine-readable medium is read by the computer to perform the processes described herein. For example, the processes described herein may also be implemented as a non-transitory machine-readable storage medium, configured with a computer program, where upon execution, instructions in the computer program cause the computer to operate in accordance with the processes. A non-transitory machine-readable medium may include but is not limited to a hard drive, compact disc, flash memory, non-volatile memory, volatile memory, magnetic diskette and so forth but does not include a transitory signal per se.
Having described preferred embodiments, which serve to illustrate various concepts, structures and techniques, which are the subject of the present disclosure, it will now become apparent that other embodiments incorporating these concepts, structures and techniques may be used. Accordingly, it is submitted that the scope of the present disclosure should not be limited to the described embodiments but rather should be limited only by the spirit and scope of the following claims.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
5708463, | Jan 28 1989 | Canon Kabushiki Kaisha | Ink jet recording device having monochromatic and color recording modes |
5963607, | May 02 1997 | Harris Corporation | Direct digital synthesizer with high resolution tracker |
6084545, | Jul 12 1999 | Lockheed Martin Corporation | Near-field calibration system for phase-array antennas |
7336748, | Dec 23 2003 | Teradyne, Inc. | DDS circuit with arbitrary frequency control clock |
7580964, | Jan 25 2006 | TELEDYNE SCIENTIFIC & IMAGING, LLC | Hardware-efficient phase-to-amplitude mapping design for direct digital frequency synthesizers |
7787533, | Jan 03 2007 | Lockheed Martin Corporation | Alternative method for equalizing DDS generated waveforms |
8503593, | Jun 23 2010 | Raytheon Company | Waveform generator in a multi-chip system |
9791484, | Feb 09 2012 | National Instruments Ireland Resources Limited | Measurement and system for performing a calibration |
20050129139, | |||
20070297523, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jul 09 2020 | SMITH, JASON R | Raytheon Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 053188 | /0933 | |
Jul 10 2020 | Raytheon Company | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Jul 10 2020 | BIG: Entity status set to Undiscounted (note the period is included in the code). |
Date | Maintenance Schedule |
Aug 17 2024 | 4 years fee payment window open |
Feb 17 2025 | 6 months grace period start (w surcharge) |
Aug 17 2025 | patent expiry (for year 4) |
Aug 17 2027 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 17 2028 | 8 years fee payment window open |
Feb 17 2029 | 6 months grace period start (w surcharge) |
Aug 17 2029 | patent expiry (for year 8) |
Aug 17 2031 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 17 2032 | 12 years fee payment window open |
Feb 17 2033 | 6 months grace period start (w surcharge) |
Aug 17 2033 | patent expiry (for year 12) |
Aug 17 2035 | 2 years to revive unintentionally abandoned end. (for year 12) |