将样本与自身的部分延迟版本相乘(解码传真V.21调制)

2024-06-01 00:06:54 发布

您现在位置:Python中文网/ 问答频道 /正文

出于好奇,我正在编写一个Python程序,它获取一个WAV文件,该文件记录了传真机发出的握手信号,并尝试解码V.21调制的300 bps消息中的位。我知道它包含图像分辨率和页面大小等内容

我知道编码是一个正弦波,1650赫兹表示“一”,1850赫兹表示“零”。为了弄清楚每一点上哪个频率起作用,我在a book中发现了一个技巧,将信号乘以90°延迟版本

enter image description here

我的WAV文件采样频率为8000Hz。我可以通过延迟1个样本来部分解码,但显然所需的延迟并不完全是一个样本,而是分数。虽然我似乎正确地理解了消息的大部分开头,但后来的一些数据似乎毫无意义,我开始认为这可能是因为我没有使用适当延迟的样本进行乘法

虽然我能够找到一些数学来描述如何处理一个分数延迟,但我发现解释和数学很难理解,因为没有信号处理背景。所以我想知道一些Python信号处理库是否已经提供了一种方法,可以将样本延迟一小部分,或者甚至直接将信号与延迟版本的信号相乘


Tags: 文件程序版本消息信号记录数学解码