32
Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven [email protected] homes.esat.kuleuven.be/~moonen/

Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven [email protected] homes.esat.kuleuven.be/~moonen

Embed Size (px)

Citation preview

Page 1: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing

Lecture-3Noise Reduction

Marc MoonenDept. E.E./ESAT-STADIUS, KU Leuven

[email protected]

homes.esat.kuleuven.be/~moonen/

Page 2: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 2

Overview

• Spectral subtraction for single-micr. noise reduction– Single-microphone noise reduction problem– Spectral subtraction basics (=spectral filtering)– Features: gain functions, implementation, musical noise,…– Iterative Wiener filter based on speech signal model

• Multi-channel Wiener filter for multi-micr. noise red.– Multi-microphone noise reduction problem– Multi-channel Wiener filter (=spectral+spatial filtering)

• Kalman filter based noise reduction– Kalman filters– Kalman filters for noise reduction

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

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 3

Single-Microphone Noise Reduction Problem

• Microphone signal is

• Goal: Estimate s[k] based on y[k]

• Applications: Speech enhancement in conferencing, handsfree telephony, hearing aids, …

Digital audio restoration • Will consider speech applications: s[k] = speech signal

desired signal estimate

desired signal s[k]

noise signal(s)

? ][ksy[k]

][][][ knksky

desired signal contribution

noisecontribution

Page 4: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 4

Spectral Subtraction Methods: Basics

• Signal chopped into `frames’ (e.g. 10..20msec), for each frame a frequency domain representation is

(i-th frame)

• However, speech signal is an on/off signal, hence some frames have speech +noise, i.e.

some frames have noise only, i.e.

• A speech detection algorithm is needed to distinguish between these 2 types of frames (based on energy/dynamic range/statistical properties,…)

][][][ knksky

)()()( iii NSY

frames} only'-noise{`frame )( 0 )( iii NY

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

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 5

Spectral Subtraction Methods: Basics

• Definition: () = average amplitude of noise spectrum

• Assumption: noise characteristics change slowly, hence estimate () by (long-time) averaging over (M) noise-only frames

• Estimate clean speech spectrum Si() (for each frame), using corrupted speech spectrum Yi() (for each frame, i.e. short-time estimate) + estimated ():

based on `gain function’

)()()(ˆ iii YGS

))(ˆ),(()( ii YfG

framesonly -noise

)(1

)(ˆM

iYM

})({)( iNE

Page 6: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 6

Spectral Subtraction: Gain Functions

Page 7: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 7

Spectral Subtraction: Gain Functions

• Example 1: Ephraim-Malah Suppression Rule (EMSR)

with:

• This corresponds to a MMSE (*) estimation of the speech spectral amplitude |Si()| based on observation Yi() ( estimate equal to E{ |Si()| | Yi() } ) assuming Gaussian a priori distributions for Si() and Ni() [Ephraim & Malah 1984].

• Similar formula for MMSE log-spectral amplitude estimation [Ephraim & Malah 1985].

(*) minimum mean squared error

modified Bessel functions

skip fo

rmulas

Page 8: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 8

Spectral Subtraction: Gain Functions

• Example 2: Magnitude Subtraction – Signal model:

– Estimation of clean speech spectrum:

– PS: half-wave rectification

)(,)(

)()()(

iyji

iii

eY

NSY

)(

)(

)(ˆ1

)(ˆ)()(ˆ

)(

)(,

i

G

i

jii

YY

eYS

i

iy

))(,0max()( ii GG

Page 9: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 9

Spectral Subtraction: Gain Functions

• Example 3: Wiener Estimation – Linear MMSE estimation:

find linear filter Gi() to minimize MSE

– Solution:

Assume speech s[k] and noise n[k] are uncorrelated, then...

– PS: half-wave rectification

2

2

2

22

,

,,

,

,

)(

)(ˆ1

)(

)(ˆ)(

)(

)()(

)(

)()(

ii

i

iyy

inniyy

iyy

issi

YY

Y

P

PP

P

PG

)(

)(

)().(

)().()(

,

,

iyy

isy

ii

iii P

P

YYE

YSEG <- cross-correlation in i-th frame

<- auto-correlation in i-th frame

2

)(ˆ

)().()(

iS

YGSE iii

Page 10: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 10

Spectral Subtraction: Implementation

® Short-time Fourier Transform (=uniform DFT-modulated analysis filter bank)

= estimate for Y(n ) at time i (i-th frame)

N=number of frequency bins (channels) n=0..N-1 D=downsampling factor K=frame length h[k] = length-K analysis window (=prototype filter)

® frames with 50%...66% overlap (i.e. 2-, 3-fold oversampling, N=2D..3D)® subband processing:

® synthesis bank: matched to analysis bank (see DSP-CIS)

y[k]Y[n,i]

Short-timeanalysis

Short-timesynthesis

Gain functions

][ˆ ks],[ˆ inS

],[ˆ in

],[].,[],[ˆ inYinGinS

Page 11: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 11

Spectral Subtraction: Musical Noise

• Audio demo: car noise

• Artifact: musical noise

What? Short-time estimates of |Yi()| fluctuate randomly in noise-only frames,

resulting in random gains Gi() ® statistical analysis shows that broadband noise is transformed into

signal composed of short-lived tones with randomly distributed frequencies (=musical noise)

magnitude subtraction][ky ][̂ks

Page 12: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 12

probability that speech is present, given observation

)()()(ˆ ii YGS

instantaneousaverage

Spectral Subtraction: Musical Noise

Solutions?- Magnitude averaging: replace Yi() in calculation of Gi()

by a local average over frames

- EMSR (p7)- augment Gi() with soft-decision VAD:

Gi() P(H1 | Yi()). Gi() …

Page 13: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 13

Spectral Subtraction: Iterative Wiener Filter

Example of signal model-based spectral subtraction…• Basic:

Wiener filtering based spectral subtraction (p.9), with (improved) spectra estimation based on parametric models

• Procedure:1. Estimate parameters of a speech model from noisy signal y[k]

2. Using estimated speech parameters, perform noise reduction (e.g. Wiener estimation, p. 9)

3. Re-estimate parameters of speech model from the speech signal estimate

4. Iterate 2 & 3

Page 14: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 14

Spectral Subtraction: Iterative Wiener Filter

white noise

generator

pulse train……

pitch period

voiced

unvoiced

x

M

m

mjme

1

1

1

sg

speech

signal

frequency domain:

time domain:

= linear prediction parameters

all-pole filter

u[k]

)(1

)(

1

Ue

gS M

m

mjm

s

M

msm kugmksks

1

][][][

TM 1α

Page 15: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 15

Spectral Subtraction: Iterative Wiener Filter

For each frame (vector) y[m] (i=iteration nr.)

1. Estimate and

2. Construct Wiener Filter (p.9)

with:

• estimated during noise-only periods

3. Filter speech frame y[m]

isg , TiMii ,,1 α

)()(

)(..)(

nnss

ss

PP

PG

)(nnP

2

1,

,

1

)(

M

m

mjim

isss

e

gP

][ˆ mis

Repeat until

some errorcriterion issatisfied

Page 16: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 16

Overview

• Spectral subtraction for single-micr. noise reduction– Single-microphone noise reduction problem– Spectral subtraction basics (=spectral filtering)– Features: gain functions, implementation, musical noise,…– Iterative Wiener filter based on speech signal model

• Multi-channel Wiener filter for multi-micr. noise red.– Multi-microphone noise reduction problem– Multi-channel Wiener filter (=spectral+spatial filtering)

• Kalman filter based noise reduction– Kalman filters– Kalman filters for noise reduction

Page 17: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 17

Multi-Microphone Noise Reduction Problem

(some) speech estimate

speech source

noise source(s)

microphone signals ][kn

][ks

? ][ks

speech part noise part

M=

num

ber

of m

icro

phon

es

Page 18: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 18

Multi-Microphone Noise Reduction Problem

Will estimate speech

part in microphone 1

(*) (**)

? ][1 ks

(*) Estimating s[k] is more difficult, would include dereverberation... (**) This is similar to single-microphone model (p.3), where additional microphones (m=2..M) help to get a better estimate

][kn

][ks

Page 19: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 19

Multi-Microphone Noise Reduction Problem

• Data model:

See Lecture-2 on multi-path propagation, with q left out for conciseness.

Hm(ω) is complete transfer function from speech source position to m-the microphone

)(

)(

)(

)(.

)(

)(

)(

)(

)(

)(

)()().(

)()()(

2

1

2

1

2

1

MMM N

N

N

S

H

H

H

Y

Y

Y

S

Nd

NSY

Page 20: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 20

Multi-Channel Wiener Filter (MWF)

• Data model:

• Will use linear filters to obtain speech estimate (as in Lecture-2)

• Wiener filter (=linear MMSE approach)

Note that (unlike in DSP-CIS) `desired response’ signal S1(w) is unknown here (!), hence solution will be `unusual’…

)()().( )( NdY S

)().()().()(ˆ1

*1 YFH

M

mmm YFS

})().()({min2

1)( YFFHSE

Page 21: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 21

Multi-Channel Wiener Filter (MWF)

• Wiener filter solution is (see DSP-CIS)

– All quantities can be computed !– Special case of this is single-channel Wiener filter formula on p.9– In practice, use alternative to ‘subtraction’ operation (see literature)

)}().({)}().({.)}().({

...

.)}().({)}().({)(

*1

*1

1

)0)}().({(with

lationcrosscorre

*1

1

ationautocorrel

*

1

NEYEE

SEE

H

NE

H

NYYY

YYYF

S

compute during speech+noise periods

compute during noise-only periods

Page 22: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 22

• Note that… MWF combines spatial filtering (as in Lecture-2) with

single-channel spectral filtering (as in single-channel noise reduction)

if

then…

noise vectorsteering

2

1

)()(.)(

)(

)(

)(

)(

Nd

Y

S

Y

Y

Y

M

)()}().({ NNHE ΦNN

Multi-Channel Wiener Filter (MWF)

Page 23: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 23

…then it can be shown that

① represents a spatial filtering (*)

Compare to superdirective & delay-and-sum beamforming (Lecture-2) – 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)

)().(.)()( 1

scalar

dΦF NN

)().(1 dΦNN

Multi-Channel Wiener Filter (MWF)

Page 24: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 24

…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!)

)().(.)()( 1

scalar

dΦF NN

)().(1 dΦNN

Multi-Channel Wiener Filter (MWF)

1)(.)().().(

)(.)(...)( 21

*1

2

S

HS

NNH dΦd

)(

Page 25: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 25

Multi-Channel Wiener Filter: Implementation

• Implementation with short-time Fourier transform: see p.10 • Implementation with time-domain linear filtering:

][kn

][ks

][1 ks

][1 ky

filter

coefficients

Page 26: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 26

Solution is…

}].[][{min2

1 fyf kksE T TT

MTT

TTM

TT

kkkk ][...][][][

...

21

21

yyyy

ffff

]}[.][{]}[.][{.}][.][{

]}[.][{.}][.][{

11

1

1

1

knkEkykEkkE

kskEkkE

T

T

nyyy

yyyf

compute during speech+noise periods

compute during noise-only periods

• Implementation with time-domain linear filtering:

Multi-Channel Wiener Filter: Implementation

Page 27: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 27

Overview

• Spectral subtraction for single-micr. noise reduction– Single-microphone noise reduction problem– Spectral subtraction basics (=spectral filtering)– Features: gain functions, implementation, musical noise,…– Iterative Wiener filter based on speech signal model

• Multi-channel Wiener filter for multi-micr. noise red.– Multi-microphone noise reduction problem– Multi-channel Wiener filter (=spectral+spatial filtering)

• Kalman filter based noise reduction– Kalman filters : See Lecture-6 – Kalman filters for noise reduction

Continue only

after

having st

udied Lecture-6

Page 28: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 28

Kalman filter for Speech Enhancement

• Assume AR model of speech and noise

• Equivalent state-space model is…

y=microphone signal

u[k], w[k] = zero mean, unit

variance,white noise

][][

][][]1[

kky

kkkTxc

vAxx

Page 29: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 29

Kalman filter for Speech Enhancement

with:

n

s

NM

T

n

s

g0

0gGC

A0

0AA ;100100;

Tkwkuk ][][.][ Gv

;00;00 nTns

Ts gg gg

TGGQ .

s[k]

an

d n

[k] a

re in

clud

ed

in s

tate

ve

cto

r,

hen

ce c

an b

e e

stim

ate

d b

y K

alm

an

Filt

er

Page 30: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 30

Kalman filter for Speech Enhancement

Disadvantages iterative approach:• complexity• delay

split signal

in frames

estimate

parameters

Kalman Filter

reconstruct

signal

iterations

y[k]

][̂ks

][ˆ min

Iterative algorithm (details omitted)

Page 31: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 31

Kalman filter for Speech Enhancement

iteration index time index (no iterations)

State Estimator

(Kalman Filter)

Parameters Estimator

(Kalman Filter)

D

D

]1|1[ˆ kkn

][ky

]|[ˆ],|[̂ kknkks

]1|1[ˆ kkgn

],|[ˆ kkgs ]|[ˆ kkgn

ns ˆ,ˆ

ns gg ˆ,ˆ

Sequential algorithm (details omitted)

Page 32: Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen

Digital Audio Signal Processing Version 2015-2016 Lecture-3: Noise Reduction p. 32

CONCLUSIONS

• Single-channel noise reduction– Basic system is spectral subtraction– Only spectral filtering, hence can only exploit differences in spectra

between noise and speech signal:• noise reduction at expense of speech distortion• achievable noise reduction may be limited

• Multi-channel noise reduction– Basic system is MWF,– Provides spectral + spatial filtering (links with beamforming!)

• Iterative Wiener filter & Kalman filtering– Signal model based approach