CROSSREFERENCE TO RELATED APPLICATIONS

[0001]
This application is a continuationinpart of U.S. patent application Ser. No. 11/442,488, filed on May 26, 2006, which is a continuation of U.S. patent application Ser. No. 10/037,870, filed on Oct. 22, 2001, now U.S. Pat. No. 7,054,385, both of which are hereby incorporated by reference.
FIELD OF THE INVENTION

[0002]
The present invention relates to conditioning communications signals. More specifically, the present invention relates to conditioning communications signals based on detection of highfrequency events in the polar domain.
STATE OF THE ART

[0003]
Many modern digital radio communication systems transmit information by varying both the magnitude and phase of an electromagnetic wave. The process of translating information into the magnitude and phase of the transmitted signal is typically referred to as modulation. Many different modulation techniques are used in communication systems. The choice of modulation technique is typically influenced by the computational complexity needed to generate the signal, the characteristics of the radio channel, and, in mobile radio applications, the need for spectral efficiency, power efficiency and a small form factor. Once a modulation technique has been selected for some specific application, it is oftentimes difficult or essentially impossible to change the modulation. For example, in a cellular radio application all users would be required to exchange their current mobile phone for a new phone designed to work with the new modulation technique. Clearly this is not practical.

[0004]
Many existing modulation formats have been designed to be transmitted with radios that process the signal in rectangular coordinates. The two components in the rectangular coordinate system are often referred to as the inphase and quadrature (I and Q) components. Such a transmitter is often referred to as a quadrature modulator. (A distinction is drawn between a modulation, which is a mathematical description of the method used to translate the information into the transmitted radio signal (e.g., BPSK, FSK, GMSK), and a modulator, which is the physical device used to perform this operation.) As an alternative, the transmitter may process the signal in polar coordinates, in which case the signal is represented in terms of its magnitude and phase. In this case the transmitter is said to employ a polar modulator. A polar modulator can have several performance advantages over the more conventional quadrature modulator, including higher signal fidelity, better spectral purity, and lower dependence of device performance on temperature variation.

[0005]
Although a polar modulator can have practical advantages over a quadrature modulator, the magnitude and phase components of the signal typically have much higher bandwidth than the inphase and quadrature components. This bandwidth expansion has implications for digital processing of the magnitude and phase, since the rate at which the magnitude and phase must be processed is dependent on their bandwidth.

[0006]
The rate at which the magnitude and phase varies is very much dependent on the modulation technique. In particular, modulation formats that lead to very small magnitude values (relative to the average magnitude value) generally have very large phase component bandwidth. In fact, if the signal magnitude goes to zero, the signal phase can instantaneously change by up to 180 degrees. In this case the bandwidth of the phase component is essentially infinite, and the signal is not amenable to transmission by a polar modulator.

[0007]
Many commonly employed modulation techniques do in fact lead to very small relative signal magnitude. To be more precise, the averagetominimum signal magnitude ratio (AMR) is large. An important practical example of a modulation technique with large AMR is the technique employed in the UMTS 3GPP uplink (mobiletobasestation).

[0008]
Prior work in the field may be classified into two categories: one that deals generally with the reduction of peak power, and another that deal specifically with “holeblowing.” Holeblowing refers to the process of removing lowpower events in a communication signal that has a timevarying envelope. This name arises in that, using this technique, a “hole” appears in the vector diagram of a modified signal.

[0009]
Much work has been done dealing with peak power reduction, in which the goal is to locally reduce signal power. By contrast, relatively little work appears to have been done that deals with holeblowing (which seeks to locally increase signal power), and prior approaches have been found to result in lessthandesired performance.

[0010]
U.S. Pat. No. 5,805,640 (the '640 patent) entitled “Method and apparatus for conditioning modulated signal for digital communications,” together with U.S. Pat. No. 5,696,794 (the '794 patent), entitled “Method and apparatus for conditioning digitally modulated signals using channel symbol adjustment,” both describe approaches for removing low magnitude (low power) events in communication signals. Both patents in fact refer to creating “holes” in the signal constellation. The motivation given for creating these holes is that certain power amplifiers, in particular LINC power amplifiers, are difficult to implement when the signal amplitude dynamic range is large.

[0011]
Briefly, the '794 patent teaches modifying the magnitude and phase of the symbols to be transmitted in order to maintain some minimum power. Since the symbols are modified before pulse shaping, the modified signal has the same spectral properties as the original signal. The approach used in the '640 patent is to add a pulse having a certain magnitude and phase in between the original digital symbols before pulse shaping. Hence, whereas in the former patent data is processed at the symbol rate (T=1), in the latter patent, data is processed at twice the symbol rate (T=2). For brevity, these two methods will be referred to as the symbol rate method and the T/2 method, respectively. The method used to calculate the magnitude and phase of the corrective pulse(s) is nearly identical in both patents.

[0012]
Because the method used by both of these patents to calculate the corrective magnitude and phase is only a very rough approximation, performance is less than desired. More particularly, after processing the signal using either of these two approaches, the probability of a low power event is reduced, but remains significantly higher than desired.

[0013]
The specific approach used in the T/2 method is to add a pulse having a prescribed magnitude and phase to the signal at halfsymbol timing (i.e., at t=k*T+T/2) before pulse shaping. The magnitude and phase of the additive pulse is designed to keep the signal magnitude from dropping below some desired threshold. The method does not allow for placement of pulses at arbitrary timing. As a result, effectiveness is decreased, and EVM (error vector magnitude) suffers.

[0014]
The method used in the T/2 approach to calculate the magnitude and phase and of the additive pulse is very restrictive in that:

[0015]
1) The signal envelope is only tested for a minimum value at halfsymbol timing (t=i*T+T/2).

[0016]
2) The phase of the correction is not based on the signal envelope, but rather only on the two symbols adjoining the lowmagnitude event.

[0017]
These two restrictions can lead to errors in the magnitude and phase of the corrective pulses. Specifically, the true signal minimum may occur not at T/2, but at some slightly different time, so that error will be introduced into the magnitude of the corrective pulses. The validity of this assumption is very much dependent on the specific signal modulation and pulseshape. For example, this may be a reasonable assumption for a UMTS uplink signal with one DPDCH, but is not a reasonable assumption for a UMTS uplink signal with two DPDCH active. The size of this magnitude error can be quite large. For example, in some cases the magnitude at T/2 is very near the desired minimum magnitude, but the true minimum is very close to zero. In such cases the calculated correction magnitude is much smaller than would be desired, which in turn results in the lowmagnitude event not being removed.

[0018]
The signal envelope at T/2 may be greater than the desired minimum, but the signal magnitude may be below the threshold during this intersymbol time interval, so that a lowmagnitude event may be missed entirely.

[0019]
In any event, the correction magnitude obtained is often far from what is needed.

[0020]
The method used to calculate the corrective phase essentially assumes that the phase of the pulse shaped waveform at T/2 will be very close to the phase of straight line drawn between the adjoining symbols. This is an approximation in any case (although generally a reasonable one), which will introduce some error in the phase. However, this approximation is only valid if the origin does not lie between the previously described straight line and the true signal envelope. When this assumption is violated, the corrective phase will be shifted by approximately 180 degrees from the appropriate value. This typically leaves a lowmagnitude event that is not corrected.

[0021]
While the T/2 method adds pulses at halfsymbol timing, the symbol rate method adds pulses to the two symbols that adjoin a lowmagnitude event. That is, if the signal has a lowmagnitude event at t=kT+T/2, then symbols k and (k+1) will be modified. Both methods calculate the phase of the additive pulses the same way, and both methods test for a lowmagnitude event in the same way, i.e., the signal envelope at halfsymbol timing is tested. Therefore the same sources of magnitude error and phase error previously noted apply equally to this method.

[0022]
The T/2 method applies the correction process repeatedly in an iterative fashion. That is, this method is applied iteratively “until there are no symbol interval minima less than the minimum threshold”.

[0023]
As compared to the foregoing methods, U.S. Pat. No. 5,727,026, “Method and apparatus for peak suppression using complex scaling values,” addresses a distinctly different problem, namely reducing the PeaktoAverage power Ratio (PAR) of a communication signal. Large PAR is a problem for many, if not most, conventional power amplifiers (PA). A signal with a large PAR requires highly linear amplification, which in turn affects the power efficiency of the PA. Reduction is accomplished by adding a pulse to the original pulseshaped waveform, with the pulse having an appropriate magnitude and phase such that the peak power is reduced. The pulse can be designed to have any desired spectral characteristics, so that the distortion can be kept inband (to optimize ACPR), or allowed to leak somewhat outofband (to optimize EVM). The timing of the added pulse is dependent on the timing of the peak power, and is not constrained to lie at certain timing instants.

[0024]
More particularly, this peakreduction method adds a lowbandwidth pulse to the original (high PAR) signal. The added pulse is 180 degrees out of phase with the signal at the peak magnitude, and the magnitude of the additive pulse is the difference between the desired peak value and the actual peak value. Because the pulse is added to the signal (a linear operation) the spectral properties of the additive pulse completely determine the effect of the peak reduction technique on the signal spectrum. The possibility is addressed of a peak value occurring at some time that does not correspond to a sampling instant. The method emphasizes the ability to control the amount of signal splatter and/or signal distortion.

[0025]
U.S. Pat. No. 6,175,551 also describes a method of PAR reduction, particularly for OFDM and multicode CDMA signals where “a timeshifted and scaled reference function is subtracted from a sampled signal interval or symbol, such that each subtracted reference function reduces the peak power”. The reference function is a windowed sinc function in the preferred embodiment, or some other function that has “approximately the same bandwidth as the transmitted signal”.

[0026]
Other patents of interest include U.S. Pat. Nos. 5,287,387; 5,727,026; 5,930,299; 5,621,762; 5,381,449; 6,104,761; 6,147,984; 6,128,351; 6,128,350; 6,125,103; 6,097,252; 5,838,724; 5,835,536; 5,835,816; 5,838,724; 5,493,587; 5,384,547; 5,349,300; 5,302,914; 5,300,894; and 4,410,955.

[0027]
What is needed, and is not believed to be found in the prior art, is a process whereby the AMR of a communication signal can be greatly reduced without causing significant degradation to the signal quality. Desirably, this process would allow the practical implementation of a polar modulator even for signals that have very high AMR.
SUMMARY OF THE INVENTION

[0028]
Methods and apparatus for conditioning communications signals based on detection of highfrequency in the polar domain are disclosed. An exemplary method includes setting a highfrequency threshold, converting inphase and quadrature components of a baseband signal into magnitude and phasedifference components, and detecting highfrequency events in the phasedifference component during which a rate of change of phase in the phasedifferent component exceeds the highfrequency threshold. The frequency of the highfrequency threshold is set based on an inband performance criterion (e.g., error vector magnitude (EVM)), an outofband performance criterion (e.g., adjacent channel leakage ratio (ACLR)), or on a balance or combination of inband and outofband performance criteria. Once a highfrequency event is detected a holeblowing process is performed on the inphase and quadrature components of the baseband signal in the quadrature domain. Additionally, or alternatively, nonlinear filtering is performed on either or both the magnitude component and the phasedifference component in the polar domain.

[0029]
According to another exemplary method includes setting both a highfrequency threshold and a lowmagnitude threshold, converting inphase and quadrature components of a baseband signal to magnitude and phasedifference components, and altering a signal trajectory of the baseband signal (e.g., by performing a hole blowing process in the quadrature domain or nonlinear filtering the magnitude and/or phasedifference components in the polar domain), in response to lowmagnitude events in the magnitude component determined to fall below the lowmagnitude threshold and highfrequency events in the phasedifference component determined to both exceed the highfrequency threshold and correlate in time with the detected lowmagnitude events in the magnitude component. The frequency of the highfrequency threshold and magnitude of the lowmagnitude threshold are set based on an inband performance criterion (e.g., EVM), an outofband performance criterion (e.g., ACLR), or on a balance or combination of inband and outofband performance criteria.

[0030]
Further features and advantages of the present invention, including a description of the structure and operation of the abovesummarized and other exemplary embodiments of the invention, are described in detail below with respect to accompanying drawings, in which like reference numbers are used to indicate identical or functionally similar elements.
BRIEF DESCRIPTION OF THE DRAWINGS

[0031]
The present invention may be further understood from the following description in conjunction with the appended drawing. In the drawings:

[0032]
FIG. 1 is a generic block diagram for generation of a PAM signal;

[0033]
FIG. 2 a is a block diagram of a PAM generator modified for AMR reduction;

[0034]
FIG. 2 b is a more detailed block diagram of an apparatus like that of FIG. 2 a;

[0035]
FIG. 3 shows the impulse response of a squareroot raisedcosine pulse shaping filter with 22% excess bandwidth;

[0036]
FIG. 4 shows an IQ plot (vector diagram) of a portion of a QPSK signal with squareroot raisedcosine pulse shaping;

[0037]
FIG. 5 shows a section of the power of the pulseshaped QPSK signal as a function of time;

[0038]
FIG. 6 is a histogram showing the temporal location of signal magnitude minima, including only those minima that are more than 12 dB below the mean power;

[0039]
FIG. 7 shows phase of the QPSK signal as a function of time;

[0040]
FIG. 8 shows instantaneous frequency expressed as a multiple of the symbol rate for the signal of FIG. 7;

[0041]
FIG. 9 a illustrates a situation in which a mathematical model may be used to detect the occurrence of a low magnitude event;

[0042]
FIG. 9 b is a geometric illustration of the locally linear model for the complex signal envelope;

[0043]
FIG. 9 c illustrates calculation of t_min based on the locally linear model;

[0044]
FIG. 10 shows a comparison of the original signal power and the power of the signal after addition of a single, complexweighted pulse designed to keep the minimum power above12 dB of average power;

[0045]
FIG. 11 is an IQ plot of a QPSK signal that has been modified to keep the instantaneous power greater than −12 dB relative to the RMS power;

[0046]
FIG. 12 shows the instantaneous frequency of the modified signal, expressed as a multiple of the symbol rate;

[0047]
FIG. 13 shows minimum power in the modified signal as a function of error in the time at which the corrective pulse is added (the magnitude and phase of the corrective pulse are held constant);

[0048]
FIG. 14 shows estimated PSD of a conventional QPSK signal and the same signal after application of the exact holeblowing method;

[0049]
FIG. 15 a is an IQ plot of the modified signal after demodulation, showing that some distortion has been introduced into the signal (the measured RMS EVM is 6.3%);

[0050]
FIG. 15 b illustrates the results of nonlinear filtering using a rootraised cosine pulse that is the same as the pulseshaping filter;

[0051]
FIG. 15 c illustrates the results of nonlinear filtering using a Hanning window for the correction pulse, with the time duration equal to ½ the symbol duration;

[0052]
FIG. 16 a is a block diagram illustrating symbolrate holeblowing;

[0053]
FIG. 16 b is a more detailed block diagram illustrating symbolrate holeblowing;

[0054]
FIG. 16 c is a block diagram illustrating the iteration of symbolrate holeblowing;

[0055]
FIG. 16 d is a block diagram illustrating the iteration of symbolrate holeblowing;

[0056]
FIG. 16 e is a block diagram illustrating the concatenation of one or more iterations of symbolrate holeblowing followed by one or more iterations of symbolrate holeblowing;

[0057]
FIG. 17 a is a block diagram of a portion of a radio transmitter in which polar domain nonlinear filtering is performed;

[0058]
FIG. 17 b is a more detailed block diagram of an apparatus like that of FIG. 17;

[0059]
FIG. 18 is a waveform diagram showing the magnitude component of the polar coordinate signal and showing the difference of the phase component of the polar coordinate signal;

[0060]
FIG. 19 is a diagram of the impulse response of a DZ3 pulse;

[0061]
FIG. 20 is a waveform diagram showing results of nonlinear filtering of the magnitude component (showing the original magnitude component before polar domain nonlinear filtering, the magnitude component after the polar domain nonlinear filtering, the threshold, and the pulses added to the magnitude component);

[0062]
FIG. 21 shows an example of an added pulse suitable for nonlinear filtering of the phase component;

[0063]
FIG. 22 is a waveform diagram showing results of nonlinear filtering of the phasedifference component;

[0064]
FIG. 23 illustrates an alternate way for nonlinear filtering of the phase component in a polar coordinate system;

[0065]
FIG. 24 is a block diagram of a portion of a radio transmitter in which nonlinear filtering is performed first in the quadrature domain and then in the polar domain;

[0066]
FIG. 25 is a PSD showing results of the nonlinear filtering of FIG. 34.

[0067]
FIG. 26 is an IQ plot for the UMTS signal constellation with one active data channel and a beta ratio of 7/15;

[0068]
FIG. 27 is an IQ plot for the UMTS signal constellation with two active data channels and a beta ratio of 7/15;

[0069]
FIG. 28 a illustrates the manner of finding the timings of lowmagnitude events;

[0070]
FIG. 28 b compares probability density functions of low magnitude events using the exact algorithm and using the realtime approximation;

[0071]
FIG. 29 is an IQ plot illustrating a linecomparison method for vector quantization;

[0072]
FIG. 30 illustrates a CORDIClike algorithm for vector quantization.

[0073]
FIG. 31 is an illustration of a known method of calculating the phase of the corrective pulse(s);

[0074]
FIG. 32 shows Cumulative Distribution Functions (CDF) obtained with the present method and with known methods when the signal is pi/4 QPSK with raised cosine pulseshaping and excess bandwidth of 22% (the desired minimum power is 9 dB below RMS);

[0075]
FIG. 33 illustrates an example where the known symbol rate method works fairly well (the original signal envelope is shown, the modified envelope is shown, and the sample used to calculate the correction magnitude is indicated);

[0076]
FIG. 34 illustrates an example where the known symbol rate method does not work well;

[0077]
FIG. 35 illustrates an example where the known T/2 method does not work well;

[0078]
FIG. 36 shows Cumulative Distribution Functions (CDF) obtained with the present method and the two known methods when the signal is a 3GPP uplink signal with one active DPDCH and amplitude ratio of 7/15 (the desired minimum power is 9 dB below RMS);

[0079]
FIG. 37 is a waveform diagram of the magnitude component of a polarcoordinate baseband signal, highlighting the fact that some lowmagnitude events do not correspond to highfrequency events;

[0080]
FIG. 38 is a waveform diagram of the phasedifference component of a polarcoordinate baseband signal, highlighting occurrences of highfrequency events;

[0081]
FIG. 39 is a block diagram of an apparatus for detecting highfrequency events in the phasedifference component shown in FIG. 38, according to an embodiment of the present invention;

[0082]
FIG. 40 is a waveform diagram of the magnitude and phasedifference components of a polarcoordinate baseband signal; and

[0083]
FIG. 41 is a block diagram of an apparatus for detecting lowmagnitude events in the magnitude component shown in FIG. 40 and timecorrelated highfrequency events in the phasedifference component shown in FIG. 40.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0084]
A polar modulator can be viewed as a combination of a phase modulator and an amplitude modulator. The demands placed on the phase modulator and amplitude modulator are directly dependent on the bandwidth of the signal's phase and magnitude components, respectively. The magnitude and phase bandwidth, in turn, are dependent on the averagetominimum magnitude ratio (AMR) of the signal. As will be shown later, a signal with large AMR can have very abrupt changes in phase, which means that the signal phase component has significant high frequency content. Furthermore, certain transistor technologies limit the AMR that can be achieved in a practical amplitude modulator. This limitation can lead to distortion of the transmitted signal if the required magnitude dynamic range exceeds that which can be generated by the transistor circuit. Thus minimization of signal AMR is highly desirable if the signal is to be transmitted with a polar modulator. One example of a polar modulator is described in U.S. Pat. No. 7,158,494 entitled “Multimode communications transmitter,” filed on even date herewith and incorporated herein by reference.

[0085]
The nonlinear digital signal processing techniques described herein modify the magnitude and phase of a communication signal in order to ease the implementation of a polar modulator. Specifically, the magnitude of the modified signal is constrained to fall within a certain desired range of values. This constraint results in lower AMR compared to the original signal, which in turn reduces the magnitude and phase bandwidth. The cost of this reduction in bandwidth is lower signal quality. However, the reduction in signal quality is generally small, such that the final signal quality is more than adequate.

[0086]
Signal quality requirements can typically be divided into inband and outofband requirements. Specifications that deal with inband signal quality generally ensure that an intended receiver will be able to extract the message sent by the transmitter, whether that message be voice, video, or data. Specifications that deal with outofband signal quality generally ensure that the transmitter does not interfere excessively with receivers other than the intended receivers.

[0087]
The conventional inband quality measure is the RMS error vector magnitude (EVM). A mathematically related measure is rho, which is the normalized crosscorrelation coefficient between the transmitted signal and its ideal version. The EVM and rho relate to the ease with which an intended receiver can extract the message from the transmitted signal. As EVM increases above zero, or rho decreases below one, the transmitted signal is increasingly distorted relative to the ideal signal. This distortion increases the likelihood that the receiver will make errors while extracting the message.

[0088]
The conventional outofband quality measure is the power spectral density (PSD) of the transmitted signal, or some measure derived therefrom such as ACLR, ACP, etc. Of particular interest in relation to PSD is the degree to which the transmitted signal interferes with other radio channels. In a wireless communications network, interference with other radio channels reduces the overall capacity of the network (e.g., the number of simultaneous users is reduced).

[0089]
It should be clear that any means of reducing the averagetominimum magnitude ratio (AMR) must create as little interference as possible (minimal degradation to outofband signal quality) while simultaneously maintaining the inband measure of signal quality (i.e., EVM or rho) at an acceptable level. These considerations motivate the present invention, which reduces AMR while preserving outofband signal quality, which is of particular importance to operators of wireless communications networks.

[0090]
In general, AMR reduction is performed by analyzing the signal to be transmitted, and adding carefully formed pulses into the signal in time intervals in which the signal magnitude is smaller than some threshold. The details of an exemplary embodiment, including the signal analysis and pulse formation, are described below, starting with a description of a class of signals for which the invention is useful.
PulseAmplitude Modulation (PAM)

[0091]
Many modern communication systems transmit digital messages using a scheme called pulse amplitude modulation (PAM). A PAM signal is merely a frequencyupconverted sum of amplitudescaled, phaseshifted, and timeshifted versions of a single pulse. The amplitudescaling and phaseshifting of the n^{th }timeshifted version of the pulse are determined by the n^{th }component of the digital message. In the field of communication systems, the broad class of PAM signals includes signals commonly referred to as PAM, QAM, and PSK, and many variants thereof. Mathematically, a PAM signal x(t) at time t can be described as follows, as will be recognized by those skilled in the art of communications theory. The description is given in two parts, namely the frequencyupconversion and amplification process, and the baseband modulation process, as shown in FIG. 1.

[0092]
The frequencyupconversion and amplification process can be described mathematically as follows:

[0000]
x(t)=Re{gs(t)e ^{jw} ^{ c } ^{t})}

[0000]
where Re{ } denotes the real part of its complex argument, ω_{c}=2πf_{c }defines the radio carrier frequency in radians per second and Hz, respectively, j is the imaginary squareroot of negative unity, and g is the amplifier gain. This equation describes the frequencyupconversion process used to frequencyupconvert and amplify the complex baseband signal s(t), which is also the socalled I/Q (inphase/quadrature) representation of the signal. The signal s(t), which is created by the baseband modulation process, is defined mathematically by

[0000]
$s\ue8a0\left(t\right)=\sum _{n}\ue89e{a}_{n}\ue89ep\ue8a0\left(t\mathrm{nT}\right)$

[0000]
where p(t) is the pulse at time t and T is the symbol period (1/T is the symbol rate). For any time instant t at which s(t) is desired, the summation is taken over all values of n at which p(t−nT) is nonnegligible. Also, a_{n }is the symbol corresponding to the n^{th }component of the digital message. The symbol a_{n }can be either real or complex, and can be obtained from the n^{th }component of the digital message by means of either a fixed mapping or a timevariant mapping. An example of a fixed mapping occurs for QPSK signals, in which the n^{th }component of the digital message is an integer d_{n }in the set {0, 1, 2, 3} and the mapping is given by a_{n}=exp(jπd_{n}/2). An example of a timevariant mapping occurs for π/4shifted QPSK, which uses a modified QPSK mapping given by a_{n}=exp(jπ(n+2d _{n})/4); that is, the mapping depends on the timeindex n, not only on the message value d_{n}.

[0093]
For the present invention, an important property of PAM signals is that the shape of the PSD (as a function of f) of a PAM signal is determined exclusively by the pulse p(t), under the assumption that the symbol sequence an has the same secondorder statistical properties as white noise. This property may be appreciated by considering the signal s(t) as the output of a filter having impulse response p(t) and being driven by a sequence of impulses with weights a_{n}. That is, the PSD S_{x}(f) of x(t) can be shown to be equal to

[0000]
${S}_{x}\ue8a0\left(f\right)=\frac{{g}^{2}\ue89e{\sigma}_{a}^{2}}{4\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89eT}\ue89e\left({\uf603P\ue8a0\left(f{f}_{c}\right)\uf604}^{2}+{\uf603P\ue8a0\left(f+{f}_{c}\right)\uf604}^{2}\right)$

[0000]
where P(f) is the Fourier transform of the pulse p(t), and σ_{a} ^{2 }is the meansquare value of the symbol sequence.

[0094]
This important observation motivates the present method, because it suggests that adding extra copies of the pulse into s(t) does not alter the shape of the PSD. That is, nonlinear filtering performed in this manner can result in not just minor but in fact imperceptible changes in PSD. The adding of extra copies of the pulse into the signal can be used to increase the amplitude of x(t) as desired, for example when it falls below some threshold. Specifically, s(t) may be modified by adding additional pulses to it, to form new signals ŝ(t) and {circumflex over (x)}(t):

[0000]
$\hat{x}\ue8a0\left(t\right)=\mathrm{Re}\ue89e\left\{g\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\hat{s}\ue8a0\left(t\right)\ue89e{\uf74d}^{j\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e{w}_{c}\ue89et}\right\}$
$\mathrm{where}$
$\hat{s}\ue8a0\left(t\right)=\sum _{n}\ue89e{a}_{n}\ue89ep\ue8a0\left(t\mathrm{nT}\right)+\sum _{m}\ue89e{b}_{m}\ue89ep\ue8a0\left(t{t}_{m}\right),$

[0000]
and the perturbation instances t_{m }occur at points in time when it is desired to perturb the signal (e.g., whenever the magnitude of s(t) falls below some threshold). The perturbation sequence b_{m }represents the amplitudescaling and phaseshifting to be applied to the pulse centered at time t_{m }(e.g., chosen so as to increase the magnitude of s(t) in the vicinity of time t_{m}). Like the first term in ŝ(t), the second term in ŝ(t) can be thought of as the output of a filter having impulse response p(t) and being driven by a sequence of impulses with weights b_{m}. Thus, it is reasonable to expect that the PSDs of {circumflex over (x)}(t) and {circumflex over (x)}(t) will have very similar shapes (as a function of frequency f).

[0095]
With this theoretical underpinning, the present invention can be described in detail, in a slightly more general form than used above, as depicted in FIG. 2 a. The invention takes the signal s(t) as its input. This signal passes into an analyzer, which determines appropriate perturbation instances t_{m}, and outputs a perturbation sequence value b_{m }at time instant t_{m}. The perturbation sequence passes through a pulseshaping filter with impulse response r(t), the output of which is added to s(t) to produce ŝ(t), which in turn is passed to any appropriate means for frequency upconversion and amplification to the desired power. The pulseshaping filter r(t) can be identical to the original pulse p(t), as described above, or it can be different from p(t) (e.g., it may be a truncated version of p(t) to simplify implementation).

[0096]
A more detailed block diagram is shown in FIG. 2 b, illustrating a main signal path and a correction signal path for two signal channels, I and Q. Pulseshaping may occur after pulseshaping (samplerate correction) or prior to pulseshaping (symbolrate correction). In the correction path, sequential values of I and Q are used to perform a signal minimum calculation and comparison with a desired minimum. If correction is required based on the comparison results, then for each channel the magnitude of the required correction is calculated. A pulse (which may be the same as that used for pulseshaping) is scaled according to the required correction and added into the channel of the main path, which will have been delayed to allow time for the correction operations to be performed.

[0097]
The method used to determine the timing, magnitude, and phase of the correction pulses is dependent on the modulation format. Factors to consider include:

[0000]
1. The duration of lowmagnitude events relative to the symbol period.
2. The timing distribution of lowmagnitude events.
If the duration of all lowmagnitude events are small relative to the symbol (or chip) duration, then each lowmagnitude event can be corrected by the addition of a single complexweighted pulse, which can be identical to that used in pulseshaping. This approach would be effective with, e.g., Mary PSK modulation. The appropriate holeblowing method in this case is referred to as the “exact” holeblowing method. The exact holeblowing method is described below, as well as a practical realtime hardware implementation of the same. Other modulation formats may lead to lowmagnitude events of relatively long duration. This would typically be the case with, e.g., QAM and multicode CDMA modulation. In such cases multiple pulses may be added, or, alternatively, multiple iterations of the exact holeblowing method be used. The usefulness of polardomain holeblowing has been demonstrated to perform “final cleanup” of a signal produced using one of the foregoing techniques, achieving even better EVM performance. Because magnitude information is available explicitly in the polardomain representation, holeblowing may be performed on a samplebysample basis, as compared to (typically) a symbolbysymbol (or chip) basis in the case of the foregoing techniques.
The Exact HoleBlowing Method

[0098]
The detailed operation of the exact holeblowing method is now demonstrated by example. A QPSK signal with squareroot raisedcosine pulse shaping is used for this example. The pulse shaping filter has 22% excess bandwidth, and is shown in FIG. 3. A typical I/Q plot of this signal is presented in FIG. 4. Clearly the signal magnitude can become arbitrarily small. The signal power over a short period of time is shown in FIG. 5. The average power is normalized to unity (0 dB). This figure indicates that the AMR of this signal is at least 40 dB. In reality, the AMR for this QPSK signal is effectively infinite, since the signal power can become arbitrarily small. The timing of the minimum power is important, since the time instants at which to insert the correction pulses must be determined. One would expect that the power minima would approximately occur at t=nT/2, where n is an integer and T is the symbol period. This is supported by FIG. 5, which shows that the minimum power occurs very near T/2.

[0099]
To further support this hypothesis, the distribution of the power minima timing was examined. For this purpose, a pulseshaped QPSK waveform with random message was generated, and the timing at which the power minima occurred was determined. For this example, it is assumed that a low power event occurs if the instantaneous signal power was more than 12 dB below the mean signal power.

[0100]
FIG. 6 shows a histogram of the timing of the QPSK signal magnitude minima. These results are based on 16384 independent identically distributed symbols. Note that the minima are indeed closely clustered around a symbol timing of T/2, as expected. This is an important result, since it limits the range over which the search for a signal minimum must be performed. (It should be noted that the histogram shown in FIG. 6 is only valid for this specific signal type (QPSK). Other signal types, such as high order QAM, may have different distributions, which must be taken into account in the search for local powerminima.)

[0101]
As stated previously, lowpower events are associated with rapid changes in the signal phase. This correspondence is illustrated in FIG. 7, which shows the phase of the QPSK signal corresponding to the power profile shown in FIG. 5. It is clear that the phase changes rapidly near t=T/2, corresponding to the minimum power. This characteristic can be seen more explicitly in FIG. 8, which shows the instantaneous frequency, defined here for the sampled data waveform as

[0000]
${f}_{i}\ue8a0\left(t\right)=\frac{\theta \ue8a0\left(t+\delta \right)\theta \ue8a0\left(t\right)}{2\ue89e\mathrm{\pi \delta}}$

[0000]
where θ(t) is the signal phase at time instant t and δ is the sampling period. FIG. 8 shows that the instantaneous frequency over this interval is up to 45 times the symbol rate. To put this in perspective, the chip rate for the UMTS 3GPP wideband CDMA standard is 3.84 MHz. If the symbol rate for the QPSK signal in our example was 3.84 MHz, the instantaneous frequency would exceed 45×3.84=172.8 MHz. Processing a signal with such high instantaneous frequency is not yet practical.

[0102]
It is apparent that the bandwidth of the signal phase must be reduced in order to enable practical implementation of a polar modulator. The most obvious approach is to simply lowpass filter the phase (or equivalently the phase difference). However, any substantial filtering of the phasedifference will lead to unacceptably large nonlinear distortion of the signal. This distortion in turn leads to a large increase in outofband signal energy, which is typically not acceptable. Instead the recognition is made that rapid changes in signal phase only occur when the signal magnitude is very small. Therefore if the signal magnitude can be kept above some minimum value, the bandwidth of the signal phase will be reduced. As should be evident from the discussion of PAM signal spectral properties, the signal can be modified by the addition of carefully selected pulses without any apparent effect on the signal bandwidth.

[0103]
In order to avoid lowmagnitude events, and consequently reduce the instantaneous frequency, a complex weighted version of the pulseshaping filter is added to the signal. This complex weighted pulse is referred to as the correction pulse. The phase of the pulse is selected so that it combines coherently with the signal at the point of minimum magnitude. The magnitude of the correction pulse is equal to the difference between the desired minimum magnitude and the actual minimum magnitude of the signal.

[0104]
Care must be taken in the calculation of the correction magnitude and phase in order to obtain the desired effect. Most importantly, it must be recognized that the minimum signal magnitude may not correspond to a sampling instant. Since the phase and magnitude are changing rapidly in the neighborhood of a local power minimum, choosing the correction phase based on a signal value that does not correspond to the signal minimum can lead to large phase and/or magnitude error. The likelihood of a large error increases as the minimum magnitude grows smaller. The likelihood of a large error can be lessened by using a very high sampling rate (i.e., a large number of samples per symbol), but this greatly, and unnecessarily, increases the computational load.

[0105]
Instead, a socalled “locally linear model” is fitted to the signal in the temporal neighborhood of a local power minimum, and the minimum magnitude of the model is solved for mathematically. The locally linear model effectively interpolates the signal so that the magnitude can be calculated directly at any arbitrary time instant. In this way the calculation of the corrective pulses are not limited to the values present in the sampled data waveform. This allows for highly accurate calculation of the minimum magnitude and, of equal importance, the required correction phase.

[0106]
Note that the complete pulseshaped signal need not exist in order to calculate the correction magnitude and phase. The complex baseband signal need only be calculated at a small number of key sampling instants, allowing the nonlinear filtering to operate on the raw symbols before a final pulseshaping step. This expedient can be beneficial in realtime implementations.

[0107]
A signal may lie outside the exclusion region defined by the desired minimum at two points fairly near in time, yet pass through the exclusion region in between the two points, as illustrated in FIG. 9 a. In order to find the true minimum value of the signal magnitude, and its corresponding phase, the following approach is preferably used. This approach employs a locally linear model for the complex baseband signal envelope, as illustrated in FIG. 9 b. The model approximates the complex signal envelope by a straight line in I/Q space in the vicinity of the local power minimum. In many cases, if the desired minimum power is small, and the signal modulation is not too complicated (e.g., PSK), this model is quite accurate. Once this model has been fitted to the signal, the minimum magnitude of the locally linear model can be solved for directly.

[0108]
In order to formulate the model, the complex signal must be known at no less than two distinct time instants. These time instants will preferably be close to the true minimum value of the signal, since the accuracy of the model is better in this case. These time instants need not correspond to sampling instants that are present in the sampled signal envelope.

[0109]
Denote the complex signal at time t1 by s(t1). Denote the real and imaginary parts of s(t1) by x1 and y1, respectively. Similarly, denote the real and imaginary parts of s(t2) by x2 and y2, respectively. The signal at these time instants are given by:

[0000]
$s\ue8a0\left(t\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\right)=\sum _{i}\ue89e{a}_{i}\ue89ep\ue8a0\left(t\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\uf74e\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89eT\right)$
$s\ue8a0\left(t\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e2\right)=\sum _{i}\ue89e{a}_{i}\ue89ep\ue8a0\left(t\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e2\uf74e\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89eT\right)$

[0000]
where t2>t1, and t2−t1 >>T. Then define

[0000]
Δx=x2−x1

[0000]
Δy=y2−y1

[0110]
To the degree that the locally linear model is accurate, the complex signal at any instant in time t can be represented as

[0000]
s(t)=s(t1)+cΔx+jcΔy

[0000]
Re{s(t)}x1=cΔx

[0000]
Im{s(t)}=y1+cΔy

[0000]
where c is a slope parameter.

[0111]
In order to find the minimum magnitude of this linear model, a geometric approach based on FIG. 9 b is used. The point of minimum magnitude corresponds to a point on the locally linear model that intersects a second line which passes through the origin and is orthogonal to the linear model, as illustrated in FIG. 9 b. This orthogonal line can be described parametrically (using the parameter g) by the equations:

[0000]
x=−gΔy

[0000]
y=gΔx

[0112]
The point of intersection is found by setting the xaxis and yaxis components of the linear model and the orthogonal line equal. This yields the following set of equations (two equations and two unknowns):

[0000]
x1+cΔx=−gΔy

[0000]
y1+cΔy=gΔx

[0000]
Rearranging these equations gives:

[0000]
$c=\frac{\left(g\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ey+x\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\right)}{\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ex}$
$c=\left(\frac{g\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89exy\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1}{\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ey}\right)$

[0000]
Setting these two expressions equal, and solving for g, gives:

[0000]
$g=\frac{\left(y\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89exx\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ey\right)}{\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e{x}^{2}+\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e{y}^{2}}$

[0000]
The minimum magnitude of the linear model is then

[0000]
$\hspace{1em}\hspace{1em}\begin{array}{c}{\rho}_{\mathrm{min}}^{2}=\ue89e{\left(g\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ex\right)}^{2}+{\left(g\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ey\right)}^{2}\\ {\rho}_{\mathrm{min}}=\ue89e\uf603g\uf604\ue89e\sqrt{\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e{x}^{2}+\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e{y}^{2}}\\ =\ue89e\frac{\uf603y\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89exx\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ey\uf604}{\sqrt{\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e{x}^{2}+\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e{y}^{2}}}\end{array}$

[0113]
The minimum magnitude as calculated from the locally linear model must be explicitly calculated in order to test for a lowmagnitude event and to calculate the correction magnitude. The minimum magnitude is also used to calculate the magnitude of the correction pulse, which is given by:

[0000]
ρ_{cprr}=ρ_{desired}−ρ_{min }

[0114]
The correction phase is equal to the phase of the signal at minimum magnitude, as determined from the locally linear model. If the corrections are being performed in the I/Q domain, there is no need to explicitly calculate the phase θ of the correction—only sin(θ) and cos(θ) need be calculated. Referring to FIG. 9 b, it may be seen that:

[0000]
$\hspace{1em}\begin{array}{c}{\rho}_{\mathrm{min}}\ue89e\mathrm{cos}\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\theta =\ue89eg\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ey\\ \mathrm{cos}\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\theta =\ue89e\frac{g\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ey}{{\rho}_{\mathrm{min}}}\\ =\ue89e\frac{\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ey\ue8a0\left(y\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89exx\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ey\right)\ue89e\sqrt{\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e{x}^{2}+\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e{y}^{2}}}{\uf603y\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89exx\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ey\uf604\ue89e\left(\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e{x}^{2}+\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e{y}^{2}\right)}\\ =\ue89e\frac{\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ey\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\mathrm{sign}\ue8a0\left(y\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89exx\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ey\right)}{\sqrt{\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e{x}^{2}+\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e{y}^{2}}}\end{array}$

[0000]
where c/c=sign(c) for any scalar C. Similarly:

[0000]
$\mathrm{sin}\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\theta =\frac{\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ex\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\mathrm{sign}\ue8a0\left(y\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89exx\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ey\right)}{\sqrt{\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e{x}^{2}+\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e{y}^{2}}}$

[0000]
In rectangular coordinates, the inphase and quadrature correction factors will respectively have the form:

[0000]
c _{I}=(ρ_{desired}−ρ_{min})cos θ

[0000]
c _{Q}=(ρ_{desired}−ρ_{min})sin θ

[0000]
Thus, it is seen that cos θ and sin θ are sufficient in order to calculate the correction factors, and the independent determination of signal phase θ is not necessary. The modified signal in rectangular coordinates is given by:

[0000]
{circumflex over (s)}_{I}(t)=s _{I}(t)+c _{I} p(t−t _{min})

[0000]
{circumflex over (s)}_{Q}(t)=s _{Q}(t)+c _{Q} p(t−t _{min})

[0000]
where t_min is the approximate time at which the local minimum occurs, and the pulse is assumed (without loss of generality) to be normalized such that p(0)=1.

[0115]
In some applications it may be desirable to obtain a precise estimate of the time t_min corresponding to the minimum signal power. Here, “precise” is used to mean an estimate that is not limited by the sample rate, and may have an arbitrary degree of accuracy. For example, given t_min, correction pulses may be added to the signal based on an interpolated or highly oversampled prototype pulse p(t). For this purpose, any of the three following procedures that exploit the locally linear model can be used. The first two approaches are based on geometric arguments. The third approach is based on direct minimization of the signal magnitude.

[0116]
Linear interpolation is typically employed to estimate a signal value at some arbitrary time t when the signal is only known at two or more discrete time indices. That is, linear interpolation is used to find s(t) given t. However, linear interpolation can also be used to find t given s(t). This property may be exploited as follows, in accordance with the illustration of FIG. 9 c. The linear model is

[0000]
$s\ue8a0\left(t\right)=s\ue8a0\left(t\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\right)+c\ue8a0\left(\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ex+j\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ey\right)$
$\mathrm{where}$
$c=\frac{tt\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1}{t\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e2t\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1}$

[0000]
For the real part of the signal,

[0000]
$x={x}_{1}+\frac{t{t}_{1}}{{t}_{2}{t}_{1}}\ue89e\left({x}_{2}{x}_{1}\right)$

[0000]
Solving this expression for t,

[0000]
$t={t}_{1}+\frac{x{x}_{1}}{{x}_{2}{x}_{1}}\ue89e\left({t}_{2}{t}_{1}\right)$

[0117]
The calculation of t_min depends on the calculation of x_min, the real part of the signal at the local minimum magnitude. As described previously, the minimum magnitude of the signal is ρ_{min}; the real part of the signal at minimum magnitude is ρ_{min }cos θ. Therefore

[0000]
${t}_{\mathrm{min}}={t}_{1}+\left(\frac{{\rho}_{\mathrm{min}}\ue89e\mathrm{cos}\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\theta {x}_{1}}{{x}_{2}{x}_{1}}\right)\ue89e\left({t}_{2}{t}_{1}\right)$

[0000]
Based on similar arguments for the imaginary part of the signal, alternatively

[0000]
${t}_{m\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ei\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89en}={t}_{1}+\left(\frac{{\rho}_{m\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ei\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89en}\ue89e\mathrm{sin}\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\theta {y}_{1}}{{y}_{2}{y}_{1}}\right)\ue89e\left({t}_{2}{t}_{1}\right)$

[0118]
The two expressions described above only depend on the real part or imaginary part of the signal. In a finite precision implementation, this may be a drawback if the change in x or y is small. Therefore it may be better in practice to use an expression which is dependent on both the real and imaginary parts of the signal. Such an expression can be derived by direct minimization of the signal magnitude using standard optimization procedures. Using the linear model, the signal magnitude is

[0000]
s(t)^{2}=(x _{1} +cΔx)^{2}+(y _{1} +cΔy)^{2 }

[0000]
Taking the derivative with respect to c,

[0000]
$\frac{\partial}{\partial c}\ue89e{\uf603s\ue8a0\left(t\right)\uf604}^{2}=2\ue89e\left({x}_{1}+c\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e{\Delta}_{x}\right)\ue89e{\Delta}_{x}+2\ue89e\left(y\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1+c\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e{\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}}_{y}\right)\ue89e{\Delta}_{y}$

[0000]
Setting the derivative equal to zero and solving for c,

[0000]
${c}_{m\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ei\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89en}=\frac{\left({x}_{1}\ue89e{\Delta}_{x}+{y}_{1}\ue89e{\Delta}_{y}\right)}{{\Delta}_{x}^{2}+{\Delta}_{y}^{2}}$

[0000]
Thus the final expression for t_min is

[0000]
${t}_{m\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ei\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89en}={t}_{1}+\left(\frac{\left({x}_{1}\ue89e{\Delta}_{x}+{y}_{1}\ue89e{\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}}_{y}\right)}{{\Delta}_{x}^{2}+{\Delta}_{y}^{2}}\right)\ue89e\left({t}_{2}{t}_{1}\right)$

[0000]
The “exact” holeblowing algorithm can thus be summarized as follows:
1. Determine the approximate timing t=t1 of a potential lowmagnitude event in the signal.
2. In the temporal neighborhood of a potential lowmagnitude event, calculate the pulseshaped signal s(t) for at least two distinct time instants t1 and t2>t1, where t2t2>>T. In the case of symbolrate holeblowing, the signal s(t) is calculated based on the latertobeapplied bandlimiting pulse and some number of symbols in the vicinity of t1 and some number of symbols in the vicinity of t2. In the case of samplerate (i.e., oversampled) holeblowing, pulseshaping will have already been performed, such that s(t1) and s(t2) may be chosen to correspond with adjacent samples.
3. Calculate the minimum magnitude ρ_{min }using the “locallylinear model”, detailed above, and t_{min}, the time of ρ_{min}.
4. Compare the calculated minimum magnitude to the desired minimum magnitude.
5. If the calculated minimum magnitude is less than the desired minimum magnitude, calculate the inphase and quadrature correction weights c_{I }and c_{Q}, respectively, as detailed above.
6. Weight two copies of the pulseshaping filter by the inphase and quadrature correction values, respectively.
7. Add these weighted copies of the pulseshaping filter to the inphase and quadrature components of the signal, referenced to t_{min}.
8. Translate the modified inphase and quadrature components to magnitude and phase, forming the signals to be processed by a polar modulator.

[0119]
The effectiveness of the exact holeblowing method described above is evident in FIG. 10, comparing the instantaneous power of the original QPSK signal to the signal after processing with the exact holeblowing method. The threshold for desired minimum power in this example was selected to be 12 dB below RMS power. It can be seen that the exact holeblowing method is highly effective in keeping the signal power above the desired minimum value. The IQ plot of the QPSK signal after holeblowing is shown in FIG. 11. It can be seen that all traces have been pushed outside the desired limit. A “hole” appears in IQ plot where none was evident before.

[0120]
The instantaneous frequency of the modified signal is shown in FIG. 12. By comparison with FIG. 8, it can be seen that the instantaneous frequency has been reduced from approximately 45× the symbol rate to approximately 1.5× the symbol rate. Clearly the method has greatly reduced the instantaneous frequency.

[0121]
It should be noted that the exact holeblowing method described here is highly tolerant of timing error, but relatively intolerant of magnitude and phase error (or equivalent errors in the correction factors c_{I }and c_{Q}). Timing error refers to the time at which the corrective pulse is added to the original signal. This tolerance to timing error is due to the fact that the pulse shaping filter generally will have a fairly broad magnitude peak relative to the duration of the lowmagnitude event. The effect of this sort of timing error is shown in FIG. 13, where a timing error of up to onefourth of a symbol period degrades the AMR by only 1 dB.

[0122]
Having shown that the exact holeblowing method is effective in removing lowmagnitude events, the effect on inband and outofband signal quality will now be described. The PSDs of the QPSK signal before and after holeblowing are indistinguishable in the frequency domain as shown in FIG. 14. The effect on EVM is illustrated in FIG. 15 a, showing an IQ plot of the modified signal after matchedfiltering and baudsynchronous sampling. The result shows the message that a receiver would obtain upon demodulation of the modified signal. It can be seen that distortion has been introduced to the signal, in that not all samples fall exactly on one of the four QPSK constellation points. The RMS EVM can be defined as:

[0000]
${\sigma}_{\mathrm{evm}}=\frac{\sqrt{\frac{1}{N}\ue89e\sum _{k=0}^{N1}\ue89e{\uf603{a}_{k}{\hat{a}}_{k}\uf604}^{2}}}{\sqrt{\frac{1}{N}\ue89e\sum _{k=0}^{N1}\ue89e{\uf603{a}_{k}\uf604}^{2}}}$

[0000]
where a_{k }and â_{k }are, respectively, the ideal and actual PAM symbols. For the particular example illustrated in FIG. 14, the RMS EVM was calculated using N=16384 symbols and found to be 6.3%. Similarly, the peak EVM is defined as follows:

[0000]
$p\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e{k}_{\mathrm{evm}}=\mathrm{max}\ue89e\frac{\uf603{a}_{k}{\hat{a}}_{k}\uf604}{\sqrt{\frac{1}{N}\ue89e\sum _{k=0}^{N1}\ue89e{\uf603{a}_{k}\uf604}^{2}}}$

[0123]
In this example, the peak EVM is found to be about 38%. If the signal is allowed to have greater magnitude dynamic range, the RMS EVM will be lower. Recall, however, that increasing the allowed magnitude dynamic range also increases the bandwidth and peak value of the instantaneous frequency. Accordingly, a tradeoff can be made between the desired signal quality (EVM) and the instantaneous frequency requirements placed on a practical polar modulator.

[0124]
To assure an imperceptible effect on the signal PSD (see FIG. 14), the choice of the correction pulse shape should substantially match the signal band limiting pulse shape. When the pulse oversampling rate is four or more (samples per symbol time), the preceding algorithm can be simplified. Specifically, the calculation of t_{min }can be eliminated, and the correction pulse is inserted timealigned with the existing signal sample s(t1). As shown in FIG. 13, the maximum error in minimum magnitude is 1 dB for 4× oversampling, and decreases to 0.2 dB for 8× oversampling.

[0125]
The difference in practice between an approach in which holeblowing is performed taking account of t_{min }and an approach in which the calculation of t_{min }can be eliminated is illustrated in the examples of FIGS. 15 b and 15 c, respectively. In the example of FIG. 15 b, holeblowing was performed using a rootraised cosine pulse that was the same as the pulseshaping pulse. In the example of FIG. 15 c, holeblowing was performed using a Hanning window for the correction pulse, with a time duration equal to ½ the symbol duration. As may be seen, in FIG. 15 c, the original signal trajectory is changed as little as possible is order to skirt the region of the hole. In many instances (if not most), however, the calculation of t_{min }can be eliminated (as in FIG. 15 b).

[0126]
FIG. 16 a shows an arrangement for symbolrate holeblowing. A digital message is applied to a main path in which pulseshaping and upconversion are performed. An auxiliary path includes an analyzer block that produces a correction signal. An adder is provided in the main path to sum together the main signal and the correction signal produced by the analyzer.

[0127]
Referring to FIG. 16 b, a particularly advantageous embodiment for performing symbolrate holeblowing is shown. Two signal paths are provided, a main path and an auxiliary path. Outputs of the main signal path and the auxiliary signal path are summed to form the final output signal.

[0128]
The main signal path receives symbols (or chips) and performs pulseshaping on those symbols (or chips), and is largely conventional. However, the main signal path includes a delay element used to achieve synchronization between the main signal path and the auxiliary signal path.

[0129]
In the auxiliary path, the symbols (or chips) are applied to a correction DSP (which may be realized in hardware, firmware or software). The correction DSP performs holeblowing in accordance with the exact method outlined above and as a result outputs an auxiliary stream of symbols (or chips). These symbols (or chips) will occur at the same rate as the main stream of symbols (or chips) but will small in magnitude in comparison, and will in fact be zero except when the signal of the main path enters or is near the hole. The relative timing of the main and auxiliary paths may be offset by T/2 such that the smallvalued symbols of the auxiliary path occur at halfsymbol timings of the main signal path.

[0130]
In an exemplary embodiment, the correction DSP calculates the signal minimum with respect to every successive pair of symbols (or chips), by calculating what the signal value would be corresponding to the respective symbols (or chips) and applying the locally linear model. In calculating what the signal value would be corresponding to a symbol (or chip), the same pulse as in the main signal path and is applied to that symbol (or chip) and some number of previous and succeeding symbols (or chips). This use of the pulse to calculate what the value of the signal at a particular time will be following pulseshaping is distinct from the usual pulseshaping itself.

[0131]
After the correction symbols (or chips) of the auxiliary signal path have been determined, they are pulseshaped in like manner as those of the main signal path. The pulseshaped output signals of the main and auxiliary paths are then combined to form the final output signal.

[0132]
Since the duration of p(t) is finite (L), the signal can be evaluated ahead of time for the correlation between lowmagnitude events and the input symbol stream (L^{M }cases). The analyzer can then operate solely on the {a_{i}} to determine the c_{i }and t_{i}. (The correction symbols c_{i }are very small, and have negligible effect on the message stream.) In this variant of symbolrate holeblowing, the calculated symbols b_{m }are added to the original message stream, and the entire new stream is bandlimited once through the filter.
Iterative Methods

[0133]
The foregoing description has focused on symbolrate and samplerate holeblowing techniques. Although the term “exact” has been used to refer to these techniques, some inaccuracy and imprecision is inevitable. That is, the resulting signal may still impinge upon the desired hole. Depending on the requirements of the particular system, it may be necessary or desirable to further process the signal to remove these residual lowmagnitude events. One approach it to simply specify a bigger hole than is actually required, allowing for some margin of error. Another approach is to perform holeblowing repeatedly, or iteratively.

[0134]
In the quadrature domain, samplerate holeblowing may be performed one or multiple times (FIG. 16 c) and symbolrate holeblowing may be performed one or multiple times (FIG. 16 d). In the latter case, however, at each iteration, the symbol rate is doubled. For example, in a first iteration, correction symbols may be inserted at T/2. In a second iteration, correction symbols may be inserted at T/4 and 3T/4, etc. One or more iterations of symbolrate holeblowing may be followed by one or more iterations of samplerate holeblowing (FIG. 16 e). (In general, samplerate holeblowing cannot be followed by symbolrate holeblowing.)

[0135]
Another alternative is samplerate holeblowing in the polar domain.
PolarDomain HoleBlowing

[0136]
The foregoing quadraturedomain holeblowing techniques preserve ACLR very well at the expense of some degradation in EVM. Other techniques may exhibit a different tradeoff. For example, polardomain holeblowing preserves EVM very well at the expense of ACLR. Therefore, in a particular application, quadraturedomain holeblowing, polardomain holeblowing, or a combination of both, may be applied.

[0137]
The magnitude and phase components of a polar coordinate system can be related to the inphase and quadrature components of a rectangular coordinate system as

[0000]
$\rho \ue8a0\left(t\right)=\sqrt{{s}_{I}^{2}\ue8a0\left(t\right)+{s}_{Q}^{2}\ue8a0\left(t\right)}$
$\theta \ue8a0\left(t\right)={\mathrm{tan}}^{1}\ue8a0\left({s}_{Q}\ue8a0\left(t\right)/{s}_{I}\ue8a0\left(t\right)\right)$

[0138]
FIG. 17 a is a block diagram of a portion of a radio transmitter in which polardomain nonlinear filtering (i.e., “holeblowing”) is performed. The diagram shows how magnitude and phase as expressed in the foregoing equations are related to polardomain nonlinear filtering and the polar modulator.

[0139]
In FIG. 17 a, G represents gain of the polar modulator. In operation, the digital message is first mapped into inphase and quadrature components in rectangular coordinate system. The inphase and quadrature components are converted into magnitude and phasedifference by a rectangulartopolar converter. By knowing the starting point of the phase and the phasedifference in time, the corresponding phase in time can be calculated. This phase calculation is done at a later stage, in the polar modulator. Before feeding the phasedifference to a polar modulator, polardomain nonlinear filtering is performed.

[0140]
A more detailed block diagram is shown in FIG. 17 b, illustrating a main signal path and a correction signal path for two signal channels, ρ and θ. In the correction path, sequential values of ρ are used to perform a signal minimum calculation and comparison with a desired minimum. If correction is required based on the comparison results, then for each channel the magnitude of the required correction is calculated. A pulse (or pair of pulses in the case of the θ channel) is scaled according to the required correction and added into the channel of the main path, which will have been delayed to allow time for the correction operations to be performed.

[0141]
An example of the magnitude and phase components (phasedifference) in polar coordinates is shown in FIG. 18. As can be seen from the plot, when the magnitude dips, there is a corresponding spike (positive or negative) in the phasedifference component.

[0142]
The spike in the phasedifference component suggests that there is a rapid phase change in the signal, since the phase and phasedifference have the following relationship:

[0000]
θ(t)=∫{dot over (θ)}(t)dt

[0143]
The dip in magnitude and the rapid phase change are highly undesirable as both peaks expand the bandwidth of each polar signal component. The goal of the polar domain nonlinear filtering is to reduce the dynamic range of the amplitude swing as well as to reduce the instantaneous phase change. The dynamic range of the amplitude component and the maximum phase change a polar modulator can handle is limited by the hardware. Polar domain nonlinear filtering modifies the signal before the signal being processed by the polar modulator. This preprocessing is to ensure that the signal dynamic range will not exceed the limit of the implemented hardware capability of the polar modulator, and therefore avoids unwanted signal distortion.

[0144]
Nonlinear filtering in a polar coordinate system is somewhat more complex than nonlinear filtering in a rectangular coordinate system. Both components (magnitude and phase) in the polar coordinate system have to be handled with care to prevent severe signal degradation.

[0145]
The following description sets forth how polardomain nonlinear filtering is performed in an exemplary embodiment. Polardomain nonlinear filtering is composed of two parts. The first part is nonlinear filtering of magnitude component, and the second part is nonlinear filtering of the phase component (phasedifference). These two parts will each be described in turn.
Nonlinear Filtering of Magnitude Component

[0146]
If the magnitude dynamic range exceeds the capability of the polar modulator, the output signal will be clipped. This clipping will result in spectral regrowth and therefore greatly increase the adjacent channel leakage ratio (ACLR). One method that can be applied to reduce the dynamic range of the magnitude component is holeblowing (or nonlinear filtering).

[0147]
The purpose of this nonlinear filtering of the magnitude component is to remove the low magnitude events from the input magnitude ρ(t), and therefore reduce the dynamic range of the magnitude swing. Assume a threshold (TH_{mag}) for the minimum magnitude; by observing the signal ρ(t), it is possible to obtain the time intervals where the signal falls below the threshold. Assume there are N time intervals where the signal falls below the threshold and that the magnitude minimums for each of these time intervals happen at t_{1 }. . . , t_{N}, respectively. Therefore, the nonlinear filtering of magnitude component can be expressed as:

[0000]
$\hat{\rho}\ue8a0\left(t\right)=\rho \ue8a0\left(t\right)+\sum _{n=1}^{N}\ue89e{b}_{n}\ue89e{p}_{n}\ue8a0\left(t{t}_{n}\right)$

[0000]
where b_{n }and p_{n}(t) represent the inserted magnitude and pulse for the n th time interval. The nonlinear filtered signal is composed of the original signal and the inserted pulses. The magnitude of the inserted pulse is given as:

[0000]
b _{n} =TH _{mag}−ρ(t _{n})

[0148]
The inserted pulse p_{n}(t) has to be carefully chosen so that the signal degradation with respect to ACLR is minimized. It is desirable for the pulse function to have smooth leading and trailing transitions. A suitable pulse (DZ3) is based on McCune's paper entitled “The DerivativeZeroed Pulse Function Family,” CIPIC Report #973, University of California, Davis, Calif., Jun. 29, 1997. The impulse response of the DZ3 pulse is plotted in FIG. 19.

[0149]
Results of an example for nonlinear filtering of the magnitude component are shown in FIG. 20. As can be seen from the plot, signal intervals where the magnitude dropped below the threshold are compensated by the inserted pulses. As a result, the dynamic range of the magnitude swing is reduced.
Nonlinear Filtering of Phase Component

[0150]
In an exemplary embodiment, the input to the polar modulator is phasedifference, not phase. A voltagecontrolled oscillator (VCO) in the polar modulator integrates the phasedifference and produces the phase component at the output of the polar modulator. The phasedifference is directly related to how fast the VCO has to integrate. If the phasedifference exceeds the capability of the VCO, the output signal phase will lag (or lead) the actual signal phase. As a result, phase jitter will occur if the VCO is constantly unable to keep up with the actual signal phase. This phase jitter will result in constellation rotation, and may therefore severely degrade EVM.

[0151]
The purpose of the nonlinear filtering of phase component is to suppress large (positive or negative) phasedifference events so that phase accumulation error will not occur. It is important to know that the output of the VCO is an accumulation of the input (phasedifference). Therefore, any additional processing to the phasedifference has to ensure that the phase error will not accumulate. The nonlinear filtering of the phase component described presently carefully modifies the phasedifference in a way that the accumulated phase might deviate from the original phase trajectory from time to time. However, after a certain time interval, it will always merge back to the original phase path.

[0152]
Nonlinear filtering of the phase component is done by first finding the location where the absolute value of the phasedifference is beyond the integral capability of the VCO. Assume there are a total of M events where the absolute values of the phasedifference are beyond the capability of the VCO, and that the peak absolute value for each event happens at t_{m}. Nonlinear filtering of the phasedifference component may then be described by the following expression:

[0000]
$\stackrel{\stackrel{\u22d2}{.}}{\theta}\ue8a0\left(t\right)=\stackrel{\stackrel{\u22d2}{.}}{\theta}\ue8a0\left(t\right)+\sum _{m=1}^{M}\ue89e{c}_{m}\ue89e{p}_{p,m}\ue8a0\left(t{t}_{m}\right)$

[0000]
where p_{p,m}(t) is the pulse inserted to the phasedifference component at time t_{m}, and c _{m }is the corresponding magnitude given by

[0000]
c _{m} =TH _{p}−{dot over (θ)}(t _{m})

[0000]
where TH_{p }is the threshold for the phasedifference.
The inserted pulse should satisfy the following equation

[0000]
∫p _{p,m}(t)dt=0

[0153]
The result of inserting a pulse is basically the same as altering the phase trajectory. However, by inserting pulses that satisfy the above equation, the modified phase trajectory will eventually merge back to the original phase trajectory. This can be seen by the following equation:

[0000]
$\int \stackrel{\stackrel{\u22d2}{.}}{\theta}\ue8a0\left(t\right)\ue89e\uf74ct=\int \stackrel{.}{\theta}\ue8a0\left(t\right)\ue89e\uf74ct+\sum _{m=1}^{M}\ue89e{c}_{m}\ue89e\int {p}_{p,m}\ue8a0\left(t\right)\ue89e\uf74ct$

[0000]
The second term on the righthand side will eventually disappear. Therefore, the modified phase trajectory will merge back to the original phase trajectory.

[0154]
An example of an added pulse p_{p}(t) suitable for nonlinear filtering of the phase component is plotted in FIG. 21. Again, it is very important for the pulse function to have smooth leading and trailing transitions. The pulse used for nonlinear filtering at the phasedifference path is composed of two pulses. These two pulses have the same area but different polarity and durations. Therefore, the integration of the combined pulse with respect to time is zero.

[0155]
Results of an example of nonlinear filtering of the phasedifference component are shown in FIG. 22. As can be seen from the plot, the modified phase trajectory has a smoother trajectory than the original phase trajectory. The modified phase trajectory requires less bandwidth from the VCO than the original phase trajectory.

[0156]
Polardomain nonlinear filtering is composed of the filtering of magnitude and phase components. If the nonlinear filtering is done jointly (both magnitude and phase), better spectral rolloff can be achieved. However, each nonlinear filtering operation can also be done independently.

[0157]
Instead of nonlinear filtering of the phasedifference component, direct nonlinear filtering of the phase component can also be implemented. FIG. 23 shows an example in which the original signal has a steep increase in phase from time t_{1 }to t_{2}. One way of reducing the phase change is by interpolating between the straight line v(t) and the original phase path. The interpolation can be expressed as:

[0000]
{circumflex over (θ)}(t)=w(t)θ(t)+(1−w(t))v(t)

[0000]
where w(t) is a weighting factor. The weighting factor can be a constant or may vary in accordance with DZ3, a Gaussian function, or the like. Again, it is important for the weighting function to have smooth leading and trailing edges.

[0158]
Polardomain nonlinear filtering can be used in concatenation with quadraturedomain nonlinear filtering. Such an approach may involve less computational complexity than iterative quadraturedomain nonlinear filtering.

[0159]
If only one iteration of quadraturedomain nonlinear filtering is performed, lowmagnitude, highphasevariation events may still occur, but with low probability. These low probability events can degrade signal quality if not properly managed. To eliminate these lowprobability events, the foregoing polardomain nonlinear filtering method may be used following a single iteration of quadraturedomain nonlinear filtering, maintaining low EVM and low ACLR. FIG. 24 shows the block diagram for this concatenated system. FIG. 25 shows the PSD of the output signal processed by the quadraturepolar nonlinear filtering module. Curve A represents the signal with eight iterations of quadraturedomain nonlinear filtering. Curve B represents the signal with one iteration of quadraturedomain nonlinear filtering followed by one iteration of polardomain nonlinear filtering. Spectral regrowth is below −60 dB. In addition, good spectral rolloff is achieved.
Reduction of Computational Load for RealTime Applications

[0160]
In a practical polar modulator, the holeblowing algorithm must be implemented in realtime using digital hardware and/or software. Realtime implementation of the exact holeblowing method presents several challenges. The particular challenges faced are, to some extent, dependent on the overall architecture selected. There are (at least) two alternative architectures for implementing the exact holeblowing algorithm. In the first architecture, referred to as symbolrate holeblowing, corrective impulses are calculated and added to the data stream with appropriate timing, after which pulse shaping is performed. In the second architecture, referred to as samplerate (or oversampled) holeblowing, the full pulseshaped signal is calculated, after which weighted pulses are added to the pulseshaped signal.

[0161]
Because of its computational complexity, the exact holeblowing algorithm described earlier is difficult to implement using digital hardware. In the exact holeblowing algorithm, arithmetic division, square, and squareroot operations are required. These arithmetic operations greatly increase the complexity of the digital hardware and should be avoided if possible. Reduction in computational complexity of the implemented algorithm leads directly to a reduction in hardware complexity. The realtime holeblowing algorithm described herein requires no division, square, or squareroot operations.

[0162]
Although a realtime holeblowing algorithm can be implemented in either symbolrate or samplerate form, it is generally more desirable to implement symbolrate holeblowing. In particular, symbolrate holeblowing algorithm allows the digital hardware to be operated at a slower clock speed and does not require as much memory to perform pulse insertion. A symbolrate realtime holeblowing algorithm will therefore be described.

[0163]
Generally speaking, real time holeblowing algorithm is very similar to the exact holeblowing algorithm. However, some assumptions and approximations are made in real time holeblowing algorithm to simplify implementation. In the realtime holeblowing algorithm, assumptions are made regarding where magnitude minimums are most likely to occur based on the structure of the signal constellation(s). The assumption allows for determination of where to insert the pulse, if needed, without calculating the entire signal magnitude. In addition, the arithmetic operations in exact boleblowing algorithm are greatly simplified by normalizing the expression √{square root over (Δx^{2}+Δy^{2})} to one. This normalization eliminates the need for division, square, and squareroot operations.

[0164]
The differences between the realtime and exact holeblowing algorithms may be appreciated by considering answers to the following questions:

[0000]
1. What are the potential timings for the lowmagnitude events?
2. What are the values of magnitude minimums, and how can they be calculated efficiently and accurately?
3. What are the inphase and quadrature correction weights of the magnitude minimum if a signal falls below the prescribed threshold?
These questions will be addressed using the UMTS signal as an example.
1. What are the Potential Timings for the LowMagnitude Events?

[0165]
If the timings of the magnitude minimums can be estimated based on the input data bits, then it is not necessary to calculate the whole waveform in order to obtain the magnitude minimums. This shortcut affords a great saving in computation. The locally linear model can be used to calculate the minimums with great accuracy if the approximate timing for lowmagnitude events is known.

[0166]
As previously described, the minimum magnitudes for a bandlimited QPSK signal usually occur close to halfsymbol instance (nT+T/2). This assumption is supported by the histogram in FIG. 6. This assumption can also be applied to higherorder pulseshaped PSK signals whose constellation points lie on the same circle. A good example for this type of signal is the UMTS signal with one active data channel. FIG. 26 shows an example of the UMTS signal constellations with one active data channel. As can be seen from the plot, all constellation points lie on the same circle. If a histogram is constructed for this particular signal, it may be seen that the timings for the lowmagnitude events are very likely to happen at every halfsymbol instance. Therefore, for this particular signal, it is assumed that the timings for the lowmagnitude events will occur at time nT+T/2, where n is an integer.

[0167]
The above assumption will not be true in the case of a more complex signal constellation. FIG. 27 shows an example of the UMTS signal constellations with two active data channels. As can be seen from the plot, not all the constellation points lie on the same circle. The algorithm used to find the magnitude minimums for a more complex signal constellation is illustrated in FIG. 28 a, and described as follows:

[0168]
1. If the signal transitions from constellation point P1 at time nT and ends at point P2 at time (n+1)T, a straight line is drawn connecting the two points. This line is denoted as the first line.

[0169]
2. A second line is drawn perpendicular to the line that connects P1 and P2. The second line includes the origin and intersects the first line at point M.

[0170]
3. The second line divides the first line into two sections whose length are proportional to D1 and D2, respectively. The timing for the lowmagnitude event is approximately nT+D1/(D1+D2)T.

[0171]
4. If the second line and the first line do not intersect, there is no need for pulse insertion.

[0172]
5. Having determined where the magnitude minimums are most likely to occur, the locally linear model is then used to calculate the local magnitude minimums.

[0173]
With the above algorithm, a lookup table can be built for different signal constellations. The size of the lookup table can be reduced if the constellation points are symmetrical to both x and y axis. A special case of the foregoing algorithm occurs where D1 always equal to D2, corresponding to the UMTS signal with one active data channel. Therefore, the magnitude minimums for one active data channel always happen close to time nT+T/2. The above algorithm for finding the approximate locations of magnitude minimums can also be generalized to signals with more complex constellations.

[0174]
FIG. 28 b shows the probability density function, by sample interval (assuming 15 samples per symbol), of minimum magnitude events where correction is required, for both the exact method described earlier and the realtime approximation just described. Note the close correspondence between the two functions.

[0000]
2. What are the Values of the Magnitude Minimums, and how can they be Calculated Efficiently and Accurately?

[0175]
With the knowledge of the timing where the magnitude minimums are likely to occur, the locally linear model is then used to calculate the magnitude minimums. A determination must be made whether the magnitude of the signal falls below the prescribed threshold. If the magnitude falls below the prescribed threshold, inphase and quadrature correction weights, c_{I }and c_{Q}, for the inserted pulse have to be calculated.

[0176]
From the exact holeblowing algorithm, the magnitude minimum can be calculated by the following equation:

[0000]
${\rho}_{m\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ei\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89en}=\frac{\uf603y\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89exx\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ey\uf604}{\sqrt{\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e{x}^{2}+\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e{y}^{2}}}$

[0000]
where x1 and y1 are the inphase and quadrature samples of the signal at time t1, and t1 is the time where the magnitude minimums are most likely to occur.

[0177]
The equation above involves one division, one squareroot operation, two square operations, as well as several other operations—multiplication, addition and subtraction. The computational complexity can be reduced by normalizing the denominator of the above equation.

[0178]
Let the vector (Δx, Δy) be expressed as:

[0000]
Δx=ρxy cos(θ_{xy})

[0000]
Δy=ρ _{xy }sin(θ_{xy})

[0000]
where ρ_{xy }and θ_{xy }are the magnitude and phase of the vector (Δx, Δy). Then, the minimum magnitude of the signal can be expressed as:

[0000]
${\rho}_{m\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ei\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89en}=\frac{\uf603y\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89exx\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ey\uf604}{\sqrt{\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e{x}^{2}+\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e{y}^{2}}}\ue89e\text{}\ue89e\phantom{\rule{2.5em}{2.5ex}}=\frac{{\rho}_{\mathrm{xy}}\ue89e\uf603y\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\mathrm{cos}\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\left({\theta}_{\mathrm{xy}}\right)x\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\mathrm{sin}\ue8a0\left({\theta}_{\mathrm{xy}}\right)\uf604}{{\rho}_{\mathrm{xy}}\ue89e\sqrt{{\mathrm{cos}}^{2}\ue8a0\left({\theta}_{\mathrm{xy}}\right)+{\mathrm{sin}}^{2}\ue8a0\left({\theta}_{\mathrm{xy}}\right)}}\ue89e\text{}\ue89e\phantom{\rule{2.5em}{2.5ex}}=\uf603y\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\mathrm{cos}\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\left({\theta}_{\mathrm{xy}}\right)x\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\mathrm{sin}\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\left({\theta}_{\mathrm{xy}}\right)\uf604$

[0179]
With this normalization, no division, square, or squareroot operation is required. In addition, it is not necessary to know ρ_{xy}. However, the values of sin(θ_{xy}) and cos(θ_{xy}) are needed. Therefore, given a vector (Δx, Δy), a way is needed to obtain (sin(θ_{xy}), cos(θ_{xy}) efficiently.

[0180]
Two ways will be described to evaluate sin(θ_{xy}) and cos(θ_{xy}) with relatively low hardware complexity. The first one uses a linecomparison method, and the second one uses the CORDIC (Coordinate Rotation for Digital Computer) algorithm.

[0181]
First, consider the approximation of sin(θ_{xy}) and cos(θ_{xy}) using a linecomparison method. As can be seen from FIG. 29, lines with a function of y=Mx partition the first quadrant into several subsections. By comparing the point (Δx,Δy) against the lines y=Mx, the subsection that the point (Δx,Δy) falls into can be determined. Any point within a certain subsection is represented by a prenormalized point (sin(θ_{xy} ^{i}), cos(θ_{xy} ^{i})), where i denotes the section the point (Δx,Δy) belongs to.

[0182]
The details of the algorithm are described as follows:

[0000]
1. First, convert the vector (Δx,Δy) into the first quadrant (Δx,Δy).
2. Compare Δy with MΔx where M is positive.
3. If Δy is greater than MΔx, then (Δx,Δy) is located at the left side of the line y=Mx
4. If Δy is smaller than MΔx, then (Δx,Δy) is located at the right side of the line y=Mx.
5. Based on the above comparisons with different lines, the subsection the point (Δx,Δy) belongs to can be located. Assuming the point belongs to section i, then the vector (sin(θ_{xy}), cos(θxy)) can be approximated by the vector (sign(Δx)*sin(θ_{xy} ^{i}), sign(Δy)*cos(θ_{xy} ^{i})).

[0183]
A table is used to store the precalculated values of(sin(θ_{xy} ^{i}), cos(θ_{xy} ^{i})). If a total of W lines are used for comparison, there will be (W+1) subsections in the first quadrant. As a result, the whole vector plane is being divided into 4*(W+1) subsections.

[0184]
The second method used to approximate (sin(θ_{xy}),cos(θ_{xy})) is a CORDIClike algorithm. This method is similar to the linecomparison method. However, the CORDIClike algorithm partitions the vector plane more equally. A more detailed description of the algorithm is presented as follows and is illustrated in FIG. 30:

[0000]
1. First, convert the vector (Δx, Δy) into the first quadrant (Δx,Δy).
2. Second, rotate the vector (Δx,Δy) clockwise with an angle Θ_{0}=tan^{−1}(i). The vector after the angle rotation is denoted as (Δx_{0},Δy_{0}).
3. Let i=1.
4. If Δy_{i−1 }is greater than 0, rotate the vector (Δx_{0},Δy_{0}) clockwise with an angle Θ_{0}=tan^{−1}(2^{−i}). Otherwise, rotate the vector counterclockwise with an angle of Θ_{i}. The vector after the angle rotation is (Δx_{i},Δy_{i})
5. Let i=i+1.
6. Repeat steps 4 and 5 if needed.
7. Assume a total of K vector rotations are performed. This algorithm partitions the first quadrant into 2̂k subsections. The sign of Δy_{0}, Δy_{1}, . . . , Δy_{K−1 }can be used to determine which of the 2̂k subsections the vector (Δx,Δy) belongs to.
8. A table filled with prequantized and normalized values is then used to approximate the vector (Δx,Δy).
9. If the lookup table gives a vector of (sin(θ_{xy} ^{i}), cos(θ_{xy} ^{i})) for vector (Δx,Δy), then (sin(θ_{xy}), cos(θ_{xy})) can be approximated by the vector (sign(Δx)*sin(θ_{xy} ^{i}), sign(Δy)*cos(θ_{xy} ^{i})).

[0185]
The vector rotation in the CORDIC algorithm is carefully done so that the vector rotation is achieved by arithmetic shifts only. This leads to a very efficient structure. The accuracy of the approximation can be improved by going through more CORDIC iterations. If a total of two vector rotations are performed, the resulting partition of the first quadrant is similar as in the linecomparison method shown in FIG. 29.

[0186]
The normalization of the expression √{square root over (Δx^{2}+Δy^{2})} and the efficient algorithms to approximate (sin(θ_{xy}), cos(θ_{xy})) greatly reduce the computational complexity of the locally minimum method. Using these methods, ρ_{min }may be readily evaluated. If the magnitude minimum ρ_{min }falls below the threshold ρ_{desired}, a pulse insertion will be performed based on the holeblowing algorithm. This leads to the third question:

[0000]
3. What are the inPhase and Quadrature Correction Weights if the Magnitude Minimum of the Signal Falls Below the Prescribed Threshold?

[0187]
Similar techniques can be applied to the calculation of sin(θ) and cos(θ) by replacing Δx with Δx=ρ_{xy }cos(θ_{xy}) and Δy with Δy=ρ_{xy }sin(θ_{xy}), as follows:

[0000]
$\begin{array}{c}\mathrm{sin}\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\theta =\ue89e\frac{\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ex\ue89e\phantom{\rule{0.6em}{0.6ex}}\ue89e\mathrm{sign}\ue89e\phantom{\rule{0.6em}{0.6ex}}\ue89e\left(y\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89exx\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ey\right)}{\sqrt{\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e{x}^{2}+\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e{y}^{2}}}\\ =\ue89e\frac{{\rho}_{\mathrm{xy}}\ue89e\mathrm{cos}\ue8a0\left({\theta}_{\mathrm{xy}}\right)\ue89e\phantom{\rule{0.6em}{0.6ex}}\ue89e\mathrm{sign}\ue89e\phantom{\rule{0.6em}{0.6ex}}\ue89e\left(y\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89exx\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ey\right)}{{\rho}_{\mathrm{xy}}\ue89e\sqrt{{\mathrm{cos}\ue89e\phantom{\rule{0.3em}{0.3ex}}}^{2}\ue89e\left({\theta}_{\mathrm{xy}}\right)+{\mathrm{sin}}^{2}\ue8a0\left({\theta}_{\mathrm{xy}}\right)}}\\ =\ue89e\mathrm{cos}\ue8a0\left({\theta}_{\mathrm{xy}}\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\mathrm{sign}\ue8a0\left(y\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89exx\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ey\right)\right)\\ \mathrm{cos}\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\theta =\ue89e\mathrm{sin}\ue8a0\left({\theta}_{\mathrm{xy}}\right)\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\mathrm{sign}\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\left(y\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89exx\ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89e1\ue89e\Delta \ue89e\phantom{\rule{0.3em}{0.3ex}}\ue89ey\right)\end{array}$

[0188]
With the above simplification, the inphase and quadrature correction weights, c_{I }and c_{Q }can be calculated easily with simple subtraction and multiplication:

[0000]
c _{I}=(ρ_{desired}−ρ_{min})cos θ

[0000]
c _{Q}=(ρ_{desired}−ρ_{min})sin θ
Summary of the Real Time HoleBlowing Algorithm

[0189]
To facilitate realtime implementation, a novel approach is taken to estimate the timings for the lowmagnitude events. Also, the locallyminimum method is greatly simplified by normalizing the expression √{square root over (Δx^{2}+Δy^{2})}. As a result, no division, square operation, nor squareroot operation are required.

[0190]
Two methods are being proposed to evaluate (sin(θ_{xy}), cos(θ_{xy})) given the vector (Δx, Δy). The first one is the linecomparison method, and the second one is the CORDIClike algorithm. The implementation complexities of the above two methods are generally low since only arithmetic shifts and comparisons are needed.

[0191]
In the exemplary embodiments described above, it is assumed that lowmagnitude events in the complex baseband signal s(t) correspond to, i.e., correlate in time with, highfrequency events. While such an assumption is acceptable in some applications, in others that employ modulation formats resulting in signals that spend a significant amount of time near the origin in the IQ signal plane (like those that map to signal constellations having constellation points near the origin), the assumption is not acceptable. In fact, in some applications some lowmagnitude events do not involve highfrequency content, even though the lowmagnitude events have magnitudes falling below the lowmagnitude threshold α. This is illustrated in FIG. 37, which is a waveform diagram of the magnitude component ρ of a polarcoordinate baseband signal. While the magnitude of the magnitude component ρ changes abrupt during events 1 and 2, indicative of highfrequency events, the magnitude changes slowly during event 3, even though the magnitude remains below the lowmagnitude threshold α. Hence, performing hole blowing or polardomain nonlinear filtering based on detection of lowmagnitude events can lead to undesirable results.

[0192]
In some applications, using the magnitude component p to infer occurrences of highfrequency events can also result in the nondetection of highfrequency events. In particular, depending on the modulation format being employed, highfrequency events can occur in the magnitude component ρ even during times when the magnitude of the magnitude component ρ remains above the lowmagnitude threshold α. In such circumstances, the higher magnitude highfrequency events go undetected and correction pulses are not generated and inserted when they are actually needed.

[0193]
To overcome the limitations of using the magnitude component ρ to infer occurrences of highfrequency events, according to one embodiment of the invention highfrequency events are detected by monitoring the phasedifference component Δθ, instead, as illustrated in FIGS. 38 and 39. According to this embodiment of the invention, a CORDIC converter 3900 first converts the I and Q components representing the complex baseband signal s(t) into polar coordinates ρ and θ. After the phase component θ is converted into a phasedifference component Δθ by a phasedifference calculator 3902, a threshold comparator 3904 identifies time instances or time intervals (i.e., events) in which the phasedifference component Δθ rises above or falls below upper and lower phasedifference thresholds β and −β. The upper and lower phasedifference thresholds β and −β are determined and set beforehand based on an inband performance criterion, an outofband performance criterion, or a balance or combination of inband and outofband performance criteria, such as a balance or combination of acceptable ACLR and maximum allowable EVM.

[0194]
Similar to as in the exemplary embodiments described above, the detection process of the present embodiment is performed by a DSP implemented in hardware, firmware, software or any combination of hardware, firmware and software. If a highfrequency event is detected in the phasedifference component Δθ, one or more correction pulses are generated and inserted in the I and Q components of the complex baseband signal s(t) in the temporal vicinity of the detected highfrequency event (e.g., using one of the hole blowing techniques described above), or are generated and inserted in the magnitude component p and/or phasedifference component Δθ in the temporal vicinity of the detected highfrequency event in the polar domain (e.g., similar to the polardomain nonlinear filtering techniques described above). In other words, detection of highfrequency events in the phasedifference component Δθ is used as a basis for performing hole blowing in the quadrature domain, performing nonlinear filtering of either or both the magnitude component p and phasedifference component Δθ in the polar domain, or applying quadraturedomain hole blowing in concatenation with polardomain nonlinear filtering. If hole blowing is performed, it may be performed at either the sample rate or the symbol rate and either prior to or after pulseshape filtering.

[0195]
FIGS. 40 and 41 illustrate an alternative highfrequency detection approach. According to this embodiment of the invention, first and second threshold comparators 4102 and 4104 are employed to detect occurrences of highfrequency events by monitoring time instances or intervals in which both the magnitude of the magnitude component ρ falls below a predetermined lowmagnitude threshold α and the phasedifference component Δθ rises above or falls below upper and lower phasedifference thresholds β and −β. For example, events 1 and 2 in FIG. 40 are considered to include highfrequency content since both the magnitude of the magnitude component ρ falls below the lowmagnitude threshold α and the phasedifference of the phasedifference component Δθ rises above the upper phasedifference thresholds β (event 1) or falls below the lower phasedifference threshold −β (event 2). Similar to as in the previously described embodiment, the detection process of the present embodiment is performed by a DSP implemented in hardware, firmware, software or any combination of hardware, firmware and software. Further, and similar to the previously described embodiment, the thresholds α, β and −β are determined and set beforehand based on an inband performance criterion, an outofband performance criterion, or a balance or combination of inband and outofband performance requirements, such as a balance or combination of acceptable ACLR and maximum allowable EVM.

[0196]
Based on detection of a highfrequency event in the magnitude and phasedifference components ρ and Δθ, one or more correction pulses are generated and inserted in the I and Q components of the complex baseband signal s(t) in the quadrature domain in the temporal vicinity of the detected highfrequency event (e.g., using one of the hole blowing techniques described above), or are generated and inserted in the magnitude component ρ and/or phasedifference component Δθ in the temporal vicinity of the detected highfrequency event in the polar domain (e.g., similar to the polardomain nonlinear filtering techniques described above). In other words, detection of highfrequency events in the magnitude and phasedifference components ρ and Δθ is used as a basis for performing hole blowing in the quadrature domain, performing nonlinear filtering of either or both the magnitude component ρ and phasedifference component Δθ in the polar domain, or applying quadraturedomain hole blowing in concatenation with polardomain nonlinear filtering. If hole blowing is performed, it may be performed at either the sample rate or the symbol rate and either prior to or after pulseshape filtering.
APPENDIX 1
A1.0 Analysis of the O'Dea HoleBlowing Methods

[0197]
In this Appendix, a detailed analysis is presented of the holeblowing methods proposed in U.S. Pat. Nos. 5,696,794 and 5,805,640. These two patents are very similar and are therefore treated simultaneously. The main difference is that the former patent (U.S. Pat. No. 5,696,794) modifies the symbols to be transmitted, while the latter patent (U.S. Pat. No. 5,805,640) adds pulses at T/2 symbol timing instants. For brevity, patent U.S. Pat. No. 5,696,794 will be referred to as the symbol rate method, and patent U.S. Pat. No. 5,805,640 will be referred to as the T/2 method. An overview of both methods is first presented, followed by an examination of performance with two different signal modulations. The first test signal is or π/4 QPSK with zeroISI raised cosine pulse shaping. This is the modulation employed in the two patents. The second test signal is a UMTS 3GPP uplink signal with one active DPDCH and a DPDCH/DPCCH amplitude ratio of 7/15. UMTS uses squareroot raisedcosine pulse shaping with 0.22 rolloff characteristic.
A1.1 Overview of the O'Dea HoleBlowing Algorithms

[0198]
The term “halfsymbol timing” is defined to be those time instants that are exactly halfway between symbol times. That is, if the PAM signal is modeled as

[0000]
$s\ue8a0\left(t\right)=\sum _{k}\ue89e{a}_{k}\ue89ep\ue8a0\left(t\mathrm{kT}\right)$

[0000]
where T is the symbol period and p(t) is the pulse shape, then the halfsymbol times correspond to t=kT+T/2 where k is an integer. For clarity of presentation, it will be assumed that the maximum value of p(t) has been normalized to unity.

[0199]
Both methods test for the existence of undesirable lowpower events by measuring the signal magnitude at the halfsymbol time instants, and comparing this value to some desired minimum magnitude mag_d:

[0000]
mag _{—} s=s(kT+T/2)≦vmag _{—} d

[0200]
Both patents use the same method to calculate the phase of the corrective pulse(s). Assume that the lowmagnitude event occurs between symbols k and k+1. First, determine the socalled phase rotation θ_{rot}, which is simply the change in phase in the transition from symbol k to symbol k+1, as illustrated in FIG. 31. The corrective phase θ_{adj }is given by

[0000]
${\theta}_{\mathrm{adj}}={\theta}_{k}+\frac{{\theta}_{\mathrm{rot}}}{2}$

[0000]
Where θ_{k }is the phase of the kth symbol. A vector with phase equal to the adjustment phase is orthogonal to a straight line drawn from symbol k to symbol k+1, as illustrated in FIG. 31. Note that since there are a finite number of possible phase rotations, there are also a finite number of possible phase adjustments, so that explicit calculation of the rotation phase is not necessary.

[0201]
If the symbol rate approach (U.S. Pat. No. 5,696,794) is used, the two symbols adjoining the lowmagnitude event (i.e., symbols k and k+1) are modified by the addition of a complex scalar. The magnitude of this complex scalar is given by

[0000]
m=0.5(mag _{—} d−mag _{—} s)/p _{mid }

[0000]
where p_{mid }is the amplitude of the pulse shaping filter at t=T/2. (The rationale for calculating the magnitude of the correction in this manner, however, is unclear.) The complex scalar adjustment is then

[0000]
c _{adj} =m exp(jθ _{adj})

[0000]
and the resulting modified symbols are given by

[0000]
{tilde over (a)}_{k} =a _{k} +c _{adj }

[0000]
{tilde over (a)}_{k+1} =a _{c+1} +c _{adj }

[0202]
Note that both symbols are modified in the same manner.

[0203]
Thus, a noise component is added to the signal by intentional relocation of the information symbols {a_{k}}. This can “confuse” any equalizer at the receiver, which will expect that any signal distortion is due to the channel.

[0204]
If the T/2 approach (U.S. Pat. No. 5,805,640) is used, a complex scalar is added to the symbol stream, before pulseshaping, at the appropriate halfsymbol time instants. When a low magnitude event is detected at t kT+T/2, a complex symbol with magnitude

[0000]
m=(mag _{—} d−mag _{—} s)

[0000]
and phase equal to θ_{adj }(given above) is added at t=kT+T/2. This restriction to T/2 insertion timing limits this method to circular signal constellations.

[0205]
One additional difference between the symbol rate method and the T/2 method is that the symbol rate method is intended to be applied iteratively until the signal magnitude does not drop below some threshold. There is no mention of an iterative process in the T/2 patent.
A1.2 Performance with π/4 OPSK

[0206]
Consider now the performance of the known holeblowing algorithms relative to the disclosed “exact” holeblowing method when the targeted signal is π/4 QPSK. It is interesting to note that this signal has a “hole” in its constellation if the rolloff is high, e.g., α=0.5. A rolloff of 0.22 was chosen so that the signal would not have a preexisting hole.

[0207]
FIG. 32 shows the CDF obtained from the disclosed method and the two known methods with the aforementioned p/4 QPSK signal. The desired minimum power level was set at 9 dB below RMS. These simulation results are based on 16384 symbols with 32 samples/symbol. The figure clearly shows that the exact method is much more effective than either of the known methods. It is also evident that both known methods perform similarly. This is not surprising given the similarity of the two approaches.

[0208]
Some explanation of the performance of the known methods as shown in FIG. 32 is in order. It was noted earlier that there are sources of error possible in calculation of both the magnitude and phase of the correction pulses. FIG. 33 shows an example where the priorart symbol rate method works fairly well. The signal envelope is not pushed completely out of the desired hole, but the method is performing moreorless as intended. In contrast, FIG. 34 shows an example where the priorart symbol rate method does not perform well. This example illustrates error in both the magnitude and phase of the corrective pulses. In this example, the trace passes on the “wrong side” of the origin relative to the assumptions made in calculating the correction phase. Thus the trace is pushed in the wrong direction. Furthermore, it is evident from this example that the magnitude at T/2 is not the minimum magnitude, so that even if the phase had been calculated correctly, the signal would not have been pushed far enough.

[0209]
FIG. 35 shows an example where the priorart T/2 method does not perform well. (The segment shown in FIG. 35 is the same segment of the signal shown in FIG. 34, where the symbol rate method did not perform well.) Comparing FIG. 34 and FIG. 35, it is clear that the two methods yield nearly identical traces. It can be seen that the symbol rate method only alters the symbols adjacent to the lowmagnitude event, while the T/2 method affects more symbols.
A1.3 Performance with a 3GPP Uplink Signal

[0210]
Consider now the performance of the known methods with a more realistic signal, that being a 3GPP uplink signal with one active DPDCH and an amplitude ratio of 7/15. FIG. 36 shows the CDF's obtained with the disclosed exact method and with the known holeblowing methods when applied to one frame (38400 chips) of the signal with 32 samples/chip. It is clear that the exact correction method greatly outperforms the known methods, and that the known methods perform comparably.