我测量麦克风的脉冲响应。在绘图开始时,我有一些延迟,然后最高值出现在40毫秒,并减少到45毫秒。 当我进行傅立叶变换时,我只想使用35-45 ms之间的部分。当我使用不同的麦克风时,延迟会减少或增加,因此峰值会发生变化。所以,我想要的时间范围也会发生变化。如何在MATLAB中自动获取包含最高值的范围?
答案 0 :(得分:0)
假设你有一个y
测量值的矢量,并希望测量长度为2r+1
的间隔:
center = find(y==max(y)); % find the peak value
y_edited = y(center-r:center+r); % look at r samples before and after this peak
然后在y_edited
上执行傅立叶变换。请注意,信号上有噪音可能会影响您的表现。