Gain and spectral shape adjustment in audio signal processing

A signal processing system enhances communication. When an audio signal is detected, an echo component of the detected audio signal may be estimated. A near party communication device may receive an audio signal from a remote party communication device. A characteristic of the received audio signal may be adjusted based on the echo component of the detected audio signal.

BACKGROUND OF THE INVENTION

1. Priority Claim

This application claims the benefit of priority from European Patent Application No. 07019652.2, filed Oct. 8, 2007, which is incorporated by reference.

2. Technical Field

This application relates to signal processing and, more particularly, to adjusting the gain or spectral shape of audio signals.

3. Related Art

Audio communication systems may operate in noisy environments. Noise may interfere with some audio communication systems, such as hands-free voice communication systems. A hands-free voice communication system may include a microphone to detect near party utterances and a loudspeaker to output utterances received from a remote party. Noise may reduce the quality of the near party utterances detected by the system microphone. Furthermore, noise may make it more difficult for the near party to hear or understand the remote party utterances output from the system loudspeaker.

Some audio communication systems may be susceptible to echo. In a hands-free voice communication system, echo may occur when the system microphone detects the remote party utterances from the system loudspeaker. Echo may reduce the quality of a communication when the remote party utterances are detected by the system microphone and transmitted back to the remote party.

To increase the quality of these communications, audio communication systems may process the detected audio signals to remove noise and/or echo components. Although this processing may enhance the detected audio signals, it may not compensate for some types of noise or echo interference. Therefore, a need exists for an improved way to process audio signals to compensate for noise and echo.

SUMMARY

A signal processing system enhances communication. When an audio signal is detected, an echo component of the detected audio signal may be estimated. A near party communication device may receive an audio signal from a remote party communication device. A characteristic of the received audio signal may be adjusted based on the echo component of the detected audio signal.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

A signal processing system may enhance communication by adjusting a received audio signal based on features of a detected audio signal. The system may adjust a characteristic of a received audio signal based on an estimated echo component of a detected audio signal. Alternatively, the system may adjust a characteristic of a received audio signal based on an estimated echo component and an estimated noise component of a detected audio signal.

FIG. 1shows a signal processing system102in communication with an audio communication system104. The audio communication system104may be a hands-free voice communication system or other audio system. The audio communication system104may be located within a room, vehicle compartment, or other space. An audio detection device106may interface with the audio communication system104. The audio detection device106may include one or more microphones or other devices that detect audio signals and transmit the detected signals to the audio communication system104for processing. The audio communication system104may also interface with one or more loudspeakers108. The loudspeakers108may receive audio signals from the audio communication system104and make those signals audible for users in a vicinity of the loudspeakers108.

In some implementations, the audio communication system104interfaces with a communication network110. The audio communication system104may transmit or receive audio signals across a physical or wireless medium of the communication network110to one or more other communication systems. A user may participate in a voice conversation with a remote party through the communication network110. The communication network110may transmit audio signals between a near party communication device (e.g., a device associated with the user of the communication system104) and a remote party communication device (e.g., a device associated with a user of a remote communication system). The audio detection device106may detect speech from the near party, and the loudspeakers108may transmit speech received from the remote party.

The audio communication system104may operate in a noisy environment. The noise may include background noise, echo, or other interference. Echo may occur when the audio detection device106picks up an audio signal output from the loudspeakers108. The audio communication system104may use the signal processing system102to adjust a received audio signal based on features of a detected audio signal. By adjusting the received audio signal, the signal processing system102may compensate for some effects of the noise or echo interference. The signal processing system102may maintain the signal-to-noise ratio (SNR) at a relatively constant level (and at a high level) in the vicinity of a local user/speaker at the near party communication device. The signal processing system102may improve both highly time varying local background noise (e.g., noise caused by changing driving speeds or road pavements), and changing signal level (e.g., signal power) of the received signals from a remote party communication device.

FIG. 2illustrates one implementation of the signal processing system102. InFIG. 2, the signal processing system102may receive an audio signal x(n) from a remote party communication device. The received audio signal x(n) may include content from a telephone conversation between a remote party communication device and a near party communication device. The received audio signal x(n) may be speech from the remote party. The near party may use a hands-free set that includes microphone106and a loudspeaker108. The communication system may convert the signal x(n) into an audible range through the loudspeaker108.

The microphone106may detect an audio signal m(n). The detected audio signal m(n) may be a microphone signal. Although the microphone106may be tuned to detect a speech signal of the near party, the microphone106may also detect an echo contribution caused by the output of the loudspeaker108. Therefore, the detected audio signal m(n) may include a near party speech component and an echo component.

The detected audio signal m(n) may be transmitted to an echo detection unit202. The echo detection unit202estimates the echo component of the detected audio signal m(n). Specifically, the echo detection unit202may analyze the detected audio signal m(n) to identify a portion of the detected audio signal m(n) that is due to the loudspeaker108outputting an audio signal received from the remote party communication device.

The echo detection unit202may attenuate the echo component of the detected audio signal m(n). The echo detection unit202may comprise an echo compensation filter to attenuate echo components of the detected audio signal m(n). The echo detection unit202passes the detected audio signal m(n), either with or without echo compensation, to a transmitter204. The transmitter204sends the detected audio signal m(n) to the remote party communication device involved in the conversation with the near party.

The echo detection unit202outputs an estimated echo component to a signal adjustment unit206. The signal adjustment unit206may adjust one or more characteristics of the received audio signal x(n) based on the estimated echo component of the detected audio signal m(n). The adjusted version of the received audio signal x(n) may be transmitted to the loudspeaker108to be output to the near party user.

The signal adjustment unit206may adjust a gain of the received audio signal x(n) based on the estimated echo component of the detected audio signal m(n). In another application, the signal adjustment unit206may adjust a spectral shape of the received audio signal x(n) based on the estimated echo component of the detected audio signal m(n). In yet another application, the signal adjustment unit206may adjust the gain and spectral shape of the received audio signal x(n) based on the estimated echo component of the detected audio signal m(n). In other applications, the signal adjustment unit206may adjust some other characteristic of the received audio signal x(n) based on the estimated echo component of the detected audio signal m(n).

FIG. 3is an alternative signal processing system102. The signal processing system102ofFIG. 3includes a noise detection unit302and the echo detection unit202. Besides the desired near party speech, the microphone106may detect echo and background noise. The detected audio signal m(n) may include a near party speech component, an echo component, and a noise component. The echo component may be local acoustic echo experienced at the near party communication device and the noise component may be local background noise experienced at the near party communication device.

The echo detection unit202outputs an estimated echo component of the detected audio signal m(n) to the signal adjustment unit206. The noise detection unit302estimates and outputs a noise component of the detected audio signal m(n). Specifically, the noise detection unit302may analyze the detected audio signal m(n) to identify a portion of the detected audio signal m(n) that is due to background noise.

The signal adjustment unit206receives an estimate of the noise component in the detected audio signal m(n) and an estimate of the echo component in the detected audio signal m(n). The signal adjustment unit206may adjust one or more characteristics of the received audio signal x(n) based on the estimated noise component and the estimated echo component. The signal adjustment unit206may adjust a gain of the received audio signal x(n) based on the estimated noise component and the estimated echo component of the detected audio signal m(n). In another application, the signal adjustment unit206may adjust a spectral shape of the received audio signal x(n) based on the estimated noise component and the estimated echo component of the detected audio signal m(n). In yet another application, the signal adjustment unit206may adjust the gain and spectral shape of the received audio signal x(n) based on the estimated noise component and the estimated echo component of the detected audio signal m(n). In other applications, the signal adjustment unit206may adjust some other characteristic of the received audio signal x(n) based on the estimated noise component and the estimated echo component of the detected audio signal m(n).

FIG. 4is another alternative signal processing system102. The signal processing system102may include a hands-free communication system. The signal processing system102ofFIG. 4includes a gain and shape (GAS) control unit402. The GAS control unit402receives a speech signal x(n) that was transmitted from a remote party communication device and received by the near party communication device. The GAS control unit402may enhance the quality of the received signal x(n) by gain and shape processing. The GAS control unit402outputs an enhanced speech signal {tilde over (r)}(n) to an amplifier404. The amplifier404generates an amplified signal r(n) which is then output from a loudspeaker108.

The near party, the loudspeaker108, and the microphone106may be positioned within an enclosure (e.g., an room, a vehicle compartment, or other space). The enclosure may be part of a loudspeaker-enclosure-microphone (LEM) system. The LEM system may be characterized by an impulse response hLEM(n). Although the microphone106of the LEM system may be tuned to detect a speech signal s(n) of the near party, the microphone may also detect background noise b(n) and an echo contribution e(n) caused by the output of the loudspeaker108. The audio signal m(n) generated by the microphone106may be represented as m(n)=s(n)+b(n)+e(n). In one implementation, the microphone106may be a directional microphone of a microphone array that outputs microphone signals to a beamformer that produces beamformed microphone signals.

InFIG. 4, the audio signal m(n) detected by the microphone106is processed in a sub-band regime. In other systems, the audio signal m(n) may be processed in the frequency domain. For systems that process the audio signal m(n) in the sub-band regime, the signal processing system102includes an analysis filter bank406to divide the audio signal m(n) into multiple sub-bands. The analysis filter bank406may comprise Hann or Hamming windows.

The signal processing system102ofFIG. 4includes an echo compensation filter408and a noise reduction filter410. The echo compensation filter408estimates an echo component of the audio signal m(n). The noise reduction filter410estimates a noise component of the audio signal m(n). The echo compensation filter408and the noise reduction filter410output the echo and noise estimates to the GAS control unit402. The echo compensation filter408may output a frequency selected estimate of the echo component Ê(ejΩk, n), where Ωkdenotes the frequency sub-band and n denotes the discrete time index. The noise reduction filter410may output the square-root of the estimated short-term spectral power density {circumflex over (B)}(ejΩk, n) of the noise present in the microphone signal m(n). The noise reduction filter410may be a Wiener filter.

The GAS control unit402processes the noise and echo estimates to produce an enhanced speech signal {tilde over (r)}(n). The enhanced speech signal {tilde over (r)}(n) is transmitted from the GAS control unit402to the amplifier404and loudspeaker108. The GAS control unit402may process the received signal x(n) to obtain the enhanced speech signal {tilde over (r)}(n). The GAS control unit402may increase a level of intelligibility in the communication system.

The echo compensation filter408may attenuate the echo components of the microphone signal m(n). The echo compensation filter408may be a linear or non-linear adaptive filter where a replica of the acoustic feedback may be synthesized. The filter may generate a compensation signal from a received signal (e.g., a reference signal). The compensation signal may be subtracted from the microphone signal m(n) to generate an enhanced signal that may be sent to the remote party. The echo estimation may be based on a reference signal obtained from the received signal before or after amplification.

In some systems, the filter coefficients of the echo compensation filter408are adapted to model the impulse response hLEM(n) of the LEM system. In these systems, the signal r(n) may be input as a reference signal to the echo compensation filter408to adapt the filter coefficients of the echo compensation filter408(e.g., e(n)=r(n)*hLEM(n)).

In other systems, the signal {tilde over (r)}(n) output by the GAS control unit402(e.g., before amplification by the amplifier404) may be sent to the echo compensation filter408for adaptation of the filter coefficients. In these systems, the echo compensation filter408may perform two convolutions of time-dependent systems. One convolution may be for the impulse (frequency) response hA(n) of the amplifier404and the other convolution may be for the impulse response hLEM(n) of the LEM system. The echo compensation filter408may model a combined impulse response hALEM(n), e(n)={tilde over (r)}(n)*hALEM(n).

The reference signal for echo compensation may be processed in the sub-band regime in some systems. Either of the reference signals r(n) and {tilde over (r)}(n) may be processed by an analysis filter bank412to divide the reference signal into multiple reference signal sub-bands. The analysis filter bank412may be similar to the analysis filter bank406. The analysis filter bank412may comprise Hann or Hamming windows. The reference signals processed by the analysis filter bank412may be used to adapt the filter coefficients of the echo compensation filter408. The outputs of the echo compensation filter408may be used to attenuate echo components in the microphone signal m(n).

The noise reduction filter410may receive the echo compensated versions of the sub-bands of the microphone signal m(n). The noise reduction filter410may attenuate noise components in the microphone signal m(n). The outputs of the noise reduction filter are passed to a synthesis filter bank414. The synthesis filter bank414may comprise Hann or Hamming windows. The synthesis filter bank414synthesizes the noise and echo filtered microphone sub-band signals to obtain an enhanced signal ŝ(n). A transmitter may transmit the enhanced signal ŝ(n) to a remote party communication device involved in the communication with the near party communication device.

FIG. 5shows the GAS control unit402. The GAS control unit402may comprise a gain control unit502and a shape control unit504. In the implementation ofFIG. 5, the gain and/or the spectral shape of the received signal x(n) may be changed to improve the quality of the signal transmitted by a remote party.

The gain may be controlled based on estimates of both noise and acoustic echo that are present in the microphone signal m(n). The spectral estimates Ê(ejΩk, n) and {circumflex over (B)}(ejΩk, n) obtained by the echo compensation filter408and the noise reduction filter410, respectively, may be summed up and averaged (see alsoFIG. 6illustrating one implementation of the gain control unit502in more detail) as follows:

b_⁡(n)=1NFFT2+1⁢∑k=0NFFT/2⁢B^⁡(ⅇj⁢⁢Ωk,n),
where NFFTdenotes the order of the FFT (number of interpolation points).

In some applications, the system may perform gain and shape control. In other applications, the system may perform gain control or shape control. In applications where the shape control unit504may not be active, the summed up and averaged spectral estimates for the echo ē(n) inFIG. 6may be determined as follows:

In the situation where both the gain control unit502and the shape control unit504are active, the above expression for the averaged estimate for the echo may be expressed by the following:

e_⁡(n)=1NFFT2+1⁢∑k=0NFFT/2⁢E^⁡(ⅇj⁢⁢Ωk,n)GDes⁡(ⅇj⁢⁢Ωk,n),
where GDes(ejΩk, n) represents the desired gain that is output by the shape control unit504. Independent functionality of the gain control unit502and the shape control unit504may be established when both are active.

Depending on the application, it may be sufficient to use only some portion of the entire bandwidth and, thus, the summation may be shortened (<NFFT/2). In some implementations, the normalization factor before the summations is used. In other implementations, the normalization factor before the summations is not used.

The gain control unit502may determine an average peak echo level ēPk(n) by smoothing whenever a predetermined echo-to-noise (ENR) threshold (tENR, 1) is exceeded (seeFIG. 6):

InFIG. 6, the average peak ENR may be determined by:

pENR⁡(n)=e_Pk⁡(n)b_⁡(n)⁢gReal,lim⁡(n-1)+ɛ
where pENR(n) may be compensated for the gain introduced by the gain control unit502gReal,lim(n−1) and the small constant ε<<1 may be added in the denominator to avoid division by zero.

A desired gain gDes(n) for establishing a constant ENR level (tENR,2) in order to improve the intelligibility of the received speech signal x(n) may be determined by:

In some implementations, values out of the interval [4, 30] for tENR,2may be used. A preliminary gain may thus be determined by the gain control unit502as follows:

gReal⁡(n)={gReal⁡(n-1)⁢τg,rise,for⁢⁢(1-αg)⁢gReal2⁡(n-1)+αg⁢gReal⁡(n-1)≤gDes⁡(n)⁢⁢and⁢⁢e_⁡(n)b_⁡(n)>tENR,1,greal⁡(n-1)⁢τg,fall,for⁢⁢(1-αg)⁢gReal2⁡(n-1)+αg⁢gReal⁡(n-1)>gDes⁡(n)⁢⁢and⁢⁢e_⁡(n)b_⁡(n)>tENR,1,gReal⁡(n-1),otherwise
where the characteristic may be adjusted by the positive real parameter αg<1. The increment and decrement parameters τg,riseand τg,fallmay satisfy:
0<<τg,fall<1<τg,rise<<∝.

The preliminary gain may be adjusted ranging from merely compensating the current signal-to-noise ratio up to the predetermined limit of tENR,2and may be limited to a maximum allowable gain gmax(seeFIG. 6):
gReal,lim(n)=min{gmax, gReal(n)}.

If the shape control unit504ofFIG. 5is not active, an enhanced signal {tilde over (r)}(n)={tilde over (r)}Gain(n)=gReal,lim(n)×(n) may be obtained. By the processing described above, the gain increases as time-dependent noise increases and also when the background noise is almost stationary but the speech power of a remote speaker decreases (thereby realizing an automatic gain control).

InFIG. 5, shaping of the received audio signal x(n) may be performed by a Finite Impulse Response (FIR) filter506controlled by the shape control unit504. In alternative systems, an Infinite Impulse Response (IIR) filter may be used in place of the FIR filter506.

FIG. 7illustrates an operation of the shape control unit504. An average peak echo level may be determined by the shape control unit504by smoothing the estimated echo spectrum provided by the echo compensation filter408ofFIG. 4each time a predetermined ENR threshold (tENR,1) is exceeded similar to the above-described determination by the gain control unit502but for each frequency bin:

The spectral average peak ENR may be smoothed in the positive and negative frequency directions to obtain a smoothed spectral average peak ENR, e.g., PENR,Sm(ejΩk,n). The smoothing may be performed by a first order IIR filter. The desired gain vector may be obtained by (seeFIG. 7):

After limitation of the desired gain in the directions of the maximum gain and maximum attenuation, respectively, the desired gain may be obtained by:
GDes(ejΩk, n)=min{τG,max(n), max{τG,min(n),{tilde over (G)}Des(ejΩk, n)}}
where τG,max(n) and τG,min(n) depend on the gain gReal,lim(n) computed by the gain control unit502. If only a small gain is introduced by the gain control unit502(or no gain at all), only a small gain is introduced by the shape control unit504(or no gain at all). A significant gain introduced by the gain control unit502, on the other hand, may result in a significant gain introduced by the shape control unit504(see alsoFIG. 7).

InFIG. 5, the signal {tilde over (r)}Gain(n) obtained by processing the received speech signal x(n) by the gain control unit502may be shaped. In one implementation, Discrete Fourier Transformations (DFT)/Inverse Discrete Fourier Transformations (IDFT) and NDFTmultiplications for each frequency bin in the frequency domain may used for shaping. In other implementations, the DFT/IDFT processing may be avoided. For this purpose, a low order FIR filter506may be used. The delay introduced by the FIR filter may be lower than the one that would be introduced by DFT/IDFT processing of {tilde over (r)}Gain(n).

The inverse of the squared magnitude of the desired spectral shape correction may be transformed into the time domain, as follows:

aDes⁡(n)=I⁢⁢D⁢⁢F⁢⁢T⁢{1GDes⁡(ⅇj⁢⁢Ωk,n)2}
with the vector containing the auto correlation coefficients aDES,i(n):
aDes(n)=[aDes,0(n),aDes,1(n), . . . ,aDes,NDFT−1(n)]T
where NDFTdenotes the order of the DFT. This vector may be shortened to the order of the desired FIR filter (NFIR)+1:
aDes,mod(n)=[aDes,mod,0(n),aDes,mod,1(n), . . . ,aDes,mod,NFIR(n)]T
by
aDes,mod(n)=WcutaDes(n)
with

The elements of the matrix Wcutmay be given by:
wi,i=1 for i ε {0, . . . , NFIR}.

The vector of the filter coefficients a(n) of the FIR filter506
a(n)=[a0(n),a1(n), . . . ,aNFIR−1]T
are determined by the shape control unit504to reproduce the shape Gdes(ejΩk, n). For this purpose, the following vector equation may be solved:
a(n)=ADes,mod−1(n)ãDes,mod(n)
with

InFIGS. 5 and 8, the above vector equation may be solved by the Levinson-Durbin recursion algorithm. The output of the FIR filter506may be enhanced by the correct gain gcor(n) provided by the shape control unit504. As shown inFIG. 8, this may be achieved by using the energy of the residual signal eLD(n) obtained by the Levinson-Durbin recursion algorithm:

As described, an IIR filter may be used in place of the FIR filter506ofFIG. 5. In this case, the inverse of the frequency response used for the FIR filter design may be used:
aDes,IIR(n)=IDFT{|GDes(ejΩk, n)|2}.

After carrying out the same computations described above but using the inverse frequency response aDes,IIR(n), an all-pole IIR filter results. The resulting filter may be used for shaping the received audio signal x(n).

Employment of either an FIR filter or an IIR filter for the equalization of the received audio signal x(n) exhibits different advantages. In one implementation, the IIR filter may be superior to the FIR filter in modeling small gain peaks. In another implementation, the FIR filter may be superior to the IIR filter in modeling attenuation peaks. Therefore, in some implementations, it may be preferred to model the desired spectral shape by both the IIR and the FIR filters and to compare the model results with each other and choose the better one for shaping.

When a Levinson-Durbin recursion algorithm is used, the prediction error power of the residual signal may be automatically obtained. Depending on the prediction error power on a frame by frame basis, the result of either the FIR filter or the IIR filter may be used for the subsequent processing, e.g., shaping. If the Levinson-Durbin recursion algorithm is not used, the respective prediction error powers of the residual signals may be calculated by:

eLD,F⁢⁢I⁢⁢R⁡(n)=aDes,0⁡(n)-∑i=0NF⁢⁢I⁢⁢R-1⁢ai⁡(n)⁢aDes,i+1⁡(n)andeLD,I⁢⁢I⁢⁢R⁡(n)=aDes,I⁢⁢I⁢⁢R,0⁡(n)-∑i=0NI⁢⁢I⁢⁢R-1⁢aHR,i⁡(n)⁢aDes,I⁢⁢I⁢⁢R,i+1⁡(n).
The respective prediction error powers of the residual signals may be compared with each other for determining the best choice for each frame.

FIG. 9is a process that adjusts a received audio signal based on the features of a detected audio signal. At act902, an audio signal is detected at a near party communication device. The detected audio signal may comprise a microphone signal that contains a desired near party speech component, a background noise component, and/or an echo component due to a loudspeaker output.

At act904, an echo component of the detected audio signal is estimated. At act906, a noise component of the detected audio signal is estimated. At act908, an audio signal is received from a remote party communication device. At act910, the received audio signal may be adjusted based on the estimated noise and echo components. A gain and/or spectral shape of the audio signal may be adjusted based on the echo component alone or based on a combination of the echo component and the noise component.

At act912, the adjusted audio signal may be output from a loudspeaker. When the audio detection device (e.g., microphone) detects another audio signal, the process may begin again at act902. This detected signal may contain echo components due to the loudspeaker output of act912, which may provide the basis to adjust a gain or spectral shape of subsequent audio signals received from the remote party communication device.

FIG. 10is a process that selects a filter to adjust a spectral shape of a received audio signal. The spectral shape of a received audio signal may be adjusted through equalization. Specifically, the frequency envelope of the received audio signal may be modified. In one implementation, the spectral shape adjustments may be performed by either an Infinite Impulse Response (IIR) filter or a Finite Impulse Response (FIR) filter. Both kinds of filters have individual advantages. Whereas finite impulse response (FIR) filters may be stable, since no feedback branch is provided, recursive infinite impulse response (IIR) filters may meet a given set of specifications with a lower filter order than a corresponding FIR filter. Efficient processing in terms of computational time may be achieved more readily by IIR filters, but these filters may suffer demand for permanent stability checks. In some applications, a small gain peak may be modeled better by an IIR filter than by an FIR filter. In other applications, a small attenuation peak may be modeled better by an FIR filter than by an IIR filter.

Thus, a desired spectral shape may be modeled by both an IIR filter and an FIR filter. At act1002, a desired spectral shape is modeled with an IIR filter. At act1004, the desired spectral shape is modeled with a FIR filter. At act1006, the model results of both filters are compared. In one process, the model results are compared for each frame separately. At act1008, one of the filters is selected for spectral shape processing. For example, the process may select the filter with the model result that better matches the desired spectral shape. In one process, the filters results may be compared for each frame. The IIR filter may be selected for some frames and the FIR filter may be selected for other frames. The filter with the model result that better matches the desired spectral shape may be used for adjusting the spectral shape of the received audio signal. At act1010, the IIR filter is used to adjust the spectral shape of the received audio signal when the IIR filter is selected at act1008. The spectral shape of the received audio signal may be adjusted by an IIR filter based on the Inverse Discrete Fourier Transform of the squared magnitude of the desired spectral shape. At act1012, the FIR filter may adjust the spectral shape of the received audio signal when the FIR filter is selected at act1008. The spectral shape of the received audio signal may be adjusted by a FIR filter based on the Inverse Discrete Fourier Transform of the inverse of the squared magnitude of the desired spectral shape.

Each of the processes described may be encoded in a computer readable medium such as a memory, programmed within a device such as one or more circuits, one or more processors or may be processed by a controller or a computer. If the processes are performed by software, the software may reside in a memory resident to or interfaced to a storage device, a communication interface, or non-volatile or volatile memory in communication with a transmitter. The memory may include an ordered listing of executable instructions for implementing logic. Logic or any system element described may be implemented through optic circuitry, digital circuitry, through source code, through analog circuitry, or through an analog source, such as through an electrical, audio, or video signal. The software may be embodied in any computer-readable or signal-bearing medium, for use by, or in connection with an instruction executable system, apparatus, or device. Such a system may include a computer-based system, a processor-containing system, or another system that may selectively fetch instructions from an instruction executable system, apparatus, or device that may also execute instructions.

A computer-readable medium, machine-readable storage medium, propagated-signal medium, and/or signal-bearing medium may comprise any device that contains, stores, communicates, propagates, or transports software for use by or in connection with an instruction executable system, apparatus, or device. The machine-readable medium may selectively be, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. A non-exhaustive list of examples of a machine-readable medium would include: an electrical connection having one or more wires, a portable magnetic or optical disk, a volatile memory such as a Random Access Memory “RAM,” a Read-Only Memory “ROM,” an Erasable Programmable Read-Only Memory (EPROM or Flash memory), or an optical fiber. A machine-readable medium may also include a tangible medium upon which software is printed, as the software may be electronically stored as an image or in another format (e.g., through an optical scan), then compiled, and/or interpreted or otherwise processed. The processed medium may be stored in a computer and/or machine memory.