FM调制解调实验
凉凉不冷 Lv4

GNU radio FM调制解调实验

1. 实验原理

1.1 角度调制基本概念

​ 正弦载波有三个参量:幅度频率相位

​ 不仅可以把调制信号的信息载荷于载波的幅度变化中,还可以载荷于载波的频率或相位中。在调制中,若载波的频率随调制信号变化,称为频率调制调频FM若载波的相位随调制信号变化,则称为相位调制调相PM

​ 在这两种调制过程中,载波的幅度都保持恒定不变,而载波的频率和相位的变化都表现为载波的瞬时相位的变化,因此把调频和调相统称为角度调制或调角。如图1(图源:基带、射频,到底是干什么用的?-面包板社区 (eet-china.com)

​ 角度调制与幅度调制不同的是,已调信号频谱不再是原调制信号频谱的线性搬移,而是频谱的非线性变换,会产生与频谱搬移不同的信道频率成分,故角度调制又称为非线性调制

角度调制分为频率调制FM和相位调制PM,即载波的幅度保持不变,而载波的频率或相位随着基带调制信号变化的调制方式。如果载波的频率变化量与调制信号电压成正比,则称为调频FM,如果载波的相位变化量与调制信号电压成正比,则称为调相PM。如表1所示。

表1 角度调制
角度调制 某变化量与调制信号电压成正比
调频FM 载波的频率变化量
调相PM 载波的相位变化量

角度调频

图1 基本调制方式

​ 角度调制的一般原理公式如下所示:

​ 其中,为已调信号的瞬时相位,记为为已调信号相对于载波相位的瞬时相位偏移为已调信号的瞬时角频率,记为已调信号相对于载波频率的瞬时角频率偏移(瞬时频偏)。(瞬时相位指的是,当前时刻投影所在的以弧度表示的位置)

​ 相位调制PM,是指瞬时相位偏移 随调制信号 做线性变化,即

​ 其中,是调相灵敏度,含义是单位调制信号幅度引起PM信号的相位偏移量,则调相已调信号为:

​ 频率调制FM,是指瞬时频率偏移随调制信号做线性变化,即

​ 其中,频率偏移系数。则此时,相位偏移。调频的已调信号可表示为:

​ 由此可知,PM和FM的区别仅在于,PM是相位偏移随随调制信号线性变化FM是相位偏移随的积分呈线性变化。如果预先不知道调制信号的具体形式,则无法判断已调信号是调相信号,还是调频信号。

1.2 单音调制FM与PM

​ 假设调制信号为单一频率的余弦波,即

​ 当用该调制信号来进行相位调制PM时,PM已调信号为:

​ 其中, 称为调相指数,表示最大的相位偏移。

​ 当用该调制信号来进行频率调制FM时,FM已调信号为:

​ 其中, 称为调频指数,表示最大的相位偏移。为最大角频偏,为最大频偏,瞬时相位偏移

1.3 单频FM解调

​ 调制信号为,数字FM解调器的输入是IQ信号(IQ信号代表In-Phase Quadrature,即代表两路相位相差90度的信号),FM已调信号表达式为:

​ 设定

​ 则由FM表达式可得,

​ 证明:

​ 其中,

​ 调制信号 可以通过以下公式得到,

​ 注:arg表示复数的幅角,若

​ 其中,表示一个采样延迟。

​ 注:在与调制信号之间有一个转换系数

1.4 窄带FM(NBFM)

​ 如果上述FM调制公式中的最大瞬时相位偏移满足以下条件:

则FM信号的频谱宽度比较窄,称为窄带调频(NBFM),而当最大瞬时相位偏移不满足上述条件是,FM信号的频谱带比较宽,称为宽带调频(WBFM)。

​ NBFM 和 WBFM 最大的区别是最大瞬时相位偏移不同

​ NBFM 最大相偏 = 5kHz

​ WBFM 最大相偏 = 75kHz

​ 直接反应到频谱上,WBFM 的频谱比 NBFM 要宽,同时 NBFM 的声音带宽会被进一步压低,而 WBFM (普通广播)的音质就会听起来好很多。

​ 将单音 FM信号公式展开得到,

​ 当最大瞬时相位偏移远远小于 0.5 时,可有

​ 则 NBFM 信号的时域表达式为.

​ 利用常见的傅里叶变换对

线线线

​ 由时域相乘,对应频域卷积的关系可得,(参考博客关于傅里叶变换的浅谈 - 知乎 (zhihu.com)以及关于时域乘法和频域卷积关系的浅谈-Part 1 - 知乎 (zhihu.com)


​ 因此,可得 NBFM 信号的频域表达式为

1.5 宽频FM(WBFM)

​ 当FM调制公式中的最大瞬时相位偏移不满足远远小于0.5的条件是,此时表达式不能简化,因而,也就给频谱分析带来困难。为使问题简化,我们只研究单音调制的情况。

​ 假设单音调制信号为

​ 有单音调制FM信号的时域表达式为,利用三角公式展开得到,

​ 将两个因子分别展开傅里叶级数

​ 其中,是第一类n阶贝塞尔函数,它是调频指数的函数。

​ 利用三角公式

​ 以及贝塞尔函数性质

​ 得到FM信号的级数展开式为

​ 对上式进行傅里叶变换,即得FM信号的频域表达式

​ 由此可知,FM调频信号的频谱载波分量和无数边频组成时,其幅度为时,就是对称分布在载频两侧的变频分量其幅度为相邻边频之间的间隔是,并且,当n是奇数时,上下边频极性相反,当n是偶数时,上下边频极性相同。由此可见,FM信号的频谱不再是调制信号频谱的线性搬移,而是一种非线性过程。

1.6 调频信号的带宽

​ 调频信号的频谱包含无穷多个频率分量,因此理论上调频信号的频带宽度为无限宽,但是实际上边频幅度随着n的增大而逐渐减小,因此只要取适当的值使边频分量小到可以忽略的程度,调频信号可近似认为具有有线频谱。通常采用的原则是,信号的频带宽度应包括幅度大于未调载波的10%以上的变频分量,即

以后,取变频数 即可。因为以上的边频幅度均小于0.1,这意味着大于未调载波幅度10%以上的变频分量均被保留。因为被保留的上、下变频数共有个,相邻边频之间的频率间隔为,所以调频波的有效带宽为

​ 这就是广泛用于计算调频信号带宽的卡森(Carson)公式

​ 当,带宽公式可近似为

​ 这就是窄带调频NBFM的带宽。此时,带宽由第一对边频分量决定,带宽值随调制信号频率变换,而与最大频偏无关

​ 当时,带宽公式可近似为

​ 这就是带宽调频WBFM的带宽。此时,带宽由最大频偏决定,而与调制信号频率无关

​ 对于多音或任意带限信号调制时的调频信号带宽仍可用卡森公式估算,即

​ 但是,这里的是调制信号的最高频率,调频指数时最大频偏的比值。

​ NBFM 和 WBFM 最大的区别是最大瞬时相位偏移不同。

​ NBFM 最大相偏 = 5kHz

​ WBFM 最大相偏 = 75kHz

​ 例如,调频广播中规定的最大频偏为75kHz,最高调制频率为15kHz,故调频指数,由带宽公式可得此FM信号的频带带宽为180kHz。

2. 实验内容

2.1 单频FM调制

​ 按图2搭建一个FM调制的GRC程序。

单频FM调制GNU_Radio流图

图2 单频FM调制GNU Radio流图

2.1.1 变量定义

​ 将设定为一个可调变量 (WX GUI Slider),将调频信号频率设定为一个可调变量 ,将载波信号频率设定为一个可调变量,采样率设定为变量,并取值200000Hz。(WX GUI在GUN Radio 3.8+ 的版本中被移除,使用QT GUI时可不使用WX GUI Slider模块用QT GUI Range 代替)

2.1.2 生成调制信号

​ 用 Signal Source 模块生成一个正弦波调制信号,其频率为,幅度为1。然后与相乘得到

2.1.3 生成载波信号

​ 分别生成载波信号,并分别于调制信号及其正交信号相乘,然后二者相加,得到

即为FM已调信号,调制信号波形如图3所示。

FM单音调制_调制信号

图3 调制信号波形

FM已调信号如图4所示。

FM单音调制_FM已调信号

图4 FM已调信号

FM已调信号的频域波形如图5所示。

FM单音调制_FM已调信号频域波形

图5 FM已调信号的频域波形

2.2 单频FM解调

​ 按照图6搭建FM解调GRC

FM单音解调_解调信号

图6 单频FM解调GNU Radio流图

2.2.1 定义变量

​ 采样率:200000Hz

​ 载波频率:0~100000Hz,默认为25000Hz

​ 低通滤波器截止频率:0~50000Hz,默认为25000Hz

2.2.2 生成载波信号

​ 用两个Signal Source分别生成载波信号

​ 并分别于FM已调信号相乘(FM已调信号为FM调制中生成并保存到文件的信号)。

​ 对于

​ 由,可得

​ 对于

​ 由,可得

分别经过低通滤波器后去除了高频分量,只剩下了频率分量。

2.2.3 生成复数信号

​ 由于

​ 则上一步得到的通过使用Float to Complex模块得到复数信号

2.2.4 生成延迟信号

​ 附属信号通过Delay模块生成延迟信号

2.2.5 共轭相乘

​ 利用Multiply Conjugate模块生成

2.2.6 取信号的角度

​ 利用Complex tp Arg模块取出复数信号的角度,即得到调制信号,其中

​ 经过低通滤波后的信号频谱如图7所示,FM解调后得到的调制信号的时域波形如图8所示,频谱如图9所示。

FM单音解调_低通滤波后的频域波形

图7 低通滤波后的信号频谱

FM单音解调后得到的调制信号的时域波形

图8 FM解调后得到的调制信号的时域波形

FM单音解调后得到的调制信号的频域波形

图9 FM解调后得到的调制信号的频域波形

2.3 WBFM调制解调

​ 按图10所示搭建一个WBFM调制解调的GRC程序。

WBFM调制解调GNU_Radio流图

图10 WBFM调制解调流图

2.3.1 从电脑硬盘读取音频

​ 使用Wav File Source模块来读取.wav文件,尽量避免使用中文名文件、英文大写为首字母的文件或过大的文件,否则会报错,如

1
RuntimeError: is not a valid wav file

2.3.2 WBFM调制(发送)

​ 使用WBFM Transmit模块生成WBFM宽带FM信号。表示的是WBFM Transmit模块所期望的输入采样率为

2.3.3 重采样

​ 使用Rational Resampler模块来调整采样率,经过Rational Resampler模块作用,采样率变化过程为

2.3.4 信道模拟

​ 使用Channel Model来模拟信道作用。

2.3.5 低通滤波

​ 低通滤波的截止频率设置为,过渡带宽为抽取值为1,经过此模块后的采样率不变。

2.3.6 重采样

​ 使用Rational Resampler模块来调整采样率,经过此Rational Resampler模块作用,采样率变化过程为

2.3.7 WBFM解调(接收)

​ 使用WBFM接收模块来进行WBFM解调,其中为10,表示需要将采样率变为,以此来适应Audio Sink所要求的

2.4 使用HackRF实现WBFM调制解调

​ 如图11为使用HackRF实现WBFM调制GUN Radio流图,图12为使用HackRF实现WBFM解调流图。

通过hackrf实现WBFM调制信号

图11 使用HackRF实现WBFM调制GUN Radio流图

通过hackrf实现WBFM解调信号

图12 使用HackRF实现WBFM解调GUN Radio流图

2.4.1 HackRF接收信号

​ HackRF用osmocom Source模块来接收FM信号,其中采样率设置为变量

​ **Ch0:Frequncy(Hz)**设置为变量

​ 用一个Signal Source产生一个频率为的余弦波来与osmocom Source模块的输出相乘,进行频谱搬移。

2.4.2 低通滤波

​ 低通滤波器的截止频率设置为,过渡带宽为抽取值为100,经过此模块后的采样率由变为了

2.4.3 重采样

​ 使用Rational Resampler模块来继续调整采样率,以此来满足后续Audio Sink模块需要的做准备。

2.4.4 WBFM接收

​ 使用WBFM接收模块来进行WBFM解调,其中为10,表示将采样率要变为,以此来适应Audio Sink所需要的

表示的是WBFM Receive模块所期望的输入采样率为

2.4.5 音量调节

​ 使用一个Multiply Constant模块来调节声音音量大小,这个数值的取值设定为一个可调节的变量

2.4.6 收听电台

​ 依据图中的流图将会听到103.915MHz的电台(北京交通广播电视台),可以通过调节的值来找到当地可以听到的电台频率。可以先用gqrx找到当地能听到的电台频率值,再进一步微调。

3. 参考资料

  1. GNU Radio FM调制解调实验_开源SDR实验室的博客-CSDN博客
  2. 傅里叶时移和频移性质_寂小小寞的博客-CSDN博客_频移定理
  3. coswt的傅里叶变换 (baidu.com)
  4. 求教书中傅里叶变换中F(jw)和F(w)有什么区别? - 知乎 (zhihu.com)
  5. 关于时域乘法和频域卷积关系的浅谈-Part 1 - 知乎 (zhihu.com)
  6. 卷积运算是什么? - 知乎 (zhihu.com)
  7. 卷积_百度百科 (baidu.com)
  8. 时域上的乘积等于频域上的卷积_卷积的通俗理解——从傅里叶变换到滤波器_学术入门的博客-CSDN博客
  9. 第一类贝塞尔函数 - 快懂百科 (baike.com)
  10. GNU Radio GRC HackRF实现FM接收_开源SDR实验室的博客-CSDN博客
  11. cos和sin的傅立叶变换_yundanfengqing_nuc的博客-CSDN博客_sin和cos的傅里叶变换

EMT

 Comments