Communications System Toolbox

主要特性

  • 用于设计通信系统物理层(包括信源编码、信道编码、交织、调制、信道模型、MIMO、均衡以及同步)的算法
  • 用于计算密集型算法(如 Turbo、LDPC 和 Viterbi 解码器)的支持 GPU 的系统对象
  • 用于星座和信道分散的 Eye Diagram Scope 应用程序和可视化函数
  • 用于将系统的仿真误码率与分析结果进行比较的 Bit Error Rate 应用程序
  • 信道模型,包括 AWGN、多路径瑞利衰落、赖斯衰落、MIMO 多路径衰落以及 LTE MIMO 多路径衰落
  • 基本 RF 损失,包括非线性、相位噪音、热噪音以及相位和频率偏移
  • 作为 MATLAB 函数、MATLAB 系统对象以及 Simulink 模块提供的算法
  • 提供对定点建模以及 C 和 HDL 代码生成的支持

系统设计、特征化和可视化

通信系统的设计和仿真需要分析其对真实环境中不可避免的噪音和干扰的响应、使用图形和数量方法研究其行为并确定产生的性能是否满足可接受性标准。

Communications System Toolbox 可实现通信系统设计和仿真方面的各种任务。 该系统工具箱中的许多函数、应用程序、System objects 和模块执行与通信系统特定组件(如解调器或均衡器)关联的计算。

系统特征化

该系统工具箱提供了几个以定量方式特征化系统性能的标准方法:

  • 误码率 (BER) 计算
  • 邻信道功率比 (ACPR) 测量
  • 误差向量幅度 (EVM) 测量
  • 调制差错率 (MER) 测量

因为 BER 计算是任何通信系统特征化的基础,所以,该系统工具箱提供了以下用于配置 BER 测试场景和加速 BER 仿真的工具和功能:

Bit Error Rate Analysis 应用程序 — 可用来分析通信系统 BER 性能的应用程序。

误码率测试控制台 — 一种 MATLAB 对象,运行通信系统的仿真来测量误码率性能。 它支持用户指定的测试点以及参数化性能图和曲面的生成。 在多核计算平台上运行时,可以实现加速性能。

多核和 GPU 加速Parallel Computing Toolbox 提供的一种功能,使您可以使用计算机中的多核和 GPU 硬件来加速仿真性能。

分布式计算和云计算支持 — Parallel Computing Toolbox 和 MATLAB Distributed Computing Server 提供的功能,使您可以利用服务器群和 Amazon EC2 Web 服务的计算能力。

性能可视化

该系统工具箱提供了以下用于可视化系统性能的功能:

信道可视化工具 — 用于可视化衰落信道的特征

眼图和信号星座散点图 — 获得对系统行为的定量且可视的了解,使您可以进行初始设计决策

信号轨道图 — 获得决策点之间信号轨道的连续图片

BER 图 — 用于可视化备选设计的定量 BER 性能(通过 SNR 和定点字大小等指标进行参数化)

特定于通信的显示,用于在模型中的任何点或步骤可视化和分析信号。

特定于通信的显示,用于在模型中的任何点或步骤可视化和分析信号。 显示包括(从左上部开始依顺时针方向): 信道脉冲响应历史记录、I/Q 信号眼图、用于比较理论与仿真结果的 BER 性能图以及接收的信号散点图。

模拟和数字调制

模拟和数字调制技术将信息流编码为适合传输的信号。 Communications System Toolbox 提供了一些调制及对应的解调功能。 这些功能以 MATLAB 函数和对象、MATLAB System objects 和 Simulink 块的形式提供。

该工具箱提供的调制类型包括:

模拟,AM、FM、PM、SSB 和 DSBSC

数字,FSK、PSK、BPSK、DPSK、OQPSK、MSK、PAM、QAM 和 TCM

用于 16 QAM 仿真的 MATLAB 函数和 Simulink 模型及散点图。

用于 16 QAM 仿真的 MATLAB 函数(左)和 Simulink 模型(右)及散点图。

信源和信道编码

Communications System Toolbox 提供了信源和信道编码功能,通过这些功能可以快速开发和评估通信体系结构,从而使您可以探查假设场景并且无需从头开始创建编码功能。

信源编码

信源编码(也称为量化或信号格式化)是一种数据处理方式,用于减少冗余或为以后的处理准备数据。 该系统工具箱提供了各种类型的用于实现信源编码和解码的算法,包括:

  • 量化
  • 压伸(µ-律和 A 律)
  • 差分脉冲编码调制 (DPCM)
  • 霍夫曼编码
  • 算术编码

信道编码

为了防止效应噪音和信道损坏,该系统工具箱提供了区块编码及卷积编码和解码技术来实现错误检测和纠正。 对于自身不带纠正功能的简单错误检测,还提供了循环冗余校验功能。 该系统工具箱提供的信道编码功能包括:

  • BCH 编码器和解码器
  • Reed-Solomon 编码器和解码器
  • LDPC 编码器和解码器
  • 卷积编码器和 Viterbi 解码器
  • 正交空时分组码 (OSTBC)(用于 MIMO 信道的编码器和解码器)
  • Turbo 编码器和解码器演示

该系统工具箱提供了用于创建自己的信道编码的公用函数。 可以创建发生器多项式和系数及伴随式解码表,以及产品奇偶校验和发生器矩阵。

该系统工具箱还提供了区块及卷积交织和分选函数,用于减少由通信系统中的突发错误导致的数据错误。

区块,一般区块交织器、代数交织器、螺旋扫描交织器、矩阵交织器和随机交织器

卷积,一般多路复用交织器、卷积交织器和螺旋交织器

信道建模和 RF 损失

信道建模

Communications System Toolbox 提供了用于对通信信道中通常存在的噪音、衰落、干扰和其他失真进行建模的算法和工具。 该系统工具箱支持以下类型的信道:

  • 加性高斯白噪音 (AWGN)
  • 多输入多输出 (MIMO) 衰落
  • 单输入单输出 (SISO)、瑞利和赖斯衰落
  • 二进制对称

MATLAB 信道对象可提供信道模型的简明、可配置实现,使您可以指定参数,如:

  • 路径延迟
  • 平均路径增益
  • 最大多普勒频移
  • 赖斯衰落信道的 K 系数
  • 多普勒频谱参数

对于 MIMO 系统,MATLAB MIMO 信道对象扩展了这些参数,还包括:

  • 传送天线数(最多 8 个)
  • 接收天线数(最多 8 个)
  • 传送相关矩阵
  • 接收相关矩阵
具有正交空时分组码 (OSTBC) 的自适应 MIMO 系统的 Simulink 模型。

具有正交空时分组码 (OSTBC) 的自适应 MIMO 系统的 Simulink 模型。

RF 损失

若要对不理想 RF 前端的影响进行建模,可以将以下损失引入到通信系统中,从而可以通过真实影响探查和描述性能:

  • 无记忆非线性
  • 相位和频率偏移
  • 相位噪音
  • 热噪音

可以使用 SimRF 在设计中包括更复杂的 RF 损失和 RF 电路模型。

受相位偏移和频率偏移损害的理想 16 QAM 散点图。

受相位偏移(中)和频率偏移(右)损害的理想 16 QAM 散点图(左)。

均衡和同步

Communications System Toolbox 使您可以探究均衡和同步技术。 这些技术在本质上一般是自适应的,难以进行设计和描述。 该系统工具箱提供了一些算法和工具,使您可以快速选择适用于您的通信系统的技术。

均衡

为了评估不同均衡方法,该系统工具箱为您提供了一些自适应算法,如:

  • LMS
  • 标准化 LMS
  • 变步长 LMS
  • 带符号 LMS
  • MLSE (Viterbi)
  • RLS
  • CMA

这些自适应均衡器以非线性决策反馈均衡器 (DFE) 实现和线性(符号或分数间隔)均衡器实现的形式提供。

显示均衡之前及之后的信号的 QPSK 信号散点图,以及理想的信号星座图。

显示均衡之前及之后的信号的 QPSK 信号散点图,以及理想的信号星座图。

同步

该系统工具箱提供了用于载波相位同步和时序相位同步的算法。

对于时序相位同步,该系统工具箱提供了一个 MATLAB 时序相位同步器对象,该对象提供以下实现方法:

  • 早迟门时序方法
  • Gardner 方法
  • 四阶非线性方法
  • Mueller-Muller 方法
一个 MSK 接收器的时序、载波频率和载波相位恢复的 Simulink 模型。

一个 MSK 接收器的时序、载波频率和载波相位恢复的 Simulink 模型。

接收的信号散点图、频率恢复之后及相位恢复之后。

接收的信号散点图(左)、频率恢复之后(中)及相位恢复之后(右)。

在 MATLAB 和 Simulink 中进行流处理

大多数通信系统结合使用时间处理以及同时多频和多信道处理来处理流和基于帧的数据。在高级通信体系结构(如 OFDM 和 MIMO)中可以看到此类型的多维流处理。Communications System Toolbox 支持在 MATLABSimulink 中进行流处理和基于帧的仿真,从而实现高级通信系统的仿真。

在 MATLAB 中,流处理通过 System objects 实现,这些对象使用 MATLAB 对象表示基于时间和数据驱动的算法、源和接收器。System objects 隐式管理流处理的许多细节,例如数据索引、缓冲和算法状态管理。可将系统 System objects 准 MATLAB 函数及运算符混合起来。大多数 System objects 都与具有相同功能的 Simulink 模块对应。

Simulink 通过采用构成 Simulink 模型的模块来管理数据流,从而隐式进行流处理。Simulink 是一种交互式图形环境,用于对动态系统进行建模和仿真,它采用层次图来表示系统模型。它包含一个通用的预定义模块库,其中的模块用于表示算法、源、接收器和系统层次结构。

实现通信系统

定点建模

许多通信系统使用的硬件需要设计的定点表示形式。Communications System Toolbox 通过可帮助您配置定点属性的工具,支持在所有相关模块和 System objects 中进行定点建模。

该系统工具箱中的定点支持包括:

  • 从 1 到 128 位的字长
  • 任意放置二进制小数点
  • 溢出处理方法(循环或饱和)
  • 圆整方法:ceiling、convergent、floor、nearest、round、simplest 和 zero

Fixed-Point Designer™ 中的定点工具简化了从浮点数据类型向定点数据类型转换的过程。对于定点属性的配置,该工具可跟踪溢出以及最大和最小值。

代码生成

一旦开发出算法或通信系统,即可由其自动生成 C 代码以用于验证、快速原型建立和实现。Communications System Toolbox 中的大多数 System objects、函数和模块可以使用 MATLAB CoderSimulink CoderEmbedded Coder 生成 ANSI/ISO C 代码。一部分 System objects 和 Simulink 模块还可以生成 HDL 代码。

若要利用现有的知识财产,可选择针对特定处理器体系结构进行优化并将已有的 C 代码与生成的代码合并起来。还可以生成浮点和定点两种数据类型的 C 代码。

DSP 原型建立

DSP 在通信系统实现中用于验证、快速原型建立或最终硬件实现。使用 Embedded Coder 中提供的处理器在回路 (PIL) 仿真功能,可以通过在目标处理器上运行算法的实现代码,来验证生成的源代码和编译后的代码。

FPGA 原型建立

FPGA 在通信系统中用于实现高速信号处理算法。通过使用 HDL Verifier 中提供的 FPGA 在回路 (FIL) 功能,可以在真实硬件中针对任何现有 HDL 代码(手动编写或自动生成的 HDL 代码)测试 RTL 代码。

试用 Communications System Toolbox

获取试用版软件

Multirate Systems and Sample Rate Conversion with MATLAB

观看网上技术交流会录像