我以前从未处理过信号/流编码或解码,至少没有超过像HTTP这样的基本协议,所以请原谅我,如果我做得比我应该做的更难。
我们在工作中使用的几个系统依靠SMPTE时间码来操作,曼彻斯特双相标记系统在1kHz和2kHz之间占用1kHz的带宽。
因为这在音频频谱中是正确的,并且在线级,它可以直接插入声卡的线路输入,可以使用您选择的音频API访问(我打算在Mac上使用Core Audio)。 / p>
我很高兴解码数字比特流本身以恢复时间和参数,但实际上从采样的模拟信号中恢复比特流不太直接,我不确定解决问题的最佳方法是什么是
我目前的计划是在检测到信号(1秒或24-30帧)后允许短时间来测量过零电平之间的最大和最小采样数(使用移动平均滤波器来防止影响解码的尖峰/丢失)以及确定过零点(DC电平)的最大和最小记录电压。
然后,我应该能够使用此信息从输入的模拟信号构建数字比特流。我是朝着正确的方向前进,还是有更好的方法呢?
由于
答案 0 :(得分:2)
你的声卡几乎可以肯定是AC耦合的。所以你不应该得到DC偏移。
interesting dissection of sound card inputs here
运行移动平均线来计算软件自动增益控制可能是一个好主意。
你的过零点可能接近于零。您还可以将数据模糊为4khz(2 * 2k)[也称为4khz的低通滤波器],然后边缘检测它以获得过零点。
当我遇到这样的信号处理问题时,我会在自定义应用程序中绘制捕获的数据,然后在代码中以半交互方式尝试。
作为建议,尝试捕获一些,看看如何将存储的数据提供给解析例程。尝试不同的东西,看看有什么作用