Digital Audio Signal Processing DASP Chapter4 Noise ReductionIII

  • Slides: 34
Download presentation
Digital Audio Signal Processing DASP Chapter-4: Noise Reduction-III Adaptive Beamforming & Multi-Channel Noise Reduction

Digital Audio Signal Processing DASP Chapter-4: Noise Reduction-III Adaptive Beamforming & Multi-Channel Noise Reduction Marc Moonen Dept. E. E. /ESAT-STADIUS, KU Leuven marc. moonen@esat. kuleuven. be homes. esat. kuleuven. be/~moonen/

Overview • Recap • Adaptive Beamforming – Adaptive beamforming goal & set-up – LCMV

Overview • Recap • Adaptive Beamforming – Adaptive beamforming goal & set-up – LCMV beamformer – Generalized sidelobe canceler • Multi-channel Wiener filter for multimicrophone noise reduction – Multi-microphone noise reduction problem – Multi-channel Wiener filter (=spectral+spatial filtering) DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 2 / 34

Recap 1/4 Filter-and-sum Beamforming + : Classification: Fixed beamforming: = Previous lecture Data-independent, fixed

Recap 1/4 Filter-and-sum Beamforming + : Classification: Fixed beamforming: = Previous lecture Data-independent, fixed filters Fm e. g. matched filtering, superdirective, … Adaptive beamforming: = This lecture Data-dependent filters Fm e. g. LCMV-beamformer, generalized sidelobe canceler DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 3 / 34

Recap 2/4 Data model: source signal • Microphone signals are filtered versions of source

Recap 2/4 Data model: source signal • Microphone signals are filtered versions of source signal S( ) at angle • Stack all microphone signals (m=1. . M) in a vector d is `steering vector’ DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 4 / 34

Recap 3/4 Data model: source signal + noise • Microphone signals are corrupted by

Recap 3/4 Data model: source signal + noise • Microphone signals are corrupted by additive noise Noise correlation matrix is • DASP Output signal after `filter-and-sum’ is Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 5 / 34

Recap 4/4 Definitions: • Array directivity pattern = `transfer function’ for source at angle

Recap 4/4 Definitions: • Array directivity pattern = `transfer function’ for source at angle • Array Gain = improvement in SNR for source at angle ( -π< < π ) White Noise Gain =array gain for spatially uncorrelated noise Directivity =array gain for diffuse noise DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 6 / 34

Overview • Beamforming / Recap • Adaptive Beamforming – Adaptive beamforming goal & set-up

Overview • Beamforming / Recap • Adaptive Beamforming – Adaptive beamforming goal & set-up – LCMV beamformer – Generalized sidelobe canceler • Multi-channel Wiener filter for multimicrophone noise reduction – Multi-microphone noise reduction problem – Multi-channel Wiener filter (=spectral+spatial filtering) DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 7 / 34

Adaptive beamforming Goal & Set-up • Adaptive filter-and-sum structure: – Aim is to minimize

Adaptive beamforming Goal & Set-up • Adaptive filter-and-sum structure: – Aim is to minimize noise output power, while maintaining a chosen response for a given steering angle (and/or other linear constraints, see below). – This is similar to operation of a matched filter beamformer (in white noise) or superdirective beamformer (in diffuse noise), see Lecture 3 (**) p. 26 & p. 35, but now noise field is unknown & adapted to + DASP Version 2018 -2019 : Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 8 / 34

Adaptive beamforming Goal & Set-up • Adaptive filter-and-sum structure: – Implemented as adaptive FIR

Adaptive beamforming Goal & Set-up • Adaptive filter-and-sum structure: – Implemented as adaptive FIR filter : + DASP Version 2018 -2019 : Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 9 / 34

Overview • Beamforming / Recap • Adaptive Beamforming – Adaptive beamforming goal & set-up

Overview • Beamforming / Recap • Adaptive Beamforming – Adaptive beamforming goal & set-up – LCMV beamformer – Generalized sidelobe canceler • Multi-channel Wiener filter for multimicrophone noise reduction – Multi-microphone noise reduction problem – Multi-channel Wiener filter (=spectral+spatial filtering) DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 10 / 34

LCMV beamformer LCMV = Linearly Constrained Minimum Variance – f designed to minimize output

LCMV beamformer LCMV = Linearly Constrained Minimum Variance – f designed to minimize output power (variance) (read on. . ) z[k] : – To avoid desired signal cancellation, add (J) linear constraints Example: fix array response for steering angle ψ & sample freqs ωi For sufficiently large J constrained output power minimization approximately corresponds to constrained output noise power minimization (if source angle is equal to steering angle) (why? ) DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 11 / 34

LCMV beamformer LCMV = Linearly Constrained Minimum Variance – f designed to minimize output

LCMV beamformer LCMV = Linearly Constrained Minimum Variance – f designed to minimize output power (variance) (read on. . ) z[k] : – To avoid desired signal cancellation, add (J) linear constraints – Solution is (obtained using Lagrange-multipliers, etc. . ): DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 12 / 34

Overview • Beamforming / Recap • Adaptive Beamforming – Adaptive beamforming goal & set-up

Overview • Beamforming / Recap • Adaptive Beamforming – Adaptive beamforming goal & set-up – LCMV beamformer – Generalized sidelobe canceler • Multi-channel Wiener filter for multimicrophone noise reduction – Multi-microphone noise reduction problem – Multi-channel Wiener filter (=spectral+spatial filtering) DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 13 / 34

Generalized sidelobe canceler (GSC) GSC = Adaptive filter formulation of the LCMV-problem Constrained optimisation

Generalized sidelobe canceler (GSC) GSC = Adaptive filter formulation of the LCMV-problem Constrained optimisation is reformulated as a constraint pre-processing, followed by an unconstrained optimisation, as follows: – LCMV-problem is – Define `blocking matrix’ Ca, , columns spanning the null-space of C – Define ‘quiescent response vector’ fq satisfying constraints – Parametrize all f’s that satisfy constraints (verify!) i. e. filter f can be decomposed in a fixed part fq and a variable part Ca. fa DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 14 / 34

Generalized sidelobe canceler (GSC) GSC = Adaptive filter formulation of the LCMV-problem Constrained optimisation

Generalized sidelobe canceler (GSC) GSC = Adaptive filter formulation of the LCMV-problem Constrained optimisation is reformulated as a constraint pre-processing, followed by an unconstrained optimisation, as follows: – LCMV-problem is – Unconstrained optimization of fa : (MN-J coefficients) DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 15 / 34

Generalized sidelobe canceler GSC (continued) – Hence unconstrained optimization of fa can be implemented

Generalized sidelobe canceler GSC (continued) – Hence unconstrained optimization of fa can be implemented as an adaptive filter (adaptive linear combiner), with filter inputs (=‘lefthand sides’) equal to and desired filter output (=‘right-hand side’) equal to – LMS algorithm : DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 16 / 34

Generalized sidelobe canceler GSC then consists of three parts: • Fixed beamformer (cfr. fq

Generalized sidelobe canceler GSC then consists of three parts: • Fixed beamformer (cfr. fq ), satisfying constraints (‘LC’) but not yet minimum variance (‘MV’) ), creating `source signal reference’ • Blocking matrix (cfr. Ca), placing spatial nulls in the direction of the source (at sampling frequencies) (cfr. C’. Ca=0), creating MN-J `noise references’ • Multi-channel adaptive filter (linear combiner) your favourite one, e. g. LMS PS: DASP = large matrix (complexity!) Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 17 / 34

Generalized sidelobe canceler A popular & significantly cheaper GSC realization is as follows y

Generalized sidelobe canceler A popular & significantly cheaper GSC realization is as follows y 1 Postproc y. M Note that some reorganization has been done: the blocking matrix now generates (typically) M-1 (instead of MN-J) noise references, the multichannel adaptive filter performs FIR-filtering on each noise reference (instead of merely scaling in the linear combiner). Philosophy is the same, mathematics are different (details on next slide). DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 18 / 34

Generalized sidelobe canceler • Math details: (for Delta’s=0) select `sparse’ blocking matrix such that

Generalized sidelobe canceler • Math details: (for Delta’s=0) select `sparse’ blocking matrix such that : =input to multi-channel adaptive filter =use this as blocking matrix now DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 19 / 34

Generalized sidelobe canceler • Blocking matrix Ca (for scheme p. 18) – Creating (M-1)

Generalized sidelobe canceler • Blocking matrix Ca (for scheme p. 18) – Creating (M-1) independent noise references by placing spatial nulls in steering direction – different possibilities (broadside steering) Griffiths-Jim Walsh DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 20 / 34

Generalized sidelobe canceler • Problems of GSC: – Impossible to reduce noise from steering

Generalized sidelobe canceler • Problems of GSC: – Impossible to reduce noise from steering direction (cfr. constraint) – Reverberation causes source signal leakage into noise references Therefore, to avoid signal cancellation, adaptive filter should only be updated when no source signal is present (i. e. in noise-only periods). In speech applications, this is done with a voice activity detection (VAD). Effectively, this corresponds to replacing Ryy by Rnn in p. 11 (and following slides) DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 21 / 34

Overview • Beamforming / Recap • Adaptive Beamforming – Adaptive beamforming goal & set-up

Overview • Beamforming / Recap • Adaptive Beamforming – Adaptive beamforming goal & set-up – LCMV beamformer – Generalized sidelobe canceler • Multi-channel Wiener filter for multimicrophone noise reduction – Multi-microphone noise reduction problem – Multi-channel Wiener filter (=spectral+spatial filtering) DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 22 / 34

Multi-Microphone Noise Reduction Problem compare to Lecture-2 speech source (some) speech estimate microphone signals

Multi-Microphone Noise Reduction Problem compare to Lecture-2 speech source (some) speech estimate microphone signals noise source(s) speech part DASP Version 2018 -2019 noise part Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction M= number of microphones ? 23 / 34

Multi-Microphone Noise Reduction Problem Will estimate speech part in microphone 1 (*) (**) ?

Multi-Microphone Noise Reduction Problem Will estimate speech part in microphone 1 (*) (**) ? (*) Estimating s[k] is more difficult, would include dereverberation (**) This is similar to single-microphone model (Lecture-2), where additional microphones (m=2. . M) help to get a better estimate DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 24 / 34

Multi-Microphone Noise Reduction Problem • Data model: Frequency domain. . See Lecture-3 on multi-path

Multi-Microphone Noise Reduction Problem • Data model: Frequency domain. . See Lecture-3 on multi-path propagation (with q left out for conciseness) Hm(ω) is complete transfer function from speech source position to mthe microphone No prior knowledge assumed here! DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 25 / 34

Overview • Beamforming / Recap • Adaptive Beamforming – Adaptive beamforming goal & set-up

Overview • Beamforming / Recap • Adaptive Beamforming – Adaptive beamforming goal & set-up – LCMV beamformer – Generalized sidelobe canceler • Multi-channel Wiener filter for multimicrophone noise reduction – Multi-microphone noise reduction problem – Multi-channel Wiener filter (=spectral+spatial filtering) DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 26 / 34

Multi-Channel Wiener Filter (MWF) • Data model: • Will use linear filters to obtain

Multi-Channel Wiener Filter (MWF) • Data model: • Will use linear filters to obtain speech estimate • Wiener filter (=linear MMSE approach) Note that (unlike in DSP-CIS) `desired response’ signal S 1(w) is obviously unknown here (!) DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 27 / 34

Multi-Channel Wiener Filter (MWF) • Wiener filter solution is (see DSP-CIS) compute during speech+noise

Multi-Channel Wiener Filter (MWF) • Wiener filter solution is (see DSP-CIS) compute during speech+noise periods compute during noise-only periods – All quantities can be computed ! – Special case of this is single-channel Wiener filter formula (Lecture-2) – In practice, use alternative to ‘subtraction’ operation (see literature) DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 28 / 34

Multi-Channel Wiener Filter (MWF) • Note that… MWF combines spatial filtering with single-channel spectral

Multi-Channel Wiener Filter (MWF) • Note that… MWF combines spatial filtering with single-channel spectral filtering (as in Lecture-2) if then… DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 29 / 34

Multi-Channel Wiener Filter (MWF) …then it can be shown that represents a spatial filtering

Multi-Channel Wiener Filter (MWF) …then it can be shown that represents a spatial filtering (*) ① Compare to superdirective & delay-and-sum beamforming (Lecture-4) – Delay-and-sum beamf. maximizes array gain in white noise field – Superdirective beamf. maximizes array gain in diffuse noise field – MWF maximizes array gain in unknown (!) noise field. MWF is operated without invoking any prior knowledge (steering vector/noise field) ! (the secret is in the voice activity detection… (explain)) (*) Note that spatial filtering can improve SNR, spectral filtering never improves SNR (at one frequency) DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 30 / 34

Multi-Channel Wiener Filter (MWF) …then it can be shown that represents a spatial filtering

Multi-Channel Wiener Filter (MWF) …then it can be shown that represents a spatial filtering (*) ① ② represents an additional `spectral post-filter’ i. e. single-channel Wiener estimate of S 1(ω) (Lecture-2 p. 9) applied to output signal of spatial filter (prove it!) DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 31 / 34

Multi-Channel Wiener Filter: Implementation • Implementation with short-time Fourier transform (see Lecture-2) • Implementation

Multi-Channel Wiener Filter: Implementation • Implementation with short-time Fourier transform (see Lecture-2) • Implementation with time-domain linear filtering: filter coefficients DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 32 / 34

Multi-Channel Wiener Filter: Implementation • Implementation with time-domain linear filtering: Solution is… compute during

Multi-Channel Wiener Filter: Implementation • Implementation with time-domain linear filtering: Solution is… compute during speech+noise periods compute during noise-only periods DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 33 / 34

Multi-Channel Wiener Filter: Implementation • Implementation with time-domain linear filtering: Solution is… PS: Single-channel

Multi-Channel Wiener Filter: Implementation • Implementation with time-domain linear filtering: Solution is… PS: Single-channel version of this is related/similar to single channel subspace method, see Lecture-2 (check!) DASP Version 2018 -2019 Chapter-4: Adaptive Beamforming & Multi-Channel Noise Reduction 34 / 34