Welcome to Scribd. Sign in or start your free trial to enjoy unlimited e-books, audiobooks & documents.Find out more
Download
Standard view
Full view
of .
Look up keyword
Like this
1Activity
0 of .
Results for:
No results containing your search query
P. 1
Fast Mellin Transform

Fast Mellin Transform

Ratings: (0)|Views: 12|Likes:

More info:

Published by: Vemula Jagadish Babu on Aug 28, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

08/28/2012

pdf

text

original

 
Proc. of the 7 
th
 Int. Conference on Digital Audio Effects (DAFx’04), Naples, Italy, October 5-8, 2004
A FAST MELLIN TRANSFORM WITH APPLICATIONS IN DAFX
 Antonio De Sena and Davide Rocchesso
Dipartimento di Informatica, Universit`a di Verona
ABSTRACT
Many digital audio effects rely on transformations performed intheFourier-transformed(frequency)domain. However, othertrans-forms and domains exist and could be exploited. We propose touse the Mellin transform for a class of sound transformations. Wepresent a fast implementation of the Mellin transform (more pre-cisely a Fast Scale Transform), and we provide some examples onhow it could be used in digital audio effects.
1. INTRODUCTION
Fast realizations of the Discrete Fourier Transform are widely usedin order to produce audio signal transformations by operating inthe transformed (frequency) domain [1]. These realizations areused as if they were approximations of an underlying continuous-time Fourier Transform, and the transformations rely on propertiessuch as the magnitude invariance to time shifts, the relative audi-tory unimportance of phase for stationary signals, and the interpre-tation of spikes in the transformed domain as periodic componentsin the time domain [2,3]. Many other transforms with different properties have been de-vised in order to make certain operations easier or certain featuresmore easily visible. Among these, the Mellin Transform, and itsrestricted version called the Scale Transform, can represent a sig-nal in terms of 
scale
. The scale can be interpreted, similarly tofrequency, as a physical attribute of signals [4]. Thus, we can con-ceive digital audio effects that work by handling the signal in thescale domain, with transformation of the magnitude and/or phaseof the Mellin image. This is technically feasible as long as fast andaccurate realizations of these transforms are available.Other useful applications can be done using the Mellin trans-form. For example Patterson and Irino [5] have proposed to use aparticular bidimensional version of this transform for vowel nor-malization.Digitalaudioeffects, suchastime/pitchscaling, usingtheMellintransform and the phase vocoder were previously proposed [6], butthe realization relied on non-uniform sampling or re-sampling, andno considerations on the speed, accuracy, and feasibility of theseoperations were given. In image processing, effects such as local-ized denoising have been proposed as based on the scale (Mellin)transform [7]. Since the Mellin transform can be interpreted as aFourier transform working on logarithmic time, it relies on warp-ing the time axis. Effects based on time and frequency warping,using the Fast Fourier Transform (
FFT
) or dispersive delay lines,were presented in [8].In
S
ection2we briefly introduce the Mellin and scale trans-forms, and we provide an interpretation of the transform and itsrelation with the Fourier transform. Section3shows how a fastdiscrete version of the scale transform is implemented, using expo-nential resampling and the
FFT
algorithm. Section4presents somedigital audio effects obtained by transformations in the Mellin do-main.
2. THE SCALE AND MELLIN TRANSFORMS
The Mellin transform of a function
is defined as:
(
 p
) =
 
0
(
t
)
t
p
1
d
t ,
(1)where
p
C
is the Mellin parameter. The scale transform is aparticular restriction of the Mellin transform on the vertical line
 p
=
 jc
+
12
, with
c
R
. Thus, the scale transform is defined as:
D
(
c
) =1
√ 
2
π
 
0
(
t
) e
(
jc
12
)ln
t
d
t.
(2)The scale inverse transform is given by
(
t
) =1
√ 
2
π
 
−∞
D
(
c
) e
(
jc
12
)ln
t
d
c.
(3)The key property of the scale transform is the scale invariance.This means that if 
is a function and
g
is a scaled version of 
,the transform magnitude of both functions is the same. A scalemodification is a compression or expansion of the time axis of theoriginal function that preserves the signal energy. Thus, a function
g
(
t
)
can be obtained with a scale modification from a function
(
t
)
, if 
g
(
t
) =
√ 
αf 
(
αt
)
, with
α
R
+
. When
α <
1
we get ascale expansion, when
α >
1
we get a scale compression. Givena scale modification with parameter
α
, the scale transforms of theoriginal and scaled signals are related by
D
g
(
c
) =
α
jc
D
(
c
)
.
(4)This property derives from a similar property of the Mellin trans-form. In fact, if 
h
(
t
) =
(
αt
)
, then
h
(
 p
) =
α
p
(
 p
)
.
(5)In both (4) and (5), scaling is reflected by a multiplicative factor for the transforms, and for(4) such factor reduces to a pure phaseshift.
2.1. The scale transform interpretation
A parallel can be drawn between the properties of the Fourier andscale transforms. In particular, we can define a
scale periodicity
asfollows: a function
(
t
)
is said to be scale periodic with period
τ 
if it satisfies
(
t
) =
√ 
τ 
(
t
τ 
)
, where
τ 
=
b/a
, with
a
and
b
period starting point and period ending point respectively (see
Fi
g-ure1).
0
= 2
π/
ln
τ 
is the “fundamental scale” associated withthe periodic function. By analogy with the Fourier theory, we canDAFX-1
 
65 65
 
Proc. of the 7 
th
 Int. Conference on Digital Audio Effects (DAFx’04), Naples, Italy, October 5-8, 2004
define a “scale series” and Parseval theorem. Very important is the“exponential sampling theorem”[9]that, like the Shannon theo-rem, allows a perfect reconstruction of a scale-band limited signalfrom its samples. These samples must be distributed exponentiallyin time according to
p
k
=
τ 
ks
, with
k
Z
,
τ 
s
= e
π/C 
m
, and
m
the signal maximum scale.
Figure 1:
Scale-periodic extension of a base signal defined between
a
= 1
sand 
b
= 4
s
2.2. Relation with the Fourier transform
From its definition and interpretation, the Mellin transform pro-vides a tight correspondence with the Fourier transform. Moreprecisely, the Mellin transform with the parameter
 p
=
 jc
can beinterpreted as a logarithmic-time Fourier transform. Similarly, wecan define the scale transform of a function
(
t
)
using the Fouriertransformof afunction
g
(
t
)
, with
g
(
t
)
obtainedfrom
(
t
)
bytime-warping
and multiplying the result by an exponential function.This result can be generalized for any
p
defined as
p
=
 jc
+
β 
,with
β 
R
.
3. THE FAST MELLIN TRANSFORM
Practical modifications of signals in the Mellin domain can beachieved only if an accurate and fast discrete realization of theMellin transform is available. In[10], an algorithm based on theextraction of the analytic signal was proposed, and it is now avail-able for both
matlab
and
scilab
1
.However, such realizationrequires the specification of a lower and upper frequency bounds,its complexity appears to be quadratic in the number of samples,and it displays strong side lobes in the scale domain (see
Fi
gure4).We realized a Fast Mellin Transform (
FMT
) by exploiting theanalogy between the Mellin and Fourier transforms, as a sequenceofexponentialtime-warping, multiplicationbyanexponential, andFast Fourier Transform, as represented in
Fi
gure2.The Mellin transform with parameter
p
=
 jc
+
β 
(with
β 
R
) of 
(
t
)
is identical to the Fourier transform of 
e
(e
t
)
:
D
[
(
t
)] =
[e
(e
t
)]
,
(6)
1
Figure 2:
Implementation of the Fast Mellin Transform
where
[
·
]
and
D
[
·
]
refer to the Fourier transform and scale trans-form, respectively. The Fourier transform is commonly computedin time
O
(
log
)
on
samples, by means of the
FFT
. Whilethe multiplication by an exponential is trivially done in
O
(
)
,we must find an algorithm for performing the exponential time-warping. This last problem can be seen as an exponential samplingof the continuous time signal. Generally we have only a uniformly(Shannon) sampled signal, thus the problem can be seen as re-sampling a discrete-time sequence, and this can be solved usinginterpolation. In theory, we should use a
sinc
interpolator (basedon Shannon sampling theory), but the overall complexity turns outto be too high. However, we can approximate this interpolatorby means of a natural cubic spline, and have the linear complex-ity associated with resolution of a tridiagonal matrix. Using thisinterpolator we can resample the original function obtaining anexponentially-sampled version.The parameters needed by the resampling process are the ex-ponentialsamplingstep
τ 
s
andthenumberofexponentialsamples
exp
. If the original signal has been uniformly sampled by taking
n
samples with time step
s
starting
2
at time
s
, we can show that
τ 
s
= 1 + 1
/n
and
exp
n
ln
n
. Figure3shows an exampleof distribution of exponential samples derived from a sequence of uniform samples.Thealgorithmhasanasymptoticcomplexitythatdependsonlyon the
FFT
, as this is the most (computationally) complex partof the entire process (the spline interpolation block is linear in
exp
and the exponential multiplication block is also linear). Theasymptotic complexity of the entire process is
O
(
exp
ln
exp
)
or, in terms of the number
n
of uniform samples,
O
(
n
ln
2
n
)
.The accuracy of the Fast Mellin Transform in providing anapproximation to the continuous-time Mellin transform is good.
2
If the signal starts at an arbitrary point
a >
0
we can “scale-shift” thesignal using the equation
(
t
) =
σ
β
(
σt
)
, where
a
is the original startingpoint,
σ
=
a/T 
s
and
(
t
)
is the scale-shifted signal.
DAFX-2
 
66 66
 
Proc. of the 7 
th
 Int. Conference on Digital Audio Effects (DAFx’04), Naples, Italy, October 5-8, 2004
Figure 3:
Uniform sampling and (critical) exponential resampling
Fo
r e
xample
, Fi
gure4provide
s a c
ompariso
n of t
h
e m
agnitudeof the
FMT
with the theoretical continuous-time Mellin transformand with the realization proposed in [10]. In this example we’veworked with a step function signal created using
128
samples, asampling frequency of 
8000
Hz 
and setting the firsts
50
samplesto
1
and the others to
0
.
Figure 4:
Scale transform (magnitude) of a step function: continuous-time transform (solid) and its approximations with the realizations by [10](dashed) and by the authors (dashdotted)
4. DIGITAL AUDIO EFFECTS IN MELLIN (SCALE)DOMAIN
In this
S
ection we show how to realize some digital audio effectsusing the scale domain.
4.1. Time scaling in Mellin domain
A straightforward yet useful effect is time compression or expan-sion with signal energy preservation. For two signals that are onethe scaled copy (with factor
α
) of the other, the scale transformshave the same magnitude, and a difference in the phase. Let
(
t
)
and
g
(
t
)
be those two signals, with
g
(
t
) =
√ 
αf 
(
αt
)
and
α
R
+
.Using the fact that
D
g
(
c
) =
α
jc
D
(
c
)
we can obtain
g
(
t
)
from
(
t
)
by applying the scale transform to
(
t
)
, adding the linearcontribution
c
ln
α
to the the phase, and anti-transforming the re-sult. Some care has to be taken in the choice of 
α
: if it is too highthe signal that we get from scale-compression will have frequencycomponents that can cause aliasing. Conversely, if 
α
is too low,we may end up cropping the signal in time.Figure5shows a signal and its time-compressed version, ob-tained by adding a linear offset to the phase of the scale trans-form (6)
. W
hat
is d
epicte
d in Fi
gur
e5is e
ssentiall
y a r
e
sampling.
Figure 5:
Original audio signal and a scaled version (Scaled factor 
α
= 2
)obtained using the
FMT
.
Figure 6:
Signal phase and modified signal phase.
 
If the added phase contribution is not linear, then we
canachieve simultaneous resampling and time warping. As comparedto other resampling methods, such as the windowed-
sinc
interpo-lation [11]implemented in
octave
or
matlab
, using the scaleDAFX-3
 
67 67

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->