作者Sanbeishuu (三杯鼠)
看板MATLAB
标题[运算] 请问关於求取 基频 与 振福轮廓
时间Sat Jul 21 23:22:08 2012
是这样的 小弟目前需要用Matlab实作出调整一个声音讯号
做法是 将讯号的 振福包络(振幅轮廓)调整到与该讯号的 基频轮廓 100%相似
在求取 振幅轮廓的部分 看文献是将讯号通过半波整流器再通过低通滤波器
有文献是通过20hz低通 另一文献是将500hz低通剪掉50hz低通
1. 根据我对半波整流器的了解应该就是把负半周过滤掉
所以我的做法就仅仅只是把讯号中小於0的都set成0
请问这样做是对的吗?
2. 低通滤波器则是用 butter(), filter() 去做 应该是没有问题
问题比较大的是在於 求取 基频 的部分
1. 比较多好像是用 自相关演算法 去求
可是Google好像有看到有人说 fft() 後的第一个值 就是基频的幅值
那我有办法单纯将 fft() 的第一个值 ifft() 回去?
那就会是基频吗? 然後用类似cubic spline求包络?
感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.33.53.228