GB2359970A - Digital signal processing - Google Patents

Digital signal processing Download PDF

Info

Publication number
GB2359970A
GB2359970A GB0004828A GB0004828A GB2359970A GB 2359970 A GB2359970 A GB 2359970A GB 0004828 A GB0004828 A GB 0004828A GB 0004828 A GB0004828 A GB 0004828A GB 2359970 A GB2359970 A GB 2359970A
Authority
GB
United Kingdom
Prior art keywords
signal
samples
peak value
digital signal
equation
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.)
Withdrawn
Application number
GB0004828A
Other versions
GB0004828D0 (en
Inventor
Laurence Kelvin Griffiths
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.)
Sony Europe Ltd
Original Assignee
Sony United Kingdom Ltd
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 Sony United Kingdom Ltd filed Critical Sony United Kingdom Ltd
Priority to GB0004828A priority Critical patent/GB2359970A/en
Publication of GB0004828D0 publication Critical patent/GB0004828D0/en
Publication of GB2359970A publication Critical patent/GB2359970A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03GCONTROL OF AMPLIFICATION
    • H03G3/00Gain control in amplifiers or frequency changers without distortion of the input signal
    • H03G3/20Automatic control
    • H03G3/30Automatic control in amplifiers having semiconductor devices
    • H03G3/34Muting amplifier when no signal is present or when only weak signals are present, or caused by the presence of noise signals, e.g. squelch systems
    • H03G3/348Muting in response to a mechanical action or to power supply variations, e.g. during tuning; Click removal circuits

Description

2359970 1 DIGITAL SIGNAL PROCESSING This invention relates to the
processing of digital signals.
In many modem audio digital signal processing devices, such as digital audio mixing consoles and editing devices, signal processing operations which had previously been carried out in the analogue domain are now performed on sampled digital signals.
An example of this is the "dynamics" section of a digital audio mixing console. Dynamics processing refers to a family of processing techniques generally having a non-linear effect on the audio signal (compared with the substantially linear techniques of simple gain adjustment and additive mixing). In general, effects classified as "dynamics" tend to have a distorting effect on the sound represented by the audio signal, albeit often a pleasing or useful distortion. For example, the gain applied to an audio signal might be non-linearly adjusted so that the audio signal has a substantially constant level - alleviating the level variations which might result as a performer moves towards and away from a microphone. An alternative example arrangement is a limiter which ensures that a digital signal does not contain values beyond an allowed maximum by varying a gain applied to the signal in response to a detection of the peak value of the signal.
Here, the transition from analogue to digital processing techniques has allowed many new types of dynamics processing to be introduced. Also, in the example of a gain variation, an expensive analogue multiplier is replaced by a cheaper and more accurate digital multiplier. However, digital processing has also brought some new problems which were not present with previous analogue systems.
Consider, for example, a dynamics processor which relies on the detection of the peak level of an audio signal. Figure 1 of the accompanying drawings schematically illustrates such a processor in which an input digital audio signal (for example, a digital audio signal sampled at a 48 kHz sampling rate to 16 bit resolution) is supplied in parallel to a multiplier 10 and to a processing chain 20.
The processing chain 20 comprises a peak (or envelope) detector 30, a logarithmic (linear to decibel) converter 40, a dynamics processing element 50, a control circuit 60, and a logarithmic (decibel to linear) converter 70.
2 The output of the logarithmic converter 70 is supplied as a second multiplicand to the multiplier 10, to be multiplied by sample values of the input digital audio signal. In this way, the output of the processing chain 20 provides a gain control for the input digital audio signal.
The dynamics processing element 50 operates in the logarithmic domain, i. e.
it receive's envelope values and generates gain control values in decibels rather than as linear measures. This is so that the time constants, control values and other constants used by the dynamics processing element relate to a decibel law directly, which in turn makes the implementation of the dynamics processing element more simple and intuitive.
The-gain control value output by the dynamics processing element 50 is then converted to a linear control value by the logarithmic converter 70 and supplied as a multiplicand to the multiplier 10.
In a discrete sampled system the peak value of the signal cannot be detected accurately by the envelope detector 30 simply evaluating the peak magnitude of successive sample. Sampling theory dictates that the actual representation of any sampled waveform is available only after suitable band-limiting filtering to remove components above the Nyquist frequency.
This problem is illustrated schematically in Figures 2a and 2b of the accompanying drawings. These Figures show the magnitude of a 12 kHz audio signal, synchronised with sampling points (vertical lines) of a 48 kHz sampling rate.
Time is represented along a horizontal axis.
In Figure 2a, the phase of the 12 kHz signal is such that peaks of that signal coincide with sampling points, so that a peak detector would detect the amplitude of the 12 kHz signal.
However, in Figure 2b, an otherwise similar 12 kHz signal is out of phase with the sampling frequency by 4Y. In this case the maximum level of each sample (as detected by the simple peak detector mentioned above) will not be greater than cos(45') or 0.707 of the amplitude of the 12 kHz signal. Therefore, the simple peak detector can potentially introduce an error of up to MB depending on the relative phase of the sampled signal with respect to the sampling frequency.
In practice, significant errors of this type would occur where the signal is at 3 or near integer divisions of the sample rate. In a real signal there is no synchronisation between the signal and the sampling rate, so this effect will manifest itself in aliasing errors, where the envelope (peak) detection is modulated by the difference between the sampled signal and the closest integer division of the sampling rate.
For example, if the signal frequency is 12.1 kHz with a sampling frequency of 48 kHz, there will be a 30% modulation of the detected envelope value by a 100 Hz signal - a modulation which is very hard to filter out because of its low frequency.
This kind of modulation, being permanently present, can cause very significant (and unwanted) distortion in dynamics processing. The situation may be improved by the use of large time constants, but this would make it impossible to achieve a fast response from the dynamics processor. Alternatively a large hysteresis in the dynamics processing controlled by the peak detection could be used, but this would lead to potentially large gain errors in the resulting processing.
GB-A-2 310 984 discloses the use of an oversampler to oversample the input digital audio signal to derive intermediate sample values at temporal positions between successive samples of the input digital audio signal. The envelope detector detects an envelope signal in response to instantaneous peak sample values of the "real" and the intermediate samples. A signal processor then applies a processing operation to the samples of the input digital audio signal in response to the detected envelope signal. In other words, the oversampled signal is used just for peak detection; the actual signal chain does not involve a stage of oversampling.
While this has proved to be a useful technique in very expensive professional equipment, in equipment aimed at a lower level of the market it has been found that the use of oversampling filters just for peak detection is too complicated and costly a solution.
This invention provides digital signal processing apparatus operable to detect signal peaks in a sampled input digital signal having samples representing signal values at temporally successive sample points, the apparatus comprising:
a sample processor for fitting a curve equation from a predetermined class of curve equations to each of successive groups of samples of the input digital signal; a peak detector for detecting a peak value of the fitted equation; and 4 a range detector for detecting whether the peak value of the fitted equation lies within the temporal range of the current group of samples of the input signal and, if so, for outputting the peak value of the equation as representing a peak value of the input signal.
The invention recognises that although the problems described above could be alleviated by simply increasing the sampling rate of the whole system in which the dynamics processor is used, this would dramatically increase the overall costs of generating and using digital signals. Therefore, the invention addresses the aliasing problems described above by fitting a curve equation from a predetermined family of such equations, such as the family of quadratic equations, to a group of samples of the signaL The much more straightforward task of detecting a peak value of the fitted equation can then be carried out analytically. If the detected peak is within the temporal extent of the group of samples, the fit can be considered a useful one and the peak value of the fitted curve can be output as the peak value of the input signal.
The term "peak" may of course refer to peak excursions of either polarity, i.e. signal maxima or minima, but in preferred embodiments only signal peaks of a signal polarity, preferably signal maxima, are output by the apparatus.
Further aspects and features of the invention are defined in the appended claims.
Embodiments of the invention will now be described by way of example only with reference to the accompanying drawings in which:
Figure 1 is a schematic diagram of a dynamics processor; Figures 2a and 2b are schematic diagrams illustrating potential aliasing problems; Figures 3a and 3b schematically illustrate the application of a peak detection process according to an embodiment of the invention; Figure 4 is a schematic flowchart of the peak detection process; and Figure 5 schematically illustrates apparatus arranged to carry out the peak detection process.
The embodiments to be described below are suitable for use in an apparatus such as that shown in Figure 1, and in particular may replace the function shown as the peak detector 30 in Figure 1. The remainder of Figure 1 can be used unaltered.
As mentioned above, the general principal of the technique described here is that a curve equation from a predetermined family of curves, in this case quadratic curve equations, is fitted to a group of samples of the input digital signal. Figures 3a and 3b schematically illustrate this process with respect to an example signal represented by the sample value on a vertical axis and time (sample points) along a horizontal axis. The process steps to be followed are schematically illustrated in the flowchart of Figure 4.
In this example, the quadratic equation is fitted to three adjacent samples, forming a contiguous group.
In Figure 3a, three sample points are selected (step 200, Figure 4) to form a contiguous group, namely points 100, 110 and 120. A curve 130 is fitted to the three points using conventional curve-fitting algorithms (step 210, Figure 4). Here, a quadratic function has been used for ease of explanation and implementation, but other known curve-fitting algorithms may be used such as higher order polynomials or expansions such as Fourier series.
The quadratic equation fitted to the group of samples has the general form:
y = ax 2 + bx + c The peak (maximum or minimum) value of the variable y is found by differentiating the quadratic equation and setting the first derivative equal to zero:
A = 2ax + b = 0 at max or min dx gives a simple equation for the value of x, namely xpeak, at the peak value of y:
-b X Pe' 2a This value of Xpeak can be compared with the extent of the group of samples to which the quadratic equation was fitted (step 220, Figure 4). If xp,,, k lies within that temporal extent 140 (or 190 in Figure 3b) then the peak value of the quadratic equation is validly used as a representation of the peak value of the sampled digital signal (step 230, Figure 4). Substituting the value of xpeak into the original quadratic equation gives:
6 b 2 b 2 Ypeak - + c = c 4a 2a b 2 4a So, the value of x peak is found for the fitted curve 130, and is detected to be outside of the temporal extent 140 of the group of three samples. The peak sample value of the curve, Y peak is therefore not used and the process instead repeats for the next successive group of samples (in this case, samples 110, 120 and 150) and so on.
Figure 3b shows a curve 160 fitted to a group of three sample points 150, 170 and 180. Calculations are carried out on the fitted quadratic equation as described above and it is determined that the peak value 175 of the curve 160 lies at a value on the horizontal axis x peak falling within the temporal extent 190 of the group of three sample points 150, 170 and 180. The peak sample value y peak, of the curve 160 is therefore calculated and used as a representation of the peak of the envelope of the sample points.
The process then repeats for the next successive group of three sample points and so on. Each of the successive sample groups is displaced by one sample with respect to the preceding group.
To implement the scheme it is necessary to determine the coefficients a, b and c which describe the parabola. For efficiency the resulting expressions should be substituted for the coefficients to give the peak position, xp,ak, and peak value Yp,ak directly in terms of the sample values, and these expressions should be simplified as far as possible.
The expressions become most simple when the input samples occur evenly spaced in time. In that case, if y-1, yo and y, are three successive samples, then:
XO - (Y1 - Y-1) t 2 (y-l + Y1 - 2y where t is the inter-sample time and xo is the position of the middle sample, yo.
In most digital systems a division operation is much more time-consuming than an addition, substraction or multiplication and so is to be avoided if possible. The condition that xpeak lies within the range of the three samples can be expressed as:
This calculation can be performed without the need for any division operations. The value of Ypeak (when needed) can then be obtained by:
7 abs ( 2 (y-l + y, - 2yo)) > abs ( y, - y-1) (y-l - y1)2 Yp,ak "" YO (y-l + y, - 2y) If the division is particularly inconvenient then it can be approximated as the second term is always much smaller than yo.
The detected peak value may be latched as an output until a next peak value is detected.
Figure 5 schematically illustrates apparatus arranged to carry out the peak detection process. Samples are passed through a shift register 300 at the sample clock rate. When three adjacent samples are present in the register 300, they are read out and processed by a parabola 1 peak detector 310 which, under the control of a system controller 320, fits a parabola to the three samples and carries out the peak detection steps listed above. The output of the detector 310 is a peak signal, representing the value Of Ypeak, and an enable signal indicating whether the detected peak value is valid (i.e. if the peak lay within the temporal extent of the three samples in the register 300).
In some empirical trials of prototype embodiments of the invention, it has been found that the process described above, while elegantly simple to implement, can introduce a peak detection error of between about 0.5 and about 1 dB (decibel). If this is found to be the case, then the error can be taken into account in the remainder of the signal processing using the peak detection output. For example, if the peak detector feeds a limiter (e.g. in the general form of Figure 1), then the system can be set to limit at detected peak values 1 dB below the theoretical limit so as to avoid a signal overshoot if an error of this type occurs.
A further preferred feature is to include a hysteresis in the response of the system. This can avoid an over-reaction to a transient peak detected to be higher than the true peak of the signal. So, the system can be set up, for example, so that the maximum change in detected peak value between adjacent sample groups is limited to a certain quantity. This is shown in Figure 5, where an optional memory 330 stores the preceding value of the detected peak which is compared by the detector 3 10 8 to the currently detected peak value. If the difference is greater than a threshold 340, then the change in peak value is limited to the threshold amount. Once the current peak value has been settled by this process, it is stored in the memory 330 for use as the "previous" value in the next calculation.
In further preferred embodiments the system is arranged so as to output peaks of only one polarity - e.g. peaks representing signal maxima. This can easily be achieved by detecting the sign of the second derivative d2y/dX2 of the fitted curve equation.
The embodiments described above may be implemented as for example hardware, software running on a general purpose data process apparatus, an application specific integrated circuit, field programmable gate array or the like, or a combination of the above. Where part or all of the implementation involves software, it will be appreciated that the software itself and a storage medium by which the software is stored are also to be considered as embodiments of the invention.
9

Claims (10)

1. Digital signal processing apparatus operable to detect signal peaks in a sampled input digital signal having samples representing signal values at temporally successive sample points, the apparatus comprising: a sample processor for fitting a curve equation from a predetermined class of curve equations to each of successive groups of samples of the input digital signal; a peak detector for detecting a peak value of the fitted equation; and a range detector for detecting whether the peak value of the fitted equation lies within the temporal range of the current group of samples of the input signal and, if so, for outputting the peak value of the equation as representing a peak value of the input signal.
2. Apparatus according to claim 1, comprising a signal processor for applying a processing operation to the samples of the input digital signal in response to the detected peak value.
3. Apparatus according to claim 1 or claim 2, in which the groups of samples of the input digital signal are contiguous groups of samples.
4. Apparatus according to any one of claims 1 to 3, in which the adjacent groups of the successive groups of samples are relatively displaced by one sample of the input signal.
5. Apparatus according to any one of the preceding claims, in which the predetermined class of equations comprises the class of quadratic equations.
6. Apparatus according to any one of the preceding claims, in which the input digital signal is a digital audio signal.
7. Digital signal processing apparatus substantially as hereinbefore described with reference to Figures 3 to 5 of the accompanying drawings.
8. A method of detecting signal peaks in a sampled input digital signal having samples representing signal values at temporally successive sample points, the method comprising the steps of:
fitting a curve equation from a predetermined class of curve equations to each of successive groups of samples of the input digital signal; detecting a peak value of the fitted equation; and detecting whether the peak value of the fitted equation lies within the temporal range of the current group of samples of the input signal and, if so, outputting the peak value of the equation as representing a peak value of the input signal.
9. A method of digital signal processing, the method being substantially as hereinbefore described with reference to Figures 3 to 5 of the accompanying drawings.
10. Computer software having program code for carrying out a method according to claim 8 or claim 9.
A storage medium by which software according to claim 10 is stored.
GB0004828A 2000-02-29 2000-02-29 Digital signal processing Withdrawn GB2359970A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0004828A GB2359970A (en) 2000-02-29 2000-02-29 Digital signal processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0004828A GB2359970A (en) 2000-02-29 2000-02-29 Digital signal processing

Publications (2)

Publication Number Publication Date
GB0004828D0 GB0004828D0 (en) 2000-04-19
GB2359970A true GB2359970A (en) 2001-09-05

Family

ID=9886658

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0004828A Withdrawn GB2359970A (en) 2000-02-29 2000-02-29 Digital signal processing

Country Status (1)

Country Link
GB (1) GB2359970A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2310984A (en) * 1996-03-08 1997-09-10 Sony Uk Ltd Digital audio processing
US5793704A (en) * 1996-12-13 1998-08-11 Solid Scientific Research And Development Ltd. Method and device for ultrasonic ranging
US5922033A (en) * 1996-11-27 1999-07-13 Milford; Richard I. Earth chord determination in a satellite at low spin rates

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2310984A (en) * 1996-03-08 1997-09-10 Sony Uk Ltd Digital audio processing
US5922033A (en) * 1996-11-27 1999-07-13 Milford; Richard I. Earth chord determination in a satellite at low spin rates
US5793704A (en) * 1996-12-13 1998-08-11 Solid Scientific Research And Development Ltd. Method and device for ultrasonic ranging

Also Published As

Publication number Publication date
GB0004828D0 (en) 2000-04-19

Similar Documents

Publication Publication Date Title
RU2234115C2 (en) Method for automatic gain setting in control circuits and apparatus for performing the same
WO1995028766A1 (en) Impulsive noise cancellation method and apparatus for low sample rate data
CN106576088A (en) Crest factor reduction
GB2162408A (en) Circuit arrangement for detecting interference pulses
US6725169B2 (en) Methods and apparatus for automatic gain control
US5923767A (en) Digital audio processing
JP2681105B2 (en) Method of generating periodic waveform
KR20040014724A (en) Apparatus and method for detecting frequency characterization
US11385076B2 (en) Sensor circuit and method for filtering a sensor signal
EP0774176B1 (en) Filter, repetitive control system and learning control system both provided with such filter
GB2359970A (en) Digital signal processing
JPH07153009A (en) Method and apparatus for detection of peak of signal
KR20060073484A (en) Three-channel state-variable compressor circuit
GB2310984A (en) Digital audio processing
CN107038437B (en) Filter passband width adjusting method and system
CA1263474A (en) Digital level detecting circuit
US4351032A (en) Frequency sensing circuit
US6611854B1 (en) System and method for distorting a signal
JP2006502631A (en) Method for determining the envelope of a modulated signal
JPH09258780A (en) Digital voice processing system
JPH06164277A (en) Signal processor
US5513267A (en) Signal strength adapter circuit
EP0741477A1 (en) Digital phase filter
JP3475064B2 (en) Distortion correction device and distortion correction method
JP2681956B2 (en) Envelope detection method for digital signal processor

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)