Digital Audio Signal Processing DASP Lecture5 Noise ReductionIII

  • Slides: 34
Download presentation
Digital Audio Signal Processing DASP Lecture-5: Noise Reduction-III Adaptive Beamforming Marc Moonen Dept. E.

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

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) Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 2 / 34

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

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 Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 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’ Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 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 • Output signal after `filter-and-sum’ is Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 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 Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 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) Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 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 delay-and-sum beamformer (in white noise) or superdirective beamformer (in diffuse noise), see Lecture 4, (**) p. 22 & 30, but now noise field is unknown & adapted to! + Digital Audio Signal Processing : Version 2016 -2017 Lecture-5: Adaptive Beamforming 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 : + Digital Audio Signal Processing : Version 2016 -2017 Lecture-5: Adaptive Beamforming 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) Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 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? ) Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 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. . ): Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 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) Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 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 Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 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) Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 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 : Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 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 `speech reference’ • Blocking matrix (cfr. Ca), placing spatial nulls in the direction of the speech 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 Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 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). Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 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 Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 19 / 34

Generalized sidelobe canceler • Blocking matrix Ca (for scheme page 19) – Creating (M-1)

Generalized sidelobe canceler • Blocking matrix Ca (for scheme page 19) – Creating (M-1) independent noise references by placing spatial nulls in look-direction – different possibilities (broadside steering) Griffiths-Jim Walsh Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 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 angle direction – Reverberation effects cause signal leakage in noise references – Adaptive filter should only be updated when no speech is present to avoid signal cancellation Hence requires voice activity detection (VAD) Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 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) Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 22 / 34

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

Multi-Microphone Noise Reduction Problem compare to Lecture 3 speech source (some) speech estimate microphone signals noise source(s) speech part Digital Audio Signal Processing Version 2016 -2017 noise part Lecture-5: Adaptive Beamforming 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-3), where additional microphones (m=2. . M) help to get a better estimate Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 24 / 34

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

Multi-Microphone Noise Reduction Problem • Data model: Frequency domain. . See Lecture-4 on multi-path propagation (with q left out for conciseness) Hm(ω) is complete transfer function from speech source position to mthe microphone Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 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) Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 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 (!) Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 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-3) – In practice, use alternative to ‘subtraction’ operation (see literature) Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 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-3) if then… Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 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) Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 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 (p. 9), applied to output signal of spatial filter (prove it!) Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 31 / 34

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

Multi-Channel Wiener Filter: Implementation • Implementation with short-time Fourier transform (see Lecture-2/3) • Implementation with time-domain linear filtering: filter coefficients Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 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 Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 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-3, p. 32 (check!) Digital Audio Signal Processing Version 2016 -2017 Lecture-5: Adaptive Beamforming 34 / 34