您的位置:首页 > 编程语言 > MATLAB

如何用matlab证明人耳对声音的相位不敏感?

2018-02-27 13:41 441 查看
提供一个思路:可以设计一个相频特性比较崎岖的全通滤波器,把语音滤波后再听,看看跟原来一不一样。全通滤波器的相频特征能不能设计得比较崎岖,我已经记不得了,需要去复习数字信号处理了……实验成功!先来讲一下全通滤波器的原理。最简单的全通滤波器,只有一个极点和一个零点,极点和零点的辐角相同,模互为倒数。可以验证此滤波器在单位圆上的幅度响应为常数。但这种一阶全通滤波器的极点和零点不构成共轭复数对,它的系数就也是复数。为了得到实系数滤波器,就要在极点和零点的共轭位置再增设一对极点和零点,如下图所示。


这种实系数二阶全通滤波器,幅度响应为常数,相位响应在 0 到 pi 角频率上会降低 2pi。极、零点越靠近单位圆,相位响应的变化就越偏离线性。如果把多个这样的二阶全通滤波器级联起来,就可以得到一个幅度响应为常数、相位响应非常崎岖的全通滤波器。把一段语音通过这个滤波器再播放出来,就可以知道相位对听觉的影响了。


如图,我随机生成了 10 个靠近单位圆的零极点对,搭建了一个 20 阶全通滤波器。可以看到幅度响应的确为...阅读原文
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息