如何用matlab证明人耳对声音的相位不敏感?
2018-02-27 13:41
441 查看
提供一个思路:可以设计一个相频特性比较崎岖的全通滤波器,把语音滤波后再听,看看跟原来一不一样。全通滤波器的相频特征能不能设计得比较崎岖,我已经记不得了,需要去复习数字信号处理了……实验成功!先来讲一下全通滤波器的原理。最简单的全通滤波器,只有一个极点和一个零点,极点和零点的辐角相同,模互为倒数。可以验证此滤波器在单位圆上的幅度响应为常数。但这种一阶全通滤波器的极点和零点不构成共轭复数对,它的系数就也是复数。为了得到实系数滤波器,就要在极点和零点的共轭位置再增设一对极点和零点,如下图所示。
这种实系数二阶全通滤波器,幅度响应为常数,相位响应在 0 到 pi 角频率上会降低 2pi。极、零点越靠近单位圆,相位响应的变化就越偏离线性。如果把多个这样的二阶全通滤波器级联起来,就可以得到一个幅度响应为常数、相位响应非常崎岖的全通滤波器。把一段语音通过这个滤波器再播放出来,就可以知道相位对听觉的影响了。
如图,我随机生成了 10 个靠近单位圆的零极点对,搭建了一个 20 阶全通滤波器。可以看到幅度响应的确为...阅读原文
这种实系数二阶全通滤波器,幅度响应为常数,相位响应在 0 到 pi 角频率上会降低 2pi。极、零点越靠近单位圆,相位响应的变化就越偏离线性。如果把多个这样的二阶全通滤波器级联起来,就可以得到一个幅度响应为常数、相位响应非常崎岖的全通滤波器。把一段语音通过这个滤波器再播放出来,就可以知道相位对听觉的影响了。
如图,我随机生成了 10 个靠近单位圆的零极点对,搭建了一个 20 阶全通滤波器。可以看到幅度响应的确为...阅读原文
相关文章推荐
- 如何让matlab用mex与C连接使用有例子
- MATLAB中如何产生指定范围的随机数
- 如何更改matlab启动时的默认路径?
- 如何证明我妈是我妈?如今终于有了答案!
- Mac突然没声音如何解决
- 分享如何求matlab程序的运行时间
- 教你如何在windows与linux系统中设置MySQL数据库名、表名大小写敏感
- 为什么要进行傅立叶变换,究竟有何意义?如何用MATLAB实现快速傅立叶变换?
- 如何证明神存在
- 如何将资源的声音文件写到磁盘指定的位置
- 如何开启Win10 9901新的Modern声音控制界面
- 如何编写求K-均值聚类算法的Matlab程序?
- MATLAB下跑Faster-RCNN+ZF实验时如何编译自己需要的external文件
- matlab画二维直方图以及双y轴坐标如何修改另一边y轴的颜色
- 如何设置Matlab输出到Word中图片的大小
- matlab如何一张张按顺序保存图片
- matlab如何导入csv文件及matlab支持的数据格式,相应函数
- windows下C++如何调用matlab程序
- 转载: 如何在MATLAB 的MCC 命令 生成C/C++ 程序
- 如何实现matlab与c/c++混编