M. Hartley Jones: "Frequency Shifter for "Howl"
Suppression", Wireless World, July 1973. 317-322
----- Original Message -----
Sent: Wednesday, January 23, 2013 9:56
AM
Subject: Frequency shift to alleviate
acoustic feedback
Dear experts,
Acoustic feedback can be removed by
several methods: frequency shift, phase shift, notch filter, adaptive
cancellation. I tried the simplest method I thought, frqeuency shift. However,
it's not easy as I thought. In realtime processing scenario, I need to process
every 10ms audio sample without significant delay, so I do the following
implementation:
1. sampling rate is 16K, so I have 160 samples every
10ms. 2. do DFT for these 160 samples, the DFT length is 512, pending zeros
since I only have 160 samples 3. shift the frequency by one fft
coefficient, that is, shift 16000/512=31.25Hz (DC is not shifted) 4. do
IDFT
After doing that, I can notice the spectrum is shifted in
cool-edit, but with some processing noise (not the artifacts due to frequency
shift). I guess this noise is caused by different processing for
successive10ms data, I am not sure here. However, I try to use overlap
processing in my code, hanning window, 50% overlap, then the processing noise
is reduced much. Unfortunately, I found that overlap processing sometimes make
the frequency shift useless (e.g. 75% overlap by blackman window), what I mean
useless is I cannot notice spectrum shift in cool-edit.
Can anybody
help me to understand why overlap processing hurts frequency shift? Or point
out the incorrect parts of my
implementation.
Thanks, Siping
|