Audio_signals_noise_removal_real_time_system
Audio_signals_noise_removal_real_time_system
net/publication/224155676
CITATIONS READS
3 3,380
1 author:
Sorin Zoican
Telecommunications Department, Faculty of Electronics, Telecommunications and Information Technology, National University for Science and Technology POLITEHNICA Buch…
62 PUBLICATIONS 143 CITATIONS
SEE PROFILE
All content following this page was uploaded by Sorin Zoican on 19 June 2015.
Abstract: This paper presents a real time implementation of a noise decomposition process is shown in figure 1. In this figure, the
removal system for audio signals. This system is based on the symbol ↓2 represents down sampling by 2.
wavelet approach with level dependant threshold that provides a The principle under which the wavelet de-noising approach
useful method for noise elimination in the signals. Experimental operates relies on the fact that for many real life signals, a
results show that this method removes noise significantly and the
system operates in real time.
limited number of wavelet coefficients in the lower bands are
sufficient to reconstruct a good estimate of the original signal.
Keywords: noise, wavelet transform, inverse wavelet transform, Usually these coefficients are relatively large compared to other
coefficient, finite impulse response filter (FIR), digital signal coefficients or to any other signal (especially noise) that has its
processor (DSP), real time. energy spread over a large number of coefficients.
Therefore, by shrinking coefficients smaller than a specific
I. INTRODUCTION value, called threshold, we can nearly eliminate noise while
preserving the important information of the original signal
For audio signals, noise may be introduced by recording The proposed noise removal algorithm is summarized as
medium or transmission medium. Over the last years, there has follows:
been a very great interest for noise removal in such signals. The
approach used in a noise removal system should have two main a) Compute the discrete wavelet transform for noisy signal.
characteristics: eliminates most of the noise components and b) Shrink some detail wavelet coefficients, accordingly with a
works in real time. The wavelet shrinkage method represents a given threshold.
noise removal procedure by shrinking the wavelet coefficients c) Compute the inverse discrete wavelet transform.
below a given threshold in the wavelet domain.
Originally, it was proposed the use of a universal threshold The whole process is shown in the figures 1, 2 and 3.
uniformly throughout the entire wavelet decomposition tree.
Then the use of the wavelet tree was found to be more efficient The shrinkage function functions used is defined as the
[1]. Some methods of selecting thresholds that are adaptive to relation (1):
different spatial characteristics have been proposed and
investigated [2]. In this paper a level dependant threshold is x , | x |≥ T
involved. In such approach, the threshold is computed for each f T ( x, T ) = (1)
level in wavelet decomposition tree. 0 , | x |< T
The paper is organized in several sections. Section II
presents the noise adaptive algorithm, including the wavelet In this paper, level dependent thresholds [2] define by
threshold. The real time system, implemented with a digital relation (2), is used:
signal processor (DSP) – ADSP2181 from Analog Devices – is
illustrated in section III. Experimental results and the
performance evaluation are given in section IV. The conclusion Tk = σ k 2 ln( N k ) (2)
is presented in section V.
where N k is the number of the samples in the level k and
II. THE NOISE REMOVAL ALGORITHM
Median(C k )
σk = (3)
In the wavelet analysis, we deal with coefficients 0.6745
approximations (CA) and coefficients details (CD). The in which Median(C k ) represents the median value of the
approximations are the high-scale, low-frequency components coefficients on the level k.
of the signal. The details are the low-scale, high-frequency The shrinkage process is illustrated in the figure 2.
components. For the discrete wavelet transform, the After the processing of the wavelet coefficients, the
processed components can be assembled back into the enhanced
c( n) = λc( n − 1) + (1 − λ ) | x( n) | (4)
REF
if (c(n) ≠ 0) G ( n) = else G (n) = Gmax
c ( n)
(5)
26
entire data set. Thus, only the segment containing the desired
order statistic is searched and the other is truncated.
Obviously, in order to compute the median value we choose
m = L/2; the complexity of this algorithm is O(L) = 4L
The others operations in relations (2) and (3) will be
performed off line due the fact it involves constant values (for
square and logarithmic operations the coefficients length is
known.
The computational time was computed and it is illustrated
in table 1.
A real-time system must satisfy certain response time
constraints. The response time is defined as the time between
the arrival of input data samples and the output of processed
data samples. The sample-by-sample processing mode requires Table 1
that all operations must be completed within the given sampling Execution time (ms) versus FIR length and numbers of levels
period. The processor must be fast enough to complete all (window length = 512)
processing tasks before the arrival of the next input sample to a) without AGC; b) with AGC module
avoid distortion caused by missing data. A method to reduce the
processing speed requirement is to group a block of data In the table 1, the grayed cells indicate the execution time
samples and perform processing on this block of data as a batch greater than the acquisition time (the sampling period is chosen
[3]. 125 microseconds)
In the block mode, data samples are gathered into an input
buffer of L samples and a whole block of samples are processed IV. THE MAIN RESULTS
after the buffer is full. At the same time, a new block of L
samples are acquired. This approach is known as the switching The noise removal system was simulated using the Visual
buffer technique (see figure 4). DSP++ for ADSP21xx processors [4, 5] and was implemented
on evaluation board EZ-KIT-LITE ADSP219x (Analog
Devices) [6]. In order to evaluate the results MATLAB
simulations of the same system has been conducted. Using both
types of results we have compared the fixed point (that is,
ADSP 219x implementation) with the floating point results. The
main results are illustrated in figures 5 to 9.
Two experiments were been conducted. The first one
evaluates the reconstructed signal for fixed or floating point
arithmetic considering the input signal noise free.
We can observe the effect of finite precision (in the
Figure 4. The switching buffer technique figure5); the reconstructed signal is truncated due the
saturations of the outputs affected by arithmetic overflow).
Therefore, more time is available for the processor to Using the inputs scaling this phenomenon is avoided as is
process signal. However, the disadvantages of using block shown in figure 7. The automatic scaling may be obtained using
processing are: the AGC module described in section III.
1. Four memory buffers of length L are required for holding The reconstructed signal obtained in fixed point
input and output data samples with the double-buffering representation and floating point representation is very similar,
method. as we can see in figures 6 and 7.
2. A delay of 2LTs is incurred in block processing, where Ts is The experiment considers the noise added with the input
the sampling period signal. The signal noise ratio is 10 dB. The figures 8 and 9 show
3. More complicated programming is needed to manage the the results of noised input simulations.
switching between buffers.
For a real time implementation, the following condition
must be fulfilled: Tc ≤ LTs , where Tc is the computational time
and LT s represents the acquisition time for L samples ( Ts is the
sampling period)
27
Figure 5. Noise free input signal (fixed point implementation- Figure 8. . Noised input signal (floating point implementation)
non scaled)
VI. REFERENCES
28