windowing purpose: process pieces of a signal and minimize impact to the frequency domain using a...

26
Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain • Using a window First Create the window: Use the window formula to calculate an array of window values Next apply the window: multiply these values by each time domain amplitude in a frame • Window Length: The number of signal values in a frame is the window length

Upload: myrtle-bryant

Post on 16-Dec-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula

Windowing

• Purpose: process pieces of a signal and minimize impact to the frequency domain

• Using a window– First Create the window: Use the window formula

to calculate an array of window values– Next apply the window: multiply these values by

each time domain amplitude in a frame

• Window Length: The number of signal values in a frame is the window length

Page 2: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula

Example: Hamming Window• Create Window

double[] window = new double[windowSize]; double c = 2*Math.PI / (windowSize - 1);

for (int h=0; h<windowSize; h++) window[h] = 0.54 - 0.46*Math.cos(c*h);

• Apply window for(int i=0; i<window.length; i++)

frame[i]=frame[i]*window[i];

• Note: Time domain multiplication is frequency domain convolution. Therefore, windows act as a frequency domain filter.

Page 3: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula

Windowing Frequency Response• Main Lobe: Narrow implies better frequency resolution. As the window

length grows, the main lobe width narrows (less initial spectral leakage).

• Side lobe: Higher for abrupt time domain window transitions from 1 to 0.

• Roll-off rate: Slower for abrupt window discontinuities.

Main Lobe

Side LobeRoll-off Rate

Spectral Leakage: Some of the spectral energy leaks into other frequency bins, which blur frequency distinctions.

Note: some windows act as a amplifier of total energy

Page 4: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula

Rectangular Frequency Response• Fourier transform of r(x): R(f) = ∫∞,∞r(x) e-2πxfidt

• r(x) is zero outside ±T/2: R(f) = ∫-T/2, T/2 1 . e-2πftidt

• Chain Rule: The integral of e-2πfti is e-2πfti /(-2πfi)

R(f) = e-2πfti /(-2πfti)|T/2,-T/2 = e-2πfT/2i/(-2πfi) - e-2πf(-T/2)i/(-2πfi)

• By Eulers formula: R(f) = (eπfTi - e-πfTi)/(2πfi) = sin(πfT)/(πfT)

Page 5: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula

Rectangular Window• Main lobe width: 4π/M, Side lobe width: 2 π /M• Minimal leakage, but directed to places that hurt analysis• Poor roll off and high initial lobe

Page 6: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula
Page 7: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula

Convoluting Rectangular Window with a particular frequency

Note: Windows with more points narrow the central lobe

Page 8: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula
Page 9: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula
Page 10: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula
Page 11: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula
Page 12: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula
Page 13: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula
Page 14: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula

Triangular (Bartlett Window)

Page 15: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula
Page 16: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula

Compare: Hamming to Hanning

Hanning Hamming

Hanning: Faster roll of; Hamming: lower first lobe

Page 17: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula
Page 18: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula

Evaluation: Non-Rectangular• Greater total leakage, but redistributed to places where

analysis is not affected.• If little energy spills outside the main lobe, it is harder to

resolve frequencies that are near to each other.• Fast roll-off implies wide initial lobe and higher side lobe;

worse at detecting weak sinusoids amidst noise.• Moderate roll-off, implies narrower initial lobe and lower

side lobe. • Tradeoff: Resolving comparable strength signals with

similar frequencies (moderate) and resolving disparate strength signals with dissimilar frequencies (fast roll-off).

Page 19: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula

Windowing Formulae• Hanning: w[n] = 0.5-0.5cos(2πn/(N-1))• Hamming: w[n] = 0.54 – 0.45 cos(2πn/(N-1))• Bartlett: w[n] = 2/(N-1).(N-1)/2 - |(n–(N-1)/2|)• Triangle: w[n] = 2/N . (N/2 - |(n–(N-1)/2|) • Blackman: w[n] = a0 – a1 cos(2πn/(N-1)) – a2 cos(4πn/(N-1))

where: a0 = (1-α)/2 ; a1 = ½ ; a2 = α /2; α =0.16

• Blackman-Harris: w[n] = a0–a1cos(2πn/(N-1))–a2cos(4πn/(N-1)) - a3cos(6πn/(N-1)) where: a0=0.35875; a1=0.48829; a2=0.14128; a3=0.01168

Note: Small formula changes can cause large frequency response differences

Page 20: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula

Moving Average Filters

• Both filters can be used to smooth a signal and reduce noise

• It curves sharp angles in the time domain.• It overreacts to outlier samples• Slow roll-off destroys ability to separate frequency bands• Horrible stop band attenuation • Evaluation

– An exceptionally good smoothing filter– An exceptionally bad low-pass filter

Page 21: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula

Moving Average Filter• FIR version:

• Yn = 1/M ∑i=0, M-1 xn-I

• Slower than the IIR version• IIR version:

• yn = yn-1 + (xn – xn-M)/M

• Propagates rounding errors• Example: {1,2,3,4,5,4,3,2,1,2,3,4,5}; M = 4

– Starting filtered values: {¼ , ¾, 1 ½, 2 ½, … }– Next value using the FIR version: Y4 = ¼(5+4+3+2) = 3 ½

– Next value using the IIR version: y4 = 2 ½ + (5 – 1)/4 = 3 ½

– Not appropriate for speech because:– Blurs transitions between voiced/unvoiced sounds– Negatively impacts the frequency domain

Page 22: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula

Median Filter

Page 23: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula

Median Filter• Median definition:

– The middle value of an ordered list– If there is no middle value, average the two middle values

• Median filter: Yn = medianm=0,M-1 {xn-m}• Advantages

– Good edge preserving properties– Preserves sharp discontinuities of significant length– Eliminates outliers

• Applications– The most effective algorithm to removes sudden impulse noise– Remove outliers in estimates of a pitch contour

• Implementation: Requires maintaining a running sorted list

Page 24: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula

Characteristics: Median Filter

• Linearity testsFails: an * Mn + bn * Mn ≠ (an + bn) * Mn

Succeeds: α (an)*Mn = (α an)*Mn

Succeeds: An * Mn = bn, then An+k * Mn+k = bn+k

• Every output will match an input (if the filter length is odd)

• Frequency response• There is not a mathematic formula• Must be determined experimentally

Page 25: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula

Double Smoothing1. Apply a median filter (ex:five point) and then a 2. Apply a linear filter (Ex: Hanning with values 0, ¼ , ½ , ¼, 0)3. Recursively apply steps 1 and 2 to the filtered signal4. Add the result of the recursive application back

Single Smoothing

Double Smoothing

Page 26: Windowing Purpose: process pieces of a signal and minimize impact to the frequency domain Using a window – First Create the window: Use the window formula

Compare Median to Moving Average Filter