Re: Frequency shift to alleviate acoustic feedback (Zlatan Ribic )


Subject: Re: Frequency shift to alleviate acoustic feedback
From:    Zlatan Ribic  <zlatan@xxxxxxxx>
Date:    Wed, 23 Jan 2013 11:05:08 +0100
List-Archive:<http://lists.mcgill.ca/scripts/wa.exe?LIST=AUDITORY>

This is a multi-part message in MIME format. ------=_NextPart_000_005C_01CDF959.816778E0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable M. Hartley Jones: "Frequency Shifter for "Howl" Suppression", Wireless = World, July 1973. 317-322 ----- Original Message -----=20 From: Siping Tao=20 To: AUDITORY@xxxxxxxx=20 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=3D31.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 ------=_NextPart_000_005C_01CDF959.816778E0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=3DContent-Type content=3D"text/html; = charset=3Diso-8859-1"> <META content=3D"MSHTML 6.00.6000.17037" name=3DGENERATOR> <STYLE></STYLE> </HEAD> <BODY bgColor=3D#ffffff> <DIV><FONT face=3DArial size=3D2>M. Hartley Jones: "Frequency Shifter = for "Howl"=20 Suppression", Wireless World, July 1973. 317-322</FONT></DIV> <DIV>&nbsp;</DIV> <BLOCKQUOTE=20 style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; = BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"> <DIV style=3D"FONT: 10pt arial">----- Original Message ----- </DIV> <DIV=20 style=3D"BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: = black"><B>From:</B>=20 <A title=3Dsiping.tao@xxxxxxxx = href=3D"mailto:siping.tao@xxxxxxxx">Siping Tao</A>=20 </DIV> <DIV style=3D"FONT: 10pt arial"><B>To:</B> <A = title=3DAUDITORY@xxxxxxxx=20 href=3D"mailto:AUDITORY@xxxxxxxx">AUDITORY@xxxxxxxx</A> = </DIV> <DIV style=3D"FONT: 10pt arial"><B>Sent:</B> Wednesday, January 23, = 2013 9:56=20 AM</DIV> <DIV style=3D"FONT: 10pt arial"><B>Subject:</B> Frequency shift to = alleviate=20 acoustic feedback</DIV> <DIV><BR></DIV>Dear experts,<BR><BR>Acoustic feedback can be removed = by=20 several methods: frequency shift, phase shift, notch filter, adaptive=20 cancellation. I tried the simplest method I thought, frqeuency shift. = However,=20 it's not easy as I thought. In realtime processing scenario, I need to = process=20 every 10ms audio sample without significant delay, so I do the = following=20 implementation:<BR><BR>1. sampling rate is 16K, so I have 160 samples = every=20 10ms.<BR>2. do DFT for these 160 samples, the DFT length is 512, = pending zeros=20 since I only have 160 samples<BR>3. shift the frequency by one fft=20 coefficient, that is, shift 16000/512=3D31.25Hz (DC is not = shifted)<BR>4. do=20 IDFT<BR><BR>After doing that, I can notice the spectrum is shifted in=20 cool-edit, but with some processing noise (not the artifacts due to = frequency=20 shift). I guess this noise is caused by different processing for=20 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=20 is reduced much. Unfortunately, I found that overlap processing = sometimes make=20 the frequency shift useless (e.g. 75% overlap by blackman window), = what I mean=20 useless is I cannot notice spectrum shift in cool-edit.<BR><BR>Can = anybody=20 help me to understand why overlap processing hurts frequency shift? Or = point=20 out the incorrect parts of my=20 implementation.<BR><BR>Thanks,<BR>Siping<BR></BLOCKQUOTE></BODY></HTML> ------=_NextPart_000_005C_01CDF959.816778E0--


This message came from the mail archive
/var/www/postings/2013/
maintained by:
DAn Ellis <dpwe@ee.columbia.edu>
Electrical Engineering Dept., Columbia University