Download presentation

Presentation is loading. Please wait.

Published byEthen Shotton Modified over 2 years ago

1
Non-recursive Comb Filter a z -m K K Ka t m samples impulse response f f = SR/m f 180 o

2
Recursive Comb Filter z -m K b < 1 LP K Kb t m samples impulse response Kb 2 Kb 3 Kb 4 f f = SR/m f/2 b =.001 delay = m/SR

3
All-pass Comb Filter z -m b -b b t impulse response b2b2 b3b3 b4b4 f recursive and non recursive parts cancel each other

4
f f non-recursive recursive +1 recursive -1 a a

5
decay density Manfred Schroeder Reverberator

6
Block diagram of the sampled data system simulated on the digital computer Block diagram of a single channel (monophonic) reverberator Allpass recursive comb (decay) (density)

7
Schroeder Reverberator c c c c AA 29.7 msec 37.1 41.1 43.7 5.01.7 decay density sets reverb time

8
f f f f + + = Summation of recursive comb filters should approximate a flat response

9
Problems f a 1) 2) t periodic Response is not flat Impulse response has periodicities that produce pitch percepts

10
Frequency in Hz (linear) z-plane Power in dB Air & wall absorption filter Usually the low-pass filter inserted into the recursive comb filter is a first-order filter. Here is a second- order filter that is more accurate. Low-frequency loss

11
Comparison of simulated and actual rooms simulated real

12
Early Reflections delay bufferreverb input output t input early reflections reverb a

13
Kendall & Martens 1984

14
Spatial Reverberation

15
Wet/Dry Mix Dry Wet Reverb L R

16
Implementing Delay Buffers - Queue in out inout

17
Delay Buffer outPos inPos delay outPos = inPos - delay; buffer[inPos] = in; out = buffer[outPos]

18
ij in out buffer(i) = in; out = buffer(j); if(++i >=buffer.length) i = 0; if(++j >=buffer.length) j = 0;

19
ij in out buffer buffer length is larger than needed delay is i - j

20
i0000000100000001 0000000011111111 0000000000000001 i 511 2 n -sized buffers implemented with masking i = (i + 1) & 511; bitwise and

21
modulated delay ij in out buffer delay (i - j) is dynamic given int delay: j = i - delay; while (j >= buffer.length) j -= buffer.length; while (j < 0) j += buffer.length; check bounds!

22
Fractional Delay i in buffer out? instDelay as int.fract outPos = i - instDelay; j = (int) outPos; jP1 = j + 1; fract = outPos - j; check bounds ~ ~ ~ ~ How could we use the fractional delay?

23
Linear Interpolation Big Problem z -1 x(n) y(n) Causes amplitude modulation of high frequencies t buffer(j) buffer(jP1) fract out = buffer(jP1)*(1.0-fract) + buffer(j)*fract;

24
Big Problem? Averaging two samples is filtering (1st-order FIR Low-pass) fract = 0 fract = 0.5 SR/2 a f 1.0

25
Allpass Interpolation z -1 x(n)y(n) z -1 1-fract Good for delay modulation that causes relatively small pitch changes

Similar presentations

Presentation is loading. Please wait....

OK

Chapter 6 Digital Filter Structures

Chapter 6 Digital Filter Structures

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on kingdom monera pdf Ppt on kingdom monera pictures Ppt on personality development and grooming One act play ppt on ipad Ppt online viewers Ppt on water softening techniques of integration Ppt on famous indian entrepreneurs in Ppt on lines in fashion design Download ppt on digestion in human beings Ppt on switching network design