为什么要使用快速傅立叶变换来降低噪声,而不是使用经典的电子滤波器?


17

我想知道如何消除语音记录中的环境噪音。

我进行了一些研究,并且发现大多数建议的方法都使用快速傅立叶变换。但是,为什么不能使用经典的电子滤波器来消除噪声频率呢?为什么要烦恼进行FFT?


因为fft可以提供更好的质量输出?
太阳迈克

4
将5GS / s DSP系统的价格与一堆仪器和电容的价格进行比较...
PlasmaHH

1
也许您可以使用fft进行更复杂的过滤。“经典电子滤波器”仅去除特定范围内的所有频率。另外,这是您的学生证,是我给您的礼物。
安德鲁·皮库尔

1
您的问题有两个问题:(1)“古典电子滤波器”是什么意思?(2)以某种方式完成某些事情(FFT)的事实并不意味着它不能以另一种方式完成(过滤器);否则可能会有一些缺点。但是,您假设无法使用经典的电子滤波器(无论您要说的是什么),这可能是错误的。
凝结

您的语音录制格式(模拟还是数字)是什么?延迟是一个问题吗(实时还是事后)?录音需要多长时间(歌曲与录音天数)?
copper.hat

Answers:


25

我想知道如何消除语音记录中的环境噪音。

好吧,现在已经数字存储了,对吗?所以您打算在模拟滤波器之后将麦克风放在扬声器旁边以重新录制吗?

到处都是混乱,我会认真的。


为了使滤波器在较小的频率范围内衰减更大,也就是使频率响应曲线更加垂直,那么您只需要增加滤波器的阶数即可。

在Matlab中,这很容易做到。这也是可行的后处理方法。这也与可重复性有关,如果您今天在晴天使用过滤器,那么您期望它在下雨天能与明天一样工作。您希望它的工作原理完全相同,对吗?

在模拟电路中,您将拥有所有这些“ 5%电阻器”,“ 1%电容器”以及所有其他东西。因此,如果您想做一些精确的事情,那么您肯定需要在之后对电路进行调整,以使其与所需的滤波器完全匹配。如果您想增加过滤器的阶数...那么可悲的是..它将使过滤器的体积大大增加。我不知道,它不会占用信用卡的大小,而是会取决于过滤器的顺序以及您的能力。

关于可重复性,今天..温暖..明天..冷...电阻会稍有变化,频率响应将变化,那里有几个Hz,那里有一些,电路中有更多的组件,则很有可能是您的组件将更改其值。然后你变得潮湿,被氧化...

这是我首先要说的重点,除非您有盒式磁带,否则您不能真正对其进行后处理。我不是100%不确定用来轻松录制/删除的模拟音乐媒体。LP碟片将是一场噩梦...

而且,不要忘记价格。一种是软件,如果您自己编写,那么它实际上是免费的,另一种则需要组件和物理部件。

但是不要认为模拟滤波器是坏的,它们有其用途,例如消除大型直流电动机中的有害谐波,或者通过平滑电流来为3D打印机制造超静音步进电动机和吨其他用途。-同样,如果您要使用模拟滤波器来解决它,没人会认为这是一个不好的解决方案。

我相信我是在间接回答为什么在后处理方面FFT是更好的解决方案。底线是,它是便宜的事情。如果您知道噪声的频率,也可以仅应用陷波滤波器。或更宽的带阻滤波器。

最后我想补充一下...这个答案太长了,很抱歉。但是,如果您使用模拟滤波器,并且...搞砸了您的计算,然后认为它很好并且很花哨,并且可以在一些严重的事件中使用它,例如采访瑞典国王(Knugen)。您搞砸了电容器的尺寸,而不是过滤了16kHz的噪声,而是滤除了4kHz的“噪声”。如果改为数字处理,则只需更改一些变量即可,而无需拆焊->焊接另一个组件。面试也毁了。


4
HansMajonnäsHonung Carl XVI Gustaf
烟斗

@pipe Tackar,detbehövdes。(谢谢,我需要。)
哈里·斯文森

后续问题(因为此答案在很大程度上取决于模拟的字面定义)。为什么选择FFT来过滤噪声而不是经典多项式滤波器?
slebetman '17

@slebetman不要期望我回答这个问题。
哈里·斯文森

那是一个非常可靠的答案!谢谢兄弟,也感谢其他回答的人,我希望得到这么多帮助!我肯定会在这个论坛上提出更多问题。再次感谢你!
加兹(Jazis)

7

但是,为什么不能使用经典的电子滤波器来消除噪声频率呢?

谁说你不能?在数字信号处理之前的几天中就是这样做的。问题在于,过滤噪声始终是在保持所需信号(语音,音乐)不变而降低噪声之间的折衷方案。

对于盒式磁带和其他模拟磁带录音系统,使用了DNL和Dolby等系统,它们仅在信号微弱时过滤,这意味着更容易听到噪声。然后,当信号更强时,滤波器将消失。参见:维基百科有关降噪的文章

语音可以限制在300 Hz至3 kHz之类的狭窄频段,同时仍然可以完全理解。您可以为该频带制作一个简单的模拟滤波器,但这将限制抑制的噪声量。为了更有效地滤除该频带外的频率,将需要一个复杂的模拟滤波器。这种过滤器难以设计,制造和制造。

这就是数字信号处理的用武之地。在数字领域,实施带有许多极点和零点的复杂滤波器要容易得多。同样,由于这些极点和零点的位置(在频域中)与DSP(数字信号处理器)的时钟(精确的(晶体)时钟)相关联,因此与模拟实现相比,滤波器将更加准确。


+1代表保留有用信号和消除不必要信​​号之间的折衷。问题在于语音和噪声占据相同的频率,因此FFT滤波器可以消除“基线”噪声,即在分析了没有语音的每个频率的噪声幅度之后,可以在有语音的地方消除噪声。这就是Audacity等等等中FFT噪声滤波器工作的方式。
逆向工程师

我不确定是什么使模拟滤波器的设计和制造特别困难。.您基本上只需要一个或两个运算放大器以及一些电阻器和电容器。而且由于运算放大器通常采用双重封装,因此您只需要一个芯片。我通常会使用模拟滤波器进行低通滤波,以确保信号中几乎没有混叠的高频信号。之后,您将无法摆脱FFT。另一方面,当您要进行干净的“记录”处理时,进行FFT带通滤波器没问题。
Barleyman '17

@Barleyman '不确定是什么使模拟滤波器特别难以设计和制造,我指的是4阶及更高阶的高阶滤波器。我同意几个运放。电阻和电容几乎可以做任何阶数的滤波器,但是您是否尝试过设计一个?我已经在模拟器中,但是您已经遇到了不够精确的标准现成电容器。在更高的订单上,组件的精确值变得越来越重要。
Bimpelrekkie

同样,混叠也不再是一个问题,因为我们现在拥有具有很高采样频率的sigma-delta ADC和DAC,因此只需要一个简单的RC。
Bimpelrekkie

@Bimpelrekkie我现在已经设计了好几本,什么也没做。.以前,您会使用一本书,其中包含一些预先计算的参数选择,您将花费一些时间弄乱它以获得一些合理的组件值。如果您不想太挑剔,那么准确性就不是一个大问题。如果您要进行录音,RC并不会真正完成工作。-20dB /十倍频时,您必须将滤波器置于2.2kHz,才能在奈奎斯特频率下获得某种滤波效果。三阶Cherbychew在12kHz fc时会更好。5级将使您达到-46dB,这“足够好”
Barleyman '17

5

好了,了解为什么需要FFT的第一步是了解数字滤波的工作原理。

因此,基本上,您具有一个结构,例如移位寄存器,具有许多存储元件,一个输入和一个输出。样本值进入输入,在寄存器中移位并移至输出。在寄存器的每个阶段,它都乘以一个称为滤波器系数的数字。

当您有一个进行快速乘法的快速寄存器并且样本逐个缓慢进入时,这种想法行得通。

在现实生活中,取而代之的是,您很可能会获得由许多样本组成的框架。当您想对其进行过滤时,可以将样本与过滤系数进行卷积。与以前的方法相同,但是看起来有些不同。

现在是FFT部分。事实证明,随着样本数量的增加,卷积的数值复杂度迅速增加。另一方面,FFT在一开始就在数值上很复杂,但是与卷积相比,随着滤波器系数的增加,所需运算的数量增长得慢得多。

上面的意思是,在一定数量的样本以上,使用FFT将信号转换到频域,在频域中过滤信号,然后使用IFFT将其转换回更快。我们使用的技巧是卷积的特性之一,即在某些情况下可以将时域中的卷积建模为频域中的乘法。

综上所述,如果您拥有的滤波器系数数量足够大,则FFT会更快。“大”可能小到一百左右。


3
我认为“古典电子滤波器”是指模拟滤波器,而不是卷积。
jalalipop

1
@jalalipop可以,但是我明确想解释FFT部分。当时,我们已经有了答案,可以解释为什么我们要使用数字滤波器而不是模拟滤波器。
AndrejaKo

2

基于FFT的方法(您仍然必须使用加窗和重叠加法或重叠移位修改法)的主要优点是,设计牢固地位于频域中,并且具有维纳滤波器或频谱减法或许多其他依赖信号统计数据和模型的系统则实际上在频域上工作。

相反,回声消除和各种变型不依赖于噪声模型,而是依赖于与噪声高度相关的不完美记录。使用可变滤波器(通常为FIR)从信号中减去噪声估计并更新滤波器,以使其余信号与噪声通道的相关性保持最小,即可完成这些操作。对于那些技术,FFT并不是全部有用(当结果信号和滤波器更新的相当大的延迟是可允许的时,出于性能原因,它们可以用作具有延迟的黑盒FIR的组件,但是对于它们的使用并没有真正的用处频域表示能力)。


扎实地在频域。如果不是因为音调和音符具有基调和泛音属性,那不是什么特别的优势。
mathreadler

2

模拟滤波器很容易设计,但局限性在于您需要继续添加物理滤波器元件才能实现给定频率的带阻滤波。如果要移动凹口,则需要调整组件值。一个运放可以产生一个带阻陷波,因此您需要为每个陷波添加另一个放大器。要获得更高的选择性陷波,每个陷波需要两个放大器。

实际上,最好是使用一个运算放大器或一个需要两个运算放大器的五阶低通滤波器来实现的三阶低通滤波器。使用低通滤波器以一定的余量衰减高于奈奎斯特频率(1/2采样频率)的频率,您将获得高质量的数字样本进行后处理。使用这样的干净记录,然后可以应用FFT滤波器来根据需要创建高通,带通和带阻滤波器。


1

“经典电子滤波器”所做的线性时不变滤波只是傅立叶域中的“哑”乘法。但是,您在FFT中找到的信息可以告诉您更多的细节,而不仅仅是一个滤波器的响应,后者只是这些组件的线性组合。使用该信息,您可以指导数据处理并使之适应数据。噪声具有一些特征,这些特征使人声和音乐音调不清晰,例如,泛音之间的相关性与噪声和声音或音乐几乎不相同。

因此,如果我们可以识别频率分量之间的相关性,即以某种方式找到“地面声”,我们就可以指导滤波并使它更适合数据。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.