GB2355352A - Digital amplitude compression of analog signals in which the time difference between a current value and adjacent maxima is used to calculate a correction - Google Patents

Digital amplitude compression of analog signals in which the time difference between a current value and adjacent maxima is used to calculate a correction Download PDF

Info

Publication number
GB2355352A
GB2355352A GB0015946A GB0015946A GB2355352A GB 2355352 A GB2355352 A GB 2355352A GB 0015946 A GB0015946 A GB 0015946A GB 0015946 A GB0015946 A GB 0015946A GB 2355352 A GB2355352 A GB 2355352A
Authority
GB
United Kingdom
Prior art keywords
sample
maximum
current sample
value
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB0015946A
Other versions
GB2355352B (en
GB0015946D0 (en
Inventor
Fernando Romao
Philippe Neau
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sagem SA
Original Assignee
Sagem SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sagem SA filed Critical Sagem SA
Publication of GB0015946D0 publication Critical patent/GB0015946D0/en
Publication of GB2355352A publication Critical patent/GB2355352A/en
Application granted granted Critical
Publication of GB2355352B publication Critical patent/GB2355352B/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/50Conversion to or from non-linear codes, e.g. companding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Nonlinear Science (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

A method of driving a power amplifier to prevent saturation is described in which digital amplitude compression precedes the amplifier. Maximum values 205,206 which are greater than a threshold S are detected. For a current sample 207 two correction values are computed taking into account the temporal position with respect to the maximum values. The closer the current sample is to a maximum the greater the correction. The greatest value is used. This allows amplitude compression while maintaining the output waveform close to the original. The invention may be used in mobile telephony and hands-free kit.

Description

2355352 METHOD FOR THE COMPRESSION OF A DIGITAL SIGNAL An object of the
present invention is a method for the compression of a digital signal. The field of the invention is mobile telephony and hands-free kits, or any other application in which it is necessary to acoustically diffuse a signal whose peaks may saturate a power amplifier. The aim of the invention is to increase the comfort of use of the mobile telephone by attenuating the loud vocal outbursts of a speaking partner that may cause crackling due to saturation of a power amplifier.
In the prior art, a mobile receives a radioelectric voice signal through an aerial. This signal is demodulated and then digitized, converted into an analog voice signal and then finally diffused. In the context of the use of a hands-free function, the vocal analog signal is amplified by a power amplifier before it is diffused by a loudspeaker. The mean power that is admissible by this loudspeaker without distortion is 200 milliwatts.
During a conversation, vocal outbursts may occur. These vocal outbursts cause an increase in the output dynamic range of the power amplifier of 20 dB. The amplifier therefore works in saturation during these voice outbursts. This gives rise to crackling and other disagreeable noises in the loudspeaker.
The obvious solution to these disagreeable noises is to size the power amplifier in such a way that it can allow these signal peaks. However, this would lead to an increase in cost, space requirement and power consumption of a mobile telephone. This is not acceptable.
The invention resolves the problems by keeping a power amplifier of about 200 milliwatts and using a method to eliminate sudden jumps in amplitude of the voice signal in the voice data digital signal. A corrective factor is applied to each sample of the digital voice signal. This corrective factor depends on the value of the sample, on a threshold not to be exceeded so as not to saturate the power amplifier and on neighboring samples. Thus, distortion is limited and the disagreeable noises are eliminated.
An object of the invention therefore is a method for the compression of a digital signal in which:
- the signal is analyzed on a temporal window comprising N samples of the signal, - the new value of a current sample is computed from the results of this analysis, characterized in that:
- a search is made for local maximum values of amplitudes M1, M2, 5..., Mn of the signal greater than an amplitude threshold S in the window and these maximum values are memorized, - a factor is determined, and/or a shift, to be applied to the value of the current sample as a function of its time lag from the maximum values found, - the factor or the shift is applied to the current sample so that the maximum values of the resulting signal do not exceed the threshold S.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention will be understood more clearly from the following description and the appended figures. These figures are given purely by way of an indication and in no way restrict the scope of the invention. Of these figures:
- Figure 1 shows an original signal and a processed signal in a temporal window containing a maximum value; - Figure 2 shows a view of an original signal and the corresponding processed signal in a temporal window containing two maximum values; - Figure 3 shows a functional view of the elements of a mobile telephone useful for the implementation of the method according to the invention; - Figure 4 illustrates steps of the method according to the invention.
MORE DETAILED DESCRIPTION
Figure 1 shows a graph 100 with the time scale on the X-axis and the amplitudes of a voice signal on the Y-axis. The graph 100 shows a curve 101 of the amplitudes of the voice signal before processing by a method according to the invention and the curve 102 of the amplitudes of the curve 101 processed by the method according to the invention. In a temporal window demarcated by the instants 103 (t,) and 104 02), the curve 102 has a maximum value 105 of amplitude M1. This maximum value is considered to be such because it is above an amplitude threshold S 106. A sample 107 being processed is considered. This sample 107 has an amplitude E below M1 and the sample 107 is not a maximum value of the curve 101. Once processed, the sample 107 will have an amplitude E'. When it is the turn of 3 the sample 105 having a maximum amplitude M, to be processed, this sample will be processed so that it has an amplitude corrected by the value S so as not to saturate a power amplifier whose maximum admissible level of the signal before saturation is S. The samples 105 and 107 are separated by a period 109 (dj). This means that the sample 105 and the sample 107 are not corrected at the same value. Indeed, the sample 105 corresponds to the maximum. It is therefore this sample that is the most corrected. Since the sample 107 is distant from the maximum sample 105, it will be less corrected. This means that M, - S is greater than E - E'. The correction made in the sample E will be all the greater as the distance d, is small. If the duration d, is long enough, the sample E will not be corrected owing to the presence of the maximum value 105.
Figure 2 shows a graph with the time scale on the X-axis and a scale of amplitude of samples on the Y-axis. The graph shows a curve 201 of amplitudes of a voice signal before the processing by the method according to the invention. The graph also shows a curve 202 of the amplitudes of the same voice signal after processing by the method according to the invention.
The curve 201, in a temporal window demarcated by the instants 203 (tj) and 204 02), shows two samples having maximum amplitudes. A first sample 205 has an amplitude M, and a second sample 206 has an amplitude M2 The amplitude M2 is higher than the amplitude M,. We shall consider the current sample 207 located in the temporal window between the samples 205 and 206. The sample 207 has an amplitude E smaller than M, and the sample 207 is not a maximum. To compute the new value E'of the sample 207, the correction considered is the correction that would be implied on the sample 207 by the sample 206 if it were alone and the correction that would be implied by the sample 205 on the sample 207 if it were alone. It is only the greater of the two corrections that is chosen. In the present case, the greatest correction is the one due to the sample 206. Indeed, M2 is greater than M, and the temporal distance 208 (d2) between the samples 207 and 206 is not great enough for it to be possible, before the sample 205, to overlook the corrections due to the sample 206 on the sample 207.
In this example of Figure 2, it is observed that the corrected value of the samples 205 is smaller than the amplitude S of the threshold. This means that the correction made by the sample 206 on the sample 205 was 4 higher than that made by the sample 205 on itself. Thus, the need to have all the maximum values of one and the same window corrected to the threshold is avoided along with the need to have a completely smooth signal that no longer corresponds at all to the original signal.
Figure 3 shows an aerial 301 followed by a digitizing chain 302 delivering a digitized signal 303. The aerial 301 receives RF signals from a base station for example. The digitized signal 303 consists of samples.
Each sample has a value representing its amplitude in the signal. The samples corresponding to a temporal window 304 are stored in a memory 305. The memory 305 is managed like a stack, namely the first sample that is stored therein is the first sample to go out. To each sample in the memory 305, there corresponds a number 306 from 1 to N where N is the number of samples, a value 307 representing the amplitude of the sample, and a number 308 represents the temporal distance between this sample and the following maximum value. The number 308 of a sample corresponds to the number that must be added to the number 306 of this sample to arrive at the number 306 of a sample being a maximum. This makes it possible to identify the maximum values in the memory 305. A sample is a maximum number if the number 308 of the sample that precedes it is equal to 1. Thus, by reading the number 308 of the first sample of the memory, it is possible to arrive at the first maximum of the memory. Then by reading the number 308 of the first maximum of the memory, the second maximum of the memory 305 is arrived at, and so on and so forth. The values 307 and the distances 308 are updated as and when the samples enter and come out of the memory 305.
Figure 3 also shows a microprocessor 306, a memory 307 and a digital-analog converter 308. The memory 305 and the elements 306 to 308 are connected to each other by a bus 309. The analog output of the digital converter is connected to a power amplifier 310 whose output is connected to a loudspeaker 311. The memory 307 contains the program needed by the microprocessor 306 to perform the method according to the invention.
The sample for which the new value is computed is located in the middle of the window 304. Indeed, to compute this new value, it is necessary to know the samples surrounding the sample for which the new value is calculated. For, if the edge of the window 304 is taken for the current sample, then a part of the information is not known. Once processed by the microprocessor 306, the current sample is transmitted to the digital analog converter 308 in order to be diffused acoustically by the loudspeaker 311 after amplification by the amplifier 310. Thus, between the start of the temporal window and the middle of the temporal window corresponding to the current sample, there is a period At of delay. This perio forms a delay between the arrival of the information corresponding to the sample at the aerial 301 and the diffusion of this information by the loudspeaker 311. It is necessary to find a compromise between this delay, the quantity of memory available and the quality of the treatment desired. In practice, a temporal window lasting 10 milliseconds is used. Hence, the delay is 5 milliseconds.
This delay is therefore not disturbing for the user and the information thus stored enables satisfactory processing. The results are still satisfactory if it is assumed that there is a temporal window whose duration may vary from 5 milliseconds to 20 milliseconds.
Figure 4 shows a preliminary step 401 of searching for maximum values. With the memory structure 305 described, the search for maximum values can be done as and when the samples enter the memory 305. Al denotes the value of the sample that enters the memory, A2 is the value of the previous sample that has just entered the memory,., AN the value of the last sample of the memory. If Al is greater than A2, A2 is not a maximum. If Al is smaller than A2, A2 is compared with A3. If A2 is greater than A3, A2 is a maximum. If A2 is not greater than A3, A2 is not a maximum. When Al enters the memory, it is therefore possible to say if A2 is a maximum or not. If A2 is a maximum, the distance between Al and the next maximum is equal to 1. If A2 is not a maximum, the distance between Al and the next maximum is equal to the distance between A2 and the next maximum plus 1. If the distance between Al and the next maximum is greater than N, it means that there is no maximum in the temporal window.
To avert the effects of exceeding the dynamic range, the distance between a sample and the maximum value closest to N+1 is limited. If a distance equal to N+2 is obtained for the incoming sample, then this distance is made to be equal to N+1. Indeed, it is enough to signify that there is no maximum in the temporal window. Before setting up the communication, all the values of the samples of the memory have been set at zero and the distance from the first 6 sample of the memory to the following maximum is equal to N+1. This means that there is no maximum in the memory.
For the detection of the maximum, if the case where A2 is equal to A3 arises, then A3 is compared to A4. And so on and so forth, in establishing a maximum temporal distance as a stage. For example, taking ten samples, if the samples A2 to A9 are equal, then it is considered that A2 is a maximum.
This procedure of detecting a maximum is done only if Al and A2 are greater than S, i.e. if it is necessary to perform a processing operation on the samples with an amplitude Al and A2.
The operation then goes into a phase 402 of initializing the correction factor. The value of this factor is initialized at F = 1.
The operation then goes to a step 403 in which it is ascertained that there is at least one maximum in the temporal window. In order that there may be a maximum in the temporal window, it is enough that the distance between the first sample and the next maximum should be different from N+1. Otherwise there is no maximum in the temporal window. If there is no maximum in the temporal window, there is a direct passage to the step 408 for computing the new value of the current sample. This new value E' is obtained by multiplying the value E of the current sample by the correction factor F. In this case, the sample is not modified since F = 1. It will therefore be transmitted as such by the digital-analog converter and then diffused by the loudspeaker.
If there is a maximum in the temporal window, the operation goes to a step 404 of computing the best correction factor to be applied to the sample.
In the step 404, the mean of the maximum values of the temporal window is computed. Once this mean value is computed, the operation passes to the step 405 for computing the correction factor F.
F is equal to the ratio R of S to the mean that has just been computed, multiplied by a factor that is a function of the distance of the current sample and the distance between this sample and the nearest maximum.
Let fd be the factor of correction of the ratio R of the value S of the threshold to the mean M as a function of the distance between the current sample and the nearest maximum. Then Fd is an increasing function of the distance. When the distance between the current sample and the closest maximum is zero, Fd equals 1. Thus the maximum correction is made to the 7 sample. When the distance between the current sample and the nearest maximum is great, Fd equals 1/4. Thus the correction made is non-existent.
In practice, if we consider a curve with the distances on the X-axis and the factor Fd on the Y-axis, then a straight line can be plotted between the points with coordinates (0; 1) and (Dmax: 1/R). In this straight line, Dmax shows the maximum distance at which it is desired that a maximum of the temporal window should act. The equation of this straight line is then:
L (X) = M/S_1 x + 1, for Jx]! Dmax Dmax fd(x) = 1 / R, for JxJ > Dmax and then, it is assumed that F is the product of fd by R and Fd is the value of fd for x equal to the temporal distance from the current sample to the nearest maximum value. The operation passes to the step 408 for computing the new value of the current sample.
The method that has just been described corrects the samples with respect to the mean of the maximum values of the temporal window. This means that certain maximum values of the temporal window will be corrected below the threshold while others will be corrected above it. The general shape of the signal is preserved but a few distortions remain. However, the value of this method lies in the fact that it requires little computation. In one variant of the invention, the steps 404 to 407 are replaced by steps 414 to 417.
In a step 414, the factor of correction of the current sample with respect to the first maximum of the temporal window is computed. This computation is done in the same way as for the correction with respect to the mean except that, in the ratio R, the mean is replaced by the value of the maximum considered. Thus, a temporary correction factor Ft is obtained.
The operation passes to a step 415.
In a step 415, the factor Ft is compared with the factor F. If the factor Ft is higher than F, then the operation passes to a step 416. In the step 416, all that is done is to assign the value of Ft to F. Then, the operation passes to a step 417 to determine whether there are still maximum values remaining in the temporal window. If there are maximum values remaining, the operation goes back to the step 414. If not, it goes to the step 408 for computing a new value of the sample.
8 The course taken by the maximum value is simple. Indeed, it is enough, from the first sample of the memory, to add the distance between this sample and the next maximum to the index of the sample to reach the next maximum. To find out if the current sample is a maximum value, it is enough to find out if the sample preceding this value in the memory has a distance from the maximum sample that is at most equal to 1. If so, it means that the current sample is a maximum value.
In the step 408, the operation goes to the next step 410. This step corresponds to the input of a new sample in the memory, hence the output of the sample N of the memory. Then, the operation starts again at 401.
In practice, to prevent edge effects, it is assumed that the first and last sample of the temporal window are maximum values if their values are greater than the value S of the threshold.
9

Claims (11)

1. Method for the compression of a digital signal in which:
- the signal is analyzed (401-405) on a temporal window (304) comprising N samples of the signal, 5 - the new value of a current sample EC is computed (408) from the results of this analysis, characterized in that: a search (401) is made for local maximum values of amplitudes M1, M2,..., Mn of the signal greater than an amplitude threshold S (106) in the window and these maximum values are memorized, - a factor is determined (405), and/or a shift, to be applied to the value of the current sample as a function of its time lag from the maximum values found, - the factor or the shift is applied (408) to the current sample so that the maximum values of the resulting signal do not exceed the threshold S.
2. Method according to claim 1, characterized in that the signal to be compressed is a voice signal before amplification by a power amplifier (310) in means (306-311) for the implementation of a hands-free function for a mobile telephone.
3. Method according to one of the claims I or 2, characterized in that it is provided that the current sample (105, 207) is in the middle of the window.
4. Method according to one of the claims 1 to 3, characterized in that, to evaluate the time lag between two samples El (207) and E2 (206), the number of samples between El and E2 is counted.
5. Method according to one of the claims I to 4, characterized in that to compute the correction to be applied to the current sample EC:
- the mean Moy of the amplitudes of the memorized local maximum values is computed (404), - a ratio R = S/Moy is computed, - for each memorized maximum Mi, there is computed a factor Fd that is a function of R and of a time lag di between EC and Mi in the window, - a value Fmax is chosen that is the greatest among the values of Fd, - there is computed a new value E' of the current sample EC, which is a function of Fmax and of E, the initial value of the sample EC, giving E'= Fmax x E.
6. Method according to one of the claims 1 to 4, characterized in that to compute the correction to be applied to the current sample EC:
- for each memorized local maximum amplitude Mi, a ratio Ri = S/Mi is computed, - for each ratio RI, there is computed (414) a factor Fi that is a function of Ri and of a time lag di between EC and Mi in the window, giving Fi fi(di)xRi, - a value Fmax is chosen (415-417) that is the greatest among the Fi, - a new value E' is chosen of the current sample EC as a function of Fmax and of E, the initial value of the current sample EC, giving E'= Fmax x E.
7. Method according to one of the claims 5 or 6, characterized in that the function fi(x) is increasing for x > 0.
8. Method according to one of the claims 5 to 7, characterized in that the following is used:
fi W = MIS - 1 x + 1, for IxI:5 Dmax Dmax fi(x) = 1IRi, for IxI > Dmax where Dmax is a maximum time lag at which a local maximum value produces an effect.
9. Method according to one of the claims 1 to 8, characterized in that the temporal window lasts about 10 milliseconds.
10. Method according to one of the claims 1 to 9, characterized in that the samples of the temporal window are stored in a memory (307).
11. Method substantially as hereinbefore described with reference to the drawings.
GB0015946A 1999-06-30 2000-06-30 Method for the compression of a digital signal Expired - Lifetime GB2355352B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9908526A FR2795890B1 (en) 1999-06-30 1999-06-30 METHOD FOR COMPRESSING A DIGITAL SIGNAL

Publications (3)

Publication Number Publication Date
GB0015946D0 GB0015946D0 (en) 2000-08-23
GB2355352A true GB2355352A (en) 2001-04-18
GB2355352B GB2355352B (en) 2004-03-10

Family

ID=9547622

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0015946A Expired - Lifetime GB2355352B (en) 1999-06-30 2000-06-30 Method for the compression of a digital signal

Country Status (3)

Country Link
DE (1) DE10031219B4 (en)
FR (1) FR2795890B1 (en)
GB (1) GB2355352B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530767A (en) * 1993-12-28 1996-06-25 Nec Corporation Reception volume limiting circuit

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2179810B (en) * 1983-09-21 1987-10-21 British Broadcasting Corp Dynamic range control of a signal
JPS6386910A (en) * 1986-09-30 1988-04-18 Toshiba Corp Dynamic range compressing circuit
US5241689A (en) * 1990-12-07 1993-08-31 Ericsson Ge Mobile Communications Inc. Digital signal processor audio compression in an RF base station system
US5471651A (en) * 1991-03-20 1995-11-28 British Broadcasting Corporation Method and system for compressing the dynamic range of audio signals

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530767A (en) * 1993-12-28 1996-06-25 Nec Corporation Reception volume limiting circuit

Also Published As

Publication number Publication date
FR2795890B1 (en) 2001-09-14
GB2355352B (en) 2004-03-10
GB0015946D0 (en) 2000-08-23
DE10031219A1 (en) 2001-04-19
DE10031219B4 (en) 2008-09-18
FR2795890A1 (en) 2001-01-05

Similar Documents

Publication Publication Date Title
US4628526A (en) Method and system for matching the sound output of a loudspeaker to the ambient noise level
KR0166947B1 (en) Noise suppression apparatus
EP1312162B1 (en) Voice enhancement system
US6785381B2 (en) Telephone having improved hands free operation audio quality and method of operation thereof
US6411928B2 (en) Apparatus and method for recognizing voice with reduced sensitivity to ambient noise
KR900009193B1 (en) Automatic gain control in a digital signal processor
US4426727A (en) FM Noise reducing circuit
US6094481A (en) Telephone having automatic gain control means
KR20000005187A (en) Method for automatically adjusting audio response for improved intelligibility
KR960701427A (en) A noise reduction system and apparatus, a noise reduction system and a mobile radio station,
JPH09321559A (en) Automatic gain control circuit
US6760435B1 (en) Method and apparatus for network speech enhancement
CN100433610C (en) Wrieless signal receiving device and wireless signal receiving method
US8630427B2 (en) Telecommunications terminal and method of operation of the terminal
AU714455B2 (en) A hands-free communication unit having residual acoustic echo suppression means for suppressing residual echoes which have been left unremoved by an echo canceller, a bilateral communication system and a method for suppressing residual echoes
US20090010452A1 (en) Adaptive noise gate and method
US5787165A (en) Handsfree radiotelephone having dynamic path attenuation control for echo suppression
US20050124310A1 (en) Receiver
CN1142711A (en) Recceiver for extending dynamic range of received signal strength indicator for use in cellular communication system
GB2355352A (en) Digital amplitude compression of analog signals in which the time difference between a current value and adjacent maxima is used to calculate a correction
JPH11281732A (en) Saturation prevention circuit
EP4156711A1 (en) Audio device with dual beamforming
JP2848285B2 (en) Echo canceller circuit
JPH0746069A (en) Sound reproduction device
JP3447484B2 (en) Communication portable terminal and its noise reduction system

Legal Events

Date Code Title Description
AT Applications terminated before publication under section 16(1)
732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)

Free format text: REGISTERED BETWEEN 20120426 AND 20120502

732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)

Free format text: REGISTERED BETWEEN 20120503 AND 20120509

732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)

Free format text: REGISTERED BETWEEN 20180920 AND 20180926

PE20 Patent expired after termination of 20 years

Expiry date: 20200629