Signal-predictive audio transmission system

Various methods and systems disclosed compand audio signals using signal prediction, followed by expansion and reconstruction. The methods and systems compress and expand an error signal that represents deviations between samples of the original signal and predicted samples. Each predicted sample is generated by an extrapolation based on a sub-sequence of prior samples of the original signal. A time series of correction samples based on the error signal as it is received from the analog channel after amplitude expansion. Output samples are then generated from the sums of the correction samples and respective predicted samples of a second time series, each of which is extrapolated based on a sub-sequence of prior correction samples. Numerous variations are also disclosed.

COPYRIGHT NOTICE

A portion of the disclosure of this patent application, including the accompanying compact discs, contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of this patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights.

BACKGROUND OF THE INVENTION

Although audio signals are often transmitted in digital form, analog transmission remains attractive for many applications, particularly where bandwidth and dynamic range constraints of the transmission channel limit the potential data rate of digital transmission. Audio encoding schemes have been developed that permit audio transmission at lower data rates, but the data rate reduction is typically accompanied by various drawbacks. These include digital signal processing complexity, degraded audio quality, encoding and decoding delays, and abrupt performance degradation with weakening signals.

Conventional analog transmission techniques can efficiently convey the frequency spectrum of an audio signal without the excess bandwidth of high digital data rates or the disadvantages associated with data rate reduction. Such techniques require strong signals to preserve high audio dynamic range, however, which is ultimately limited by noise in the analog transmission circuitry. This problem is often mitigated by “companding” the signal.

Companding involves compressing an audio signal by variably amplifying it depending on signal level (with stronger signals being amplified less than weaker signals), transmitting it over an analog channel, then expanding the audio signal at the receiving end of the channel by subjecting it to a complementary variable amplification. The two variable amplifications complement each other so that expansion restores the final signal to its original amplitude. The compressed audio signal requires less dynamic range than the original for faithful transmission over the analog channel. However, companding requires compromises in selecting the attack and release times used in tracking amplitude variations. The compressor should track variations rapidly enough to compress a signal effectively but slowly enough to avoid distorting its low-frequency components. The resulting design compromise attempts to balance compandor performance with compandor artifacts like signal distortion and “pumping” and “breathing” sounds that many listeners find equally objectionable.

Dual-band compandors have been developed in an attempt to alleviate these audio problems. By separating an audio signal into high and low frequency bands, a dual-band compandor can process each band with attack and release times better suited for the frequencies in question. But the selections made for each band are still compromises, and compandor artifacts and signal distortion can remain problematic. In addition, the expansion stage of a multi-band compandor is difficult to implement accurately.

Accordingly, a need remains for a method of transmitting audio signals over an analog channel with the dynamic range benefits of companding but without significant audio degradation of the type conventionally associated with companding, and without the difficulty of multiple band companding.

SUMMARY OF THE INVENTION

Methods and systems according to various aspects of the present invention compand audio signals using signal prediction, followed by expansion and reconstruction. The methods and systems compress and expand an error signal that represents deviations between samples of the original signal and predicted samples. Each predicted sample is generated by an extrapolation based on a sub-sequence of prior samples of the original signal.

Various methods and systems of the invention further generate a time series of correction samples based on the error signal as it is received from the analog channel after amplitude expansion. Output samples are then generated from the sums of the correction samples and respective predicted samples of a second time series, each of which is extrapolated based on a sub-sequence of prior correction samples.

To generate the amplitude-compressed error signal, various methods and systems of the invention generate a time series of input samples representing amplitude of the continuous-time signal at regularly spaced sample times. They further generate predicted samples that are each based on extrapolation of a sub-sequence of prior input samples. They then compute a sub-sequence of raw differentials between respective time series of input samples and predicted samples and amplitude-compress the differentials to reduce differences in overall amplitude between sub-sequences of large differentials and sub-sequences of small differentials. The result is a time series of amplitude compressed error samples, which is the source of the continuous-time error signal.

A particularly advantageous system and method of the invention uses adaptive linear predictors to perform extrapolation during compression and reconstruction. Each predictor maintains coefficients of a prediction error filter and a buffer of samples that are based on errors the predictor has made in previous extrapolations. The predictor effectively applies an FIR filter to a sequence (i.e., time series) of differences between (1) its predictions of previous input samples and (2) the input samples themselves. By filtering out errors caused by unpredicted signal variations, the predictors generate extrapolations that are based more on the cyclic, largely accurate components of their previous predictions than on unavoidable errors induced by such variations. (These variations are sometimes called “innovations” because they are unexpected deviations from the signal norm.) Each predictor gradually updates its coefficients in a manner designed to minimize error in its predictions. As a result, the prediction error filter minimizes attenuation of the accurate components of the previous predictions and thus preserves their positive effect in subsequent extrapolations.

In contrast, the prediction error filter of each predictor attenuates noise on the predictor input, which the filter treats as unpredictable signal variations or “innovations.” Thus, the predictor significantly reduces the noise level in spectral regions removed from the spectra of predicted signal components. It is in these otherwise quiet spectral regions where noise is most noticeable to the ear, and the use of adaptive predictors in this advantageous method of the invention provides a significant psychoacoustic enhancement to the quality of the reconstructed signal.

A more particular system and method of the invention generates each updated set of predictor coefficients by reducing their amplitudes with a small forgetting factor and adding suitable offsets, e.g., computed in accordance with the least-mean-squares (LMS) algorithm, to compensate for the previous prediction being overly low or high. The LMS algorithm can include a quantization step, in which case the offset added to each coefficient has a constant, small magnitude and suitably chosen positive or negative sign. A predictor adapted in such a fashion seems to extrapolate signals somewhat better at low frequencies than at high frequencies. The resulting prediction error signal has low-frequency components that are significantly attenuated relative to those of the original signal on which the extrapolation is based. Thus, by employing such prediction and compressing and expanding the error signal rather than the original signal, the invention can take advantage of companding to enhance the signal's dynamic range while substantially protecting the signal's low-frequency components from compandor distortion. As a result, the companding can operate with faster attack and decay times and avoid introducing “pumping” and “breathing” audio artifacts.

Another advantageous system and method of the invention amplitude-compresses a sub-sequence of raw differentials (actual vs. predicted sample amplitude) by computing a sidechain factor responsive to a time-averaged overall amplitude of the sub-sequence. The system and method then adjusts amplitude of the raw differentials in opposite proportion to the sidechain factor, boosting the amplitudes of smaller differentials or reducing the amplitudes of larger differentials. The system and method can perform a complementary amplitude expansion on the correction (received) samples by computing the sidechain factor responsive to a time-averaged overall amplitude of a sub-sequence of receive samples. The system and method then adjusts amplitude of the receive samples by reducing the amplitudes of smaller-valued samples or boosting the amplitudes of larger-valued samples, thus increasing the amplitude range.

The above summary does not include an exhaustive list of all aspects of the present invention. For example, various aspects of the invention call for circuitry that advantageously implements the methods discussed above. Indeed, the inventor contemplates that the invention includes all systems and methods that can be practiced from all suitable combinations of the various aspects summarized above, as well as those disclosed in the detailed description below and particularly pointed out in the claims filed with the application. Such combinations have particular advantages not specifically recited in the above summary.

DESCRIPTION OF PREFERRED EXEMPLARY EMBODIMENTS

A signal-predictive audio transmission system according to various aspects of the present invention provides numerous benefits, including substantial psychoacoustic reduction in perceived noise levels and enhancement of dynamic range, without significant audio degradation of the type conventionally associated with companding. Such a system can be advantageously implemented wherever such benefits are desired. For example, wireless microphone system100ofFIG. 1includes a transmitter110that receives an audio input signal at a microphone111and sends a compressed error signal to a receiver150, in accordance with various aspects of the invention.

The error signal that transmitter110sends to receiver150, which travels via field radiation over wireless link15, is not directly based on the actual audio input signal. (Indeed, it is barely recognizable if listened to directly, in many implementations.) Rather, the error signal is representative of amplitude-compressed deviations between the input signal and an extrapolation that transmitter110computes based on the input signal.

Wireless microphone system100and other exemplary embodiments of the invention may be better understood with reference toFIGS. 1–36, the detailed description below, the 296-line program listing immediately following the detailed description, and the program modules on two compact discs labeled COPY1and COPY2that accompany this application. The program listing and the program modules are incorporated herein by reference and form an integral part of this specification. Both compact discs include the ASCII program module files listed below in TABLE I and TABLE II using the reference identifiers “A” through “Z.”

The program listing, which implements a simulation of the invention with the GNU OCTAVE mathematical programming language, is referenced herein with the name “program listing” followed by a line number or numbers, e.g., “program listing 090–110.”

The modules listed in TABLE I below implement a simulation of the invention with the C++ programming language.

The modules listed in TABLE II implement an embodiment of the invention with the TMS320V5402 DSP programming language.

FIG. 1schematically depicts functional modules that transmitter110and receiver150implement in wireless microphone system system100.FIG. 3schematically depicts functional modules implemented by a predictor220in transmitter110. All of these functional modules can be suitably implemented by any suitable selection or combination of hardware or software. Functional modules can interact via any suitable routes of interconnection, including hardware (e.g., a bus, dedicated signal lines, etc.), access to shared storage media (e.g., arguments and returned values of function calls in RAM media, dual-access RAM, files residing on hard disk media, etc.), and combinations of hardware and shared media access.

Exemplary transmitter110implements functional modules for signal processing and control functions. Functional modules primarily for signal processing include: an amplifier112coupled to a microphone111for reception of an audio input signal; a coder/decoder module114(CODEC) including delta-sigma A/D and D/A converters; a digital signal processor116(DSP); and an RF transmit module120coupled to CODEC114via an amplifier118. Functional modules primarily for control include a microcontroller122and an I/O module124, which couples to microcontroller122and to a suitable user interface not shown inFIG. 1.

Exemplary receiver150also implements functional modules for signal processing and control functions. Functional modules of receiver150that are primarily for signal processing include: an RF receive module152coupled to FM transmit module120of transmitter110via wireless link15; a CODEC154similar to CODEC114of transmitter100; a DSP156; an amplifier158coupled to an analog audio connector for transmission of an audio signal reconstructed by receiver150; and a digital audio interface module160coupled to a digital audio connector for transmission of a digitally represented version of the audio signal. Functional modules of receiver150primarily for control include a microcontroller162and an I/O module164, which couples to microcontroller162and to a suitable user interface not shown inFIG. 1.

Transmitter110and receiver150includes some of the same types of functional modules. Both devices include CODECs, DSPs, and microcontrollers. These functional modules can be implemented by similar or identical hardware in both devices, with different software for causing them to operate appropriately in transmitter110or receiver150.

In operation of wireless microphone system100, a user (not shown) speaks, sings, or otherwise generates audio input at microphone111, which couples to or is integral with transmitter110. Amplifier112receives the resultant audio signal from microphone111and conveys an amplified version of it to CODEC114. A delta-sigma A/D converter in CODEC114conventionally generates a time series of input samples representing amplitude of the continuous-time audio signal at regularly spaced sample times. (Samples occur at “regularly spaced” times when they do not vary enough in their spacing to detract significantly from subsequent discrete-time processing.) These samples pass from CODEC114into DSP116via a serial connection46.

DSP116performs signal processing, discussed below with reference toFIG. 2, on the input samples to generate compressed error samples in accordance with various aspects of the invention. DSP116conveys the compressed error samples back to CODEC114via a serial connection64. CODEC114generates an error signal that is a continuous-time analog representation of the sequential error samples. CODEC114conveys the error signal through an RF amplifier118to RF transmit module120, which uses it to suitably modulate an RF signal, e.g., with FM at a full-scale deviation of about 70 kHz.

Module120transmits the modulated RF signal at a frequency and power level appropriate for reception by receiver150within a desired range and RF regulatory jurisdiction. When operating under Part 74 of the United States' F.C.C., for example, module120can transmit the RF signal within the frequency range of 500–800 MHz and the output power range of 50–250 mW. Transmit module120can include any suitable circuitry, for example an SA7026 PLL integrated circuit marketed by Philips, a VCO employing separate 1204–199 varactor diodes for PLL and modulation control, and successive amplification stages including the NEC85633, NE25139, STNBF520, and ATF-54143 discrete semiconductor devices.

The user of transmitter110can control it by suitable human-interface interaction with I/O module124. For example, the user can monitor audio signal level via sequential “bar graph” LEDs (not shown) and adjust gain of amplifier112with a potentiometer or up/down buttons (also not shown) to maintain adequate signal level while avoiding clipping. Input and output conveyed through I/O module124passes to and from microcontroller122via a suitable digital connection.

When positioned in range of transmitter110, RF receive module152of receiver150suitably downconverts and demodulates the RF signal from transmitter110, e.g., with dual- or triple-conversion superheterodyne downconversion. The resultant receive error signal passes to CODEC154. A delta-sigma A/D converter in CODEC154conventionally generates a time series of samples based on the continuous-time error signal at regularly spaced sample times. These samples pass from CODEC154into DSP156via a serial connection146, which performs amplitude expansion on the samples to generate a time series of correction samples. DSP156generates a time series of output samples based on summation of the correction samples and a time series of samples it predicts (separately from the predicted samples of DSP114). Each sample of the time series predicted by DSP156is an extrapolation based on a sub-sequence of prior correction samples, i.e., a group of consecutive correction samples that occurred before DSP156predicted the sample in question. The expansion, prediction, and other signal processing that DSP156performs is discussed in greater detail below with reference toFIG. 2.

Output samples from DSP156travel to CODEC154via serial connection164, which reconstructs an audio signal as a continuous-time analog representation of the sequential output samples. CODEC154conveys the reconstructed audio signal to an amplifier158, which couples to a suitable audio connector159. Exemplary receiver150also provides a digital audio output, from DSP156through a digital audio interface module160, at a digital audio connector161. (FIG. 1depicts male connectors159,161for simplicity, though audio equipment typically, and preferably, employs chassis-mounted female connectors.) Module160converts output samples from the serial or parallel format employed by DSP156into a suitable digital audio format, e.g., S/PDIF or AES/EBU.

As mentioned above, a signal-predictive audio transmission system according to various aspects of the invention can be advantageously implemented wherever its benefits are desired. A wireless microphone system employing such transmission need not operate in the specific configuration of exemplary transmitter110and receiver150. For example, one or more application specific integrated circuits (ASICs) or programmable logic devices (PLDs) can be employed instead of, or in addition to, software-controlled DSPs116,156. The functions that microcontrollers122,162implement in exemplary system100can be performed instead by any DSPs, ASICs, or PLDs employed for signal processing. Even functions implemented by RF transmit and receive modules120,152can be implemented in such digital signal processing components.

Indeed, audio systems of entirely different types than exemplary wireless microphone system100can advantageously transmit audio using signal-predictive compression and expansion according to various aspects of the invention. For example, analog microcassette recorders can transmit audio onto a magnetic medium using signal-predictive compression and receive the magnetically recorded audio using a complementary predictive signal reconstruction process.

The signal flow diagram ofFIG. 2depicts functional modules implemented in an operating digital signal processing system200. System200can be implemented by any suitable hardware, software, or combination thereof, such as exemplary wireless microphone system100(FIG. 1). Responsive to input samples at input205, transmit module210generates error samples at output245. Functional modules implemented as part of transmit module210, e.g., by hardware and software of transmitter110ofFIG. 1, include: a differencing junction212, a 2:1 feedback-type amplitude compressor214; a 2:1 feedforward-type expander216; and a predictor220, which couples its output to differencing junction212via line217.

Analog circuitry (not shown) conveys correction samples to input247of receive module250by transmitting an analog signal representing the error samples between modules210and250via an analog channel246. An analog channel includes any signal transmission path over which an analog signal can travel without losing substantial information contained in the analog signal levels. Such a channel can include, or exclude, intervening processing of the signal such as companding, modulation, digital encoding, etc. An analog signal is a signal (usually continuous-time) that can, at a given time, have any one of several (often infinite) different possible levels within an amplitude range. In exemplary system200, noise290of analog channel246, e.g., a wireless link implemented by RF transmit and receive modules120and152ofFIG. 1, adds to the analog signal and degrades quality of the correction samples. As discussed below, transmission system200effectively manages this degradation.

Receive module250implements, e.g., by hardware and software of receiver150ofFIG. 1, functional modules including: a 2:1 feedforward-type expander252; a summing junction254; and a predictor256. Receive module250generates output samples at output295based on summed outputs of expander252and receive predictor256.

Operation of transmit module210may be better understood by an example illustrated by the simulation code of program listing 031–34, 54–57, 61–74 and the plots ofFIGS. 4–6, which result from the simulation. In this example, a time series of 2048 (herein meaning “2048, perhaps more or less”) input samples (FIG. 4) is present at input205. The samples represent amplitude of a continuous-time signal that includes two successive sinusoidal bursts (program listing 31–34). The second burst has three times the frequency and half the amplitude (−6 dB) of the first burst. Differencing junction212computes samples representing differences between each input sample and a corresponding predicted sample from predictor220(program listing 55–57). Differential samples from junction212pass to compressor214, where they undergo amplitude compression (program listing 61–64) to reduce the overall range of amplitudes between large and small differentials. (A differential is any numerical indicia of a difference between two numerical values, computed for example by simply subtracting the values.)

Amplitude compression according to various aspects of the invention includes any process suitable for reducing the dynamic range required to convey a signal such that a complementary expansion process can faithfully reconstruct the signal. As in all the functional modules illustrated inFIGS. 2–3, any suitable selection or combination of hardware or software can perform such a process. When exemplary transmitter110ofFIG. 1implements compressor214, for example, DSP116performs the associated compression process by executing suitable machine-language instructions.

A simple example of amplitude compression is the nonlinear transformation of sample amplitudes on a sample-by-sample basis used in μ-law compandors. Compressor214employs a more sophisticated and effective amplitude compression process, in which it computes a sidechain factor (program listing 70–72, 228–248) responsive to a time-averaged overall amplitude of a sub-sequence of the differential samples from junction212. (A sub-sequence of samples includes any contiguous portion of a time series, i.e., multiple sequential samples selected from a stream of sequential samples.) Compressor214generates error samples by adjusting amplitude of the differential samples in opposite proportion to the sidechain factor (program listing 209–215). Thus, sub-sequences of error samples having small amplitudes are closer in overall amplitude to sub-sequences of error samples having large amplitudes, compared to the corresponding sub-sequences of small and large differentials on which the error samples are based.

A digital-to-analog conversion module (not shown) of transmit module210generates an error signal as a continuous-time representation of the time series of error samples generated by compressor214. A continuous-time signal is any signal that is not sampled, e.g., a waveform processed exclusively by analog circuitry. Transmit module210transmits the signal via analog channel246from its output245to receive module250.

Transmit module210further includes an expander module216that reproduces expansion performed in receive module250, by amplitude expander252. The result of this local expansion (program listing 65–69) is a sequence (i.e., time series) of samples on which predictor220can base its extrapolations. These samples, having undergone both compression and complementary expansion within transmit module210, closely match data used by predictor256of receive module250after that module has performed its own expansion, with expander252.

Based on the compressed and then expanded samples, predictor220(program listing 55–57) predicts samples of a first time series within transmit module210. Prediction according to various aspects of the invention includes any process that estimates, to a desired degree of accuracy, the expected value of a future sample in a time series based on a number of prior samples in that sequence. As mentioned above, all functional modules depicted inFIGS. 2–3, including predictor module220, can be implemented by any selection or combination of hardware or software.

Exemplary predictor220employs adaptive linear prediction with coefficients updated by a quantized version of the least-mean-squares (LMS) algorithm. Variant linear predictors use continuous (non-quantized) LMS or recursive-least-squares (RLS) algorithms instead. In addition, many known alternatives to LMS- or RLS-adapted linear prediction prediction are available, a few of which are listed below. Published information, some of which is specifically cited below, is readily available for guidance in implementation of these known techniques. (All publicly available information cited below and elsewhere in this application is incorporated herein by reference.)

EXAMPLE TECHNIQUE #1—Pole-zero signal model approximation of Padé, Prony, or Shank for N most recent samples, followed by evaluation of the unit sample response δ[n−k] of the model at sample k+N. M. H. Hayes,Statistical Digital Signal Processing and Modeling,ISBN 0-471 59431-8 (1996), pp. 133–160.

EXAMPLE TECHNIQUE #3—Multiple linear predictors adapted by LMS algorithm in FIR cascade structure. P. Prandoni and M. Vetterli, An FIR Cascade Structure for Adaptive Linear Prediction,IEEE Transactions on Signal Processing,Vol. 46, No. 9 (1998), pp. 2566–2571.

EXAMPLE TECHNIQUE #4—Polynomial curve fit to most recent samples k, k+1, . . . k+N−1, followed by evaluation of the resulting function at sample position k+N. To avoid computational overflow with finite-precision processing (e.g., 32 bits), low values of N appear most feasible.

Exemplary predictor module220may be better understood with reference toFIG. 3, which illustrates functional modules of its “quantized LMS” adaptive linear prediction process. These modules include: a series of delay elements310for implementing the z−1discrete-time processing operator; a series of scaling modules320representing multiplication of each delay-tapped sample by a respective filter coefficient b1; and a summing junction330. Together these functional modules implement a transversal (FIR) prediction error filter300, the function of which is discussed below. Predictor220further implements functional modules that adapt filter300by updating its coefficients. These modules include a 1-bit quantizer340that indicates sign (but not magnitude) of the most recently generated prediction error; an arrayed 1-bit quantizer350that indicates sign of each previous coefficient value; and a product junction360that multiplies each 1-bit quantized coefficient value by the 1-bit quantized prediction error value.

In operation, predictor module220effectively applies prediction error filter300to a sequence of processed differential (herein, “PD”) samples, which are based on differences between (1) previous one-step-ahead predictions of what the input samples values were expected to be, and (2) the input samples that actually occurred. (The PD samples are the cascaded output of compressor214and complementary expander216ofFIG. 2, with the raw differential samples from junction212being the input.) By filtering out errors caused by unpredicted variations or “innovations” in the signal at input205, predictor220generates extrapolations that are based more on the cyclic, largely accurate components of its previous predictions than on unavoidable errors induced by such variations.

Predictor220gradually updates coefficients (program listing 73–74) represented by scaling modules320using a quantized variation of the LMS algorithm. This algorithm adds a suitable offset to each coefficient in an effort to reduce a statistic of mean squared error between the actual output of filter300and the output that is desired. In exemplary filter module300, each offset has a constant magnitude and variable sign. The sign of a given offset is positive when there is agreement between the signs of (1) the most recent PD sample from the cascade of junction212, compressor214, and expander216, and (2) an earlier PD sample, stored in a delay element310corresponding to the coefficient for that offset.

For example, when the sign of the most recent PD sample is negative (i.e., the previous input sample on which the PD sample is based wound up being smaller than predicted), any coefficients corresponding to delay elements310that contain negative-valued PD samples are made more negative, while coefficients corresponding to delay elements containing positive PD samples are conversely made more positive. The rationale behind this coefficient adaptation may be better understood by examining the operation of prediction error filter300as an FIR filter, which is a linear time-invariant system. Any discrete-time signal that may be applied to the filter can be characterized as a sum of harmonically related sinusoids, and the resulting output is the sum of the filter's outputs for each of those signals. Thus, various linear combinations of coefficients of filter300define the filter's response to cyclic, sinusoidal input signals having particular cycle periods. Consequently, “shaping” a sequence of coefficients to conform to a particular sinusoidal (i.e, Fourier series) component of the PD sample sequence in delay elements310maximizes the filter's response to that component of the prediction error signal, which maximizes the effect of that cyclic (i.e., predictable) component in the next extrapolation of predictor220.

FIG. 5illustrates a time series of 2048 predicted samples from predictor220(FIG. 2, program listing 55–57) that are based (indirectly, after compression and expansion within module210) on the input samples illustrated inFIG. 4(program listing 31–34).FIG. 5illustrates a corresponding time series of amplitude-compressed error samples (program listing 61–64) at output245of transmit module210.FIG. 13shows the time-varying values of the sidechain factor used in amplitude-compressing the samples ofFIG. 5. Clearly evident inFIG. 13are lower values of the sidechain factor in the second half of the sample sequence, which compensate for lower signal amplitude in that portion of the input sample sequence ofFIG. 4.

FIG. 10depict the values of the thirty coefficients employed in prediction error filter300(FIG. 3) at sixteen “snapshots,” i.e., sparsely separated points in time, over the 2048-sample time interval ofFIGS. 4–9.FIG. 11depicts the values of the PD sample sequence in delay elements310at the same sixteen “snapshot” times. As discussed above, quantized-LMS adaptation of predictor300gradually shapes the coefficients illustrated inFIG. 10to generally conform to the PD sample sequences illustrated inFIG. 11. The quantization of the adaptation algorithm employed in exemplary predictor220keeps the coefficients from fully conforming to the sinusoidal shape of the PD sample sequences and the input sample sequences on which they are based. While this “quantization error” reduces predictor accuracy somewhat, it has the advantageous effect of restricting filter300from adapting to and passing low-level spurious components such as predictor feedback oscillation.

When predictor220adapts coefficients of its prediction error filter300to conform with the PD sample sequence stored in the filter's delay modules310(FIG. 3), it conforms filter300with the spectral content of the time series. A prediction error filter conforms to the spectral content of a given sample time series or sequence when its response to a sinusoidal input of a given frequency is substantially proportional to the magnitude of the time series' spectral content at that frequency. In other words, such a filter conforms to the time series's spectral content when its response over the frequency domain of the filter (from zero frequency to the Nyquist limit) substantially matches the expected (e.g., from interpolation of FFT results) or observed magnitude of the time series' signal components over that domain.

As mentioned above, a discrete-time signal can be characterized as a sum of harmonically related sinusoids. A sample sequence or time series (the terms are employed interchangeably herein) is simply a time-limited portion of a discrete-time signal and thus can be characterized as a sum of harmonically related, time-limited sinusoids. Perhaps the most common way of characterizing spectral content of a sample sequence is with a record of the frequency and magnitude of each such sinusoid.

FIG. 12is a staggered multi-plot that illustrates spectral content of the coefficients ofFIG. 10. The coefficients' spectral content is equivalent to the frequency response of prediction error filter300. In the first half of the 2048-sample interval, predictor220adapts its coefficients to conform with spectral content of the first sinusoidal sequence of input samples ofFIG. 4. This first sequence has a low frequency. As a result, filter300develops a bandpass frequency response centered around that low frequency. In the second half of the sample interval, predictor220gradually updates its coefficients to move away from a bandpass response at the low frequency and conform with spectral content of the second sinusoidal sequence, developing a bandpass response at the higher frequency.

As mentioned above and as illustrated inFIG. 2, error samples at output245of transmit module210are conveyed to input247of receive module250via an analog channel246. Conventional analog circuitry not shown inFIG. 2modulates and transmits and receives and demodulates the samples with intervening analog transmission. In exemplary system100ofFIG. 1, CODECS114,154and RF transmit and receive modules120,152perform those operations.

Operation of receive module250may be better understood by continued consideration of the example with which the simulation code and resulting plots have thus far illustrated operation of transmit module210. Received error samples appearing at input247represent the starting point of signal processing performed by receive module250.FIG. 7illustrates a time series of 2048 such samples that result from simulated transmission of the compressed error samples ofFIG. 6over a noisy analog channel (program listing 122–128). The received error samples are actually reproductions of the error samples transmitted from output245of transmit module210after amplitude compression, conversion to analog format, transmission via analog channel246, and conversion back to digital format.

Amplitude expander252of receive module250(FIG. 2) performs amplitude expansion on the received error samples (program listing 135–139) to substantially reverse amplitude compression performed by compressor module214. The result is a time series of “correction samples,” so named because they correct results of predictor256within receive module250. Predictor256operates in a manner similar to predictor220of transmit module210, generating predicted samples based on an FIR prediction error filter (program listing 142) whose coefficients it updates according to a quantized LMS algorithm (program listing 145–146, 187–208).

Summing junction254adds each correction sample from expander252to a corresponding predicted sample from predictor256(program listing 143–144). The result is a time series of reconstructed samples that appear on output295of receive module250.FIG. 9illustrates a time series of 2048 reconstructed samples at the output of receive module250as simulated in program listing 131–162.FIG. 8illustrates a time series of 2048 predicted samples from predictor256, as simulated in program listing 141–142.

The significant performance benefits of signal transmission using signal prediction and compression according to various aspects of the invention can be better appreciated by reference to the signal plots ofFIGS. 14–36. These plots illustrate outputs of the simulation example discussed above (FIGS. 14–19) and other simulation examples discussed below.

The time-domain signal plots ofFIGS. 14–15illustrate samples of the input signal ofFIG. 4with, respectively, (1) conventional transmission and (2) transmission via exemplary system200, as simulated in the code of the program listing, over a noisy analog channel. The portion of the input signal shown is between sample256and sample512, approximately the midpoint of the low-frequency portion of the signal. The advantageous reduction in noise that transmission that system200offers is clearly evident. The noise reduction that can be obtained with transmission according to various aspects of the invention makes itself even more apparent in the signal plots ofFIGS. 16–17. These plots illustrate transmission (over the same noisy channel) of a high-frequency portion of the input signal ofFIG. 4, conventionally (FIG. 16) and with transmission system200(FIG. 17). The amount of noise superimposed on the sinusoidal signal is dramatically reduced inFIG. 17.

The spectral plots ofFIGS. 18–19provide another view of how effectively system200transmits the input signal ofFIG. 4over a noisy channel (analog channel246ofFIG. 2).FIG. 18illustrates, in the frequency domain, the two tones of the input signal along with channel noise290after conventional transmission over the channel.FIG. 19illustrates the two tones along with channel noise that has been suppressed by transmission with system200.

The different noise floors of the signals whose spectral content is shown inFIGS. 18 and 19illustrates a significant benefit of predictive signal transmission according to various aspects of the invention. The prediction error filter of predictor256attenuates noise on its input, which the filter treats as unpredictable signal variations or innovations. Thus, predictor256significantly reduces the noise level in spectral regions removed from the spectra of the two main signal components, i.e., the higher frequencies along the logarithmic frequency scale. It is in these otherwise quiet spectral regions where noise is most noticeable to the ear, and the advantageous use of an adaptive predictor in system200provides a significant psychoacoustic enhancement to the quality of the reconstructed signal depicted inFIG. 19.

The simulation example discussed above generates the input signal ofFIG. 4with the code of program listing 31–34. To provide another example, the simulation can also generate the swept square wave input ofFIG. 20with the code of program listing 35–38.FIGS. 21–26are signal plots depicting various signals generated in this example as a result.FIG. 21depicts predicted samples that predictor220generates based (indirectly) on the input samples ofFIG. 20, analogous to the predicted samples ofFIG. 5that are based on the input samples ofFIG. 4. The Gibb's phenomenon oscillations on the predicted square waves are due to the fact that prediction error filter300of predictor220can only develop bandpass responses for a limited number of the square waves' harmonics.

FIG. 22depicts amplitude-compressed samples at output245of transmit module210, which are analogous to those ofFIG. 6.FIG. 23depicts received samples encountered at input247of receive module250, which are analogous to those ofFIG. 7. A significant portion of the received samples' signal content is in the high-frequency spikes at the square wave transitions. This high-spectral content corrects the shortfall in high-frequency harmonic content in the predicted samples ofFIG. 24, which again is due to Gibb's phenomenon from limited harmonic predictions of predictor256.

FIG. 24depicts predicted samples from predictor256, which are analogous to those ofFIG. 8. The output of system200for the swept square wave input signal ofFIG. 20, as simulated by code of the program listing, is illustrated inFIG. 25. Despite the considerable noise on the received samples ofFIG. 23, and the limited ability of predictors220,256to reproduce harmonics of the square waves, system200is able to reproduce the input signal ofFIG. 20with substantial faithfulness and noise reduction, especially at the lower square wave frequencies. It is at those frequencies where the human ear places the highest demands on signal reproduction, and this example thus illustrates another psychoacoustic benefit of predictive signal transmission according to various aspects of the invention.

FIG. 26illustrates the sidechain factor employed in compressor214(FIG. 2, program listing 61–64, 70–72) with the square wave input ofFIG. 20. Variations in the sidechain factor are visible, which result from the dramatic changes in amplitude of the square wave signal. However, the gradual attack and release of the sidechain computation (program listing 228–248) keeps the sidechain factor fairly close to a constant value of fourteen over the length of the signal.

Another example provided by the simulation uses as its input the linear combination of tones depicted inFIG. 27. This example illustrates the lack of signal distortion associated with companding and prediction performed by system200.

The code of program listing 39–47 generates the simulated input signal ofFIG. 27.FIGS. 28–36are signal plots depicting various signals generated in this example as a result.FIG. 28depicts predicted samples that predictor220generates based (indirectly) on the input samples ofFIG. 20, analogous to the predicted samples ofFIGS. 5 and 21that are based on the input samples ofFIGS. 4 and 20, respectively. Predicted samples ofFIG. 28show how predictor220gradually adapts as its prediction error filter300first converges to the high-frequency tone, then changes its response to more closely match the low-frequency tone at the center of the sample interval, then returns its response to matching the high-frequency tone once the low-frequency tone quits around sample1536. This adaptation of the frequency response of prediction error filter300can be better appreciated by the multiple spectral plots ofFIG. 33. Filter300has a high-frequency bandpass response (illustrated in the lower left portion of the staggered multi-plot), then develops a lower frequency response (in the middle portion), then reverts back to a high-frequency bandpass response (in the upper-right portion).

FIG. 29depicts amplitude-compressed error samples from transmit module210(FIG. 2), illustrating how simulated compressor214reduces the considerable difference in amplitude between the two tones.FIG. 30illustrates the received error samples at input247of receive module250. The samples ofFIGS. 29 and 30are substantially identical because the simulated analog channel in this example does not include any noise.

FIG. 31depicts prediction samples from predictor256indirectly based on the received samples ofFIG. 30.FIG. 32depicts the output samples at output295of simulated receive module250. The samples ofFIG. 32represent a substantially exact reproduction of the input signal ofFIG. 27, a fact that can be better appreciated by reference to the spectral plots ofFIGS. 34–36.

FIG. 34illustrates the essentially pure spectral content of the simulated (program listing 39–47) input signal.FIG. 35illustrates compandor distortion of the received error signal, including harmonic distortion (the first harmonic of low-frequency tone is about −27 dBc) and intermodulation distortion (−45 dBc products around the high-frequency tone).FIG. 36illustrates the substantially pure spectral content of the simulated signal at the output of system200, and shows no evidence of any significant distortion introduced by simulated transmission system200.

As mentioned above, the simulation code in the program listing provides only examples of signal transmission according to preferred aspects of the invention, and does not specify any mandatory arrangement of circuitry or functional modules in any particular signal transmission system. In addition, the simulation code is not represented as being without “bugs” or inaccuracies. The simulation and the examples it presents may be better understood with reference to the variable definitions immediately below and the comments interspersed within the program listing.

VARIABLE “b”—Vector of FIR coefficients.

VARIABLE “dq”—Vector of expectation error samples, each being the difference between an original signal sample and a corresponding estimated signal sample.

VARIABLE “N1”—Denominator of forgetting factor, N1−1/N1. Preferably, N1=512, though the GNU Octave simulation uses N1=128 for ease of illustration. Predictor coefficients should “gravitate” toward zero, so that communications glitches have limited lifespans. N1=512 represents a trade-off between performance under ideal conditions and performance in the “real world,” with insignificant degradation of system performance appreciably under good conditions, but with recovery from glitches being still fast enough to result in good audio quality. The forgetting factor N1also serves to limit the magnitude of the coefficients b. Without it, that magnitude would have to be limited some other way. Every time through the predictor loop, the coefficients are multiplied by (N1−1)/N1and then a number not to exceed 1/N2is added. Coefficients are bounded by −N1/N2<=x<=N1/N2.

VARIABLE “N2”—Constant that determines loop gain. When the coefficients b are updated, 1/N2may be added or subtracted, depending on the signs of current and historical difference signals.

VARIABLE “total_zeros”—Total number of FIR coefficients available for use by predictor. Preferably 30 coefficients are used, though the GNU Octave simulation uses 16 for ease of illustration.

VARIABLE “active_zeros”—Number of FIR coefficients actively used by predictor. In variations, the influence of the last several coefficients can “fade out”, i.e., carry less weight. This “fade out” can help to damp out some of the loop feedback that can cause audible buzzes, whines and other effects that prevent graceful degradation. In the presently preferred embodiment, all coefficients are active.

FIG. 37is a flow diagram of a method3700of the invention for communication via an analog channel3701. At3702, a time series of input samples3704representing amplitude of a continuous-time signal at regularly spaced sample times is generated. At3706, a subsequence of previously generated input samples is extrapolated to form a first time series of predicted samples3708. As discussed in greater detail below with reference toFIG. 39, extrapolation of input samples to predicted samples can include computation of a differential between an input sample and a predicted sample, followed by amplitude compression, followed by amplitude expansion, followed by prediction error filtering.

At3710, a time series of differentials3712is concurrently generated. Each differential is based on the difference between one of the input samples3704and a corresponding one of the first time series of predicted samples3708. An act3714of method3700generates a time series of error samples3716based on amplitude-compressed amplitudes of differential samples3712. At3718, an error signal is transmitted via analog channel3701. The error signal is a continuous-time analog representation of the series of error samples3716.

At3720, the error signal is received at a terminus of analog channel3701. A time series of correction samples3722is generated at the terminus. Each correction sample is based on expanded amplitude of the transmitted error signal at regularly spaced sample times. Concurrently with the generation of correction samples at3720, a subsequence of previously generated correction samples is extrapolated at3724, forming a second time series of predicted samples3726.

At3728, a time series at output samples3730is generated. Each output sample is based on the sum of one of correction samples3722and one of predicted samples3726. At3732(optionally as represented by dashed box3734), a reconstructed audio signal can be generated as a continuous-time analog representation of output samples3730.

FIG. 38is a flow diagram of act3714of method3700(FIG. 37) in a way that it may optionally be performed with a sidechain factor during the generation of error samples. At3802, a sidechain factor3804is computed that is responsive to a time-averaged overall amplitude of a sub-sequence of differential samples3712. At3808, error samples3716are generated as amplitude-compressed differentials based on amplitude of differential samples after adjustment thereof in opposite proportion to sidechain factor3804.

FIG. 39is a flow diagram of an act3900that may optionally be performed in method3700, where a prediction error filter is employed during the generation of error samples. At3906, differentials are computed between an input sample3902and a respective sample3904of the first time series of predicted samples3708(FIG. 37), thereby generating an error sample3908. At3910, error sample3908is amplitude-compressed, thereby generating a compressed error sample3912. As indicated by line3913, compressed error sample3912is an output of act3900. At3914, compressed error sample3912is amplitude-expanded, thereby generating a processed differential sample3916that is based on input sample3902. At3918, processed differential sample3916is applied to a prediction error filter having a frequency response substantially conforming with spectral content of a time series of previous processed differential samples. As indicated by line3926, predicted sample3904is the output of the prediction error filter.

As a further option (so indicated by dashed box3924), the prediction error filter can be periodically adapted to conform with the spectral content of the time series of processed differential samples. Such adapting can include providing a finite-impulse-response prediction error filter having a plurality of filter coefficients3922. Then, at3920, least-mean-squares modification of coefficients3922is performed. The modification is based on a previous set of filter coefficient values and the time series of processed differential samples.

Public Notice Regarding the Scope of the Invention and Claims

The inventor considers various elements of the aspects and methods recited in the claims filed with the application as advantageous, perhaps even critical to certain implementations of the invention. However, the inventor regards no particular element as being “essential,” except as set forth expressly in any particular claim.

While the invention has been described in terms of preferred embodiments and generally associated methods, the inventor contemplates that alterations and permutations of the preferred embodiments and methods will become apparent to those skilled in the art upon a reading of the specification and a study of the drawings.

Additional structure can be included, or additional processes performed, while still practicing various aspects of the invention.

Accordingly, neither the above description of preferred exemplary embodiments nor the abstract defines or constrains the invention. Rather, the issued claims variously define the invention. Each variation of the invention is limited only by the recited limitations of its respective claim, and equivalents thereof, without limitation by other terms not present in the claim.

In addition, aspects of the invention are particularly pointed out in the claims using terminology that the inventor regards as having its broadest reasonable interpretation; the more specific interpretations of 35 U.S.C. §112(6) are only intended in those instances where the terms “means” or “steps” are actually recited. The words “comprising,” “including,” and “having” are intended as open-ended terminology, with the same meaning as if the phrase “at least” were appended after each instance thereof. A clause using the term “whereby” merely states the result of the limitations in any claim in which it may appear and does not set forth an additional limitation therein. Both in the claims and in the description above, the conjunction “or” between alternative elements means “and/or,” and thus does not imply that the elements are mutually exclusive unless context or a specific statement indicates otherwise.