0x00 为什么要这么弄?

许多玩SDR的玩家可能手里只有UV段对讲机,这些对讲机只采用NFM调制,没有AM广播的味道。想体验用AM听音乐的感觉?可以自己制作哟!

0x01 所需软件

Cool Edit

SDRSharp

0x02 制作原理

由于SDRSharp可以直接播放WAV文件(在这里会有人问,为什么不能直接拖过去播放,用AM听就可以了,为什么还要这么费事?相信你有这个疑问,没关系,接着往下看。)所以我们要制作一个AM基带文件。

AM是具有两个边带的信号,由一个高频载波叠加一个直流信号而成。叠加的直流信号平分上下两个边带。

那么我们可以直接听的声音的频率分布图是什么样子的呢?

是这个样子的。有人会说这不是对称的嘛。而且也有两个边带诶?

其实不然,放大之后....

看,中间是空的。所以这个信号是没有直流分量的。自然也就无法被AM解调了。关键点其实并不在这种频谱图上。AM信号的波形和我们直接听到的波形也不一样。

AM波形是这样子的:

频率相等,但是振幅不一样。

而我们经常听到的音乐波形是这样的:

是不是觉得有点杂乱无章呢?看不出频率也幅度不一。

AM的波形是由频率相等(频率等于中心频率,这里频谱的中心频率但是5000Hz,所以这里面就是5000Hz的正弦波。)但是幅度不相等的信号组成的,在调制的时候,原声音的波形会对中心频率进行控制,原信号波形振幅越大,对中心频率的幅度影响也就越大。在调制后的信号外周(学名:包络)画一条线,就可以得到原信号。不是很明白?这里有直观的解释哦:

这个信号是10Hz的正弦波。我们使用1000Hz的信号来调制它,看它会变成什么样子:

它变成了1000Hz的正弦波,但是仔细看,图中的红线是不是就是原信号的样子呢?

但是这样调制只能够实现无载波的AM调制,要实现解调还是需要一个载波信号叠加。那么载波信号选择多少呢?

我们要知道载波信号是位于信号的中心,它的上边带和下边带带宽之和就是带宽大小。不知道带宽怎么设置?上/下边带的带宽有多少,你能够听到的声音的频率最高就是多少,比如上/下边带是10KHz,那么这个AM信号的带宽就是20KHz,解调后能听到的频率上限是10Khz。为什么不是20KHz?因为AM上下边带的信号是对称的,所以有效信息只有一半,也就是10KHz。

0x03 动手制作

如果要听到传统AM收音机的模拟味道,那么我们设置中心频率为5000Hz,这样信号总带宽就是10KHz。

不过这里要注意:你调制时选择的频率和叠加的载波中心频率一定要一致,不然会出现奇怪的现象。

图中实现调制的时候选择的调制电平为0db,这种情况如果叠加载波会产生削顶,所以我们要适当调整参数。

电平要减少一些。然后我们进行载波叠加。

在叠加载波信号的时候电平一般我们设置为调制电平绝对值的二分之一,也就是|-8.2|db=>|-4.1|db.

否则容易出现过调制或削顶的情况。

这样我们就得到了一个AM调制后的信号。

然后我们进入SDRSharp 选择IQ file wav。

然后就可以听到你自己制作的模拟味AM信号歌曲啦!

当然,如果你觉得它有点太"清晰如调频"了,怎么办?那就在第一步,原始信号开始准备调制的时候就加入适当的白噪声,这样解调出来就会有广播的沙沙干扰声音了。

实现后的视频预览:https://www.youtube.com/watch?v=yPmihnOGg4o

本视频样例基带文件:https://static.moemono.com/audio/baseband.wav

曲:冰雪之舞 作曲:桜庭清夏

未经授权允许保留原链接转载。


你是否会像清风拂过花儿一样与我相遇呢?