我想将少量数据存储在麦克风录制的声音文件中,但我对信号处理几乎一无所知。我设法解调我的数据使用二进制相移键控与此模式编码:

(从这里:http ://courses.cs.washington.edu/courses/cse561/10sp/project_files/FinalReport_FCI_YH.pdf )
为了找到信号的开始,我尝试搜索信号中载波频率的强度超过某个阈值的时间,但这太不可靠了。
什么是解决这个问题的好方法?
我想将少量数据存储在麦克风录制的声音文件中,但我对信号处理几乎一无所知。我设法解调我的数据使用二进制相移键控与此模式编码:

(从这里:http ://courses.cs.washington.edu/courses/cse561/10sp/project_files/FinalReport_FCI_YH.pdf )
为了找到信号的开始,我尝试搜索信号中载波频率的强度超过某个阈值的时间,但这太不可靠了。
什么是解决这个问题的好方法?
此问题通常通过在您的实际有效负载数据之前使用同步模式或同步字来解决。这是接收器提前知道的符号序列,用于帮助与有效载荷数据帧同步。可以通过以下几种方式检测到:
同步模式匹配过滤:在寻找同步标记时,您可以创建一个表示整个调制同步字的匹配过滤器,而不是仅仅集成一个数据位。这样做的好处是,序列匹配滤波器的输出处的 SNR 比其他情况下的 SNR 高,是模式中位数的一个因子。如果您尝试在非常低的 SNR 环境中检测帧开始,这会有所帮助。
这种方法的缺点是它在计算上更复杂(因为您要与整个位序列相关),并且对发射器和接收器之间的频率偏移也更敏感。
硬判决模式匹配:您可以代替与整个调制同步序列相关的“软解码”方法,而只需在现有接收器的输出处查找模式的符号序列。例如,您可以决定所有帧都以序列 01001100101010 开头(我不保证这是一个好的选择)。然后,您将滑过从 BPSK 解码器出来的位,并在看到同步模式时声明帧的开始。在查找序列时,允许模式中存在少量位错误也可能会有所帮助。
与跨整个同步序列的相干积分相比,这种技术在低 SNR 环境中表现不佳。但是,它要简单得多,并且可能适用于您的应用程序。