我在这里用 C 语言实现了一个简单的类似 V.23 的 FSK 调制解调器。
所选调制的特点是,0 和 1 作为两个不同频率(分别为 2100 Hz 和 1300 Hz)的音调发送,每个符号的持续时间是 1/1200 秒,介于 1 和 2 个完整周期之间的符号音调频率。
我在接收器中使用的带通滤波器从大约 875 Hz 到大约 2350 Hz。这个范围是凭经验确定的。
问题是,你如何从音调频率和符号持续时间计算出像这样的信号的频率范围?
编辑:建议与幅度调制相似,其中调制信号落入从F载波- 消息带宽到F载波+ 消息带宽Hz 的频带。
如果我尝试将此逻辑直接应用于我的案例,那么我应该期望我的 FSK 信号的带宽是以下各项的并集:
F1 -到F1的比特率+比特率F0 -到F0的比特率+比特率
或者,如果我插入数字,则联合:
1300-1200= 100到 1300+1200= 2500
2100-1200= 900到 2100+1200= 3300
或者,简单地说,从100到3300 Hz。
但是,如果我查看 FSK 信号的频谱,它看起来大致包含在 2100-1200= 900到 1300+1200= 2500 Hz 的频带中,而不是从 1300-1200= 100到 2100+1200= 3300 Hz的频带中. 这个经验结果可以解释和证明吗?
EDIT2:这是我在 Audacity 中看到的频谱: