【发布时间】:2021-04-04 21:24:56
【问题描述】:
我得到了一系列音调,它描述了无线电传输的报头。我需要检测此标头来触发信号解码器功能。
信号图:
这是一个使用绘制的列表
ax1.plot(range(len(inst_fr)),inst_fr)
每个音的长度相同,有9个音,顺序如下(t1,t2,t1,t2,t3,t2,t3,t1)
考虑到这一点,检测此标头的最佳方法是什么
- 这是一个由 9 个音调组成的序列
- 有 3 种不同的音调
- 每个音的长度相同
- 我正在使用 scipy.io 进行音频/信号处理。
我开始使用一种方法来检测至少一个频率,比如1500,阈值为50。
threshold = 50
freq = 1500
for idx,i in enumerate(inst_fr):
if (freq - threshold) < i < (freq + threshold):
print("%s \t %s" % (idx, i))
这里的问题是我得到了很多“误报”(实际上是真正的肯定)。而且我不确定如何继续检查频率 +/- 阈值是否在 ~1000 个样本的范围内匹配
【问题讨论】:
-
您是否有一种方法虽然不是最好但仍然有效?
-
添加了初始方法