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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/50—Conversion 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.
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)
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)
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 |
-
1999
- 1999-06-30 FR FR9908526A patent/FR2795890B1/en not_active Expired - Lifetime
-
2000
- 2000-06-27 DE DE2000131219 patent/DE10031219B4/en not_active Expired - Lifetime
- 2000-06-30 GB GB0015946A patent/GB2355352B/en not_active Expired - Lifetime
Patent Citations (1)
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 |