Matlab Code for Inverse Filtering
Below is the matlab source code used to extract the main Helmholtz air mode from the guitar body impulse response in Figures 8.14 through 8.17:
freq = 104.98; % estimated peak frequency in Hz
bw = 10; % peak bandwidth estimate in Hz
R = exp( - pi * bw / fs); % pole radius
z = R * exp(j * 2 * pi * freq / fs); % pole itself
B = [1, -(z + conj(z)), z * conj(z)] % numerator
r = 0.9; % zero/pole factor (notch isolation)
A = B .* (r .^ [0 : length(B)-1]); % denominator
residual = filter(B,A,bodyIR); % apply inverse filter
Next Section:
Classic Analog Phase Shifters
Previous Section:
Empirical Notes on Inverse Filtering







