从零基础到能独立完成通信仿真与 AI 项目的完整自学工程 — 80+ Notebook,6 个阶段,3 个综合标杆项目。
| 特色 | 说明 |
|---|---|
| 📡 通信场景驱动 | 所有练习紧扣信号、调制、信道、频谱、误码率等通信核心概念,学 Python 的同时巩固专业基础 |
| 🚀 从零到项目实战 | 一年内从语法起步,到独立完成通信仿真平台、AI 调制识别、RAG 知识库等完整项目 |
| 🛠️ 工程化训练 | 不仅教语法,还涵盖 Git 版本控制、模块化开发、环境管理、测试、日志、类型注解等企业级习惯 |
| 🤖 AI 前沿结合 | PyTorch 深度学习、自动调制识别(AMR)、RAG 检索增强生成、大模型 API 论文助手 |
| 📓 Jupyter 交互式学习 | 每个知识点一个 Notebook,按"讲解 → 示例 → 练习 → 小结"四步走,边学边练 |
- 📚 通信/电子/信号/信息工程专业零编程基础想系统学 Python 的本科生
- 🎓 想做通信仿真但不会编程的研究生
- 🔬 想往 AI + 通信交叉方向发展的学生
- 🧪 需要处理实验数据、自动生成图表、搭建仿真工具的理工科同学
| # | 阶段 | 核心内容 | 练习项目 | 建议时长 | 状态 |
|---|---|---|---|---|---|
| 🟢 1 | Python 工程基础 | PyCharm 入门 / 基础语法 / 面向对象 / 模块化开发 / 文件处理 / 工程进阶(装饰器/上下文管理器/类型注解/日志/测试)/ 环境管理 / Git | 学生管理系统 | 第 1-2 个月 | ✅ |
| 🔵 2 | 数据结构与算法基础 | 线性结构 / 哈希结构 / 树结构 / 图与搜索 / 算法实践 | 算法综合练习 | 穿插第一阶段后 | ✅ |
| 🟠 3 | 科学计算与数据分析 | NumPy / Matplotlib / SciPy / Pandas | 信号生成器 / 信号可视化 / 音频降噪器 / 实验数据分析工具 | 第 3-4 个月 | ✅ |
| 🟣 4 | 通信方向项目开发 | 数字通信仿真平台(BPSK/QPSK/16QAM + AWGN/Rayleigh + BER) / PySide6 GUI | 数字通信仿真器 + GUI 图形界面 | 第 5-7 个月 | ✅ |
| 🔴 5 | AI 与机器学习基础 | ML 基础 / PyTorch / 信号分类器 / AI 论文助手 | IQ 样本自动调制识别 + PDF 解析大模型问答 | 第 8-10 个月 | ✅ |
| 🟤 6 | 综合项目与科研能力 | 软件无线电实验平台 / AI 知识库 / 实验数据分析平台 | 3 个综合标杆项目(项目 A/B/C) | 第 11-12 个月 | ✅ |
阶段 1-2 是整个学习的核心基础:阶段 1 让你"会用 Python 写代码",阶段 2 让你"能写出高效的代码",两者结合才能支撑后续的通信仿真和 AI 项目。
PY学习/
├── 00_使用说明/
│ └── 如何开始学习.ipynb # 🏁 学习指南(从这里开始)
│
├── 01_Python工程基础/ # 🟢 阶段 1:第 1-2 个月
│ ├── 01_PyCharm使用入门/
│ ├── 02_Python基础语法/ # 17 个 notebook
│ ├── 03_面向对象编程/
│ ├── 04_模块化开发/
│ ├── 05_文件处理/
│ ├── 06_工程进阶/ # 装饰器/上下文管理器/类型注解/日志/测试
│ ├── 07_Python环境管理/
│ ├── 08_Git版本控制/
│ └── README.md
│
├── 02_数据结构与算法基础/ # 🔵 阶段 2
│ ├── 01_线性结构/
│ ├── 02_哈希结构/
│ ├── 03_树结构/
│ ├── 04_图与搜索/
│ ├── 05_算法实践/
│ └── README.md
│
├── 03_科学计算与数据分析/ # 🟠 阶段 3:第 3-4 个月
│ ├── 01_NumPy/
│ ├── 02_Matplotlib/
│ ├── 03_SciPy/
│ ├── 04_Pandas/
│ └── README.md
│
├── 04_通信方向项目开发/ # 🟣 阶段 4:第 5-7 个月
│ ├── 01_数字通信仿真平台/ # BPSK/QPSK/16QAM 调制解调 + 信道
│ ├── 02_GUI开发_PySide6/
│ └── README.md
│
├── 05_AI与机器学习基础/ # 🔴 阶段 5:第 8-10 个月
│ ├── 01_机器学习基础/
│ ├── 02_PyTorch/
│ ├── 03_项目_信号分类器/ # IQ 样本自动调制识别
│ ├── 04_AI工具开发_论文助手/ # PDF 解析 + 大模型 API
│ └── README.md
│
├── 06_综合项目与科研能力/ # 🟤 阶段 6:第 11-12 个月
│ ├── 项目A_软件无线电实验平台/ # 通信仿真 + AI 调制识别
│ ├── 项目B_AI知识库/ # RAG 检索增强生成
│ ├── 项目C_实验数据分析平台/ # 自动分析 + 绘图 + 报告
│ └── README.md
│
├── 99_参考资料/
├── requirements.txt
└── README.md
- Python 3.8+ — python.org 下载安装
- PyCharm(推荐) 或 VS Code — 代码编辑器
- Jupyter Notebook — 交互式学习环境
# 1. 克隆仓库
git clone https://github.com/wanna-code12138/python-for-communications.git
cd PY学习
# 2. 安装依赖(建议按阶段逐步安装,不必一次性全部安装)
pip install -r requirements.txt
# 3. 启动 Jupyter,从学习指南开始
jupyter notebook "00_使用说明/如何开始学习.ipynb"💡 提示:
requirements.txt已按阶段分组注释,阶段 1-2 仅需 Python 标准库即可开始学习。
看讲解 → 运行示例 → 做练习 → 对照小结
↓ ↓
遇到问题 → 搜索引擎 / AI 工具 → 再问人
完整的数字通信链路仿真与 AI 自动调制识别平台,实现"通信 + AI"交叉融合。
| 技术栈 |
|---|
NumPy SciPy Matplotlib PyTorch PySide6 |
基于 RAG(检索增强生成)搭建的智能问答系统,涵盖文档加载 → 文本分块 → 向量索引 → 自然语言问答的完整流程。
| 技术栈 |
|---|
PyTorch OpenAI API python-docx pdfplumber 向量检索 |
一键完成数据加载 → 统计分析 → 自动可视化 → HTML 报告生成的实验数据处理工具。
| 技术栈 |
|---|
Pandas NumPy SciPy Matplotlib openpyxl HTML/CSS |
阶段 6 的三个综合项目涵盖了前面所有阶段的知识,建议至少完整做一个。
| 时段 | 内容 |
|---|---|
| 40 分钟 | 学新知识(看讲解 + 运行示例) |
| 40 分钟 | 项目开发 / 做练习 |
| 20 分钟 | 阅读源码 / 开源项目 |
| 时段 | 内容 |
|---|---|
| 1 小时 | 课程学习 / 在线课程 |
| 2 小时 | 项目开发 / 敲代码 |
| 30 分钟 | 阅读开源项目源码 |
| 30 分钟 | 算法基础(LeetCode) |
- 先完整走完阶段 1-2,打好工程基础和数据结构基本功
- 阶段 3 开始接触通信相关数据(信号生成、频谱可视化)
- 阶段 4 将前面积累用于通信仿真实战
- 阶段 5 拓展 AI 能力,完成信号分类器和论文助手
- 阶段 6 在综合项目中融会贯通,产出可展示的作品
⚠️ 每个阶段结束时都有一个综合项目检验学习成果,务必认真完成再进入下一阶段。
我没有编程基础,真的能学吗?
完全可以!本课程从 PyCharm 安装、Python 基础语法开始,每一步都用 Jupyter Notebook 拆解讲解。阶段 1 专门为零基础设计,从零开始打牢 Python 工程基础。
通信专业基础薄弱,能跟得上项目实战吗?
能。每个项目都会在 Notebook 中解释涉及的通信/信号原理(如调制、信道、误码率等概念),不需要提前精通《通信原理》——可以边做项目边补理论。
需要安装哪些库?能按阶段装吗?
`requirements.txt` 已按阶段分组注释。阶段 1-2 仅需 Python 标准库;阶段 3 需要 `numpy/matplotlib/scipy/pandas`;阶段 5 需要 `torch` 等。建议学到哪个阶段就装哪个阶段的依赖,避免一次性装太多。
没有显卡能学 AI 部分(阶段 5-6)吗?
可以。阶段 5 的信号分类器训练数据量不大,CPU 也能完成(训练时间稍长)。论文助手和 RAG 知识库主要调用大模型 API,不依赖本地 GPU。有显卡当然更快,但没有也不影响完成课程。
学完这个课程能做什么?
- 独立完成 3000-10000 行规模的 Python 项目
- 阅读和修改 GitHub 上的开源项目
- 完成通信系统基础仿真(调制/解码/信道/误码率分析)
- 处理实验数据并自动生成图表和报告
- 使用 AI 工具辅助开发
- 制作图形界面工具(PySide6)
- 拥有 2-3 个可展示的项目作品
- 具备科研编程基础能力
| 类别 | 书名 | 说明 |
|---|---|---|
| 🐍 Python | 《流畅的 Python》 | 进阶必读,深入理解 Python 语言特性 |
| 📊 数据分析 | 《利用 Python 进行数据分析》 | Pandas 作者所著,数据清洗与分析实战 |
| 🧠 深度学习 | 《动手学深度学习》 | PyTorch 版,理论与代码结合 |
| 📡 通信 | 《数字通信》《通信原理》 | 结合 Python 仿真实现来学,理解更深刻 |
💡 书不用从头读到尾,遇到问题查对应章节即可;配合本工程的实践项目,学以致用效果更好。
这个项目持续维护中,欢迎任何形式的贡献:
- 🐛 发现问题:提交 Issue 描述你的问题或建议
- ⭐ 觉得有用:点个 Star 鼓励一下
- 🔧 想完善内容:Fork 后提交 PR,完善 Notebook、修复错误或补充练习
你的每一个反馈都在帮助更多通信专业的同学用 Python 打开新世界。
本项目基于 MIT License 开源,欢迎自由使用、修改和分享。
感谢 Python、NumPy、SciPy、Matplotlib、Pandas、PyTorch、Jupyter 等开源社区,以及千千万万分享知识的开发者们,让"从零到独立开发"的自学之路成为可能。