课程大纲
课程成果
完成本课程后,学员应能够应对通信工程领域当前的许多开放性研究问题,并获得至少以下技能:
- 处理和操作通信工程文献中常见的复杂数学表达式
- 利用MATLAB的编程能力,重现其他论文的仿真结果或至少接近这些结果
- 创建基于自己提出的想法的仿真模型
- 高效地运用所获仿真技能,结合MATLAB的强大功能,在优化代码运行时间的同时节省内存空间,设计优化的MATLAB代码
- 识别给定通信系统的关键仿真参数,从系统模型中提取这些参数,并研究它们对所考虑系统性能的影响
课程结构
本课程提供的材料具有极强的关联性。不建议学员在未参加并深入理解前一级别的情况下参加后续级别,以确保所获知识的连贯性。课程结构分为三个级别,从介绍MATLAB编程开始,直到完整的系统仿真,具体安排如下。
使用MATLAB进行通信数学计算
第01-06讲
完成此部分后,学员将能够评估复杂的数学表达式,并为不同数据表示(如时域和频域图、误码率图、天线辐射方向图等)轻松构建适当的图表。
基本概念
- 仿真的概念
- 仿真在通信工程中的重要性
- 作为仿真环境的MATLAB
- 通信数学中关于标量信号矩阵和向量表示的介绍
- MATLAB中复基带信号的矩阵和向量表示
MATLAB桌面
- 工具栏
- 命令窗口
- 工作区
- 命令历史
变量、向量和矩阵的声明
- MATLAB预定义常量
- 用户定义变量
- 数组、向量和矩阵
- 手动输入矩阵
- 区间定义
- 线性空间
- 对数空间
- 变量命名规则
特殊矩阵
- 全1矩阵
- 全0矩阵
- 单位矩阵
逐元素和矩阵操作
- 访问特定元素
- 修改元素
- 选择性删除元素(矩阵截断)
- 添加元素、向量或矩阵(矩阵拼接)
- 查找向量或矩阵内元素的索引
- 矩阵重塑
- 矩阵截断
- 矩阵拼接
- 从左到右和从右到左翻转
一元矩阵运算符
- 求和运算符
- 期望运算符
- 最小值运算符
- 最大值运算符
- 迹运算符
- 矩阵行列式 |.|
- 矩阵逆
- 矩阵转置
- 矩阵共轭转置
二元矩阵运算
- 算术运算
- 关系运算
- 逻辑运算
MATLAB中的复数
- 通带信号的复基带表示和射频上变频,数学回顾
- 构建复数变量、向量和矩阵
- 复指数
- 实部运算符
- 虚部运算符
- 共轭运算符 (.)*
- 绝对值运算符 |.|
- 辐角或相位运算符
MATLAB内置函数
- 向量的向量和矩阵的矩阵
- 平方根函数
- 符号函数
- “取整”函数
- “向下取整”函数
- “向上取整”函数
- 阶乘函数
- 对数函数 (exp, ln, log10, log2)
- 三角函数
- 双曲函数
- Q(.) 函数
- erfc(.) 函数
- 贝塞尔函数 Jo (.)
- 伽马函数
- Diff, mod 命令
MATLAB中的多项式
- MATLAB中的多项式
- 有理函数
- 多项式导数
- 多项式积分
- 多项式乘法
线性比例图
- 连续时间-连续幅度信号的可视化表示
- 阶梯近似信号的可视化表示
- 离散时间-离散幅度信号的可视化表示
对数比例图
- dB-十进制图 (误码率)
- 十进制-dB图 (波特图、频率响应、信号频谱)
- 十进制-十进制图
- dB-线性图
2D极坐标图
- (平面天线辐射方向图)
3D绘图
- 3D辐射方向图
- 笛卡尔参数图
可选章节 (根据学员需求提供)
- MATLAB中的符号微分和数值微分
- MATLAB中的符号积分和数值积分
- MATLAB帮助和文档
MATLAB文件
- MATLAB脚本文件
- MATLAB函数文件
- MATLAB数据文件
- 局部变量和全局变量
MATLAB中的循环、条件流程控制和决策
- for end 循环
- while end 循环
- if end 条件
- if else end 条件
- switch case end 语句
- 迭代、收敛误差、多维求和运算符
输入和输出显示命令
- input(' ') 命令
- disp 命令
- fprintf 命令
- 消息框 msgbox
信号与系统操作
第07-14讲
此部分的主要目标如下
- 生成测试不同通信系统性能所需的随机测试信号
- 集成多个基本信号操作以实现单一通信处理功能,例如发射端的编码器、随机化器、交织器、扩频码生成器……以及接收端对应的功能
- 正确互连这些模块以实现通信功能
- 模拟确定性、统计和半随机的室内和室外窄带信道模型
通信测试信号的生成
- 生成随机二进制序列
- 生成随机整数序列
- 导入和读取文本文件
- 读取和播放音频文件
- 导入和导出图像
- 作为3D矩阵的图像
- RGB到灰度转换
- 2D灰度图像的串行比特流
- 图像信号的分帧和重构
信号调理和处理
- 幅度缩放(增益、衰减、幅度归一化等)
- 直流电平移位
- 时间缩放(时间压缩、膨胀)
- 时间平移(时间延迟、时间提前、左右循环时间平移)
- 测量信号能量
- 能量和功率归一化
- 能量和功率缩放
- 串并转换和并串转换
- 复用和解复用
模拟信号的数字化
- 在MATLAB中对连续时间基带信号进行时域采样
- 模拟信号的幅度量化
- 量化模拟信号的脉冲编码调制 (PCM)
- 十进制到二进制和二进制到十进制转换
- 脉冲成形
- 计算适当的脉冲宽度
- 选择每个脉冲的采样点数
- 使用 conv 和 filter 命令进行卷积
- 有限时间信号的自相关和互相关
- 快速傅里叶变换 (FFT) 和逆FFT操作
- 查看基带信号频谱
- 采样率和适当频率窗口的影响
- 卷积、相关和FFT操作之间的关系
- 频域滤波,仅限低通滤波
辅助通信功能
- 随机化器和解随机化器
- 打孔器和解打孔器
- 编码器和解码器
- 交织器和解交织器
调制器和解调器
- MATLAB中的数字基带调制方案
- 数字调制信号的可视化表示
信道建模与仿真
- 信道对发射信号影响的数学建模
- 加法 - 加性高斯白噪声 (AWGN) 信道
- 时域乘法 - 慢衰落信道,车辆信道中的多普勒频移
- 频域乘法 - 频率选择性衰落信道
- 时域卷积 - 信道冲激响应
确定性信道模型示例
- 自由空间路径损耗和环境依赖的路径损耗
- 周期性遮挡信道
常见稳态和准稳态多径衰落信道的统计特性
- 生成分布均匀的随机变量
- 生成实值高斯分布随机变量
- 生成复数高斯分布随机变量
- 生成瑞利分布随机变量
- 生成莱斯分布随机变量
- 生成对数正态分布随机变量
- 生成任意分布随机变量
- 使用直方图近似随机变量的未知概率密度函数 (PDF)
- 数值计算随机变量的累积分布函数 (CDF)
- 实数和复数加性高斯白噪声 (AWGN) 信道
通过功率延迟谱进行信道表征
- 通过功率延迟谱进行信道表征
- 功率延迟谱的功率归一化
- 从功率延迟谱中提取信道冲激响应
- 以任意采样率对信道冲激响应进行采样,非匹配采样和延迟
- 量化
- 窄带信道冲激响应非匹配采样问题
- 以任意采样率和分数延迟补偿对功率延迟谱进行采样
- 实现几种IEEE标准化的室内和室外信道模型
- (COST - SUI - 超宽带信道模型等)
实际通信系统的链路级仿真
第15-24讲
本课程的这部分关注对研究学生最重要的问题,即如何通过仿真重现其他已发表论文的仿真结果。
基带数字调制方案的误码率性能
- 不同基带数字调制方案在AWGN信道中的性能比较(通过仿真进行综合比较研究以验证理论表达式);散点图,误码率
- 不同基带数字调制方案在不同稳态和准稳态衰落信道中的性能比较;散点图,误码率(通过仿真进行综合比较研究以验证理论表达式)
- 多普勒频移信道对基带数字调制方案性能的影响;散点图,误码率
- 直升机到卫星通信
- 论文 (1):用于航空移动卫星服务 (AMSS) 的低成本实时语音和数据系统 - 问题陈述和分析
- 论文 (2):具有精确自动频率控制的直升机卫星通信中的检测前时间分集合并 - 首个提出的解决方案
- 论文 (3):直升机卫星通信中的自适应调制方案 - 一种性能改进方法
扩频系统仿真
- 基于扩频的典型系统架构
- 基于直接序列扩频的系统
- 伪随机二进制序列 (PBRS) 生成器
- 生成长度最大序列
- 生成Gold码
- 生成Walsh码
- 基于时间跳变扩频的系统
- 基于扩频系统在AWGN信道中的误码率性能
- 编码率r对误码率性能的影响
- 码长对误码率性能的影响
- 基于扩频系统在零多普勒频移的多径慢瑞利衰落信道中的误码率性能
- 基于扩频系统在高移动性衰落环境中的误码率性能分析
- 基于扩频系统在存在多用户干扰时的误码率性能分析
- 通过扩频系统传输RGB图像
- 光码分多址 (OCDMA) 系统
- 光正交码 (OOC)
- OCDMA系统的性能限制;同步和异步OCDMA系统的误码率性能
超宽带扩频系统
基于OFDM的系统
- 使用快速傅里叶变换实现OFDM系统
- 基于OFDM的典型系统架构
- 基于OFDM系统在AWGN信道中的误码率性能
- 编码率r对误码率性能的影响
- 循环前缀对误码率性能的影响
- FFT大小和子载波间隔对误码率性能的影响
- 基于OFDM系统在零多普勒频移的多径慢瑞利衰落信道中的误码率性能
- 基于OFDM系统在有频偏的多径慢瑞利衰落信道中的误码率性能
- OFDM系统中的信道估计
- OFDM系统中的频域均衡
- 迫零均衡器
- 最小均方误差 (MMSE) 均衡器
- 基于OFDM系统的其他常见性能指标(峰均功率比、载干比等)
- 基于OFDM系统在高移动性衰落环境中的性能分析(作为一个包含三篇论文的仿真项目)
- 论文 (1):载波间干扰抑制
- 论文 (2):MIMO-OFDM 系统
优化MATLAB仿真项目
此部分的目的是学习如何构建和优化MATLAB仿真项目,以简化和组织整体仿真过程。此外,还考虑内存空间和处理速度,以避免在有限存储系统中出现内存溢出问题,或由于处理缓慢导致的长时间运行问题。
- 小规模仿真项目的典型结构
- 提取仿真参数和理论到仿真的映射
- 构建仿真项目
- 蒙特卡洛仿真技术
- 测试仿真项目的典型流程
- 内存空间管理和仿真时间缩减技术
- 基带 vs. 通带仿真
- 计算截断任意脉冲形状的适当脉冲宽度
- 计算每个符号的适当采样点数
- 计算测试系统所需的必要且充分的比特数
GUI编程
拥有一个无调试错误且能正常工作以产生正确结果的MATLAB代码是一项巨大的成就。然而,仿真项目中的一组关键参数控制着……由于这个原因以及其他原因,提供了一堂关于“图形用户界面 (GUI) 编程”的额外课程,以便让您能够亲手控制仿真项目的各个部分,而不是深入挖掘充满命令的长源代码。此外,使用GUI封装您的MATLAB代码有助于以便于在一个主窗口中合并多个结果并更容易比较数据的方式展示您的工作。
- 什么是MATLAB GUI
- MATLAB GUI函数文件的结构
- 主要GUI组件(重要属性和值)
- 局部变量和全局变量
注意:本课程每个级别涵盖的主题包括但不限于每个级别中列出的内容。此外,每讲的具体项目可能根据学员的需求和研究兴趣而变化。
要求
为了掌握本课程中蕴含的丰富知识,学员应具备通用编程语言和技术的基础背景知识。强烈建议深入理解通信工程本科课程的内容。
客户评论 (2)
许多示例以及从头到尾的代码构建。
Toon - Draka Comteq Fibre B.V.
课程 - Introduction to Image Processing using Matlab
机器翻译
许多有用的练习,解释得很清楚
Helene Meadows - European Investment Bank
课程 - MATLAB Programming
机器翻译