Patent Description:
Communications can have a need to be implemented over a large dynamic range. For example, consider an RF receiver that is configured to receive communications from a mobile platform. For example, consider a receiver implemented on an aircraft configured to receive communications from a transmitter on another aircraft. If the two aircraft are in close proximity to one another, the signal received by the aircraft with the receiver will be much stronger than if the aircraft are less proximate to each other. Alternatively, consider the case where the receiver is able to receive RF communications from any one of a number of different transmitters located in different locations. For example, a communication from a satellite will be much weaker than a communication from a terrestrial communication transmitter located proximate the receiver, particularly when there is a clear line of sight between the terrestrial communication transmitter and the receiver.

Typically, a receiver includes a detector that is able to process communication signals in conjunction with an analog-to-digital converter to convert the signals to a digital communication signal that is able to be read at the receiver. However, the detector is typically only able to handle a very limited dynamic range. For example, the detector may only be able to handle signals in a <NUM> to <NUM> dB range. However, the overall receiver may be required to receive and process signals over a much larger dynamic range. For example, a given receiver system may be required to handle receiving RF communications in a -<NUM> dBm to <NUM> dBm range. This range represents a range of very weak signals to very strong signals.

To handle this dynamic range, a receiver typically includes an attenuator. The attenuator attenuates strong signals so that all signals received by the detector are closer to the lower end of the dynamic range. For example, the receiver may include an attenuator that attempts to cause all signals provided to the detector in the receiver to be about -<NUM> dBm. Given that received signals can be, in the present example, between -<NUM> dBm to <NUM> dBm, the attenuator necessarily needs to be variable depending on the strength of the received signal. For example, if a signal is received at a signal strength of -<NUM> dBm, then no attenuation needs to be performed. In contrast, if a signal is received at a signal strength of <NUM> dBm, then <NUM> dB of attenuation needs to be performed. Similarly, if a signal is received at a signal strength of <NUM> dBm, then attenuation of <NUM> dB needs to be performed. And so forth.

Some systems can implement an attenuator that is somewhat variable in nature over the entire dynamic range. For example, a variable voltage attenuator (VVA) can be implemented where a control voltage that is approximately proportional or inversely proportional to received signal strength is used to control the attenuator to attenuate received signals as appropriate. However, such an attenuator can cause distortion in the received signals, especially at the margins of the dynamic range. Thus, for example, when a received signal is approximately <NUM> dB above a desired received level, a relatively clean attenuation can be performed as compared to attenuations performed when the received signal is approximately <NUM> dB above the desired level or when the received signal is approximately -<NUM> dBm. Alternatively, a VVA that has low distortion across the dynamic range may be expensive to implement and/or acquire. Alternatively, or additionally, a VVA having a high dynamic range may have a limited frequency bandwidth, or other undesirable limitations. Therefore, it would be useful to implement a receiver system that has a high dynamic range while still being implemented in an economically advantageous fashion, with limited distortion.

Examples for devices comprising different types of attenuators, in particular step and/or variable voltage attenuators, are disclosed by the documents <CIT>, <CIT>, <CIT> and <CIT>.

One embodiment illustrated herein includes a method that may be practiced in a communication environment. The method includes acts for signal processing to compensate for gain control output spikes caused by steps in a digital step attenuator (DSA). The method includes receiving a changing power input signal at a receiver. The method includes determining that a change in power of the input signal will cause a step attenuator to change its attenuation in a step of a predetermined amount. The method further includes based on determining that the change in power of the input signal will cause a DSA to change its attenuation in a step of a predetermined amount, causing a variable attenuator to change its attenuation by an amount related to the predetermined amount at a time coinciding with a time when the step attenuator changes its attenuation by the predetermined amount. The method further includes outputting a gain-controlled output signal resulting from applying the step attenuator and the variable attenuator to the changing power input signal.

Some embodiments illustrated herein use coordinated control of one or more coarse gain control elements and one or more fine or continuous gain control elements to allow a wide range of gain/attenuation without having discontinuities in the gain over time. For example, some embodiments use a DSA (which attenuates signals in discrete steps) having a wide dynamic range in combination with a VVA with a limited dynamic range (e.g., limited by one or more orders of magnitude), with respect to the wide dynamic range, to allow for implementation of a signal attenuator that has wide dynamic range, but nonetheless has fine attenuation controls. Note that as discussed above, the coarse gain control element and the fine gain control element are coordinated. This is done to prevent power spikes in a signal from occurring when a step occurs at the coarse grain element. In particular, while the fine-grained control element is typically implemented using a more gradual attenuation, when a step occurs at the coarse-grained element, a corresponding large change in attenuation is affected at the fine-grained control element as well to prevent power spikes in an output signal. This will be explained in more detail below.

Referring now to <FIG> an example receiver <NUM> is illustrated. The receiver <NUM> receives input signals from one or more transmitters. For example, the receiver <NUM> may receive signals from a variety of transmitters on a variety of platforms. These transmitters are represented by the transmitter <NUM>. For example, the receiver <NUM> may be implemented on an aircraft and may receive signals from other aircraft, ground units, satellite systems, underwater vehicles, or other systems. The signals received at the receiver <NUM> may be received across a number of power levels thus requiring the receiver <NUM> to have an appropriate dynamic range for expected powers received at the receiver <NUM>. As noted previously, this is accomplished by attenuating received signals to an appropriate level for further processing in the receiver <NUM>.

In the example illustrated in <FIG> and <FIG>, the received input signal <NUM> is provided to a step attenuator <NUM>, which is a coarse attenuator. The step attenuator <NUM> attenuates the input signal <NUM> in large steps corresponding to the strength of the input signal <NUM> at the step attenuator <NUM>. In particular, the controller <NUM> either directly or indirectly measures the input power of the input signal <NUM> and causes the step attenuator <NUM> to attenuate the input signal <NUM> to a level appropriate for the variable attenuator <NUM>, and further the detector <NUM>. For example, consider the case where the receiver <NUM> has an intended dynamic range for input signals of between -<NUM> dBm and <NUM> dBm. In this case, typically, the detector <NUM> will expect an input signal <NUM> of approximately -<NUM> dBm. Thus, the step attenuator <NUM> and the variable attenuator <NUM> attenuate any input signal <NUM> to that level. In one example, assuming that the input signal <NUM> is <NUM> dBm with a decreasing trajectory (i.e., the signal is getting weaker over time), and the variable attenuator <NUM> has a <NUM> dB attenuation range, the step attenuator <NUM> is configured by the controller <NUM> to attenuate the input signal <NUM> by <NUM> dB. This results in a step attenuated signal of approximately -<NUM> dBm at the output of the step attenuator <NUM>. The variable attenuator <NUM> can be controlled by the controller <NUM> to provide an additional attenuation of <NUM> dB to cause the signal received at the detector to be -<NUM> dBm.

Note that the controller <NUM> can detect the trajectory of the input signal <NUM>, and in some embodiments, the speed at which the input signal <NUM> is changing. Thus, for example, the controller <NUM> can (either directly or indirectly) detect whether the input signal <NUM> is getting weaker or stronger, and the rate at which the signal strength is changing. Using this information, along with the signal strength, the controller <NUM> can appropriately control the step attenuator <NUM> and variable attenuator to provide a signal of a desired signal strength to the detector <NUM>.

Timing of when the step attenuator <NUM> and the variable attenuator attenuate an input signal is taken into consideration to prevent power spikes in the output of the variable attenuator <NUM> to the detector <NUM>.

For example, attention is directed to <FIG> which illustrate a number of graphs showing input signal power strength, coarse attenuation by the step attenuator <NUM> and variable attenuation by the variable attenuator <NUM>.

Graph <NUM> illustrates input power to the receiver <NUM>. In this example, input power of the input <NUM> is generally declining over time from <NUM> dBm to -<NUM> dBm. The controller <NUM> can measure input power, direction of power changes (i.e., increasing, decreasing, or substantially constant), and/or rate at which power is changing. The controller <NUM> can cause the step attenuator <NUM> to attenuate the input signal <NUM> based on this information. In particular, graph <NUM> illustrates attenuation by the step attenuator <NUM> over the same time.

For example, as illustrated at <NUM> of <FIG>, the step attenuator <NUM> is configured to attenuate the input signal <NUM> in <NUM> dB increments, where the step attenuator increases or decreases attenuation, stepwise, based on measurements made on the input signal <NUM>. In the example illustrated, the goal is to cause the power output to the detector <NUM> to be approximately -<NUM> dBm. In the illustrated example, the step attenuator <NUM> and variable attenuator <NUM> are used in conjunction to achieve this result. However, embodiment coordinate timing between changes in attenuation of the step attenuator <NUM> and variable attenuator <NUM> to prevent output spikes, such as those seen in the graph <NUM> at the gain control output <NUM>.

In particular, previous systems caused step attenuation to be performed followed by variable attenuation (such as the variable attenuation illustrated by the curve <NUM>). For convenience, the prior example is illustrated using the curve illustrated in graph <NUM> as well as the curves illustrated in graph <NUM>. In this example, as an input signal decreases, the step attenuator decreases attenuation from <NUM> dB to <NUM> dB. The variable attenuator had been constantly decreasing its attenuation from <NUM> dB to <NUM> dB, such that at this point in time, the variable attenuator is attenuating a signal from the step attenuator by <NUM> dB to cause a total attenuation of <NUM> dB, resulting in an output signal of -<NUM> dBm. As illustrated in graph <NUM>, this results in a <NUM> dB spike from -<NUM> dBm to -<NUM> dBm until the variable attenuator can be adjusted to compensate for the spike and then continue a continuous changing of attenuation as illustrated at curve <NUM> to compensate for the changes in the input signal illustrated by the curve in the graph <NUM>. This occurs because in previous systems, control of the variable attenuator is reactive only to the output of the step attenuator and is independent of the control of the step attenuator.

This type of behavior can cause problems for demodulation functions and with forward error correction (FEC) decoding, as soft-decision decoders expect appropriately scaled symbol magnitudes. The magnitude jumps can wreak havoc on demodulation functions including timing and phase loops, lock detectors, sync detectors, and high order modulation symbol demapping. Even with Phase Shift Keying (PSK), soft decision FEC decoders will have degraded performance with inconsistent symbol magnitude. Using one or more DSA elements in line with a VVA allows locally (with respect to attenuation) smooth gain control and a large range of attenuation.

Embodiments illustrated herein enable smooth gain control over the entire range of supported attenuation values and, in some embodiments, prevent the above-mentioned distress on demodulation and FEC due to magnitude discontinuities. Embodiments herein are implemented such that control of the variable attenuator <NUM> is reactive to controls that are coordinated with the control of the step attenuator <NUM>. That is, embodiments can be implemented where control of the variable attenuator <NUM> is not isolated from control of the step attenuator <NUM>. In particular, attention is directed to graph <NUM> including curves <NUM> and <NUM>. As illustrated, in this graph, the attenuation of the variable attenuator <NUM> is controlled in conjunction with the control of the step attenuator <NUM>. In particular, rather than the more continuous control of the variable attenuator illustrated in by the curve <NUM>, embodiments herein implement piecewise continuous control with points of stepped control of the variable attenuator <NUM>, as illustrated by the curve <NUM>.

In particular, as the input <NUM> decreases in power, the step attenuator <NUM> reduces attenuation by a stepped amount as illustrated in graph <NUM> and in conjunction, the variable attenuator <NUM> increases attenuation by a stepped amount, and thereafter decreases attention in a continuous fashion. This results in a more consistent output of the variable attenuator <NUM> (which is input to the detector <NUM>). Thus, for example, when the step attenuator <NUM> steps from <NUM> dB attenuation to <NUM> dB as illustrated in graph <NUM>, the variable attenuator <NUM> steps from <NUM> dB attenuation to <NUM> dB attenuation at the same time, or within a predetermined time (such as based on delays associated with control of the step attenuator <NUM> or variable attenuator <NUM>) to prevent an output spike, The variable attenuator then continuously decreases attenuation to cause a continuous output of the gain control elements (i.e., the step attenuator <NUM> in combination with the variable attenuator <NUM>) and a continuous input into the detector <NUM>.

Thus, as illustrated, embodiments allow a gain control system to control the gain of a receiver in such a way that as the received signal strength varies widely, the received symbol magnitude after demodulation stays consistent.

As illustrated above, the input power of the input signal <NUM> can vary. This can be caused by any one of a number of reasons. For example, in some embodiments, the receiver <NUM> may be implemented on an aircraft or other mobile platform that moves away from or toward a transmitter <NUM>. Thus, for example, if the receiver <NUM> is moving away from a transmitter <NUM>, the input power of the input signal <NUM> may decrease in a fashion as illustrated in the graph <NUM>. In contrast, if the receiver <NUM> is moving toward a transmitter <NUM>, the input power of the input signal <NUM> may increase in a continuous fashion. One can imagine that in certain situations, the receiver may be in a changing environment where during certain periods the input power of the input signal <NUM> increases as the receiver <NUM> moves towards a transmitter <NUM> and then suddenly changes to a decreasing input power as the receiver <NUM> changes course causing the receiver <NUM> to move away from a transmitter <NUM>. Note that the receiver <NUM> and a corresponding transmitter <NUM> may both be implemented on dynamic platforms such that movement between the platforms causes various periods of increasing power and decreasing power at the input <NUM>. Alternatively, changing weather conditions, terrain, etc. can cause periods of increasing and decreasing power.

In the example illustrated in <FIG>, the controller <NUM> is able to monitor a number of different signals. For example, the controller <NUM> can monitor the input signal <NUM> being input into the step attenuator <NUM>. <FIG> further illustrates that the controller <NUM> can monitor the output of the step attenuator <NUM>. <FIG> further illustrates that the controller <NUM> can monitor the output of the variable attenuator <NUM>. Using this information, the controller <NUM> can provide control signals to the step attenuator <NUM> and the variable attenuator <NUM> to control how attenuation is implemented in the receiver <NUM>.

As noted previously, the ability of the controller <NUM> to monitor various signal strengths can also allow the controller <NUM> to determine how a signal is changing (e.g., is the signal increasing or decreasing in power) and rates at which the signal is changing. This can allow for fine-tuned control of the step attenuator <NUM> and the variable attenuator <NUM>. In particular, this can be useful for eliminating and/or minimizing output spikes such as those seen in the curve <NUM> illustrated in <FIG>.

In an alternative example, as illustrated in <FIG>, the controller <NUM> simply receives information from the detector <NUM> for the signal strength incident on the detector <NUM> and controls the step attenuator <NUM> and the variable attenuator <NUM>. The variable attenuator <NUM> can be adjusted in a conventional closed-loop gain control until it reaches the edge of its linear region or some preset boundary in its linear region. At that point, the controller <NUM> steps the step attenuator <NUM> such that the variable attenuator <NUM> is once again in the center of its linear region. Then the variable attenuator <NUM> can continue to vary (+ and - attenuation) until the variable attenuator <NUM> once again reaches a boundary (on either side), thus implementing built-in hysteresis.

As a further explanation, imagine the variable attenuator <NUM> could affect attenuation in the range <NUM> to <NUM> dB, but it is only linear and well-behaved from <NUM> to <NUM> dB attenuation. Set the variable attenuator <NUM> to <NUM> dB attenuation. If the detector <NUM> has appropriate incident signal power upon it, the variable attenuator <NUM> attenuation will not change. If the power level measured at the detector <NUM> starts to vary from the desired incident power, the controller <NUM> will modify the variable attenuator <NUM> attenuation to compensate for the signal variation. However, if the variable attenuator <NUM> attenuation reaches <NUM> dB or <NUM> dB, the DSA steps <NUM> dB and the VVA is once again set to <NUM> dB attenuation and (with well-behaved continuous signals) the detector <NUM> is still receiving a signal that is an appropriate power level. But now, the input signal <NUM> can vary plus or minus <NUM> dB before the controller <NUM> controls <NUM> to step again.

Thus, in this example, the variable attenuator <NUM> operation can be viewed as a <NUM> dB window of operation and the DSA steps where this window is centered, in <NUM> dB steps. Thus, a <NUM> dB VVA window overlaps with 'neighboring' windows each by <NUM> dB (neighbor windows being those for which the DSA has stepped + or - <NUM> dB).

Further, timing of changes to attenuation by the step attenuator <NUM> with respect to changes to attenuation by the variable attenuator <NUM> is an important factor to consider for eliminating and/or minimizing output spikes such as those seen in the curve <NUM> illustrated in <FIG>. This timing can be accomplished in a number of different fashions. In particular, in some embodiments, there may be timing differences between when the step attenuator <NUM> changes attenuation by a particular step amount and when the variable attenuator <NUM> changes attenuation by a particular step amount as illustrated in the curve <NUM>. These timing differences may be caused by differences in circuitry at the controller <NUM>, differences in circuitry at the step attenuator <NUM> as compared to circuitry at the variable attenuator <NUM>, etc. In some embodiments, these differences may be known, such that appropriate delays can be implemented to compensate for the differences. For example, if the step attenuator <NUM> is more responsive to control signals from the controller <NUM> than the variable attenuator <NUM> (meaning that the step attenuator <NUM> reacts more quickly to control signals from the controller <NUM> then the variable attenuator <NUM> reacts to control signals from the controller <NUM>), then a delay can be implemented in the controller <NUM> with respect to control signals for the step attenuator <NUM> to cause the reactions to control signals of the step attenuator <NUM> and the variable attenuator <NUM> to be more aligned. This is particularly important when the step attenuator <NUM> implements a stepped change in attenuation and when the variable attenuator <NUM> implements a stepped change in attenuation. Embodiments can control timing of control signals to the step attenuator <NUM> and variable attenuator <NUM> to cause the stepped changes to occur at coinciding times. Note that the coinciding times may include some allowance for propagation delay of signals between the step attenuator <NUM> and the variable attenuator <NUM>. Although, in many embodiments, this propagation delay between the step attenuator <NUM> and variable attenuator <NUM> will be negligible.

In some embodiments, the delay between control signals to the step attenuator <NUM> and the variable attenuator <NUM> may be variable and configurable based on signal sampling of the controller <NUM>. In particular, the responsiveness of the step attenuator <NUM> and variable attenuator <NUM> to control signals from the controller <NUM> may change over time resulting in sufficient variation between the step signals of the step attenuator <NUM> and the variable attenuator <NUM> to cause output spikes if corrective actions are not taken. In some embodiments, this delay may be adjusted based on a calibration cycle performed prior to using the receiver <NUM> for receiving signals from the transmitter <NUM>. For example, the receiver <NUM> or equipment associated with the receiver <NUM> may input a test signal into the step attenuator <NUM> and cause a step change in the step attenuator <NUM> and the variable attenuator <NUM>. The response time of the change can be measured at the detector <NUM>. Thus, for example, a fixed-power signal input is used while changing the DSA and VVA to determine the delay in the received power at the detector <NUM>. Alternatively, a 'step response' may be measured so delay calibration could minimize the 'area' under power spike deviations. Alternatively, the delay can be adjusted over time while monitoring signal strengths to use a feedback control circuit to correct for power spikes in the output of the gain control circuitry. Thus, for example, as anomalies begin to develop out of the output of the variable attenuator <NUM>, delay adjustments can be made to the delay to eliminate the anomalies.

Note that in some embodiments this continuous feedback mechanism and continuous adjustment of delay between control signals to the step attenuator <NUM> and the variable attenuator <NUM> may be performed under normal operating conditions when the transmitter <NUM> is transmitting input signal <NUM> to the receiver <NUM>. Thus, embodiments allow for initial calibrations and/or continuous feedback and correction.

Note that while the example illustrated in <FIG> illustrates a single step attenuator <NUM>, it should be appreciated that in other embodiments, multiple step attenuators can be used in conjunction with each other. For example, in some embodiments, each step attenuator comprises a single step and is only able to attenuate either <NUM> dB or <NUM> dB. In this case, a wide dynamic range could be implemented by implementing multiple step attenuators. For example, in the preceding example, ten step attenuators could achieve a dynamic range of 50dB. In alternative examples, multiple step attenuators could be used together where each of the step attenuators accounts for some of the dynamic range with multiple steps, but are required to be used in conjunction with other step attenuators to achieve the full dynamic range.

Still other embodiments may use multiple step attenuators in an overlapping fashion over portions of the dynamic range. For example, two step attenuators may be used where each of the step attenuators attenuates in <NUM> dB steps, but where each of the attenuators only steps on every <NUM> dB change on the input signal <NUM>. However, the attenuators are configured to alternatively attenuate on <NUM> dB changes on the input signal <NUM>. Thus, for example, a first attenuator may attenuate the input signal by <NUM> dB when the input signal is <NUM> dBm, -<NUM> dBm, -<NUM> dBm and so forth. In contrast, the second attenuator may attenuate the input signal by <NUM> dB when the input signal is -<NUM> dBm, -<NUM> dBm, and so forth. <FIG> illustrates one example implementation where multiple step attenuators are used with a variable voltage attenuator, where control is performed by a Field Programmable Gate Array (FPGA), or other appropriate mechanism, such as discrete circuitry, a microcontroller, software running on a general purpose processor, etc..

Referring now to <FIG>, a method <NUM> is illustrated. The method <NUM> includes acts for signal processing to compensate for gain control output spikes caused by steps in a digital step attenuator. The method <NUM> includes receiving a changing power input signal at a receiver (act <NUM>).

The method <NUM> further includes determining that a change in power of the input signal will cause a step attenuator to change its attenuation in a step of a predetermined amount (act <NUM>).

Based on determining that the change in power of the input signal will cause a digital step attenuator to change its attenuation in a step of a predetermined amount, the method <NUM> further includes causing a variable attenuator to change its attenuation by the same predetermined amount at a time coinciding with a time when the step attenuator changes its attenuation by the predetermined amount (act <NUM>).

The method <NUM> further includes outputting a gain-controlled output signal resulting from applying the step attenuator and the variable attenuator to the changing power input signal (act <NUM>).

The method <NUM> may be practiced where causing the variable attenuator to change its attenuation by an amount related to the predetermined amount at time coinciding with a time when the step attenuator changes its attenuation by the predetermined amount is performed by triggering the variable attenuator to change its attenuation directly based on an amount of change of power in the input signal.

The method <NUM> may be practiced where causing the variable attenuator to change its attenuation by an amount related to the predetermined amount at time coinciding with a time when the step attenuator changes its attenuation by the predetermined amount is performed by triggering the variable attenuator to change its attenuation using a delay circuit to coordinate effects of the variable attenuator and the step attenuator.

The method <NUM> may further include performing a calibration cycle to determine timing differences between the variable attenuator and the step attenuator. In such embodiments, the method <NUM> may be practiced where causing the variable attenuator to change its attenuation by an amount related to the predetermined amount at time coinciding with a time when the step attenuator changes its attenuation by the predetermined amount is performed by triggering the variable attenuator to change its attenuation using information obtained from the calibration cycle.

Further, such embodiments may be practiced where using information obtained from the calibration cycle comprises triggering the variable attenuator to change its attenuation before power of the input signal changes sufficiently to trigger the step attenuator to change its attenuation in the step of the predetermined amount.

Alternatively or additionally, such embodiments may be practiced where using information obtained from the calibration cycle comprises triggering the variable attenuator to change its attenuation a determined amount of time after the power of the input signal changes sufficiently to trigger the step attenuator to change its attenuation in the step of the predetermined amount.

The method <NUM> may further include receiving continuous feedback from the variable attenuator and the step attenuator to determine timing differences between the variable attenuator and the step attenuator. Some such embodiments may be practiced where causing the variable attenuator to change its attenuation by an amount related to the predetermined amount at a time coinciding with a time when the step attenuator changes its attenuation by the predetermined amount is performed by triggering the variable attenuator to change its attenuation using information obtained from the feedback.

Further, such embodiments may be practiced where causing the variable attenuator to change its attenuation by an amount related to the predetermined amount at time coinciding with a time when the step attenuator changes its attenuation by the predetermined amount is performed by triggering the variable attenuator and the step attenuator using a gated circuit with a simultaneous trigger signal to the variable attenuator and the step attenuator.

When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer properly views the connection as a transmission medium. Transmissions media can include a network and/or data links which can be used to carry desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer.

Computer-executable instructions comprise, for example, instructions and data which cause a general-purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions.

Claim 1:
In a communication environment, a method (<NUM>) of signal processing to compensate for gain control output spikes (<NUM>) caused by steps in a digital step attenuator (<NUM>), the method comprising:
receiving (<NUM>) a changing power input signal (<NUM>) at a receiver (<NUM>);
determining (<NUM>) that a change in power of the input signal will cause the digital step attenuator (<NUM>) to change its attenuation in a step of a predetermined amount;
based on determining that the change in power of the input signal will cause the digital step attenuator to change its attenuation in a step of a predetermined amount to attenuate the changing power input signal (<NUM>) to a level appropriate for a variable voltage attenuator (<NUM>) that is coupled to the digital step attenuator (<NUM>); causing (<NUM>) the variable voltage attenuator (<NUM>) to change its attenuation by the same amount at a time coinciding with a time when the digital step attenuator changes its attenuation by the predetermined amount, thereby compensating for said gain control output spikes; and
outputting (<NUM>) a gain-controlled output signal resulting from applying the digital step attenuator and the variable voltage attenuator to the changing power input signal.