通信实验参考使用的教材。
目的
在本阶段,我们将探讨信道对信号的影响,以及比较信号在接收端与发送端之间的失真情况,主要讨论信道模型中的杂讯、频率偏移和时间偏移对信号的影响。
系统架构文件:Qpsk_stage2.grc
步骤与说明
- 发送随机的 QPSK 信号。
- 设置信道模型
- 使用 GNU Radio 的基本信道模型来仿真主要的信道问题。
- 接收器中的热杂讯:假设为加成性白高斯杂讯 (AWGN),此处用杂讯电压来仿真。
- 频率偏移:发送端和接收端的天线频率不会完全一致,导致两个无线电之间的频率偏移。
- 时间偏移:发送端和接收端的时钟 (clock) 速度不同,理想的信号采样点位置是未知的。
- 观察信号经过信道之后的时域、频域及星座图的特性。
目的
本阶段实验中,我们将使用多相时钟同步 (Polyphase Clock Sync) 模块来实现三个功能:时钟恢复、消除符号间干扰 (ISI) 以及下采样信号 (减少每符号样本数)。
系统架构文件:Qpsk_stage3.grc
步骤与说明
- 接续前一单元,在信号经过信道后,使用
Polyphase Clock Sync
来处理接收到的信号。- 该模块包含 32 个滤波器,回路带宽 (Loop bandwidth) 设置为 。
- 设置符号样本数 (Samples per Symbol) = 4。
- 观察信号经过
Polyphase Clock Sync
处理之后的时域、频域及星座图的特性。
目的
使用差分解码器来消除相位歧义,将 Costas 循环后的信号进行解码,恢复原始发送的数据流。
系统架构文件:Qpsk_stage6.grc
步骤与说明
- 在
Costas Loop
之后,使用Constellation Decoder
将信号解码成 0~3 之间的符号。 - 使用差分解码器对符号进行解码。
- 将解码后的符号转换为原始传输的符号 0~3。
- 将最后解码出来的符号与延迟后的原始传输符号进行比较。
目的
本阶段实验中,我们将探讨多径效应对信号的影响以及如何利用等化器来消除这些影响。此处等化器主要使用的原理是自适应算法中的恒模算法 (Constant Modulus Algorithm, CMA)。
系统架构文件:Qpsk_stage4.grc
步骤与说明
- 接续前一单元,在
Polyphase Clock Sync
之后使用Linear Equalizer
来处理接收到的信号,这边Linear Equalizer
使用的是 CMA 类型的滤波器。 - 观察信号经过
Linear Equalizer
处理之后的时域、频域及星座图的特性。
目的
在本实验中,我们将通过一个 QPSK 星座图来观察上采样 (up-sampling) 和滤波过程的效果,并探讨如何利用匹配滤波器来消除符号间干扰 (ISI)。
系统架构文件:Qpsk_stage1.grc
步骤与说明
- 发送随机的 QPSK 信号,原理同上一单元。
- 利用
Decimating FIR Filter
接收发送的 QPSK 信号,该 FIR 采用firdes.root_raised_cosine(1.0, samp_rate, samp_rate/sps, excess_bw, 11*sps)
生成 Root Raised Cosine(RRC) 滤波器的系数。 - 观察信号的时域、频域及星座图的特性。
目的
使用 Costas Loop 模块
校正接收信号的相位和频率偏移。
系统架构文件:Qpsk_stage5.grc
步骤与说明
- 接续前一单元,在
Linear Equalizer
之后,加上Costas Loop
来处理接收到的信号。 - 观察信号经过
Costas Loop
处理之后的星座图特性。
QPSK 简介
在现代数字通信系统中,正交相位移键控 (QPSK) 是一种广泛使用的调制技术,具有高效的频谱利用率和抗干扰能力。QPSK 通过改变载波信号的相位来传输数据,每个符号表示两个比特,分别表示四个可能的相位状态 (0, 90, 180, 270 度)。
教材来源
这份教材主要参考 GNU Radio Tutorials: QPSK Mod and Demod ,其中牵涉到许多数字通信相关的技术,例如 Raised Cosine Filter、Inter-Symbol Interference (ISI)、脉冲整形 (pulse shaping)、差分编码、多径效应、加性白高斯杂讯 (AWGN)、频率偏移和时间偏移、等化器、锁相回路等。
目的
这个步骤主要是随机产生 QPSK 信号,并观察不同的 Excess BW 参数对于信号带宽的影响。
系统架构文件:Qpsk_rrc_rolloff.grc
步骤与说明
- 首先产生随机的比特数据流 (bit stream)。
- 随机数 0~255 等于是 8 个比特。
- 输出为 unpacked char 型态。
- 利用
Constellation Modulator
产生 QPSK 信号。Constellation Modulator
会用到Constellation Rect. Object
,将符号 0,1,2,3 映射到复数平面上的信号点。- Differential Encoding 设成 Yes,表示采用差分编码,亦即目前输入与前一输出的相位差。
- Samples/Symbol 设成 4,表示每个符号要重复发送 4 次。
- Excess BW 是 Root Raised Consine 的 alpha 值,一般设在 0~1 之间,主要用来控制带宽。Raised Consine Filter 常用来处理波形及 ISI 的问题。Root Raised Consine 则为 Raised Consine 的平方根。
周五的清晨,雨丝轻拂大地。我和女儿踏出家门,准备搭公车上班上学,履行先前的约定。突然心中闪过一个念头:出门的时间比以往晚了些,是否会赶上较晚的班车?车厢里是否会拥挤不堪?要不要改成自己开车呢?但转念一想,还是决定坚持搭乘公车,以身作则,传递坚持不懈的理念。
我们迈开步伐,在雨中奔向公车站。所幸公车并未让我们久候,很快就搭上了一班车。车上有些拥挤,女儿靠在我旁边,抓着我的手,心里觉得很踏实。不知不觉间,公车已经到站。我下车走到办公室,看了一下时间,才7:15!心里突然觉得很高兴,真是美好的一天!