我有两个.wav文件,包含两种不同心脏的记录,所以有不同的心率。我想正常化这两个信号,以修正他们的BPM在60,而不修改任何其他。
这是信号的读取方式(对另一个信号来说是一样的,但是用2)和它看起来是什么样子(而且它是FFT):
[y1,fs1] = audioread(heartbeat1);
N1 = length(y1);
t1 = linspace(0, N1/fs1, N1);

我做了一些研究,发现了interp1,但它似乎不适合我的项目。我真的不知道我是怎么做到的,所以如果你能给我一个函数,我可以用它,那就太棒了。
发布于 2016-06-10 11:24:54
我不确定我明白了。
我想你想比较两种不同的“主”心跳频率的心跳信号。所以我想你可以把这两个信号画成
F/ f_{beat}
其中f_{节拍}是一个信号的心跳频率。这将是一个维度(它没有单位,因为1/s / 1/s = 1)频率,应该允许您比较不同心跳频率的信号,因为它不会扭曲它。
这或多或少是我建议的效果。注意,我不知道如何计算心跳频率,我只使用了f_{ just }=0.8 1/s,也许您可以改进这一点。
信号作为频率的函数:

信号作为一维频率的函数:

希望这能帮上忙。
https://stackoverflow.com/questions/37744183
复制相似问题