首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当信号过零时,如何解码调幅?

当信号过零时,如何解码调幅?
EN

Stack Overflow用户
提问于 2019-12-30 14:48:41
回答 2查看 280关注 0票数 1

我正在尝试用C++程序解码来自三菱VisiTel电话图像发送器的图像信号。它被编码为用~1764 as的正弦波载波调制的模拟音频信号。

我正在以44.1 the的频率读取声卡输入的带符号8位的音频,这为载波提供了大约25个样本的周期。显然,模拟信号不会很好地落在样本边界上,因此假设这可能会偏移+/-1个样本。

我第一次尝试解码信号是通过获取信号的峰值并将其指定为像素值。这几乎是有效的,但似乎有一些“反相位”像素和图像最终会倾斜。

最终,我通过将像素时钟与峰值解耦并将其与样本绑定来获得信号。我还必须对每一条扫描线分别计时,因为它不会以某种方式以像素倍数结束。

但这个信号并不完全正确,暗区不知何故出现了反转。

Image with dark areas inverted

最终,我意识到在明/暗转换处有一个相位不连续。这向我表明,调制信号超过了零点,导致结果信号中的相位不连续,因为它驱动载波为负,颠倒了峰/谷关系。

Discontinuity in AM signal虽然我可以尝试修改我的状态机来检测这种类型的转换,但它看起来有点混乱,很容易出错。

我一直在想,在调制器穿过零点的地方,必须有一种适当的数学方法来解调AM信号。但我发现的所有例子似乎都是简单的基于峰值的包络检测器。我找到的产品检测器解释似乎依赖于你的载波和相位完全正确,我不确定这仍然能为我买到过零信号的任何东西。

在调制器过零处解调AM信号的正确方式是什么?

EN

回答 2

Stack Overflow用户

发布于 2019-12-31 00:37:33

复数(正交或IQ)积检测器是一种可行的方法。即使您的解调载波很接近并且不精确;一个很小的频率误差只是意味着您的解调结果将会有直流偏移,可以在以后的处理阶段将其消除。

票数 0
EN

Stack Overflow用户

发布于 2019-12-31 01:34:49

你需要确定载体的相位,然后你就可以使用产品检测器了。正交检测器可以让你在事后确定相位,但既然你无论如何都要这样做,你最好先做它。

VisiTel很可能在图像之前发送某种类型的同步信号,该信号将用于确定载波相位并向接收器指示图像传输的开始。您可能应该将其用于预期的目的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59526803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档