我不想使用库--我想从头开始写。我想为WEFAX做一个通过无线电传输的解码器。不同的音频转换为不同的像素暗度。仅灰度-无颜色。
每分钟有120行,每行都超过1000像素。我想要检测频率,并将其转换为可能的8位值。硬件相当于类似于LM567频率到电压转换器的东西。
我不知道从哪里开始。这是像FIR还是IIR的东西?有谁能给我指点我可以学习的代码吗?我不是为Windows写的,而是为unix写的。
艾伦
发布于 2013-04-03 11:48:01
你可以用一个定时器和过零点来找出基频
http://en.wikipedia.org/wiki/Zero_crossing
发布于 2013-04-03 15:51:13
假设你有IQ数据,你可以从一个用相位微分器实现的简单FM解调器开始。频率是相位的导数,因此您可以简单地计算每个样本的相位差,以获得对原始FM信号的估计。单个输出样本可能由如下形式给出:
y[k] = arctan(imag(x[k]) / real(x[k])) - arctan(imag(x[k-1]) / real(x[k-1]))您可能还需要执行一些相位展开,以避免输出中2*pi的倍数跳跃。有关更多详细信息,请参阅瞬时频率部分here。
FM解调的输出基本上应该是您的图像,因为它将产生一个信号,该信号的振幅随着原始信号的频率变化而变化。您必须将其重新采样到正确的像素网格,并正确缩放/量化灰度级。
对调频解调器的输出进行低通滤波,可以提高图像质量,同时也可以降低噪声。
https://stackoverflow.com/questions/15778233
复制相似问题