Subject:Frequency shift to alleviate acoustic feedbackFrom:Siping Tao <siping.tao@xxxxxxxx>Date:Wed, 23 Jan 2013 16:56:38 +0800List-Archive:<http://lists.mcgill.ca/scripts/wa.exe?LIST=AUDITORY>--e89a8fb200784b77ad04d3f0dfa3 Content-Type: text/plain; charset=ISO-8859-1 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 --e89a8fb200784b77ad04d3f0dfa3 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Dear experts,<br><br>Acoustic feedback can be removed by several methods: f= requency shift, phase shift, notch filter, adaptive cancellation. I tried t= he simplest method I thought, frqeuency shift. However, it's not easy a= s I thought. In realtime processing scenario, I need to process every 10ms = audio sample without significant delay, so I do the following implementatio= n:<br> <br>1. sampling rate is 16K, so I have 160 samples every 10ms.<br>2. do DFT= for these 160 samples, the DFT length is 512, pending zeros since I only h= ave 160 samples<br>3. shift the frequency by one fft coefficient, that is, = shift 16000/512=3D31.25Hz (DC is not shifted)<br> 4. do IDFT<br><br>After doing that, I can notice the spectrum is shifted in= cool-edit, but with some processing noise (not the artifacts due to freque= ncy shift). I guess this noise is caused by different processing for succes= sive10ms 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 redu= ced 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.<br> <br>Can anybody help me to understand why overlap processing hurts frequenc= y shift? Or point out the incorrect parts of my implementation.<br><br>Than= ks,<br>Siping<br> --e89a8fb200784b77ad04d3f0dfa3--

This message came from the mail archive

/var/www/postings/2013/

maintained by: DAn Ellis <dpwe@ee.columbia.edu>

Electrical Engineering Dept., Columbia University