A NOVEL COHERENT DIGITAL SWEEP OSCILLATOR WITH EXTREMELY LOW SWEEP RATES AND HARMONIC DISTORTION

A novel technique to efficiently increase the resolution of coherent digital sweep oscillators based on look-up-table (LUT) methods is proposed. The increase in resolution measured in terms of sweep rates is achieved while maintaining very low levels of spurious harmonic distortion. The proposed technique increases the LUT length to a level at which the spurious harmonic distortion is negligible. The proposed technique is based on partitioning the address register into three sets and dividing the available LUT length into five smaller tables addressed according to the content of the three address register sets. The proposed technique is simulated and its performance is compared with that of the known sweep oscillators. The simulation results show that the proposed technique is superior to all sweep oscillators reported in the literature.


INTRODUCTION
Coherent digital sweep oscillators in which both the frequency and phase of the sweep signal arc specified for all time are essential elements in many applications.They are used for target velocity estimation [I], tirnc-dclay spectrometry for calibration of ultrasonic *Dr.Al-Ibrahim is with Etisalat College of Engineering on leave from Electrical Engineering Department, Jordan University of Science and Technology, Irbid-Jordan.e-mail: mjarrah@ece.ac.ae transducers [2], phase coding of sweep signals in communication applications, system characterization, radar, sonar, acoustic digital imaging, and the determination of system response with network analyzers [3][4][5].
There are few methods to generate coherent sweep signals.Coherent sweep signals can be generated by storing the samples of a predetermined sweep signal in a high speed digital memory and then reading the samples at appropriate time intervals.The limitation of this method is the time-bandwidth product.Other methods are limited by the maximum attainable frequency.
A new method for the generation of digital sweep signals was proposed by Pedersen [5].His approach is based on real time digital evaluation of the phase of the desired sweep signal and then reading its value from a LUT.The total phase of the sweep signal is quadratic and, therefore, two integrators connected in series must be used to generate the total phase.The oscillator was implemented using a TTL logic circuit for which the sweep rate is determined by the parallel shifter on the address lines.By shifting the value of the total phase p bits to the left, the least significant p bits are discarded and the next K bits of the accumulator are used as an address pointer to the LUT.
Pedersen sweep oscillator has sweep rates that can be varied in steps of two only and both its start frequency and start phase can be preset with integer values only.Moreover, its main disadvantage is the high level of spurious harmonic distortion due to the fact that the least significant p bits are discarded [6][7][8].A sweep oscillator was reported in [9] in which fractional addressing was utilized to reduce the level of spurious harmonic distortion.In fact the sweep oscillator in [9] exhibits the advantage of fine sweep rates as compared with that of Pedersen oscillator.Another sweep oscillator in which fractional addressing is utilized was reported in [10].The major disadvantage of the digital sweep oscillator in [10] is that it requires the implementation of two independent Pcdcrsen sweep oscillators and then evaluating the phase difference between the two generated sweep signals.The hardware requirements, therefore, make its implementation costly.
In this paper, we propose a novel technique to efficiently achieve extremely low sweep rates and at the same time reduce the spurious harmonic distortion associated with fractional addressing of the LUT.The proposed technique has the advantage of increased sweep resolution and reduced spurious harmonic distortion over all sweep oscillators reported in the literature and its hardware implementation is much simpler than the sweep oscillator in [10].The proposed technique, P1, is based on partitioning the address register bits into three sets, namely the most significant N bits, the next N bits, and finally the least significant NF2 bits.The contents of the N, NF, and Ny2 bits are used to address five separate LUTs as described in the sequel shortly.The resulting effective LUT length is 2 Nt+Nv+lq2 while the actually needed LUT length is 2 + 2 N+ + 2N2+.
In Section 2, we present a review of the relevant sweep oscillators.In Section 3, the proposed technique is presented and analyzed.Simulation results are presented and discussed in Section 4. Finally, the paper is concluded in Section 5.

REVIEW OF PREVIOUS SWEEP OSCILLATORS
Coherent sweep signals can be generated [5] by performing real-time evaluation of the phase of a linearly swept signal, then the extraction of mod 2r from the total phase, and the generation of sine or cosine swept signals by means of LUT.
The frequency of a linear sweep signal increases linearly with time, as given by f(t) =St+fo (1) where S is the sweep rate in Hz/s, and fo is the start frequency in Hz.
The phase of a linearly swept signal is obtained by integratingf (t), to obtain (t where bo is the initial phase.The sweep signal is given by s(t) A cos (rSt 2 + 2'f0t + b0) By carrying out a digital integration twice using a counter and.an accumulator, the quadratic phase function is obtained.The desired initial frequency and phase are achieved by presetting the counter and the accumulator.The mod 2r is extracted and used as address for a sine LUT.The extraction of mod 2r is very simple and is achieved by ignoring the least significant p bits and considering the next K bits of the accumulator to address a LUT of length L 2x.It is shown in [5] that the sweep rate, initial frequency, and initial phase of Pedersen sweep oscillator are given by 1 S .-,,r+KHz/s (4) COo fo Tc2(p+K) Hz  (5 27rA Co b0 2(e+x) rad (6 Where T is the clock interval and COo, ACo are the initial contents of the counter and accumulator, respectively.Pedersen sweep oscillator suffers from two sources of quantization errors which degrade the quality of the generated sweep signals.Namely, the quantization of the sine wave sample values stored in the LUT due to finite word length limitations.This source of error produces a harmonic distortion that is determined by the type of number representation and number of bits, b, used to represent the value of a sample in the memory.For two's complement number representation with rounding, the level of harmonic distortion is approximately 2-b/6 which can be brought to any desired level by increasing b.The second major source of error is due to the truncation of the address register content as a consequence of ignoring the least significant p bits.Let the content of the address register at a specific instant of time be nd= I+ F where 1 and F are the integer and fractional parts of nd, respectively.The direct method of Pedersen simply considers ! and neglects F in addressing the LUT.For AO 27r/2 k, the actually read sample is sin[AO/] instead of sin[AO(I+F)] which introduces a temporal quantization error that depends on AO,/, and F as given by e(A0, I, F) sin The error sequence e(A0,/, F) was analyzed in [7, 8] and shown that it reduces the signal-to-noise ratio of a sinusoidal signal to a value in the range [20 log(2x) 5.17,20 log(2) -4.92] dB.It can be shown that the error sequence e(A0/, F) is an additive noise that causes a harmonic distortion approximately equal to A02/12.To compare between the two distortion sources, let the samples in the LUT be represented by 15 bits and let the LUT length L (L 2x) be L = 2048.It follows that the word length constraint (15 bits) causes a level of harmonic distortion approximately equal to -98 dB while the temporal quantization error, e(A0, I, F), results in a distortion of -55 dB.
To avoid the distortion due to temporal quantization error, e(A0,1, F), L must be greater than 27= 131072 which is obviously a formidable memory size.It should be noted that for a specified LUT length, the sweep rate of Pedersen sweep oscillator can be set at any desired extremely small value by simple adjustment ofp at the price ofincreased harmonic distortion.Consequently, interpolation methods [9] were used to reduce the amount of spurious harmonic distortion while maintaining low sweep rates or equivalently large effective LUT length.
Recently, a sweep oscillator that utilises two independent digital sweep oscillators that are identical to Pedersen oscillator was reported in [10].Both sweep oscillators in [10] employ the trigonometric interpolation method presented in [6].The trigonometric interpolation method can be summarized as follows: The implementation of Eq. ( 8) requires two LUTs in addition to the original LUT which is of length L. In particular, we must have two more LUTs each of length 2 for storing the sample values of sin[AOF] and cos[AOF].It was shown in [6] that the level of harmonic distortion associated with trigonometric interpolation method is essentially the same as that of the direct LUT method with a table length 2 L. The first sweep oscillator in [10] utilises two LUTs each of length L(L 2 k-1) for the storage of sin[A01d and cos[A01] and two LUTs each of length 2 r for the storage of sin[AOFd and cos[AOFd.The second sweep oscillator in [10] utilises one LUT of length L2(L2 2c) for the storage of sin[A012] and cos[AOIz] and two LUTs each of length 2 n for the storage of sin[AOF2] and cos[AOF2].
The sweep signals of the ith sweep oscillator are given by sis(t) sin(rSit 2 d-27rfoit -I-oi) The final desired sweep signal is given by So(t) Sls(t)S2c(t) Slc(t)s2s(t) sin[n(S S2)t 2 + 27r(fol --fo2)t + 01 02] (3) Each of the terms s(O, s(0,s2 (t), and s2(0 in Eq. (13) requires two multipliers and an adder for its generation.Moreover, the generation of So(t) from s(t),s,(t), s2(t), and s2(t) requires two more multipliers and an adder.Therefore the implementation of Eq. ( 13) requires ten multipliers and five adders.One more problem not addressed in the design is the implementation of mod 2r for the sweep oscillator with L1 2 -1 which requires a digital circuit to be incorporated with the oscillator.The sweep rates associated with Eq. ( 13) for p =p=p, L1 2 r-1, L2 2 , and NFl NF2 NF is given by So Tc21,LL221e Hz/s (14 The effective LUT length associated with the sweep rates in Eq. ( 14) is LL2 vr.The spurious harmonic distortion due to temporal quantiza- tion errors is determined by the effective LUT length of the sweep oscillator and is in the order of {201og(LL22tr) -5) dB [7,8].It should be noted that the level of spurious harmonic distortion of So(t) is always higher than its predicted value as a result of the number of used multipliers.The proposed method for increasing the sweep resolution and at the same time maintaining extremely low levels of spurious harmonic distortion is described in the next section.

THE PROPOSED SWEEP OSCILLATOR
In this section, we present a new technique to extremely increase the resolution of the sweep oscillator while maintaining a reduced harmonic distortion and hardware complexity.The proposed sweep oscillator utilises one Pedersen oscillator along with the technique P1 for handling the content of the address register.The technique, P1, is based on considering the fractional bits of the address register as three groups of NFb NF2, and p bits, respectively.The content of the least significant sweep controlling p bits is discarded throughout the paper.
For the remaining content, the content of the N2 bits is the least significant while the content of the integer N bits is the most significant.
Let the content of the address register (N, NF, and N bits) at a specific instant of time be nd-I+F-t-F where/, F,and F are the integer and fractional parts of nd respectively.Hence, the value of sin(And) is given by sin The implementation of (15) requires the generation of sin[AO(I+F)] and cos[AO(I+Fl)] as described in [6] and is illustrated by the block diagram of Figure 1.Two more multiplier and an adder are needed to generate sin[AO(I+F+F2)] from sin[AO(I+F)] and cos[AO(I+F)].The generation of sin[AO(I+F)] and cos[AO(I+F)] is specified by sin[A0(I + F)] sin(AOl)cos(AOF) cos(AOI)sin(AOF) (16) and cos[A0(l + F)] cos(AOI)cos(ZXOFt) sin(AOl)sin(AOF) (17) respectively.Equations (15-17) specify P1 which requires one LUT of length 2 tt for the storage of sin(A01) and cos(AOI), two LUTs of length 2 rt for the storage of sin(AOF0 and cos(AOF0, and two LUTs of length 2 'for the storage of sin (AOF2) and cos(AOF).The generation of each of sin[AO(I+FO] and cos[A0(I+F)] require two multipliers and an adder which make the total number of multipliers equal to six and the total number of adders equal to three.It should be noted that the sweep oscillator in [10] utilises two Pedersen sweep oscillators and requires ten multipliers and five adders.Besides, the proposed sweep oscillator requires five LUTs while the sweep oscil- lator in [10] requires seven LUTs for their hardware implementation.
Let the initial content of the counter at n 0 be COo and the initial content of the accumulator be A Co. It follows that the accumulator content after n iterations is given AC(n) ACo + nCOo + n(n + 1) (18) The angle (phase) b(n) is obtained by extracting mod 27r from AC(n) as given by (n The frequency at time n Tc is given by f(nTc) $(n) $(n 1) 2rTc 1 T20V,+v,i/X',,-+,) Similarly, the sweep rate at t nTc is given by S(nT) :(nT) -/((n 1)To)

(21) Tc
It is clear that the sweep rate in Eq. ( 21) is less than that of the oscillator in [10] and is significantly less than that of Pedersen oscillator.To compare the sweep rates of the three oscillators, let us assume that they all utilise a total memory of size 256 words.In this case, the sweep rate of Pedersen oscillator is 1/T2c2 (s+t,) Hz/s, while the sweep rate of the oscillator in [10] is 1/T22(+).31Hz/s and the sweep rate of the proposed oscillator is 1/Tc22 (7+t,) Hz/s.Table I illustrates the saving in total LUT length achieved by using the proposed scheme over that used in [10] for some typical values of LUT lengths.It should be noted that the sweep oscillator in [10] uses one LUT of length L2, two LUTs of length L each, two LUTs of length L2, each, and two LUTs of length L.(Le= L2e= Lr) each.
The effective LUT length of the oscillator in [10] is Leo LL2Lr and requires a total LUT length Lro =L2+2L+2L2y+2Le.The proposed oscillator uses one LUT of length Lz, two LUTs of length Le each, two LUTs of length Le2 each, and its effective LUT length is Le,= LtLiLI2.It is evident from Table I that the proposed sweep oscillator utilizes a more efficient technique than that used in [10].In fact, Let, is more than twice L,0, requires less total LUT length (L + 2LF1 +2LF2 LTp < LTO).
It is worth mentioning that for an available total memory of size 256 words, it follows that the difference between cos(AOF2) and 1 is in the order of 2-6 which allows us to discard the LUT containing the sample values of cos(AOF2).The number of required LUTs is four each of length 64 with an effective LUT length Lp= 2TM.Therefore, the implementation of the sweep oscillator requires two multipliers and an adder for the generation of each of sin[AO(I+F)] and cos[AO(I+FD].One more multiplier is required to implement the second term in Eq. ( 15) which make the total number of multipliers equal to five and the total number of adders equal to three.

Bit Width Requirements
Assuming that all sweep signals start from zero initial frequency, the lowest sweep rate, Stain,p, of Pedersen sweep oscillator is given by [5] (22) wherefak = 1/T is the clock frequency and na is the bit width used for implementing the accumulator.It is clear that n is determined by the maximum shift, Pm, and is equal to Pmax + g.
Similarly, the frequency of Pedersen sweep oscillator at t n T is given by fct Let the maximum allowed frequency, fmx, be equal to tk[8, i.e., minimum sampling rate is 4 times higher than the Nyquist rate.It follows that the counter bit width, n, must satisfy the equation 2 n, 2 nc 2),...+tc 2n-'- Solving Eq. ( 24) for n, we obtain n na-3 bits.
The minimum sweep rate of the oscillator in [10] is given by 2 a Stain,10 Jlk/(L12 which shows an improvement factor of L as compared with Srpan,.p.
For the proposed sweep oscillator, the same analyses are valid after replacing the LUT length 2 x by the effective LUT length Lep.
Therefore, it follows that the lowest sweep rate of the proposed sweep oscillator, Stain,p, is given by Smind7 f2clkl (Lep2Pma") To this end, let K=8 bits, then for the available LUT length, L =31(Lelo'25), and Lep 217.Therefore, Sminp fck/(292x+'m) Equation ( 27) shows that Smin,, is 2-9 times lower than min,P and 2 -4   times lower than Smin,0.The time-bandwidth product of the proposed sweep oscillator is, therefore, 29 times higher than that of Pedersen and 24 times higher than that of the sweep oscillator in [10].

Performance Calculations
The performance of the proposed sweep oscillator is compared with that of Pedersen and the sweep oscillator in [10] assuming the same LUT lengths.For the sweep oscillator in [10] let L =255 and L 256(L0 216), it follows that the LUT for Pedersen oscillator is 768 and for the proposed oscillator is Lt=256, LF 128, and LF2 128(Lep 222).Let the clock frequency be fixed at fclk 80 MHz.
Let us assume that the sweep time of Pedersen sweep oscillator be 100s from zero initial frequency to fmx= OMHz.It follows that Smin,P 105 Hz[s with no 36 bits, n 33 bits, and Px 26 bits.For the same sweep time, the sweep oscillator in [10] requires two accumulators with no= 28 bits each, two counters with n= 25 bits each.The proposed sweep oscillator requires one accumulator with no 36 bits, one counter with n 33 bits, and p 14 bits.
The minimum sweep time is obtained by setting p 0. In this case, the sweep rates are maxima, Smax.Clearly, Smax,e= The maximum sweep time is obtained by setting p 26 bits.In this case, the sweep rates are minima, Stain.The sweep rate of Pedersen, Smin,P 9.313 104 Hz/s and the sweep time is 107.37 s.For the same value of p, n=36 bits, and n=33 bits, it follows that Smin,lO 365.224Hz/s and the sweep time is 7.606 hr.For the proposed sweep oscillator, Smin,, 22.737 Hz/s and the sweep time is 122.168hr.This is certainly a direct consequence of the efficient increase in the LUT length.

SIMULATION RESULTS
The Pedersen sweep oscillator, the oscillator in [10], and the proposed oscillator are all simulated using a MATLAB program.The simulation results are obtained assuming a sixteen-bit word length for all arithmetic operations.The program also evaluates the samples of the ideal system.The spectra of the ideal and all other generated samples are also evaluated assuming that the system uses ftk=8OMHz.We assume that Pedersen sweep oscillator uses a LUT of length L=4096 (K= 12 bits).However, the proposed sweep oscillator and the sweep oscillator in [10] are allowed to use a total LUT of length less than or equal to 128.For the sweep oscillator in [10], L1=15, L2=16, LF=16 (L0=ll0 and Le10=3840).The parameters of the proposed sweep oscillator are Lx= 32, La 32, L=16 (LTp= 128 and Lep=16384).All sweep oscillators are simulated in the same sweep range.Figures 2, 3 show the output spectra of Pedersen sweep oscillator with p =0 and the ideal sweep oscillator.The oscillator in [10] and the proposed oscillator have  amplitude spectra which can not be distinguished from the spectrum of the ideal sweep oscillator when p =0.However, in order to actually evaluate the performance, the amplitude spectra of the error sequence, defined as the difference between the output of the sweep oscillator and that of the ideal sweep oscillator, are plotted for various sweep oscillators in Figures 4-6.It is obvious from Figures 4-6 that the level of spurious harmonic distortion associated with Pedersen sweep oscillator is less than its counterpart for other sweep oscillators and that the level of spurious harmonic distortion associated with the oscillator in [10] is the highest.This is obviously due to the repeated quantization of the multipliers outputs.Figures 7-10 show the spectra for Pedersen oscillator with p 4, the ideal sweep oscillator with p 4, the oscillator in [10] with p 4, and the proposed oscillator with p 2. This case is significant because all sweep oscillators are subject to temporal quantization errors.It is evident from Figures 7, 9 that the amplitude spectrum of Pedersen sweep oscillator is almost identical to that of the oscillator in [10].  -1 -----"'------------'   It is evident from Figures 11-13 that the performance of the sweep oscillator in [10]is less than that of Pedersen sweep oscillator as a consequence of the number of multipliers used.The proposed sweep oscillator has an error spectrum level higher than its level for the case p=O.The performance degradation due to temporal quantization errors of the proposed sweep oscillator is smaller than that of the other oscillators and is in the range predicted by theory.

CONCLUSION
In this paper, a novel technique is proposed to significantly increase the sweep resolution by achieving extremely low sweep rates without increasing the amount of spurious harmonic distortion.The proposed sweep oscillator utilizes the available total LUT size in a manner which is the most efficient known in the literature.In fact, with a LUT of length equal to 256, we can achieve any desired sweep rate.The time- bandwidth product of the proposed sweep oscillator is superior to that of any coherent digital sweep oscillator reported in the literature.The simulation results show that the spurious harmonic distortion of the proposed sweep oscillator is significantly less than that of both Pedersen sweep oscillator and the sweep oscillator in [10].The proposed sweep oscillator is suitable for implementation on already available digital signal processors like TMS32010 DSP or it can be fabricated on a single chip using monolithic large-scale integration.

FIGURE
FIGURE Block diagram of the first proposed sweep oscillator.

FIGURE 2
FIGURE 2 Amplitude spectrum of Pedersen sweep oscillator with p 0.

FIGURE 3
FIGURE 3 Amplitude spectrum of ideal sweep oscillator with p= O.
Figures 11 13 provide a closer look by plotting the amplitude spectra of the error sequences associated with the various sweep oscillators.

FIGURE 4
FIGURE 4 Error spectrum of Pedersen sweep oscillator with p 0.

FIGURE 11
FIGURE 11 Error spectrum of Pedersen sweep oscillator with p 4.

FIGURE 12 FIGURE 13
FIGURE 12 Error spectrum of the sweep oscillator in[10] with p=4.
8.3331012 Hz/s and the sweep time is only 1.2#s while Smax,o=9.8039x 101 Hz/s with a sweep time equal to 120 #s.For the proposed sweep oscillator, Smax,P= 1.5259 109 Hz/s with a sweep time equal to 6553.6 #s.
10 Amplitude spectrum of the proposed sweep oscillator with p= 2. FIGURE