啸叫抑制调研
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
啸叫抑制报告
1 啸叫产生的原理
啸叫现象是扩声系统在具有较高的传声增益时,由扬声器输出的信号被麦克风再次采集,由此形成一个正反馈环路,信号被反复放大后在某些频率发生自激振荡,并产生刺耳的啸叫,系统框图如图1所示:
功放
+
麦克风
换能器
语音信号
图1 啸叫系统示意图
2 啸叫解决方案研究
大功率声频定向扬声器所用的信号处理平台如下图2所示,外界语音信号经过麦克风后由AD(AKM5394)转换为数字信号进入DSP(Blackfin533)处理后再经过DA(PCM1794)输出到功放,最后由换能器发声。
功放
麦克风
换能器
语音信号
AD
DSP
DA
图2 信号处理平台示意图
根据所使用的信号处理平台,DSP 具有很强的数据运算能力,啸叫抑制主要通过软件实现,一般通过移相,延时,移频等方法破坏其正反馈自激的条件从而达到抑制啸叫的目的,这里讨论了三种软件抑制啸叫的方式:(1)延时处理,(2) 自动增益控制(AGC),(3)移频。 2.1 延时处理方式
这种方式很简单,即是将输入信号延时一段时间再输出,如下图所示:
τ
延时)
(t x )
()(τ-=t x t y
图3 延时处理示意图
经实验发现单纯的延时对抑制啸叫并没有什么明显的效果。 2.2 自动增益控制
自动增益控制即是当输入信号幅值发生变化时自动的调节输出增益从而使输出信号幅值保持不变。这里实现自动增益控制的方法如下图所示:
希尔伯特变换
平方
x (t )
平方
+
开方
平滑
处理)
()(x Env t x Gain
y (t )
)(ˆt x
)
(x Env
图4 自动增益控制算法框图
如上图所示,)(ˆt x
为输入信号)(t x 的希尔伯特变换(正交变换),可用下式计算输入信号的包络:
)(ˆ)()(22t x
t x x Env += (1) 将包络信号经过平滑处理后便可利用下式得到幅值稳定的输出信号:
)
()
()(x Env t x Gain
t y = (2)
式中Gain 表示希望得到的稳定幅值,使用Matlab 对该算法进行仿真测试可得到如下图所示的结果,其中设定的稳定幅值为0.8。
0.035
0.04
0.045
0.05
0.055
0.06
0.065
-1-0.5
0.5
1
时间(s)幅值
0.035
0.04
0.045
0.05
0.055
0.06
0.065
-1-0.5
00.5
1
1.5
时间(s)
幅值
(a)输入信号时域图 (b)输出信号时域图
图5 AGC 算法测试结果
图5(a)为输入信号,0.05s 前其幅值为0.6,之后变为1.1,信号频率均为1KHz ,从图5(b)的输出信号可以看出其输出的幅值除了在输入信号幅值突变时有约1ms 的调整期外,其它时刻基本稳定在0.8。由此可见,该算法能够自动根据输入信号的幅值来调整增益以保持输出信号幅值稳定。
不过遗憾的是经实验发现,自动增益控制只能将啸叫控制在所设定的幅值,并不能很好的抑制啸叫,反而有可能在啸叫声音较小的时候增大其幅值。 2.3 移频
移频即是将原信号在频域上下移动数赫兹,为了不影响声音效果,移动频率一般在4Hz 左右。本文所用的移频算法如下图所示:
希尔伯特变换
sin c t
ωcos c t
ω2
π
换能器
y (t )
)
(t x )(ˆt x
图6 移频算法框图
如上图所示,输入信号)(t x 经过希尔伯特变换得到)(ˆt x
,然后将原始信号和希尔伯特
变换信号分别和t c ωcos ,t c ωsin 相乘再相加(减)得到输出信号,相加时频率向下移动,相减时频率向上移动,其中c ω即为移动的频率,最终输出信号可用下式表示:
t t x
t t x t y c c ωωsin )(ˆcos )()(±= (3) 由上式可看出,该移频算法其实是一个抑制载波的SSB 调制,只不过此处载波频率很低,
仅为4Hz 左右。例如当输入信号)cos()(t t x ω=时,)sin()(ˆt t x
ω=,此时: ])cos[()sin()sin()cos()cos()(t t t t t t y c c c ωωωωωω =±= (4)
由(4)式可见,输出信号频率在输入信号频率基础上移动了c ω,一般地,当输入信号为宽带信号时也可得出同样的结论,即输入信号的每个频率分量都会在原频率基础上移动c ω,具体推导过程这里不再赘述。
经实验发现,移频可以有效地破坏系统自激的条件从而抑制啸叫,移频前后电位器的最大位置如下图所示:
(a)移频前电位器最大位置 (b)移频后电位器最大位置
图7 移频前后电位器的最大位置对比
3 总结
通过上面的分析不难发现,上面三种方法中移频对抑制啸叫的效果最好,可使声压提高6dB 左右,但仍然不够理想,针对啸叫问题还需要进一步的研究。 4 后期改进方案
后期改进方案考虑使用自动声反馈抑制器,其实现框图如下图所示: