4、数字调制【入门软件无线电(SDR)】PySDR:使用 Python 的 SDR 和 DSP 指南

您所在的位置:网站首页 声音调制软件 4、数字调制【入门软件无线电(SDR)】PySDR:使用 Python 的 SDR 和 DSP 指南

4、数字调制【入门软件无线电(SDR)】PySDR:使用 Python 的 SDR 和 DSP 指南

2023-03-07 08:55| 来源: 网络整理| 查看: 265

> 在本章中,我们将讨论使用数字调制和无线符号实际传输数据!我们将使用 ASK、PSK、QAM 和 FSK等调制方案设计传达“信息”的信号,例如 1 和 0。我们还将讨论 IQ 图和星座,并以一些 Python 示例结束本章。

调制的主要目标是将尽可能多的数据压缩到尽可能少的频谱中。从技术上讲,我们希望以单位比特/秒/赫兹最大化“频谱效率”.更快地传输1和0将增加信号的带宽(回想一下傅里叶属性),这意味着使用更多的频谱。除了传输速度更快之外,我们还将研究其他技术。在决定如何调制时会有很多权衡,但也会有创造力的空间。符号

我们的传输信号将由“符号”组成。每个符号将携带一定数量的信息,我们将连续数千甚至数百万个连续传输符号。 举个简化的例子,假设我们有一根电线,并且使用高低电压电平发送 1 和 0。符号是这些 1 或 0 之一:

在这里插入图片描述

在上面的例子中,每个符号代表一个位。我们如何为每个符号传达多个比特?让我们研究通过以太网电缆传输的信号,这是在称为IEEE 802.3 1000BASE-T的IEEE标准中定义的。以太网的常见工作模式使用4级幅度调制(每个符号2位)和8 ns符号。

在这里插入图片描述

无线符号

为什么我们不能直接传输上图所示的以太网信号?原因有很多,最大的两个是: 1、低频需要巨大的天线 2、方波每秒的比特数占用了过多的频谱——回想一下频域章节,时域的急剧变化会使用大量的带宽/频谱:

在这里插入图片描述

我们对无线信号所做的是从载波开始,它只是一个正弦波。例如,FM收音机使用101.1 MHz或100.3 MHz等载波。我们以某种方式调节该载体(有很多)。对于FM收音机,它是一种模拟调制,而不是数字调制,但它与数字调制的概念相同。 我们可以用什么方式调节载波?问同一问题的另一种方式:正弦曲线的不同性质是什么? 1、Amplitude 波幅 2、Phase 相位 3、Frequency 频率 我们可以通过修改这三者中的任何一个(或多个)来将数据调制到载波上。

幅度偏移键控 (ASK)

幅度移位键控(ASK)是我们将要讨论的第一个数字调制方案,因为幅度调制是三个正弦特性中最容易可视化的。我们从字面上调制载波的振幅。下面是一个 2 级 ASK 的示例,称为 2-ASK:

在这里插入图片描述

注意平均值如何为零;只要有可能,我们总是喜欢这个。 我们可以使用两个以上的级别,允许每个符号有更多的位。下面显示了 4-ASK 的示例。在这种情况下,每个符号携带 2 位信息。

在这里插入图片描述

问题:上面的信号片段中显示了多少个符号?总共表示多少位? 20 个符号,所以 40 位信息

我们如何通过代码以数字方式实际创建此信号?我们所要做的就是创建一个向量,每个符号有 N 个样本,然后将该向量乘以正弦曲线。这会将信号调制到载波上(正弦波充当该载波)。下面的示例显示了 2-ASK,每个交易品种有 10 个样本。

在这里插入图片描述

上图显示了由红点表示的离散样本,即我们的数字信号。下图显示了由此产生的调制信号的样子,可以通过空中传输。在实际系统中,载波的频率通常远高于符号变化的速率。在这个例子中,每个符号中只有三个正弦曲线周期,但实际上可能有数千个周期,具体取决于信号在频谱中传输的高度。

相移键控 (PSK)

现在,让我们考虑以与幅度类似的方式调制相位。最简单的形式是二进制PSK,又名BPSK,其中有两个阶段级别: 1、不改变相位 2、相位180度改变 BPSK 示例(注意相位变化):

在这里插入图片描述

看这样的剧频段不是很好玩:

在这里插入图片描述

相反,我们通常表示复平面中的相位。

IQ图/星座图

之前在 IQ 采样章节的复数小节中看过 IQ 图,但现在我们将以一种新的有趣方式使用它们。对于给定的符号,我们可以在 IQ 图上显示振幅和相位。对于 BPSK 示例,我们说我们有 0 度和 180 度的相位。让我们在IQ图上绘制这两个点。我们假设数量级为 1。在实践中,您使用什么量级并不重要;较高的值意味着更高的功率信号,但您也可以增加放大器增益。

在这里插入图片描述

上面的 IQ 图显示了我们将传输的内容,或者更确切地说是我们将从中传输的符号集。它不显示载波,因此您可以将其视为表示基带上的符号。当我们显示给定调制方案的可能符号集时,我们称之为“星座图”。许多调制方案可以通过它们的星座图来定义。 为了接收和解码BPSK,我们可以像上一章一样使用IQ抽样,并检查点在IQ图上的位置。但是,由于无线信道,会出现随机相位旋转,因为信号在通过天线之间的空气时会有一些随机延迟。随机相位旋转可以使用我们稍后将学习的各种方法反转。以下是BPSK信号可能出现在接收器上的几种不同方式的示例(这不包括噪声):

在这里插入图片描述

回到PSK。如果我们想要四个不同级别的相位怎么办?即 0、90、180 和 270 度。在这种情况下,它将在 IQ 图上表示,并形成我们称为正交相移键控 (QPSK) 的调制方案:

在这里插入图片描述

对于 PSK,我们总是有 N 个不同的相位,在 360 度周围等距以获得最佳效果。我们经常显示单位圆来强调所有点具有相同的量级:

在这里插入图片描述

问:使用下图所示的 PSK 方案有什么问题?它是有效的PSK调制方案吗?

在这里插入图片描述

此 PSK 方案没有任何无效之处。您当然可以使用它,但是,由于符号间距不均匀,因此此方案的效果并不尽如人意。一旦我们讨论噪声如何影响我们的符号,方案效率就会变得清晰。简短的回答是,我们希望在符号之间留出尽可能多的空间,以防有噪声,这样符号就不会在接收器处被解释为其他(不正确的)符号之一。我们不希望 0 被接收为 1。 让我们绕道回到ASK一会儿。请注意,我们可以像 PSK 一样在 IQ 图上显示 ASK。这是双极配置中 2 ASK、4 ASK 和 8 ASK 的 IQ 图,以及单极配置中的 2 ASK 和 4 ASK。

在这里插入图片描述

您可能已经注意到,双极 2-ASK 和 BPSK 是相同的。180 度相移与将正弦波乘以 -1 相同。我们称之为BPSK,可能是因为PSK的使用比ASK多。

正交幅度调制 (QAM)

如果我们把ASK和PSK结合起来呢?我们将这种调制方案称为正交幅度调制(QAM)。QAM通常看起来像这样:

在这里插入图片描述

以下是 QAM 的其他一些示例:

在这里插入图片描述

对于QAM调制方案,从技术上讲,我们可以在IQ图上放置任何我们想要的点,因为相位和幅度是调制的。给定QAM方案的“参数”最好通过显示QAM星座来定义。或者,您可以列出每个点的 I 和 Q 值,如下所示的 QPSK:

在这里插入图片描述

请注意,除了各种ASK和BPSK之外,大多数调制方案在时域中都很难“看到”。为了证明我的观点,这里有一个时域QAM的例子。你能区分下图中每个符号的相位吗?这很难。

在这里插入图片描述

鉴于难以识别时域中的调制方案,我们更喜欢使用 IQ 图而不是显示时域信号。尽管如此,如果存在特定的数据包结构或符号序列很重要,我们可能会显示时域信号。

频移键控 (FSK)

列表中的最后一个是频移键控(FSK)。FSK 相当容易理解——我们只是在 N 个频率之间切换,其中每个频率都是一个可能的符号。但是,由于我们正在调制载波,因此实际上是我们的载波频率+/-这N个频率。例如我们可能处于 1.2 GHz 的载波并在以下四个频率之间切换:1.2005 GHz、1.2010 GHz、1.1995 GHz、1.1990 GHz 上面的示例将是 4-FSK,每个符号将有两个位。频域中的 4-FSK 信号可能如下所示:

在这里插入图片描述

如果使用FSK,则必须提出一个关键问题:频率之间的间距应该是多少?我们通常将此间距表示为

在这里插入图片描述

(以 Hz 为单位)。我们希望避免频域重叠,因此

在这里插入图片描述

必须足够大。每个载波的频率宽度是符号速率的函数。每秒更多的符号意味着更短的符号,这意味着更宽的带宽(回想一下时间和频率缩放之间的反比关系)。我们传输符号的速度越快,每个载波就越宽,因此我们必须使

在这里插入图片描述

越大以避免载波重叠。我们不会在本教科书中详细介绍 FSK 的设计。 IQ 图不能用于显示不同的频率。它们显示大小和相位。虽然可以在时域中显示FSK,但任何超过2个频率都很难区分符号

在这里插入图片描述

顺便说一句,请注意FM收音机使用频率调制(FM),它类似于FSK的模拟版本。FM收音机不是我们跳跃的离散频率,而是使用连续的音频信号来调制载波的频率。下面是FM和AM调制的示例,其中顶部的“信号”是被调制到载波上的音频信号。

在这里插入图片描述

在本教科书中,我们主要关注调制的数字形式。

差分编码

在许多无线(和有线)通信协议中,您可能会遇到称为差分编码的东西。为了证明其效用,请考虑接收 BPSK 信号。正如我们前面提到的,当信号在空中飞行时,它会在发射器和接收器之间经历一些随机延迟,导致星座随机旋转。当接收器与它同步并将BPSK与“I”轴对齐时,它无法知道它是否错相180度,因为星座看起来是一样的。因此,它不必发送引导符号来让它知道哪个集群代表 1,哪个是 0,它可以选择使用差分编码,甚至不用担心它。使用差分编码还允许我们使用比相干接收器更简单的非相干接收器。 在其最基本的形式中,即用于BPSK的形式,差分编码涉及在输入位与前一个输出位相同时传输0,并在它们不同时传输1。所以我们仍然传输相同数量的位(除了在开始时需要额外的一个位来启动输出序列),但现在我们不必担心 180 度相位模糊。要演示其工作原理,请考虑使用 BPSK 传输位序列 [1, 1, 0, 0, 0, 1, 0]。假设我们从 1 开始输出序列;实际上,无论您使用 1 还是 0,这并不重要。应用差分编码后,我们最终会传输 [1, 0, 1, 1, 1, 1, 1, 0, 0]。1 和 0 仍然映射到我们之前讨论的正负符号。像这样堆叠的输入和输出序列可能更容易:

在这里插入图片描述

使用差分编码的最大缺点是,如果你有一个位错误,它会导致两个位错误。对BPSK使用差分编码的替代方法是定期添加导频符号,这些符号是接收器已经知道的符号,它不仅可以使用已知值来确定哪个簇是1,哪个是0,还可以找出由通道引起的反向多路径。导频符号的一个问题是,无线信道的变化非常快,如果是移动的接收器和/或发射器,则需要数十或数百个符号,因此您需要足够频繁的导频符号来反映不断变化的信道。因此,如果无线协议高度重视降低接收器的复杂性,例如我们在端到端示例章节中研究的RDS,则可以选择使用差分编码。

Python实例

作为一个简短的 Python 示例,让我们在基带生成 QPSK 并绘制星座 即使我们可以直接生成复杂的符号,让我们从QPSK在单位圆周围以90度的间隔有四个符号的知识开始。我们将使用 45、135、225 和 315 度作为我们的点。首先,我们将生成 0 到 3 之间的随机数,并在转换为弧度之前执行数学运算以获得我们想要的度数。

import numpy as np import matplotlib.pyplot as plt num_symbols = 1000 x_int = np.random.randint(0, 4, num_symbols) # 0 to 3 x_degrees = x_int*360/4.0 + 45 # 45, 135, 225, 315 degrees x_radians = x_degrees*np.pi/180.0 # sin() and cos() takes in radians x_symbols = np.cos(x_radians) + 1j*np.sin(x_radians) # this produces our QPSK complex symbols plt.plot(np.real(x_symbols), np.imag(x_symbols), '.') plt.grid(True) plt.show()

在这里插入图片描述

观察我们生成的所有符号如何重叠。没有噪音,因此符号都具有相同的值。让我们添加一些噪音:

n = (np.random.randn(num_symbols) + 1j*np.random.randn(num_symbols))/np.sqrt(2) # AWGN with unity power noise_power = 0.01 r = x_symbols + n * np.sqrt(noise_power) plt.plot(np.real(r), np.imag(r), '.') plt.grid(True) plt.show()

在这里插入图片描述

考虑加性白高斯噪声(AGWN)如何在星座的每个点周围产生均匀的扩散。如果噪声太大,则符号开始通过边界(四个象限),并被接收器解释为不正确的符号。尝试增加 noise_power ,直到发生这种情况。 对于那些对仿真相位噪声(可能由本振(LO)内的相位抖动引起的相位噪声感兴趣的用户,请将 r 替换为:

phase_noise = np.random.randn(len(x_symbols)) * 0.1 # adjust multiplier for "strength" of phase noise r = x_symbols * np.exp(1j*phase_noise)

在这里插入图片描述

您甚至可以将相位噪声与AWGN结合使用,以获得完整的体验

在这里插入图片描述

我们将在这一点上停止。如果我们想看看QPSK信号在时域中的样子,我们需要为每个交易品种生成多个样本(在本练习中,我们只为每个交易品种生成1个样本)。一旦我们讨论脉冲整形,您将了解为什么需要为每个符号生成多个样本。脉冲整形一章中的 Python 练习将继续我们在这里停止的地方。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3