2
Application of the MATLAB ITA-Toolbox: Laboratory Course on Cross-talk Cancellation Pascal Dietrich, Bruno Masiero, Roman Scharrer, Markus M¨ uller-Trapet, Martin Pollow, Michael Vorl¨ ander Institute of Technical Acoustics, RWTH Aachen University, Neustraße 50, 52056 Aachen, Email: [email protected] Introduction We offer a laboratory course for students in the Mas- ter’s program where students step into 11 different acous- tical fields. Data acquisition and post-processing in most courses is realized using the ITA-Toolbox . It of- fers functionality for a wide range of acoustic measure- ment and signal processing tasks. Students have access to the source code enabling them to follow, comprehend and even modify parts of the signal processing chain. Since MATLAB code does not require compilation, the ITA-Toolbox is a very comfortable framework to provide students with scripts missing important parts, e.g. for crosstalk cancellation filters, Kundt’s tube and sound iso- lation. Students must first complete the codes for data processing, gaining a broader knowledge about the sub- ject under study, to then use it for the tasks required in the courses. In this paper the content and preparation of the course is presented along with the MATLAB-based solution. The acceptance as well as the problems will be shortly dicussed. Laboratory – CTC Cross-talk cancellation is a technique used e.g. in the CAVE-like environment at RWTH Aachen University to reproduce binaural signals to a user of the virtual reality framework. Coming from this practical application some simplifications and modifications have been applied to make this task also suitable for students in their Mas- ter‘s program. In this three hour practical course stu- mono signal HRTF playback CTC Measurement playback HRTF [H matrix] s(t) s(t) Figure 1: Block diagram of transfer function measurements with dummy head and reproduction of binaural signals using the CTC technique. dents can design their own loudspeaker-based binaural reproduction system. The task starts with understand- ing the concepts of binaural hearing, by measuring a set of HRTFs and finally designing their own crosstalk can- cellation filters. At the end, their results are tested by listening to filtered binaural signals. First the transfer function from the two loudspeakers are measured with a dummy head including the response of the room. These results are post-processed and used in the CTC filter gen- eration. The signal chain is illustrated in Figure 2. From a signal processing point of view, time-windowing of im- pulse responses as well as regularization techniques for inversion are of special interest. About ITA-Toolbox The ITA-Toolbox is being developed at the Institute of Technical Acoustics in Aachen since 2008. It contains a set of functions for specific, mostly acoustic-oriented, tasks all using a uniform object for audio data and meta data. MATLAB’s object-oriented programming is used to provide an easy and simple way of working with recorded or simulated data. Most of the kernel functions can be freely edited, allowing the students—not only in this course—to follow the underlying calculus. Like most MATLAB toolboxes its strength lies in functions, which can be called with various options. This allows begin- ners to use functions with default settings as well as ex- perts to tweak e.g. signal processing parameters. These command-line-style functions are enhanced by a uniform GUI frontend. Operators are overloaded to allow e.g. the multiplication is realized by a multiplication in fre- quency domain, i.e. a convolution in time domain. An overview of the toolbox concept is given in Figure 2. The kernel on the left side is developed by the authors and runs stand-alone without the applications shown on the right side. The applications are a collection of scripts and special routines using the toolbox kernel functional- ity. In this laboratory course this kernel is used, along with some MATLAB functions missing the important so- lution which the student have to find. Script Example Measured and windowed impulse responses from the left and right loudspeaker to the left and right ear of the dummy head are available in the variables HLL, HLR, HRL and HRR as itaAudio-Objects. The solution for the CTC filter generation is shown below. %% ***** CTC filter generation ***** beta = 1e6; %regularization factor % [a b; c d] = H'.H + beta * I a = HLL * conj(HLL) + HLR * conj(HLR) + beta; b = HRL * conj(HLL) + HRR * conj(HLR); c = HLL * conj(HRL) + HLR * conj(HRR); d = HRL * conj(HRL) + HRR * conj(HRR) + beta; determinant = a * d b * c; % [LL RL; LR RR] = inv(H'.H +beta) H' CTC LL = (d * conj(HLL) b * conj(HRL))/determinant; DAGA 2011 - Düsseldorf 471

Pascal Dietrich, Bruno Masiero, Roman Scharrer,ita-toolbox.org/publications/ITA-Toolbox_paper2.pdf · Tutorial Dem os, test routines SVN Plots/GUI Tim e/Frequency ... Artem iS, Sysnoise,

  • Upload
    lamhanh

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

Application of the MATLAB ITA-Toolbox:

Laboratory Course on Cross-talk Cancellation

Pascal Dietrich, Bruno Masiero, Roman Scharrer,Markus Muller-Trapet, Martin Pollow, Michael Vorlander

Institute of Technical Acoustics, RWTH Aachen University, Neustraße 50, 52056 Aachen, Email: [email protected]

Introduction

We offer a laboratory course for students in the Mas-ter’s program where students step into 11 different acous-tical fields. Data acquisition and post-processing inmost courses is realized using the ITA-Toolbox . It of-fers functionality for a wide range of acoustic measure-ment and signal processing tasks. Students have accessto the source code enabling them to follow, comprehendand even modify parts of the signal processing chain.Since MATLAB code does not require compilation, theITA-Toolbox is a very comfortable framework to providestudents with scripts missing important parts, e.g. forcrosstalk cancellation filters, Kundt’s tube and sound iso-lation. Students must first complete the codes for dataprocessing, gaining a broader knowledge about the sub-ject under study, to then use it for the tasks required inthe courses. In this paper the content and preparation ofthe course is presented along with the MATLAB-basedsolution. The acceptance as well as the problems will beshortly dicussed.

Laboratory – CTC

Cross-talk cancellation is a technique used e.g. in theCAVE-like environment at RWTH Aachen University toreproduce binaural signals to a user of the virtual realityframework. Coming from this practical application somesimplifications and modifications have been applied tomake this task also suitable for students in their Mas-ter‘s program. In this three hour practical course stu-

mono signal HRTF playbackCTC

Measurement playback HRTF

[H matrix]

s(t)

s(t)

Figure 1: Block diagram of transfer function measurementswith dummy head and reproduction of binaural signals usingthe CTC technique.

dents can design their own loudspeaker-based binauralreproduction system. The task starts with understand-ing the concepts of binaural hearing, by measuring a setof HRTFs and finally designing their own crosstalk can-cellation filters. At the end, their results are tested bylistening to filtered binaural signals. First the transferfunction from the two loudspeakers are measured with adummy head including the response of the room. These

results are post-processed and used in the CTC filter gen-eration. The signal chain is illustrated in Figure 2. Froma signal processing point of view, time-windowing of im-pulse responses as well as regularization techniques forinversion are of special interest.

About ITA-Toolbox

The ITA-Toolbox is being developed at the Institute ofTechnical Acoustics in Aachen since 2008. It containsa set of functions for specific, mostly acoustic-oriented,tasks all using a uniform object for audio data and metadata. MATLAB’s object-oriented programming is usedto provide an easy and simple way of working withrecorded or simulated data. Most of the kernel functionscan be freely edited, allowing the students—not only inthis course—to follow the underlying calculus. Like mostMATLAB toolboxes its strength lies in functions, whichcan be called with various options. This allows begin-ners to use functions with default settings as well as ex-perts to tweak e.g. signal processing parameters. Thesecommand-line-style functions are enhanced by a uniformGUI frontend. Operators are overloaded to allow e.g.the multiplication is realized by a multiplication in fre-quency domain, i.e. a convolution in time domain. Anoverview of the toolbox concept is given in Figure 2. Thekernel on the left side is developed by the authors andruns stand-alone without the applications shown on theright side. The applications are a collection of scriptsand special routines using the toolbox kernel functional-ity. In this laboratory course this kernel is used, alongwith some MATLAB functions missing the important so-lution which the student have to find.

Script Example

Measured and windowed impulse responses from the leftand right loudspeaker to the left and right ear of thedummy head are available in the variables HLL, HLR,HRL and HRR as itaAudio-Objects. The solution forthe CTC filter generation is shown below.%% ***** CTC filter generation *****

beta = 1e−6; %regularization factor

% [a b; c d] = H'.H + beta*I

a = HLL*conj(HLL) + HLR*conj(HLR) + beta;

b = HRL*conj(HLL) + HRR*conj(HLR);

c = HLL*conj(HRL) + HLR*conj(HRR);

d = HRL*conj(HRL) + HRR*conj(HRR) + beta;

determinant = a*d − b*c;

% [LL RL; LR RR] = inv(H'.H +beta) H'

CTC LL = (d*conj(HLL) − b*conj(HRL))/determinant;

DAGA 2011 - Düsseldorf

471

Laboratory

Laboratory

ClassesOperatorsUnits

Kernel

www.akustik.rwth-aachen.de/toolbox

devel

oper

Knowledge

Documentationin-line help/PDF

TutorialDemos, test routines

SVN

Plots/GUI

Time/FrequencyBalloon–DirectivityGeometry/MeshParametric GUIGLE (export)

DSP

ConvolutionFiltering/WindowingLevels dB(A)/dB(C)TransformationsSTFT/cepstrum/hilbert

LoudspeakerTools

Data IO

PortAudio/PortMediaAcoustic Measurement

MIDI, RS232Turntable/Arm, X-Y-Bench, Measurement Hardware

Im-/Export

Measurement/SimulationLMS Virtual Lab, BK Pulse, ArtemiS, Sysnoise, MonkeyForest, ANSYSUniversal File Format, ASCII

LaboratoryTo be completed by students:Sound Power Kundt’s Tube (3-mics)Filter Design

Applications

CTC Lab

HRTF KnowledgeMeasurementDeconvolutionTime-WindowingInvertationFiltering

BinauralProcessing

Psychoacoustics

Non-linearModels

Listening Tests

Sound FieldClassification

RoomAcoustics

MeasurementCalibration

RadiationAnalysis

(O)TPA/BTPAand TPS

NumericalFEM/BEM

Spherical Harmonics

Scattering

Figure 2: Structural overview of the ITA-Toolbox and its functionality, divided into kernel section (functions maintained bydevelopers) and user section with applications (using the basic functionality provided, thus leading to an intuitive scripting ona high abstraction layer).

CTC LR = (a*conj(HRL) − c*conj(HLL))/determinant;

CTC RL = (d*conj(HLR) − b*conj(HRR))/determinant;

CTC RR = (a*conj(HRR) − c*conj(HLR))/determinant;

In order to continuously filter a binaural signal for repre-sentation with this loudspeaker setup, the solution is thefollowing.

%% ***** CTC filtering *****

outL = inL*CTC LL + inR*CTC RL;

outR = inL*CTC LR + inR*CTC RR;

The theoretical result in terms of achievable channel sep-aration can be easily calculated and also plotted.

%% ***** Test Channel Separation *****

LL = HLL*CTC LL + HRL*CTC LR;

LR = HLR*CTC LL + HRR*CTC LR;

RL = HLL*CTC RL + HRL*CTC RR;

RR = HLR*CTC RL + HRR*CTC RR;

Feedback

Students showed great interest in the application of the-oretical signal processing in this practical task. Theyadapt fast to the new MATLAB environment and bene-fit from the available functionality in plotting.

Acknowledgments

The authors would like to thank the electrical and mechanicalworkshop at ITA for their support. PortMusic and playRec

were used to realize stable audio data acquisition with MAT-LAB. Thanks to all users and students for their feedback andbug reports.

References

[1] Schroeder, M. R. and Atal, B. S., Computer Simulation

of Sound Transmission in Rooms IEEE Cony. Rec., pt. 7,pp. 150-155 (1963).

[2] Bauck, J. L. and Cooper, D. H. 1996. Generalized

transaural stereo and applications J. Audio Eng. Soc.44:683-705.

[3] O. Kirkeby, P. A. Nelson and H. Hamada. The Stereo

Dipole-a virtual source imaging system using two closely

spaced loudspeakers. J. Audio Eng. Soc. 46, pp.387–395,1998

[4] Dietrich, P., Masiero, B., Muller-Trapet, M., Pollow, M.,Scharrer, R.: MATLAB Toolbox for the Comprehension

of Acoustic Measurement and Signal Processing, DAGA,2010

[5] Fingerhuth, S., Dietrich, P., Kaldenbach, R.: Mess-

Blackbox zum Verstandnis des Ubertraungsverhaltens und

der akustischen Messtechnik, DAGA, 2010

DAGA 2011 - Düsseldorf

472