• Non ci sono risultati.

BY THE CONVOLUTION TECHNIQUE BY THE CONVOLUTION TECHNIQUE

N/A
N/A
Protected

Academic year: 2021

Condividi "BY THE CONVOLUTION TECHNIQUE BY THE CONVOLUTION TECHNIQUE"

Copied!
37
0
0

Testo completo

(1)

EMULATION OF NOT

EMULATION OF NOT - - LINEAR, LINEAR, TIME TIME - - VARIANT DEVICES VARIANT DEVICES

BY THE CONVOLUTION TECHNIQUE BY THE CONVOLUTION TECHNIQUE

Angelo Farina, Enrico Armelloni

Industrial Engineering Dept., University of Parma, Via delle Scienze 181/A Parma, 43100 ITALY – HTTP://pcfarina.eng.unipr.it

(2)

Goals

Goals for for Auralization Auralization

z

Transform the results of objective electroacoustics measurements to audible sound samples suitable for listening tests

z

Traditional auralization is based on linear

convolution: this does not replicates faithfully the nonlinear behaviour of most transducers

z

The new method presented here overcomes to this

strong limitation, providing a simplified treatment

of memory-less distortion

(3)

Auralization

Auralization by by linear linear convolution convolution

Convolving a suitable sound sample with the linear IR, the frequency response and temporal transient effects of the system can be simulated properly

=

(4)

Auralization

Auralization by by linear linear convolution convolution

The beginnings: hardware DSP-based convolution units

Sony DRES-777

Lake Technologies HURON Yamaha SREV-1

(5)

Auralization

Auralization by by linear linear convolution convolution

The AMBIOPHONICS Institute: the home of convolution

Photos taken on 16 december 2002

(6)

Software

Software Convolution Convolution : : BruteFIR BruteFIR and and AlmusVCU AlmusVCU

Open-source software for Linux by Anders Torger – AES 24° Conference

Performance: a fanless (silent) P-IV running at 2.5 GHz was capable of real time convolution of 2 inputs at 44.1 kHz, 24 bits, with 48 impulse responses, each 5s long, driving 24 Genelec loudspeakers (20

satellites + 4 subwoofers), employing 75% of the CPU time

(7)

Auralization

Auralization by by linear linear convolution convolution

Nowadays many sytems or software plugins can perform satisfactorily the Linear Convolution operation, and are widely employed for audio processing

(8)

What What ’ ’ s s missing missing in in linear linear convolution convolution ? ?

z

No harmonic distortion, nor other nonlinear effects are being reproduced.

z

From a perceptual point of view, the sound is judged “cold” and “innatural”

z

A comparative test between a strongly nonlinear

device and an almost linear one does not reveal

any audible difference, because the nonlinear

behavior is removed for both

(9)

Method

Method 1 (IR 1 (IR switching switching ) )

z A very simple idea: a different IR is employed depending on the amplitude of each sample of the signal to be filtered

z The method is quite old: the first published papers are thoss of Bellini and Farina (1988) and Michael Kemp (1999)

z Several impulse responses are measured, employing test signals of different amplitudes, and stored for later usage.

z It is mandatory to implement the convolution as

direct form in time domain, as each sample has

to be processed with a different IR.

(10)

Measurement

Measurement of of multiple multiple IRs IRs

z

Michael Kemp employed a step function,

with several steps of decreasing amplitude

(11)

Misura delle IR multiple Misura delle IR multiple

z

Farina e Bellini did employ a sequence of MLS

repetitions, each with decreasing amplitude

(12)

Implementation

Implementation (Michael J. Kemp) (Michael J. Kemp)

z

Focusrite did release recently Liquid Channel, the first “dynamic convolver”

implementing the IR-switching technique

“The Liquid Channel is a revolutionary professional channel strip that can precisely replicate any classic mic-pre and compressor”

(13)

Implementation

Implementation (Farina/Bellini) (Farina/Bellini)

z A FIR filtering algorithm, with the set of coefficients chosen depending on the sample amplitude, was implemented on a Sharc EZ-KIT 20161 board, and employed for car-audio applications

(14)

Example Example

z The “not linear device” is emulated by the DISTORTION plugin of Adobe Audition, followed by sound playback and simultaneous recording over the loudspeaker and microphone of a laptop PC

(15)

Example Example

z

This is the multiple MLS signals after

being processed through the not-linear

device

(16)

Example Example

z

Here the 16 impulse responses measured with

MLS of different amplitude (decreasing 3dB

each from left to right) are shown

(17)

Audible

Audible evaluation evaluation of of the performance the performance

Original signal Linear convolution

Live recording Non-linear (IR switching)

(18)

Method

Method 2 2 – – Diagonal Diagonal Volterra Volterra Kernels Kernels

z

We start from a measurement of the system based on exponential sine sweep (Farina, 108th AES, Paris 2000)

z

Diagonal Volterra kernels are obtained by post- processing the measurement results

z

These kernels are employed as FIR filters in a

multiple-order convolution process (original

signal, its square, its cube, and so on are

convolved separately and the result is summed)

(19)

Exponential

Exponential sweep sweep measurement measurement

z

The test signal is a sine sweep with constant

amplitude and exponentially-increasing frequency

(20)

Raw Raw response response of of the system the system

Many harmonic orders do appear as colour stripes

(21)

Raw Raw response response of of the system the system

Many harmonic orders do appear as colour stripes

(22)

Deconvolution

Deconvolution of of system system ’ ’ s s impulse impulse response response

The deconvolution is obtained by convolving the raw

response with a suitable inverse filter

(23)

Multiple

Multiple impulse impulse response response obtained obtained

The last peak is the linear impulse response, the preceding ones are the harmonic distortion orders

1st 3rd 2nd

4th

(24)

Multiple

Multiple impulse impulse response response obtained obtained

The last peak is the linear impulse response, the preceding ones are the harmonic distortion orders

1st

2nd 5th 3rd

(25)

Theory

Theory of of nonlinear nonlinear convolution convolution

z

The basic approach is to convolve separately, and then add the result, the linear IR, the second order IR, the third order IR, and so on.

z

Each order IR is convolved with the input signal raised at the corresponding power:

( ) (

i x n i

)

h

( ) (

i x n i

)

h

( ) (

i x n i

)

...

h )

n ( y

1 M

0 i

3 3 1

M 0 i

2 2 1

M 0 i

1 ⋅ − + ⋅ − + ⋅ − +

=

∑ ∑ ∑

=

=

=

The problem is that the required multiple IRs are not the results of the measurements: they are instead the diagonal terms of Volterra kernels

(26)

Volterra

Volterra kernels kernels and and simplification simplification

z

The general Volterra series expansion is defined as:

( ) ( ) ∑ ∑ ( ) ( ) ( )

=

=

= ⋅ − + ⋅ − ⋅ − +

= M 1

0 i

1 M

0 i

2 1

2 1 2 1

M 0 i

1 1

1

1 2

1

i n x i

n x i

, i h i

n x i

h )

n ( y

( ) ( ) ( ) ( )

∑ ∑ ∑

=

=

=

+

⋅ +

M 1

0 i

1 M

0 i

1 M

0 i

3 2

1 3

2 1 3

1 2 3

...

i n

x i

n x i

n x i

, i , i h

This explains also nonlinear effect with memory, as the system output contains also products of previous sample values with different delays

(27)

Memoryless

Memoryless distortion distortion followed followed by by a a linear linear system

system with with memory memory

z The first nonlinear system is assumed to be memory-less, so only the diagonal terms of the Volterra kernels need to be taken into account.

Not-linear system K[x(t)]

Noise n(t)

input x(t)

+

output y(t) linear system

w(t)⊗h(t) distorted signal

w(t)

z Furthermore, we neglect the noise, which is efficiently rejected by the sine sweep measurement method.

(28)

Volterra

Volterra kernels kernels from from the the measurement measurement results results

The measured multiple IRs h’ can be defined as:

[ ] h ' sin [ 2 ] h ' sin [ 3 ] ...

sin '

h )

t (

y =

1

⊗ ω

var

+

2

⊗ ⋅ ω

var

+

3

⊗ ⋅ ω

var

+

We need to relate them to the simplified Volterra kernels h:

[ ] h sin [ ] h sin [ ] ...

sin h

) t (

y =

1

⊗ ω

var

+

2

2

ω

var

+

3

3

ω

var

+

Trigonometry can be used to expand the powers of the sinusoidal terms:

(ωτ)= cos(2ωτ)

2 1 2

sin2 1 (ωτ)= (ωτ) sin(3ωτ)

4 sin 1

4 sin3 3

(ωτ)= ( ωτ)+ cos(4ωτ)

8 2 1

2 cos 1 8 sin4 3

( )ωτ = ( )ωτ ( ωτ)+ sin(5ωτ)

16 3 1

16 sin sin 5

8 sin5 5

(29)

Finding

Finding the connection the connection point point

Going to frequency domain by taking the FFT, the first equation becomes:

[ ] [ ]

X H'

[ ] [ ]

X /2 H'

[ ] [ ]

X /3 ...

' H )

(

Y ω = 1 ω ⋅ ω + 2 ω ⋅ ω + 3 ω ⋅ ω + Doing the same in the second equation, and substituting the trigonometric expressions for power of sines, we get:

[ ] [ ]

[ ] [ ] H X[ ]/5 ...

16 4 1

/ X j 8 H

3 1 / X 16 H

H 5 4 1

2 / X j 2 H

H 1 2 X 1

8 H H 5

4 H 3

) ( Y

5 4

5 3

4 2

5 3

1

+ ω

+ ω

+ ω

⎥⎦

⎢⎣

+

+ ω

⎥⎦

⎢⎣

+

ω

⎥⎦

⎢⎣

+ +

= ω

The terms in square brackets have to be equal to the

corresponding measured transfer functions H’ of the first equation

(30)

Solution Solution

z

Thus we obtain a linear equation system:

[ ]

⎪⎪

=

=

=

+

=

+

+

=

5 5

4 4

5 3

3

4 2

2

5 3

1 1

16 H ' 1

H

8 H j 1 '

H

16 H H 5

4 ' 1

H

H 2 H

j 1 '

H

8 H H 5

4 H 3 '

H

We can easily solve it,

obtaining the required Volterra kernels as a function of the

measured multiple-order IRs:

=

=

=

+

=

+

+

=

5 5

4 4

5 3

3

4 2

2

5 1 3

1

' H 16 H

' H j 8 H

' H 20 '

H 4 H

' H j 8 '

H j 2 H

' H 5 '

H 3 ' H H

(31)

Non Non - - linear linear convolution convolution

As we have got the Volterra kernels already in

frequency domain, we can efficiently use them in a multiple convolution algorithm implemented by

overlap-and-save of the partitioned input signal:

Normal signal input x(t)

x2

output y(t) h1(t)

Squared signal

x3

Cubic signal

x4

Quartic signal

+

h2(t)

+

h3(t)

+

h4(t)

(32)

Software

Software implementation implementation

Although today the algorithm is working off-line (as a mix of manual operations performed with Adobe Audition), a more efficient implementation as a plugin is being worked out:

This will allow for real-time operation even with

a very large number of filter coefficients

(33)

Audible

Audible evaluation evaluation of of the performance the performance

Original signal Linear convolution

Live recording Non-linear multi convolution

These last two were compared in a formalized blind listening test

(34)

Subjective

Subjective listening listening test test

z A/B comparison

z Live recording & non-linear auralization

z 12 selected subjects

z 4 music samples

z 9 questions

z 5-dots horizontal scale

z Simple statistical analysis of the results

z A was the live recording, B was the auralization, but the listener did not know this

95% confidence intervals of the responses

(35)

Conclusion Conclusion

Statistical parameters – more advanced statistical methods would be advisable for getting more significant results

Remarks

- The Audition plugins shown here are freely downloadable from HTTP://www.aurora-plugins.com

- The sound samples employed for the subjective test are available for download at HTTP://pcangelo.eng.unipr.it/public/AES110

Question Number Average score

2.67 * Std. Dev.

1 (identical-different) 1.25 0.76

3 (better timber) 3.45 1.96

5 (more distorted) 2.05 1.34

9 (more pleasant) 3.30 2.16

(36)

Future

Future developments developments

z

In the “IR switching” techniqque it is

posssible to obtain some “memory effect”

employing a fast block convolution

algorithm, instead of processing “sample by sample”.

z

The choice of the lenght of the processing

block has to correspond to the latency to

level variations of the not-time-invariant

device

(37)

Future

Future developments developments

z

In the “diagonal volterra kernels” method, some meory effect can be obtained adding a variable gain control droven by a time

averaging block

z

Also in this case, the choice of the time

constant of the averaging block needs to be

aligned with the latency to level variations

of the not-time-invariant device

Riferimenti

Documenti correlati

THEOREM 4.1 The parallel execution of n operations A[a i ]opA[b i ] can be simulated in a 2-level memory model by using a constant number of Sort and Scan primitives, thus taking

Linear Algebra

The final table, holding the informations to obtain non linear process plans are achieved by the utilization of the two software.. The future development is the

The topic of this work concerns the electromagnetic analysis of periodic devices with finite or infinite dimensions and their combination, by using the hybridization of the Finite

In general the computation of the connection coefficients seems to be a difficult task for at least two reasons: first, the most known (and used) wavelets are not functionally

By employing the auralization technique, it is possible to prepare sound samples for making comparative subjective tests of the sound system of different cars: the sound tracks

By employing the auralization technique, it is possible to prepare sound samples for making comparative subjective tests of the sound system of different cars: the sound tracks

− Azimuth angle θθθθ is the angle formed between the axis X' and the projection of the vector u on the X'Y' plane; it is considered positive if oriented anticlockwise respect the