0% found this document useful (0 votes)
2 views

Audio_signals_noise_removal_real_time_system

This paper presents a real-time noise removal system for audio signals using a wavelet approach with level-dependent thresholds. The system effectively eliminates noise while preserving important signal information and operates in real time with a fixed-point digital signal processor. Experimental results demonstrate that the implementation achieves performance comparable to theoretical simulations, provided the input signal is appropriately scaled and the system parameters are optimized.

Uploaded by

ANIME Bangladesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Audio_signals_noise_removal_real_time_system

This paper presents a real-time noise removal system for audio signals using a wavelet approach with level-dependent thresholds. The system effectively eliminates noise while preserving important signal information and operates in real time with a fixed-point digital signal processor. Experimental results demonstrate that the implementation achieves performance comparable to theoretical simulations, provided the input signal is appropriately scaled and the system parameters are optimized.

Uploaded by

ANIME Bangladesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/224155676

Audio signals noise removal real time system

Conference Paper · July 2010


DOI: 10.1109/ICCOMM.2010.5509098 · Source: IEEE Xplore

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.

The user has requested enhancement of the downloaded file.


Audio Signals Noise Removal Real Time System
Sorin Zoican, Ph.D.

POLITEHNICA University of Bucharest


[email protected]

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

978-1-4244-6363-3/10/$26.00 c 2010 IEEE 25


signal. This is called reconstruction. The reconstruction process In order to maintain the input signal in a range that avoid
is shown in figure 3. In this figure, the symbol ↑2 represents up the arithmetic overflows (illustrated in figure 5 from next
sampling by 2. section), software automatic gain control (AGC) has been
implemented. The AGC algorithm is illustrated by the following
relations:

c( n) = λc( n − 1) + (1 − λ ) | x( n) | (4)
REF
if (c(n) ≠ 0) G ( n) = else G (n) = Gmax
c ( n)
(5)

Figure 1. The decomposition system if (G (n) ≤ Gmin ) G (n) = Gmin (6)

where G min = 0.01 , G max = 100 and REF is the desired


amplitude of the input signal.
In order to achieve a good resolution of the gain, all the
computation for AGC will be perform using assembler
functions that emulates the floating point representation. Of
course, if the input signal amplitude is small enough, the AGC
software module may be unused. However, the computation
time for AGC is less than a milliseconds and it does not increase
significantly the total computation time.
The noise reduction system has the following
computational modules: decomposition filters (DFIR), threshold
Figure 2. The threshold computing block computing and reconstruction filters (RFIR). These blocks
operate on the samples within a window with length L.
For filtering we will use the assembler routines from Visual
DSP ++ integrated development environment: fir_decima () and
fir_interp().
The threshold computing module uses the quick sort
method in order to compute the median value (see relation (2).
To sort L distinct items residing in the array A[1 .. L], the
quick sort first chooses an element called the pivot and moves it
to its correct and final position, say p. This is achieved by
Figure 3. The reconstruction system comparing the pivot to all the remaining L − 1 items. A certain
number of moves and exchanges are consumed in the process,
In the figures 1 and 3, the blocks noted LD, HD, LR and too. While pinning down a position for the pivot, the rest of the
HR represent low pass (L) or high pass (H) finite impulse data is categorized into two groups. Those keys that are less
response filters (FIR) for decomposition (D) and reconstruction than the pivot are moved to positions lower than p, and those
(R) blocks. that are greater or equal are moved to positions higher than p.
After this partitioning stage, quick sort then twice invokes itself
III. THE REAL TIME SYSTEM recursively on A[1 .. p− 1] and A[p + 1.. L].
The adaptation of quick sort to deliver a certain order
This section describes how the noise removal can be statistic m (the mth smallest data item) is straightforward. Once
implemented using a fixed point digital signal processor (e.g. the pivot’s position p is determined, we know whether m < p,
Analog Devices, ADSP219x). Some precautions should be m = p, or m >p. If m = p, the algorithm declares the pivot (now
taking into consideration, in order to avoid the problems due to residing at position p) as the required mth order statistic and
the finite length of the processor registers. The following issues terminates its recursion. If m is not equal with p the algorithm
will be considered: input scaling, using the assembler functions chooses one side: if m < p the algorithm recursively seeks the
(or the C callable functions from the C library) and the overall mth order statistic in A[1 .. p − 1], and if m > p, the algorithm
execution time. seeks the (m−p)th order statistic among the elements of A[p+1..
n]. This (m−p)th element is of, course, ranked mth among the

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)

Figure 9. Noised input signal (fixed point implementation)


Figure 6. . Noise free input signal (floating point
implementation) V. CONCLUSION

The paper presents a real time system for noise removal


from audio signals and evaluates the feasibility of such
implementation. The experiments show that a real time
implementation (using a fixed point DSP) is possible if the input
signal is scaled, the FIR length is about 50 and the numbers of
levels is about 4. The performance of real time system is similar
with the theoretical performance obtained by MATLAB
simulations.

VI. REFERENCES

[1] D.L.Donoho, “Denoising and soft thresholding,”


IEEE.transactions.information.Theory,VOL.41,PP.613-627,1995.
[2] Yasser Ghanbari, Mohammad Reza Karami-Mollaei, “A new approach for
speech enhancement based on the adaptive thresholding of the wavelet packets”,
Figure 7. Noise free input signal (fixed point implementation- Speech Communication 48 (2006) 927–940
[3] Woon-Seng Gan, Sen M. Kuo, “Embedded Signal Processing with the Micro
scaled) Signal Architecture”, John Wiley & Sons, Inc., 2007
[4] Analog Devices, ADSP219x Software Manual
[5] Analog Devices, Visual DSP++ for ADP21xx Processors
[6] EZ-KIT LITE – ADSP219x Evaluation Board Manual

28

View publication stats

You might also like