[0001] The present invention relates to noise reduction systems, and in particular, to an
adaptive speech intelligibility enhancement system for use in portable digital radio
telephones.
[0002] The cellular telephone industry has made phenomenal strides in commercial operations
in the United States as well as the rest of the world. Demand for cellular services
in major metropolitan areas is outstripping current system capacity. Assuming this
trend continues, cellular telecommunications will reach even the smallest rural markets.
Consequently, cellular capacity must be increased while maintaining high quality service
at a reasonable cost. One important step towards increasing capacity is the conversion
of cellular systems from analog to digital transmission. This conversion is also important
because the first generation of personal communication networks (PCNs), employing
low cost, pocket-size, cordless telephones that can be easily carried and used to
make or receive calls in the home, office, street, car, etc., will likely be provided
by cellular carriers using the next generation digital cellular infrastructure.
[0003] Digital communication systems take advantage of powerful digital signal processing
techniques. Digital signal processing refers generally to mathematical and other manipulation
of digitized signals. For example, after converting (digitizing) an analog signal
into digital form, that digital signal may be filtered, amplified, and attenuated
using simple mathematical routines in a digital signal processor (DSP). Typically,
DSPs are manufactured as high speed integrated circuits so that data processing operations
can be performed essentially in real time. DSPs may also be used to reduce the bit
transmission rate of digitized speech which translates into reduced spectral occupancy
of the transmitted radio signals and increased system capacity. For example, if speech
signals are digitized using 14-bit linear Pulse Code Modulation (PCM) and sampled
at an 8 KHz rate, a serial bit rate of 112 Kbits/sec is produced. Moreover, by taking
mathematical advantage of redundancies and other predicable characteristics of human
speech, voice coding techniques can be used to compress the serial bit rate from 112
Kbits/sec to 7.95 Kbits/sec to achieve a 14:1 reduction in bit transmission rate.
Reduced transmission rates translate into more available bandwidth.
[0004] One popular speech compression technique adopted in the United States by the TIA
for use as the digital standard for the second generation of cellular telephone systems
(i.e., IS-54) is vector sourcebook excited linear predictive coding (VSELP). Unfortunately,
when audio signals including speech, mixed with high levels of ambient noise (particularly
"colored noise"), are coded/compressed using VSELP, undesirable audio signal characteristics
may be part of the result. For example, if a digital mobile telephone is used in a
noisy environment (e.g. inside a moving automobile), both ambient noise and desired
speech are compressed using the VSELP encoding algorithm and transmitted to a base
station where the compressed signal is decoded and reconstituted into audible speech.
When the background noise is reconstituted into an analog format, undesirable, audible
distortion of the noise, and occasionally in the speech, is introduced. This distortion
is very annoying to the average listener.
[0005] The distortion is caused in large part by the environment in which the mobile telephones
are used. Mobile telephones are typically used in a vehicle's interior where there
is often ambient noise produced by the vehicle's engine and surrounding vehicular
traffic. This ambient noise in the vehicle's interior is typically concentrated in
the low audible frequency range and the magnitude of the noise can vary due to such
factors as the speed and acceleration of the vehicle and the extent of the surrounding
vehicular traffic. This type of low frequency noise also has the tendency of significantly
decreasing the intelligibility of the speech coming from the speaking person in the
car environment. The decrease in speech intelligibility caused by low frequency noise
can be particularly significant in communication systems deploying a VSELP vocoder,
but can also occur in communication systems that do not include a VSELP vocoder.
[0006] The influence of the ambient noise on the mobile telephone can also be affected by
the manner in which the mobile telephone is used. In particular, the mobile telephone
may be used in a hands-free mode where the telephone user talks on the telephone while
the mobile telephone is in a cradle. This frees the telephone user's hands to drive
but also increases the distance that the telephone user's audible words must travel
before reaching the microphone input of the mobile telephone. This increased distance
between the user and the mobile telephone, along with the varying ambient noise, can
result in noise being a significant portion of the total power spectral energy of
the audio signal inputted into the mobile telephone.
[0007] Prior art disclosure contained in EP 0 645 756, EP 0 558 312, EP 0 665 530, DE 4
012 349, U.S. Patent Nos. 4,811,404, 4,461,025, and 5,251,263 all disclose manners
by which to filter unwanted signal components.
[0008] In theory, various signal processing algorithms could be implemented using digital
signal processors to filter the VSELP encoded background noise. These solutions, however,
often require significant digital signal processing overhead, measured in terms of
millions of instructions executed per second (MIPS), which consumes valuable processing
time, memory space, and power consumption. Each of these signal processing resources,
however, is limited in portable radiotelephones. Hence, simply increasing the processing
burden of the DSP is not an optimal solution for minimizing VSELP encoded and other
types of background noise.
[0009] The present invention provides a method and an apparatus for selectively altering
a frame of a digital signal according to claims 1 and 9.
[0010] The present invention provides an adaptive noise reduction system that reduces the
undesirable contributions of encoded background noise while both minimizing any negative
impact on the quality of the encoded speech and minimizing any increased drain on
digital signal processor resources. The method and system of the present invention
increases the intelligibility of the speech in a digitized audio signal by passing
frames of the digitized audio signal through a filter circuit. The filter circuit
functions as an adjustable, high-pass filter which filters a portion of the digitized
signal in a low audible frequency range and passes the portion of the digitized signal
falling in higher frequency ranges. Because the noise in a vehicle tends to be concentrated
in a low audible frequency range and only a relatively small portion of the intelligibility
content of speech falls within this low frequency range, the filter circuit filters
a large segment of the noise in the digitized audio signal while only filtering less
important segments of the speech. This results in a relatively larger portion of the
noise energy being removed compared to the portion of the speech energy removed. By
adaptively adjusting and selecting the frequency response curve of the filter circuit,
the amount of speech filtered is limited and has a minimal affect on the intelligibility
of the speech outputted by the radio.
[0011] A filter control circuit is used to adjust the filter circuit to exhibit different
frequency response curves as a function of a noise estimate and/or a spectral profile
result corresponding to the noise in the audio signal. The noise estimate and/or the
spectral profile result are adjusted on a frame-by-frame basis for the digital signal
and as a function of speech detection. If speech is not detected, the noise estimate
and/or spectral profile result is updated for the current frame. If speech is detected,
the noise estimate and/or spectral profile result is left unadjusted.
[0012] In a first embodiment, the filter circuit calculates noise estimates for the frames
of the digitized audio signals. The noise estimates correspond to the amount of background
noise in the frames of the digitized audio signals. As the relative amount of background
noise to speech in a low frequency range of speech increases, the noise estimates
increase. The filter control circuit uses the noise estimates to adjust the filter
circuit to filter larger portions of the low frequency range of speech as the relative
amount of background noise to speech in a low frequency range of speech increases.
When no background noise is present, no portion of the speech signal is filtered.
Larger portions of noise and speech information are extracted when there is a higher
level of background noise. Because noise tends to be concentrated in a low frequency
range and only a relatively small portion of the intelligibility content of speech
falls within this low frequency range, the overall intelligibility of the audio signal
can be increased by increasing the portion of low frequency energy being filtered
as the noise estimates increase.
[0013] In a second embodiment, a modified filter control circuit is used to adjust the filter
circuit to exhibit different frequency response curves as a function of a noise profile
of the noise estimate over a selected frequency range in the audio signal. The filter
control circuit includes a spectral analyzer for determining a noise profile estimate
as a function of the detection speech. A noise profile estimate is determined for
a current frame and compared to a reference noise profile. Based on this comparison,
the filter circuit is adaptively adjusted to extract varying amounts of low frequency
energy from the current frame.
[0014] The adaptive noise reduction system according to the present invention may be advantageously
applied to telecommunication systems in which portable/mobile radio transceivers communicate
over RF channels with each other or with fixed telephone line subscribers. Each transceiver
includes an antenna, a receiver for converting radio signals received over an RF channel
via the antenna into analog audio signals, and a transmitter. The transmitter includes
a coder-decoder (codec) for digitizing analog audio signals to be transmitted into
frames of digitized speech information, the speech information including both speech
and background noise. A digital signal processor processes a current frame based on
an estimate of the background noise and the detection of speech in the current frame
to minimize background noise. A modulator modulates an RF carrier with the processed
frame of digitized speech information for subsequent transmission via the antenna.
[0015] These and other features and advantages of the present invention will be readily
apparent to one of ordinary skill in the art from the following written description,
read in conjunction with the drawings, in which:
FIGURE 1 is a general functional block diagram of the present invention;
FIGURE 2 illustrates the frame and slot structure of the U.S. digital standard IS-54
for cellular radio communications;
FIGURE 3 is a block diagram of a first preferred embodiment of the present invention
implemented using a digital signal processor;
FIGURE 4 is a functional block diagram of an exemplary embodiment of the present invention
in one of plural portable radio transceivers in a telecommunication system;
FIGURES 5A and 5B is a flow chart which illustrates functions/operations performed
by the digital signal processor in implementing the first preferred embodiment of
the present invention;
FIGURE 6A is a graph illustrating a first example of an attenuation vs. frequency
characteristic of a filter circuit according to the first preferred embodiment of
the present invention;
FIGURE 6B is a graph illustrating a second example of an attenuation vs. frequency
characteristic of a filter circuit according to the first preferred embodiment of
the present invention;
FIGURE 7 is an example look-up table accessible by the filter control circuit of the
first preferred embodiment of the present invention;
FIGURES 8A and 8B are graphs illustrating the amplitude vs. frequency characteristics
of example input audio signals;
FIGURES 9A and 9B are graphs illustrating the amplitude vs. frequency characteristics
of the input audio signals of Figures 8A and 8B, respectively, after having been filtered
by the filter circuit of the present invention;
FIGURE 10 is a block diagram of a second preferred embodiment of the present invention
implemented using a digital signal processor;
FIGURE 11 is a flow chart, corresponding to the flow chart of Figure 5B, which illustrates
functions/operations performed by the digital signal processor in implementing the
second preferred embodiment of the present invention; and
FIGURE 12 is an example look-up table accessible by the filter control circuit of
the second preferred embodiment of the present invention.
[0016] In the following description, for purposes of explanation and not limitation, specific
details are set forth, such as particular circuits, circuit components, techniques,
flow charts, etc. in order to provide a thorough understanding of the invention. However,
it will be apparent to one skilled in the art that the present invention may be practiced
in other embodiments that depart from these specific details. In other instances,
detailed descriptions of well known methods, devices, and circuits are omitted so
as not to obscure the description of the present invention with unnecessary details.
[0017] Figure 1 is a general block diagram of the adaptive noise reduction system 100 according
to the present invention. Adaptive noise reduction system 100 includes a filter control
circuit 105 connected to a filter circuit 115. Filter control circuit 105 generates
a filter control signal for a current frame of a digitized audio signal. The filter
control signal is outputted to the filter circuit 115, and the filter circuit 115
adjusts in response to the filter control signal to exhibit a high-pass frequency
response curve selected based on the filter control signal. The adjusted filter circuit
115 filters the current frame of the digitized audio signal. The filtering signal
is processed by a voice coder 120 to produce a coded signal representing the digitized
audio signal.
[0018] In an exemplary embodiment of the invention applied to portable/mobile radio telephone
transceivers in a cellular telecommunications system, Figure 2 illustrates the time
division multiple access (TDMA) frame structure employed by the IS-54 standard for
digital cellular telecommunications. A "frame" is a twenty millisecond time period
which includes one transmit block TX, one receive block RX, and a signal strength
measurement block used for mobile-assisted hand-off (MAHO). The two consecutive frames
shown in Figure 2 are transmitted in a forty millisecond time period. Digitized speech
and background noise information is processed and filtered on a frame-by-frame basis
as further described below.
[0019] Preferably, the functions of the filter control circuit 105, filter circuit 115,
and voice coder 120 shown in Figure 1 are implemented with a high speed digital signal
processor. One suitable digital signal processor is the TMS320C53 DSP available from
Texas Instruments. The TMS320C53 DSP includes on a single integrated chip a sixteen-bit
microprocessor, on-chip RAM for storing data such as speech frames to be processed,
ROM for storing various data processing algorithms including the VSELP speech compression
algorithm, and other algorithms to be described below for implementing the functions
performed by the filter control circuit 105 and the filter circuit 115.
[0020] A first embodiment of the present invention is shown in Figure 3. In the first embodiment,
the filter circuit 115 is adjusted as a function of background noise estimates determined
by the filter control circuit. Frames of pulse code modulated (PCM) audio information
are sequentially stored in the DSP's on-chip RAM. The audio information could be digitized
using other digitization techniques. Each PCM frame is retrieved from a DSP on-chip
RAM and processed by frame energy estimator 210, and stored temporarily in temporary
frame store 220. The energy of the current frame determined by frame energy estimator
210 is provided to noise estimator 230 and speech detector 240 function blocks. Speech
detector 240 indicates that speech is present in the current frame when the frame
energy estimate exceeds the sum of the previous noise estimate and a speech threshold.
If the speech detector 240 determines that no speech is present, the digital signal
processor 200 calculates an updated noise estimate as a function of the previous noise
estimate and the current frame energy (block 230).
[0021] The updated noise estimate is outputted to a filter selector 235. Filter selector
235 generates a filter control signal based on the noise estimate. In the preferred
embodiment, the filter selector 235 accesses a look-up table in generating the filter
control signal. The look-up table includes a series of filter control values that
are each matched with a noise estimate or range of noise estimates. A filter control
value from a look-up table is selected based on the updated noise estimate and this
filter control value is represented by a filter control signal outputted to a filter
bank 265 for the filter circuit 115. To stabilize the process and avoid accessive
switching between different filters a hangover time of N frames is set upon the selection
of a new filter. A new filter can only be selected every N frames, where N is an integer
greater than one and preferably greater than 10.
[0022] The filter circuit 115 is adjusted in response to the filter control signal to exhibit
a high-pass frequency response curve that corresponds with the inputted filter control
signal and noise estimate. Various different types of filter circuits well known in
prior art can be utilized to exhibit selected frequency response curves in response
to the filter control signal. These prior art filters include IIR filters such as
Butterworth, Chebyshev (Tschebyscheff) or elliptic filters. IIR filters are preferable
to FIR filters, which also can be used, due to lower processing requirements.
[0023] The filtered signal is processed by a voice coder 120 which is used to compress the
bit rate of the filtered signal. In the preferred embodiments, the voice coder 120
uses vector sourcebook excited linear predictive coding (VSELP) to code the audio
signal. Other voice coding techniques and algorithms such as code excited linear predictive
(CELP) codings, residual pulse excited linear predictive (RPE-LTP) coding, improved
multiband excited (IMBE) coding can be used. By filtering the frames of audio signals
in accordance with the present invention before voice coding, background noise is
minimized which substantially reduces any undesired noise effects in the speech when
it is reconstituted. It also prevents the speech from being "drowned" in low frequent
noise.
[0024] The digital signal processor 200 described in conjunction with Figure 3 can be used,
for example, in the transceiver of a digital portable/mobile radiotelephone used in
a radio telecommunications system. Figure 4 illustrates one such digital radio transceiver
which may be used in a cellular telecommunications network.
[0025] Audio signals including speech and background noise are input in a microphone 400
to a coder-decoder (codec) 402 which preferably is an application specific integrated
circuit (ASIC). The band limited audio signals detected at microphone 400 are sampled
by the codec 402 at a rate of 8,000 samples per second and blocked into frames. Accordingly,
each twenty millisecond frame includes 160 speech samples. These samples are quantized
and converted into a coded digital format such as 14-bit linear PCM. Once 160 samples
of digitized speech for a current frame are stored in a transmit DSP 200 in on-chip
RAM 202, the transmit DSP 200 performs channel encoding functions, the frame energy
estimation, noise estimation, speech detection, FFT, filter functions and digital
speech coding/compression in accordance with the VSELP algorithm, as described above
in conjunction with Figure 3.
[0026] A supervisory microprocessor 432 controls the overall operation of all of the components
in the transceiver shown in Figure 4. The filtered PCM data stream generated by transmit
DSP 200 is provided for quadrature modulation and transmission. To this end, an ASIC
gate array 404 generates in-phase (I) and quadrature (Q) channels of information based
upon the filtered PCM data stream from DSP 200. The I and Q bit streams are processed
by matched, low pass filters 406 and 408 and passed onto IQ mixers in balanced modulator
410. A reference oscillator 412 and a multiplier 414 provide a transmit intermediate
frequency (IF). The I signal is mixed with in-phase IF, and the Q signal is mixed
with quadrature IF (i.e., the in-phase IF delayed by 90 degrees by phase shifter 416).
The mixed I and Q signals are summed, converted "up" to an RF channel frequency selected
by channel synthesizer 430, and transmitted via duplexer 420 and antenna 422 over
the selected radio frequency channel.
[0027] On the receive side, signals received via antenna 422 and duplexer 420 are down converted
from the selected receive channel frequency in a mixer 424 to a first IF frequency
using a local oscillator signal synthesized by channel synthesizer 430 based on the
output of reference oscillator 428. The output of the first IF mixer 424 is filtered
and down converted in frequency to a second IF frequency based on another output from
channel synthesizer 430 and demodulator 426. A receive gate array 434 then converts
the second IF signal into a series of phase samples and a series of frequency samples.
The receive DSP 436 performs demodulation, filtering, gain/attenuation, channel decoding,
and speech expansion on the received signals. The processed speech data are then sent
to codec 402 and converted to baseband audio signals for driving loudspeaker 438.
[0028] The operations performed by the digital signal processor 200 for implementing the
functions of filter control circuit 105, filter circuit 115, and voice coder 120 will
now be described in conjunction with the flow chart illustrated in Figures 5A and
5B. Frame energy estimator 210 determines the energy in each frame of audio signals.
Frame energy estimator 210 determines the energy of the current frame by calculating
the sum of the squared values of each PCM sample in the frame (step 505). Since there
are 160 samples per twenty millisecond frame for an 8000 samples per second sampling
rate, 160 squared PCM samples are summed. Expressed mathematically, the frame energy
estimate is determined according to equation 1 below:

The frame energy value calculated for the current frame is stored in the on-chip
RAM 202 of DSP 200 (step 510).
[0029] The functions of speech detector 240 include fetching a noise estimate previously
determined by noise estimator 230 from the on-chip RAM of DSP 200 (step 515). Of course,
when the transceiver is initially powered up, no noise estimate will exist. Decision
block 520 anticipates this situation and assigns a noise estimate in step 525. Preferably,
an arbitrarily high value, e.g. 20 dB above normal speech levels, is assigned as the
noise estimate in order to force an update of the noise estimate value as will be
described below. The frame energy determined by frame energy estimator 210 is retrieved
from the on-chip RAM 202 of DSP 200 (block 530). A decision is made in block 535 as
to whether the frame energy estimate exceeds the sum of the retrieved noise estimate
plus a predetermined speech threshold value, as shown in equation 2 below:

[0030] The speech threshold value may be a fixed value determined empirically to be larger
than short term energy variations of typical background noise and may, for example,
be set to 9 dB. In addition, the speech threshold value may be adaptively modified
to reflect changing speech conditions such as when the speaker enters a noisier or
quieter environment. If the frame energy estimate exceeds the sum in equation 2, a
flag is set in block 570 that speech exists. If speech detector 240 detects that speech
exists, then noise estimator 230 is bypassed and the noise estimate calculated for
the previous frame in the digitized audio is retrieved and used as the current noise
estimate. Conversely, if the frame energy estimate is less than the sum in equation
2, the speech flag is reset in block 540.
[0031] Other systems for detecting speech in a current frame can also be used. For example,
the European Telecommunications Standards Institute (ETSI) has developed a standard
for voice activity detection (VAD) in the Global System for Mobile communications
(GSM) system and is described in the ETSI Reference: RE/SMG-020632P which is incorporated
by reference. This standard could be used for speech detection in the present invention
and is incorporated by reference.
[0032] If speech does not exist, the noise estimation update routine of noise estimator
230 is executed. In essence, the noise estimate is a running average of the frame
energy during periods of no speech. As described above, if the initial start-up noise
estimate is chosen sufficiently high, speech is not detected, and the speech flag
will be reset thereby forcing an update of the noise estimate.
[0033] In the noise estimation routine followed by noise estimator 230, a difference/error
delta (Δ) is determined in block 545 between the frame noise energy generated by frame
energy estimator 210 and a noise estimate previously calculated by noise estimator
230 in accordance with the following equation:

A determination is made in decision block 550 whether Δ exceeds zero. If Δ is negative,
as occurs for high values of the noise estimate, then the noise estimate is recalculated
in block 560 in accordance with the following equation:

Since Δ is negative, this results in a downward correction of the noise estimate.
The relatively large step size of Δ/2 is chosen to rapidly correct for decreasing
noise levels. However, if the frame energy exceeds the noise estimate, providing a
Δ greater than zero, the noise is updated in block 555 in accordance with the following
equation:

Since Δ is positive, the noise estimate must be increased. However, a smaller step
size of Δ/256 (as compared to Δ/2) is chosen to gradually increase the noise estimate
and provide substantial immunity to transient noise.
[0034] The noise estimate calculated for the current frame is outputted to the filter selector
235. In the first preferred embodiment, filter selector 235 accesses a look-up table
and uses the current noise estimate to select a filter control value (Step 572). The
filter circuit 115 (in Step 574) is then adjusted as a function of the selected filter
control value to exhibit a frequency response curve intended to increase the amount
of noise filtered as the noise estimate and background noise increases. The PCM samples
stored in DSP RAM are then passed through the adjusted filter circuit 265 to filter
the PCM samples in order to remove noise (Step 576). The filtered PCM samples are
then processed by voice coder 120 (step 578), and the coded samples are then outputted
to RF transmit circuits (Step 580).
[0035] Figures 6A and 6B show examples of how the filter circuit 115 adjusts to exhibit
different frequency response curves F1-F4 for different filter control signals inputted
to the filter circuit 115. As shown in Figure 6A, the filter circuit 115 can be selected
to exhibit a series of different frequency response curves with the frequency response
curves F1-F4 having cut-off frequencies F1c-F4c, respectively. The cut-off frequencies
of filter circuit 115 may range in the preferred embodiment from 300 Hz to 800 Hz.
As the noise estimates increase, the filter circuit 115 is designed to exhibit frequency
response curves having higher cut-off frequencies. The higher cut-off frequencies
result in a larger portion of frame energy falling within the lower frequency range
of speech being extracted by the filter circuit 115.
[0036] Likewise, as shown in Figure 6B, the filter circuit 115 can be selected to exhibit
a series of different frequency response curves F1-F4 with each frequency response
curve having a different slope and the same cut-off frequencies. The cut-off frequency
for frequency response curves F1-F4 is in the above-mentioned range. As the noise
estimate increases, the filter circuit 115 is adjusted to exhibit frequency response
curves having steeper slopes. The steeper slopes result in a larger portion of frame
energy falling within the lower frequency range of speech being extracted by the filter
circuit 115.
[0037] The filter circuit 115 filters the current frames as a function of the noise estimate
calculated for the current frame. The current frame is filtered so that the noise
is reduced and a major portion of the speech is passed. The major portion of speech
which is passed unfiltered provides for recognizable speech output with only a minimal
reduction in the quality of the speech signal. A combination of different cutoff frequencies
and different slopes could be used for adaptively extracting selected portions of
frame energy falling within a low frequency range of speech.
[0038] Figure 7 depicts an example look-up table accessed by filter selector 235 in order
to select one of the filter response curves F1-F4 for filter circuit 115. The look-up
table includes a series of potential noise estimates N1-Nn and filter control values
F1-Fn that correspond with potential response curves that are exhibitable by the filter
circuit 115. Noise estimates N1-Nn can each represent a range of noise estimates and
are each matched with a particular filter control value F1-F4. The filter control
circuit 105 generates a filter control signal by calculating a noise estimate and
retrieving from the look-up table the filter control value associated therewith.
[0039] Figures 8A & B and 9A & B show how the audio signal for two frames are each adaptively
filtered to provide an improved audio signal outputted to the RF transmitter. Figures
8A and 8B show a first frame and a second frame of an audio signal containing speech
components s1 and s2 and noise components n1 and n2, respectively. As shown, the noise
energy n1 and n2 in both frames is concentrated in a low audible frequency range,
while the speech energy s1 and s2 is concentrated in a higher audible frequency range.
Figure 9A shows the noise signal n1 and speech signal s1 for the first frame after
filtering. Figure 9B shows the noise signal n2 and speech signal s2 for the second
frame after filtering.
[0040] The adaptive audio noise reduction system 100, as discussed, is designed to account
for the difference in noise level between the first frame and the second frame by
adjusting the filter control circuit 105 based on a calculated noise estimate for
the current frame. For example, a noise estimate N1 and a spectral profile S1 is calculated
by filter control circuit 105 and a filter control value of F1 is selected for the
first frame. In the preferred embodiment, the filter circuit 115 is adjusted based
on filter control value F1 and exhibits a frequency response curve F1 having a cut-off
frequency Flc, as shown in Figure 6A. The first frame is passed through this adjusted
filter circuit 115. The filter circuit 115 is selected so that a large portion of
the noise n1 and only a small portion of speech s1 falls below the cut-off frequency
F1c of the frequency response curve F1. This results in noise n1 being effectively
filtered and only a relatively insignificant portion of speech s1 being filtered.
The filtered audio signal of the first frame is shown in Figure 9A.
[0041] In the second frame shown in Figure 8b, a higher background noise is present, and
assuming speech is not detected, a higher noise estimate n2 is calculated by filter
control circuit 105. A higher corresponding filter control value F2 is determined
for the second frame based on the higher noise estimate. In the first preferred embodiment,
the filter circuit 115 is adjusted in response to the higher filter control value
F2 to exhibit a frequency response curve having a higher cut-off frequency F2c, as
shown in Figure 6A. The subsequent frame of audio signal is passed through the adjusted
filter circuit 115. Because the cut-off frequency F2c of the frequency response curve
F2 is higher for the subsequent frame, a larger portion of both the noise n2 and speech
s2 is filtered. The portion of speech s2 filtered is still relatively insignificant
to the intelligibility information contained by the frame so that there is only minimal
affect on the speech. The disadvantage of filtering a larger portion of the speech
s2 is offset by the advantage of the increased removal of noise n2 from the second
frame. The filtered spectral portion of the speech does not significantly contribute
to the intelligibility of the speech. The filtered audio signal of the second frame
is shown in Figure 9B.
[0042] A second preferred embodiment of adaptive noise reduction system 100 is shown in
Figures 10-12. In the second preferred embodiment, the filter control circuit 105
adjusts the filter circuit 115 as a function of noise profile estimates. A noise profile
estimate is calculated for each frame and is compared to a reference noise profile.
Based on this comparison, the filter circuit 115 is adaptively adjusted to extract
varying amounts of low frequency energy from the current frame.
[0043] Referring to Figure 10, a DSP 200 configured according to the second preferred embodiment
is shown. As shown, the filter control circuit 105 includes a spectral analyzer 270,
in addition to frame energy estimator 210, noise estimator 230, speech detector 240,
and filter selector 235 which are described with respect to the first preferred embodiment.
The filter control circuit 105 determines noise estimates and detects speech for the
received frames as described for the first embodiment and shown in flow charts 5A
and 5B. Upon speech detection for a current frame, the spectral analyzer 270 updates
the noise profile estimate and uses the noise profile estimate in adjusting the filter
circuit 115.
[0044] Referring to Figure 11, the steps of updating the noise profile estimate and adjusting
the filter circuit 115 is shown. Figure 11 shows the steps performed by spectral analyzer
270 incorporated into the overall process previously described in the flow charts
of Figures 5A and 5B for the first preferred embodiment.
[0045] When speech is not detected for the current frame, the spectral analyzer 270 first
determines a noise profile for the current frame (step 600). The noise profile determined
for the current frame includes energy calculations for different frequencies (i.e.,
frequency bins) within a selected low frequency range of speech for the current frame.
In the preferred embodiment, the selected frequency range is approximately 300 to
800 hertz. The noise profile of the current frame can be determined by processing
the current frame using a Fast Fourier Transform (FFT) having N frequency bins. Processing
digital signals using an FFT is well-known in the prior art and is advantageous in
that very little processing power is required where the FFT is limited to a relatively
small number of frequency bins such as 32. An FFT having N frequency bins produces
energy calculations at N different frequencies. The energy calculations for the frequency
bins falling within the selected frequency range form the noise profile for the current
frame.
[0046] To determine the noise profile estimate for the current frame (step 604), the noise
profile for the current frame is averaged with a noise profile estimate determined
for the previous frame of the audio signal. Where no previous noise profile estimate
is available, such as after initialization, a stored, initial noise profile estimate
can be used. The noise profile estimate includes noise energy estimates e
i (where i = 1,2,...n) located at successively lower frequencies (i.e., e
1 is the noise energy estimate for the highest frequency and e
n is the noise energy estimate for the lowest frequency in the selected frequency range).
In the preferred embodiment, each noise energy estimate e
i corresponds to an average of the energy calculations at a particular frequency in
the selected frequency range over a plurality of successive frames in which no speech
was detected. By using a plurality of frames in determining the noise profile estimate,
the filter circuit 115 is adjusted on a more gradual basis. In alternate embodiments,
the noise profile estimate can be equated to the noise profile of the current frame.
[0047] The energy estimates e
i of the noise profile estimate are then compared with a reference noise profile (step
604). The reference noise profile includes reference energy thresholds e
ri (where i = 1,2,...n) at frequencies corresponding to the frequencies for noise energy
estimates e
i of the noise profile estimate. The reference energy thresholds e
ri can be determined empirically. The noise energy estimates e
i are successively compared to corresponding reference energy thresholds e
ri from the highest frequency energy estimate e
1 to the lowest frequency energy estimate e
n.
[0048] More specifically, noise energy estimate e
1 is first compared to reference noise threshold e
r1. If e
1 is greater than reference noise threshold e
r1, then a comparison value c
1 is selected and inputted into filter selector 235. If noise energy estimate e
1 is less than reference noise threshold e
r1, then noise energy estimate e
2 (which is a noise energy estimate taken at a lower frequency than e
1) is compared to reference noise threshold e
r2. If noise energy estimate e
2 is greater than reference noise threshold e
r2, then a comparison value c
2 is selected and inputted to filter selector 235. This comparison process is continued
until a comparison value c
i (where i = 1,2,...n) is selected.
[0049] The filter circuit 235 uses the determined comparison value c
i to determine a filter control value. The filter control value is selected from a
look-up table such as that shown in Figure 12. The look-up table includes a series
of comparison values c
i and corresponding filter control values F
i. The filter circuit 115 is adjusted as a function of the selected filter control
value. The filter circuit 115 is adjusted to exhibit a frequency response curve for
extracting low frequency energy from the current frame. The filter circuit 115 is
adjusted to extract increasing amounts of low frequency energy as noise energy estimates
at successively higher frequencies surpass their corresponding reference energy thresholds.
Figure 6A and 6B show example frequency response curves for selected filter control
values.
[0050] Use of noise profile estimates helps improve the ability to adaptively adjust the
filter circuit to extract low frequency energy in a manner to improve the overall
quality of speech. Since the car environment is not the only environment where a mobile
telecommunications device is used, and therefore the noise profile in certain situations
could be tilted more towards higher frequencies, the spectral analyzer 270 can be
selectively disabled when noise energy in the low frequencies is small. Also, when
a significant portion of the noise frequency spectrum resides in lower frequencies
a steeper filtering slope could be applied even though some processing power may be
sacrificed. This extra processing requirement is still fairly small.
[0051] As is evident from the description above, the adaptive noise filter system of the
present invention is implemented simply and without significant increase in DSP calculations.
More complex methods of reducing noise, such as "spectral subtraction," require several
calculation-relates MIPS and a large amount of memory for data and program code storage.
By comparison, the present invention may be implemented using only a fraction of the
MIPS and memory required for the "spectral subtraction" algorithm which also introduces
more speech distortion. Reduced memory reduces the size of the DSP integrated circuits;
decreased MIPS decreases power consumption. Both of these attributes are desirable
for battery-powered portable/mobile radiotelephones.
[0052] While the invention has been particularly shown and described with reference to the
preferred embodiments thereof, it is not limited to those embodiments. For example,
although a DSP is disclosed as performing the functions of the frame energy estimator
210, noise estimator 230, speech detector 240, filter selector 235 and filter circuit
265, these functions could be implemented using other digital and/or analog components.
In addition, an adaptive filtering system 100 could be implemented where the filter
circuit 115 is adjusted as a function of both noise estimates and noise profile estimates.
1. A method for selectively altering a frame of a digital signal formed of a plurality
of successive frames, the digital signal representative of an audio signal received
at a transmitter, the audio signal formed alternately of a speech component, a noise
component, and the speech component together with the noise component, said method
comprising the steps of:
estimating an energy level (505) of a frame of the digital signal;
determining (535), responsive to the estimate made during said step of estimating,
whether the frame of the digital signal includes a speech component;
updating a noise estimate as a function of a preceding noise estimate and the energy
level estimated during said step of estimating when said step of determining determines
that the frame does not contain a speech component;
accessing (572) an entry in a look-up table having filter characteristics indexed
against levels of noise estimates, the entry accessed associated with the noise estimate
updated during said step of updating;
selecting (574) filter characteristics for a filter such that the filter exhibits
a frequency response curve having variable gain over different frequency ranges, the
filter characteristic selected responsive to the stored filter characteristics of
the entry accessed during said step of accessing; and
filtering (576) the frame of the digital data with the filter which exhibits the filter
characteristics, thereby to alter the frame of the digital data responsive to the
filter characteristics.
2. The method of claim 1 further characterized by the additional intermediary step of
determining (600) a noise profile estimate of the frame of the digital signal if the
frame of the digital data is determined not to include the speech component.
3. The method of claim 2 wherein the noise profile estimate determined during said step
of determining (600) the noise profile estimate is used during said step of updating
to update the noise estimate.
4. The method of claim 1 wherein the look-up table accessed during said step of accessing
is characterized by a plurality of entries (C1-CN, F4-FN), each entry of the plurality
including a separate filter characteristic.
5. The method of claim 4 wherein the separate filter characteristics of the plurality
of entries of the look-up table comprise separate high pass filter characteristics,
each high pass characteristic defined by a separate cut-off frequency (F1c, F2c, F3c, F4c).
6. The method of claim 4 wherein the separate filter characteristics of the plurality
of entries of the look-up table comprise separate high pass filter characteristics,
each high pass filter characteristic defined by a separate frequency response curve
slope (F1, F2, F3, F4).
7. The method of claim 1 characterized by the further step of incrementing a counter
value to count each frame for which an energy level is estimated during said step
of estimating.
8. The method of claim 7 wherein said step of selecting the filter-circuit filter characteristics
is performed when the counter value is incremented each Nth time, N forming an integer
value greater than one.
9. An apparatus (100; 200) for selectively altering a frame of a digital signal formed
of a plurality of successive frames, the digital signal representative of an audio
signal received at a transmitter, the audio signal formed alternately of a speech
component, a noise component, and the speech component together with the noise component,
said apparatus comprising:
an energy level estimator (210) coupled to receive indications of a frame of the digital
signal, said energy level estimator for estimating an energy level of the frame of
the digital signal;
a speech detector (240) coupled to said energy level estimator, said speech detector
for determining whether the frame of the digital signal includes a speech component;
a noise estimator (230) operable when said speech detector determines that a frame
does not contain a speech component, said noise estimator for updating a noise estimate
as a function of a preceding noise estimate, and the energy level estimated by said
estimator;
a look-up table (FIG. 12) containing a plurality of entries, each entry indexed against
levels of noise estimates, an entry of said look-up table accessed responsive to a
noise estimate formed by said noise estimator; and
a filter (265) coupled to receive the frame of the digital data, said filter exhibiting
selectable filter characteristics enabling the filter to exhibit a frequency response
curve having variable gain over different frequency ranges, selection of the filter
characteristics of the filter determined responsive to the entry of the look-up table
accessed responsive to the noise estimate updated by said noise estimator.
10. The apparatus (100; 200) of claim 9 further characterized by a noise profile estimator
(270) for determining a noise profile estimate of the frame of the digital data if
the frame of the digital data is determined by said speech component determiner not
to include the speech component.
1. Verfahren zur selektiven Änderung eines Rahmens eines Digitalsignals, das aus einer
Vielzahl von aufeinanderfolgenden Rahmen besteht, wobei das Digitalsignal repräsentativ
ist für ein Audiosignal, das an einem Sender empfangen wird, das Audiosignal abwechselnd
aus einer Sprachkomponente, einer Rauschkomponente und der Sprachkomponente zusammen
mit der Rauschkomponente besteht, und das Verfahren die Schritte umfasst:
Abschätzen eines Energiepegels (505) eines Rahmens des Digitalsignals;
Bestimmen (535), ansprechend auf die während des Abschätzungsschritts gemachte Abschätzung,
ob der Rahmen des Digitalsignals eine Sprachkomponente enthält;
Aktualisieren einer Rauschabschätzung als Funktion einer vorangehenden Rauschabschätzung
und des Energiepegels, der während des Abschätzschritts abgeschätzt wurde, wenn der
Bestimmungsschritt bestimmt, dass der Rahmen keine Sprachkomponente enthält;
Zugreifen (572) auf einen Eintrag in einer Nachschlagtabelle, welche Filtercharakteristiken
gegenüber Pegeln von Rauschabschätzungen aufführt, wobei der Eintrag, auf den zugegriffen
wird, in Beziehung steht mit der Rauschabschätzung, die während des Aktualisierungsschritts
aktualisiert wurde;
Wählen (574) von Filtercharakteristiken für ein Filter, so dass das Filter eine Frequenzantwortkurve
aufweist, die eine variable Verstärkung über unterschiedliche Frequenzbereiche hat,
die Filtercharakteristik ausgewählt wird ansprechend auf die gespeicherten Filtercharakteristiken
des Eintrags auf den während des Zugriffsschritts zugegriffen wurde; und
Filtern (576) des Rahmens der Digitaldaten mit dem Filter, welches die Filtercharakteristiken
aufweist, um dadurch den Rahmen der Digitaldaten ansprechend auf die Filtercharakteristiken
zu ändern.
2. Verfahren nach Anspruch 1, ferner gekennzeichnet durch den zusätzlichen Zwischenschritt
der Bestimmung (600) einer Rauschprofilabschätzung des Rahmens des Digitalsignals,
wenn bestimmt wird, dass der Rahmen der Digitaldaten die Sprachkomponente nicht enthält.
3. Verfahren nach Anspruch 2, wobei die Rauschprofilabschätzung, die während des Schritts
der Bestimmung (600) der Rauschprofilabschätzung bestimmt wurde, während des Aktualisierungsschritts
zur Aktualisierung der Rauschabschätzung verwendet wird.
4. Verfahren nach Anspruch 1, wobei die Nachschlagtabelle, auf welche während des Zugriffsschritts zugegriffen
wird, gekennzeichnet ist durch eine Vielzahl von Einträgen (C1-CN,F4-FN), wobei jeder
Eintrag der Vielzahl eine getrennte Filtercharakteristik enthält.
5. Verfahren nach Anspruch 4, wobei die getrennten Filtercharakteristiken der Vielzahl
von Einträgen der Nachschlagtabelle getrennte Hochpass-Filtercharakteristiken umfassen,
wobei jede Hochpass-Filtercharakteristik durch eine getrennte Abschneidefrequenz (F1c, F2c, F3c, F4c) gekennzeichnet ist.
6. Verfahren nach Anspruch 4, wobei die getrennten Filtercharakteristiken der Vielzahl
von Einträgen der Nachschlagtabelle getrennte Hochpass-Filtercharakteristiken umfassen,
wobei jede Hochpass-Filtercharakteristik definiert ist durch eine getrennte Kurvensteigung
(F1, F2, F3, F4) der Frequenzantwort.
7. Verfahren nach Anspruch 1, gekennzeichnet durch den weiteren Schritt der weiteren
Inkrementierung eines Zählerwerts, um jeden Rahmen zu zählen, für welchen ein Energiepegel
während des Abschätzschritts abgeschätzt wird.
8. Verfahren nach Anspruch 7, wobei der Schritt des Wählens der Filterschaltung-Filtercharakteristiken
durchgeführt wird wenn der Zählerwert jedes N-te mal inkrementiert wird, wobei N ein
ganzzahliger Wert größer als 1 ist.
9. Vorrichtung (100; 200) zur selektiven Änderung eines Rahmens eines Digitalsignals,
das aus einer Vielzahl von aufeinanderfolgenden Rahmen besteht, wobei das Digitalsignal
repräsentativ ist für ein Audiosignal, das an einem Sender empfangen wird, das Audiosignal
abwechselnd aus einer Sprachkomponente, einer Rauschkomponente und der Sprachkomponente
zusammen mit der Rauschkomponente besteht, wobei die Vorrichtung umfasst:
einen Energiepegel-Abschätzer (210), der angeschlossen ist Anzeichen eines Rahmens
des Digitalsignals zu empfangen, wobei der Energiepegel-Abschätzer dazu dient, einen
Energiepegel des Rahmens des Digitalsignals abzuschätzen;
einen Sprachdetektor (240), der an den Energiepegel-Abschätzer angeschlossen ist,
wobei der Sprachdetektor dazu dient zu Bestimmen, ob der Rahmen des Digitalsignals
eine Sprachkomponente enthält;
einen Rausch-Abschätzer (230), der betreibbar ist, wenn der Sprachdetektor bestimmt,
dass ein Rahmen keine Sprachkomponente enthält, wobei der Rausch-Abschätzer dazu dient,
eine Rauschabschätzung als Funktion einer vorangehenden Rauschabschätzung, und des
durch den Abschätzer abgeschätzten Energiepegels zu aktualisieren;
eine Nachschlagtabelle (Fig. 12), welche eine Vielzahl von Einträgen enthält, wobei
jeder Eintrag Pegel von Rauschabschätzungen anzeigt, und ansprechend auf eine durch
den Rausch-Abschätzer gebildete Rauschabschätzung auf einen Eintrag der Nachschlagtabelle
zugegriffen wird; und
ein Filter (265), das angeschlossen ist den Rahmen der Digitaldaten zu empfangen,
wobei das Filter wählbare Filtercharakteristiken aufweist, die es dem Filter ermöglichen,
eine Frequenzantwortkurve aufzuweisen, die eine veränderliche Verstärkung über unterschiedliche
Frequenzbereiche hat, und die Auswahl der Filtercharakteristiken des Filters bestimmt
wird ansprechend auf den Eintrag der Nachschlagtabelle, auf den ansprechend auf die
von dem Rausch-Abschätzer aktualisierte Rauschabschätzung zugegriffen wird.
10. Vorrichtung (100; 200) nach Anspruch 9, ferner gekennzeichnet durch einen Rauschprofil-Abschätzer
(270) zur Bestimmung einer Rauschprofil-Abschätzung des Rahmens der Digitaldaten,
wenn von der Sprachkomponenten-Bestimmungseinrichtung bestimmt wird, dass der Rahmen
der Digitaldaten keine Sprachkomponente enthält.
1. Procédé pour modifier sélectivement une trame d'un signal numérique formé par une
pluralité de trames successives, le signal numérique étant représentatif d'un signal
audio reçu à un émetteur, le signal audio étant formé soit par une composante de parole,
soit par une composante de bruit, soit par la composante de parole accompagnée de
la composante de bruit, ce procédé comprenant les étapes suivantes :
on estime un niveau d'énergie (505) d'une trame du signal numérique;
en réponse à l'estimation effectuée au cours de l'étape d'estimation, on détermine
(535) si la trame du signal numérique contient une composante de parole;
on actualise une estimation de bruit en fonction d'une estimation de bruit précédente
et du niveau d'énergie estimé au cours de l'étape d'estimation, lorsque l'étape de
détermination détermine que la trame ne contient pas une composante de parole;
on accède (572) à une rubrique dans une table à consulter ayant des caractéristiques
de filtre indexées vis-à-vis de niveaux d'estimations de bruit, la rubrique à laquelle
on accède étant associée à l'estimation de bruit actualisée au cours de l'étape d'actualisation;
on sélectionne (574) des caractéristiques de filtre pour un filtre de façon que le
filtre présente une courbe de réponse en fréquence ayant un gain variable sur différentes
plages de fréquence, la caractéristique de filtre étant sélectionnée en réponse aux
caractéristiques de filtre enregistrées de la rubrique à laquelle on a accédé au cours
de l'étape d'accès; et
on filtre (576) la trame des données numériques avec le filtre qui présente les caractéristiques
de filtre, pour modifier ainsi la trame des données numériques en réponse aux caractéristiques
de filtre.
2. Procédé selon la revendication 1, caractérisé en outre par l'étape intermédiaire supplémentaire
consistant à déterminer (600) une estimation de profil de bruit de la trame du signal
numérique, si la trame des données numériques ne contient pas la composante de parole,
d'après la détermination.
3. Procédé selon la revendication 2, dans lequel l'estimation de profil de bruit déterminée
au cours de l'étape de détermination (600) de l'estimation de profil de bruit est
utilisée au cours de l'étape d'actualisation pour actualiser l'estimation de bruit.
4. Procédé selon la revendication 1, dans lequel la table à consulter à laquelle on accède
au cours de l'étape d'accès est caractérisée par une pluralité de rubriques (C1-CN,
F4-FN), chaque rubrique de la pluralité contenant une caractéristique de filtre séparée.
5. Procédé selon la revendication 4, dans lequel les caractéristiques de filtre séparées
de la pluralité de rubriques de la table à consulter comprennent des caractéristiques
de filtre passe-haut séparées, chaque caractéristique passe-haut étant définie par
une fréquence de coupure séparée (F1c, F2c, F3c, F4c).
6. Procédé selon la revendication 4, dans lequel les caractéristiques de filtre séparées
de la pluralité de rubriques de la table à consulter comprennent des caractéristiques
de filtre passe-haut séparées, chaque caractéristique de filtre passe-haut étant définie
par une pente de courbe de réponse en fréquence séparée (F1, F2, F3, F4).
7. Procédé selon la revendication 1, caractérisé par l'étape supplémentaire consistant
à incrémenter une valeur de compteur pour compter chaque trame pour laquelle un niveau
d'énergie est estimé au cours de l'étape d'estimation.
8. Procédé selon la revendication 7, dans lequel l'étape de sélection des caractéristiques
de filtre du circuit de filtre est effectuée chaque fois que la valeur de compteur
a été incrémentée N fois, N étant une valeur entière supérieure à un.
9. Appareil (100; 200) pour modifier sélectivement une trame d'un signal numérique formé
par une pluralité de trames successives, le signal numérique étant représentatif d'un
signal audio reçu à un émetteur, le signal audio étant formé soit par une composante
de parole, soit par une composante de bruit, soit par la composante de parole accompagnée
de la composante de bruit, cet appareil comprenant :
un estimateur de niveau d'énergie (210) couplé pour recevoir des indications d'une
trame du signal numérique, cet estimateur de niveau d'énergie étant destiné à estimer
un niveau d'énergie de la trame du signal numérique;
un détecteur de parole (240) couplé à l'estimateur de niveau d'énergie, ce détecteur
de parole étant destiné à déterminer si la trame du signal numérique contient une
composante de parole;
un estimateur de bruit (230) pouvant fonctionner lorsque le détecteur de parole détermine
qu'une trame ne contient pas une composante de parole, cet estimateur de bruit étant
destiné à actualiser une estimation de bruit en fonction d'une estimation de bruit
précédente, et du niveau d'énergie estimé par l'estimateur;
une table à consulter (figure 12) contenant une pluralité de rubriques, chaque rubrique
étant indexée vis-à-vis de niveaux d'estimations de bruit, et l'accès à une rubrique
de la table à consulter étant effectué en réponse à une estimation de bruit formée
par l'estimateur de bruit; et
un filtre (265) couplé pour recevoir la trame des données numériques, ce filtre présentant
des caractéristiques de filtre pouvant être sélectionnées, permettant au filtre de
présenter une courbe de réponse en fréquence ayant un gain variable sur différentes
plages de fréquence, la sélection des caractéristiques de filtre du filtre étant déterminée
en réponse à la rubrique de la table à consulter à laquelle on a accédé en réponse
à l'estimation de bruit actualisée par l'estimateur de bruit.
10. Appareil (100; 200) selon la revendication 9, caractérisé en outre par un estimateur
de profil de bruit (270) pour déterminer une estimation de profil de bruit de la trame
des données numériques si le détecteur de composante de parole détermine que la trame
des données numériques ne contient pas la composante de parole.