深入浅出的讲解:信号调制到底是如何实现的


Posted in 无线电 onFebruary 18, 2022

要理解如何进行无线数据传输,我们需要了解:

  1. 什么是频率?

  2. 信息 / 数据信号

  3. 时间表示

  4. 频率表示,为什么它很重要?

  5. 滤波器如何工作?

  6. FCC 通信频段

  7. 调制和解调

这些主题可能您在大学专业课上学过(您也可以在维基百科中查询),其中涉及非常庞大的知识。此前我为高级项目组中非电子工程专业的学生准备的PPT中,配套介绍了这些主题――学生们期望能够弄清楚我们谈到的“900MHz”、“2.4GHz”或“跳频”等术语。本文限于篇幅,难以对这些主题的阐述完整、彻底,忽略了专业课所涉及的很多细节,仅提供无线传输方面的概念性说明。

什么是频率?

频率是描述每隔多长时间振荡一次或重复一次的术语,单位为赫兹(Hz)或秒的倒数。如果每秒振荡60次,则其频率为60Hz。在本文中,我们将主要探讨音频波(气压的振荡),及其如何以数百千赫频率从无线电台传播到您的车载收音机上(或任何AM无线电台)。任何波都有一个频率,光波也一样。光波和其他更高频率的波(例如X射线、伽马射线、微波)一般用波长来表示,而不用频率。例如,绿色光的波长大约为400纳米。下图显示了行进波单位间的关系:

深入浅出的讲解:信号调制到底是如何实现的

正弦波的基本单位。

假设信号速度恒定,则波长和频率是可以换算的,不过这已超出本文的讨论范畴。

不同复杂性的信息信号

如果发送一个纯正弦波信号(称为“音频”)。它不携载任何实际信息,听上去也并不好听。下图是一个正弦波的图像,X轴为时间,Y轴为电压,这是一个150Hz参考信号。

深入浅出的讲解:信号调制到底是如何实现的

单音频信号(时域)

那么为什么要看这幅图像呢?让我们来看一下时域中复杂性不断增加的信号。这是一个双音频信号(两个音频叠加在一起)。此正弦波与上一个正弦波相同,只不过又加上了另一个倍频(300Hz)的正弦波。

深入浅出的讲解:信号调制到底是如何实现的

双音频信号(时域)

那么由多个不同频率的信号是什么样的呢?

深入浅出的讲解:信号调制到底是如何实现的

多音频信号(时域)

它变得毛刺更多。您能在此图中看到的唯一真实信息便是在指定时间内的电压电平。这就是信息的本质,它极其重要——但也使分析变得复杂,更使了解调制工作变得更加困难。为此,您可能希望用另一种不同的方式(频域)绘制信号图像。它显示信号在一系列频率上的强度。让我们看一下。

为何信号的频谱很重要?

要将大量信号转换到频域中,需要进行精密的数学运算。这项工作很困难,计算量很大,必须反复练习才能掌握。我甚至定期对那些重要信号的进行卷积运算,练习我的转换能力。不管怎样,让我们看一下以上三个信号如何用这种形式来表示(这里忽略中间的推演运算)。我们不再绘制信号电压随时间的变化,而是绘制信号功率随频率的变化。

深入浅出的讲解:信号调制到底是如何实现的

单音频信号(频域)

深入浅出的讲解:信号调制到底是如何实现的

双音频信号(频域)

深入浅出的讲解:信号调制到底是如何实现的

多音频信号(频域)

注意到图中明显的尖峰了吗?那是正弦波在特定频率(X轴)上的数学表示。理想情况下,这些尖峰应当是无限窄(宽度)和无限高的,但是受我所使用的Spice软件的技术水平限制,它是不完美的。这种信号称为脉冲信号。有关此信号的详细说明,请阅读此处!对于这个音频,我们看到在频域看到一个尖峰,在150Hz处。而双音频信号在频域有两个尖峰,在150Hz和300Hz处。多音频信号在时域中基本无法解读,时域信号中众多的小尖峰,是多个频率点的叠加组成的。

最后举一个例子,一个实际的音频信号。如下图,我采样了15秒歌手Cream的歌曲《白色的房间(WhiteRoom)》。不必为信号长的摸样担心,在EricClapton的吉他独奏期间,任何麦克风都没有损坏。

深入浅出的讲解:信号调制到底是如何实现的

音频信号

这就是大多数信号的看上去的样子,尤其是模拟信号。人和乐器的声音并不是在离散的频率上播放,其频率内容分布在整个频率范围内(尽管某些内容几乎是听不到的)。这个范围在3Hz至20kHz之间,大约就是人耳能够听到的频率范围。低音部的频率较低,高音部的频率较高。Y轴标度用dB表示,dB表示一个比例,没有单位。在本质上来说,dB值越高,那个频率对应的信号就越高。

理论上,我们可以用无数个音频信号累加之和来表示这个模拟信号。

滤波器

幸好频域的图形表示可为滤波器设计提供一些帮助。滤波器有四种类型,包括:

  • 低通滤波器:高于“截止频率”的所有频率都被滤除。

  • 高通滤波器:低于“截止频率”的所有频率都被滤除。

  • 带通滤波器:距离“中心频率”一定范围外的所有频率都被滤除。

  • 带阻滤波器:距离“中心频率”一定范围内的所有频率都被滤除。

深入浅出的讲解:信号调制到底是如何实现的

由上而下:带通滤波器、低通滤波器、高通滤波器

“3dB”点是信号输出降低大约30%的地方。dB是一个对数标度:

x[dB]=10*log(x[linear])

x[linear]=10^(x[dB]/10)

基于这个公式,x[linear]=0.7,对应的x[dB]大约为-3.0dB,0.7就是70%,就是信号衰减30%,这时对应的频率就称为滤波器的截止频率。汽车音响就是一个实际的例子,它可能包括一个“分频器”,其特殊的滤波器设计可将低频切换至低音扬声器、高频切换至高音扬声器。这对于无线接收机是非常重要的。

FCC通信频段

FCC和其他国际组织一致认为,如果任由任何人随意使用任何频率,那么必然会导致绝对的混乱。因此,应为不同用户分配不同的频率范围。例如分别为FM无线电、AM无线电、WiFi、移动电话、海事通信、空中交通管制、业余无线电、对讲机、军事通信、警用电台等应用分配不同频段。对了,我们还没提卫星或空间通信!这真是太乱了,幸亏有FCC帮助管理。如果您感到好奇,不妨用谷歌搜索一下,马上就能找到一个更详细的图表。

深入浅出的讲解:信号调制到底是如何实现的

FCC频谱分配表

FCC已为小范围的个人应用、业余爱好者的应用和其他常规“ISM频段”应用(工业、科学、医疗)预留了部分频段。这就是WiFi、对讲机、无线传感器和其他通信设备的工作频段。让我们再次讨论一下频率!人耳的听力范围为20Hz至20kHz。如果我们的AM电台为680kHz,那么无线电塔如何将声音变到该频率呢?它如何避免干扰到其他电台?接收机如何将信号频率转换回可听范围?

调制

让我们离开频域,回到时域。再次重申一下:我们的讨论过于简单,略过了很多细节!在此只是为了得到一个概念性的结果。之所以这么说是因为,数学表示最适合在时域中使用,而图形表示在频域中效果最佳。

调制的作用就是将信号从低频(信息)转换到高频(载波)。思路很简单:用您的信息乘以高频载波,例如680kHz,这就是AM广播!稍等一下,事情果真如此简单吗?让我们看几个数学关系式。在此例中,θ就是信息(可听内容),φ是载波(例如,AM广播频率)。

深入浅出的讲解:信号调制到底是如何实现的

图中文字中英对照

深入浅出的讲解:信号调制到底是如何实现的

我们的AM信号如果用公式来表达,涉及多个信号的乘法运算,这在时域或频域中是很难想像的,因为我们仅仅看到音频是什么样的。但是上述这种对应关系告诉我们:两个信号相乘可用两个信号相加来表示!现在,我们很容易在频域中绘制出经乘法运算得到的信号。

深入浅出的讲解:信号调制到底是如何实现的

在载波(1000Hz)上调制的单音频(150Hz)

在此图中,我们用150Hz音频乘以1000Hz载波。上表显示了两个半功率信号,分别位于1000-150和1000+150Hz处,也就是在850Hz和1150Hz处。那么当经过调制后,我们每个音节的表现如何呢?

深入浅出的讲解:信号调制到底是如何实现的

声音调制到700kHz

不出所料,我们看到了两个信号。一个是载波+信息,另一个是载波-信息(甚至注意到它是如何反转的)。

这就是AM频谱和信号内容的大致图解。

深入浅出的讲解:信号调制到底是如何实现的

解调

现在我们来讨论接收机。所有信号均从天线开始,在同一时间查看所有信号,看到的是一团乱麻。天线拾取到大量的数据,但它并不负责进行分类,这是调谐器和其他硬件的工作。信号解调的原理与调制原理完全相同,非常方便!要将我们的音频信号转回到“基带”,并将其发送至扬声器,我们可以再次用载波乘以所有信号。

深入浅出的讲解:信号调制到底是如何实现的

这个公式中包含一大串数学函数、括号和频率变量。不过它是对的,我们由此导出了四个信号:

1/4功率信号,(2*载波+信息)

1/4功率信号,(信息)

1/4功率信号,(2*载波-信息)

1/4功率信号,(-信息)

让我们忽略这个包含负频率的项,它是我们讨论调制及涉及的运算时,常常会出现的数学产物。在双倍载波上的两个信号(假设载波远大于信息,它们几乎是相同的)可用低通滤波器滤出。低通滤波器会阻断信号的所有高频内容,于是只将原始信息留给我们。我们可用放大器放大原始信息,然后发送到扬声器。太酷了!这就是它的图像,但是要向后延迟一点。

结论

本文的目的是高度概括地介绍无线电信号是如何传输和调制的。通过将多个音频(或基带)信号乘以不同的高频信号(载波),我们可以通过同一个信道成功传输多个数据流而不会相互干扰。再次用载波相乘,将调制的信号转换回基带,再用低通滤波器和放大器清理并放大信号,即可让我们听到各种美妙动听的声音!

无线电 相关文章推荐
全国FM电台频率大全 - 12 安徽省
Mar 11 无线电
收音机术语解释
Mar 01 无线电
无线电的诞生过程
Mar 01 无线电
什么是调频(FM)、调幅(AM)、短波(SW)、长波(LW)
Mar 01 无线电
自制汽车收音机天线:收听广播的技巧和方法
Mar 02 无线电
收音机怀古---春雷3P7图片欣赏
Mar 02 无线电
77A一级收信机修理记
Mar 02 无线电
历史证明,懒惰才是推动科学发展技术进步的动力
Mar 02 无线电
数理公式,也可以这么唯美
Mar 10 无线电
超外差式晶体管收音机的组装与统调
Apr 22 无线电
我的收音机情缘
Apr 05 无线电
收音机爱好者玩机13年,简评其使用过的19台收音机
Apr 30 无线电
对讲机的最大通讯距离是多少
业余无线电通联Q语
Feb 18 #无线电
船舶调度指挥系统——助力智慧海事
24年收藏2000多部退役军用电台
Feb 18 #无线电
高性能跳频抗干扰宽带自组网电台
警用民用对讲机找不同
Feb 18 #无线电
工厂无线对讲系统解决方案
You might like
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
2011/03/19 PHP
微信获取用户地理位置信息的原理与步骤
2015/11/12 PHP
Javascript 定时器调用传递参数的方法
2009/11/12 Javascript
火狐4、谷歌12不支持Jquery Validator的解决方法分享
2011/06/20 Javascript
jquery实现浮动的侧栏实例
2015/06/25 Javascript
BootStrap的弹出框(Popover)支持鼠标移到弹出层上弹窗层不隐藏的原因及解决办法
2016/04/03 Javascript
jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)
2016/06/07 Javascript
很棒的js Tab选项卡切换效果
2016/08/30 Javascript
原生JS简单实现ajax的方法示例
2016/11/29 Javascript
页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)
2017/08/29 Javascript
vue.js  父向子组件传参的实例代码
2017/10/29 Javascript
微信小程序实现动态改变view标签宽度和高度的方法【附demo源码下载】
2017/12/05 Javascript
vue1.0和vue2.0的watch监听事件写法详解
2018/09/11 Javascript
微信小程序实现通过双向滑动缩放图片大小的方法
2018/12/30 Javascript
如何在项目中使用log4.js的方法步骤
2019/07/16 Javascript
对layui数据表格动态cols(字段)动态变化详解
2019/10/25 Javascript
vue 组件开发原理与实现方法详解
2019/11/29 Javascript
JS如何判断对象是否包含某个属性
2020/08/29 Javascript
[03:36]DOTA2完美大师赛coL战队趣味视频——我演你猜
2017/11/23 DOTA
Python使用urllib模块的urlopen超时问题解决方法
2014/11/08 Python
Python爬虫DNS解析缓存方法实例分析
2017/06/02 Python
解决Django migrate No changes detected 不能创建表的问题
2018/05/27 Python
用python生成1000个txt文件的方法
2018/10/25 Python
基于python实现蓝牙通信代码实例
2019/11/19 Python
快速解决jupyter notebook启动需要密码的问题
2020/04/21 Python
关于box-sizing的全面理解
2016/07/28 HTML / CSS
Cotton On美国网站:澳洲时装连锁品牌
2016/10/25 全球购物
一年级语文教学反思
2014/02/13 职场文书
公司股权转让协议书
2014/04/12 职场文书
大学生个人求职信例文
2014/07/07 职场文书
2014年人事行政工作总结
2014/12/03 职场文书
2014年城管个人工作总结
2014/12/08 职场文书
2015年大学元旦晚会活动策划书
2014/12/09 职场文书
python glom模块的使用简介
2021/04/13 Python
oracle重置序列从0开始递增1
2022/02/28 Oracle
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
2022/08/05 Vue.js