描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302675716丛书名: 计算机科学与技术丛书
本书介绍了Python信号处理工具箱的体系架构及其函数和实例。主要包括信号处理概况,Python编程基础,信号生成和预处理,测量和特征提取,变换、相关性和建模,数字和模拟滤波器,频谱分析,借助大语言模型实现信号处理等内容和实例。
?系统性 内容涵盖Python信号处理工具箱的基本知识、体系架构。
?全面性 全面介绍Python基础编程、信号处理算法原理和程序计算等内容。
?实践性 采用Python语言实现信号处理算法,并介绍了基于大语言模型生成信号处理算法程序。
?先进性 配套实验程序与基于大语言模型的人工智能学习助教智能体,在GitHub/Gitee上提供了Python信号处理工具箱实例源代码。
《Python信号处理仿真与应用(新形态版)》介绍了Python信号处理工具箱的体系架构及其函数和实例。本书共8章,主要包括信号处理概况,Python编程基础,信号生成和预处理,测量和特征提取,变换、相关性和建模,数字和模拟滤波器,频谱分析,借助大语言模型实现信号处理等内容。为了便于读者学习使用和参考,书中提供了较完整的原理方法介绍和计算推导实例。
《Python信号处理仿真与应用(新形态版)》内容全面,实用性强,适用范围广,既可作为高等院校通信与信息系统、电子科学与技术、电子信息工程等相关专业本科生和研究生的课程教材,也可作为通信、雷达信号处理、生物医学信号处理等相关领域的工程技术人员的参考资料。
第1章 信号处理概况 / 1
视频讲解:3分钟,3集
1.1 引言 / 1
1.2 MATLAB信号处理工具箱 / 1
1.2.1 Signal Processing Toolbox / 3
1.2.2 DSP System Toolbox / 3
1.3 Python信号处理工具箱 / 4
1.3.1 Python简介 / 4
1.3.2 Python库简介 / 5
1.3.3 信号处理工具箱 / 5
第2章 Python编程基础 / 7
视频讲解:68分钟,15集
2.1 Python发展简介 / 7
2.2 Python开发环境 / 7
2.2.1 安装Python / 7
2.2.2 使用Python / 9
2.2.3 Jupyter Notebook / 9
2.2.4 Google Colab / 13
2.2.5 VSCode / 15
2.2.6 PyCharm / 18
2.3 Python编程基础 / 22
2.3.1 基础语法 / 22
2.3.2 变量类型 / 24
2.3.3 Python数据类型转换 / 25
2.3.4 Python常用函数 / 26
2.3.5 Python运算符 / 27
2.3.6 条件语句 / 30
2.3.7 循环语句 / 30
2.3.8 中断语句 / 31
2.3.9 pass语句 / 31
2.3.10 函数 / 31
2.3.11 模块和包 / 34
2.4 基于NumPy的数值计算 / 35
2.4.1 NumPy简介 / 35
2.4.2 安装NumPy / 35
2.4.3 数组创建 / 36
2.4.4 元素访问 / 38
2.4.5 数组基本运算 / 39
2.5 基于SciPy的数值计算 / 43
2.5.1 SciPy简介 / 43
2.5.2 安装SciPy / 43
2.5.3 SciPy子工具包构成 / 44
2.5.4 线性代数 / 44
2.5.5 微积分 / 48
2.5.6 概率统计 / 51
2.5.7 快速傅里叶变换 / 54
2.6 Matplotlib软件包 / 57
2.6.1 Matplotlib简介 / 57
2.6.2 安装Matplotlib / 57
2.6.3 基础图表绘制 / 59
2.6.4 线条和标识 / 60
2.6.5 文字说明 / 61
第3章 信号生成和预处理 / 63
视频讲解:18分钟,5集
3.1 平滑和去噪 / 63
3.1.1 使用到的Python函数 / 63
3.1.2 信号平滑处理 / 63
3.1.3 对数据去趋势 / 77
3.1.4 从信号中去除60 Hz干扰 / 79
3.1.5 去除信号中的峰值 / 83
3.2 波形生成 / 85
3.2.1 使用到的Python函数 / 85
3.2.2 创建均匀和非均匀时间向量 / 85
3.2.3 波形生成:时间向量和正弦波 / 87
3.2.4 脉冲函数、阶跃函数和斜坡函数 / 88
3.2.5 常见的周期性波形 / 91
3.2.6 常见的非周期性波形 / 93
3.2.7 pulstran函数 / 95
3.2.8 sinc函数 / 96
第4章 测量和特征提取 / 97
4.1 描述性统计量 / 97
4.1.1 使用到的Python函数 / 97
4.1.2 确定峰宽 / 98
4.1.3 周期波形的RMS值 / 102
4.1.4 在数据中查找峰值 / 103
4.2 脉冲和跃迁指标 / 106
4.2.1 使用到的Python函数 / 106
4.2.2 矩形脉冲波形的占空比 / 106
第5章 变换、相关性和建模 / 110
视频讲解:11分钟,5集
5.1 变换 / 110
5.1.1 使用到的Python函数 / 110
5.1.2 离散傅里叶变换 / 111
5.1.3 Chirp Z-变换 / 114
5.1.4 离散余弦变换 / 116
5.1.5 用于语音信号压缩的DCT / 118
5.1.6 Hilbert变换 / 121
5.1.7 余弦解析信号 / 122
5.1.8 Hilbert变换与瞬时频率 / 123
5.1.9 倒频谱分析 / 127
5.2 相关性和卷积 / 129
5.2.1 使用到的Python函数 / 129
5.2.2 具有自相关的残差分析 / 129
5.2.3 对齐两个简单信号 / 135
5.2.4 将信号与不同开始时间对齐 / 138
5.2.5 使用互相关性对齐信号 / 140
5.2.6 使用自相关求周期性 / 143
5.2.7 Echo Cancelation / 148
5.2.8 多通道输入的互相关 / 151
5.2.9 样本自相关的置信区间 / 154
5.2.10 两个指数序列的互相关 / 156
5.2.11 移动平均过程的自相关 / 160
5.2.12 两个移动平均过程的互相关 / 162
5.2.13 噪声中延迟信号的互相关 / 164
5.2.14 相位滞后正弦波的互相关 / 167
5.2.15 线性卷积和循环卷积 / 168
第6章 数字和模拟滤波器 / 170
视频讲解:5分钟,2集
6.1 数字滤波器设计 / 170
6.1.1 使用到的Python函数 / 170
6.1.2 IIR滤波器设计 / 171
6.1.3 FIR滤波器设计 / 176
6.2 数字滤波器分析 / 188
6.2.1 使用到的Python函数 / 188
6.2.2 相位响应 / 188
6.2.3 零极点分析 / 191
6.2.4 脉冲响应 / 192
6.3 数字滤波 / 193
6.3.1 使用到的Python函数 / 194
6.3.2 数字滤波介绍 / 195
6.4 多采样频率信号处理 / 196
6.4.1 使用到的Python函数 / 196
6.4.2 重建缺失的数据 / 196
6.4.3 下采样——信号相位 / 199
6.4.4 下采样——混叠 / 202
6.4.5 在下采样前进行滤波 / 205
6.5 模拟滤波器 / 207
6.5.1 使用到的Python函数 / 207
6.5.2 模拟IIR低通滤波器的比较 / 208
第7章 频谱分析 / 210
7.1 频谱估计 / 210
7.1.1 使用到的Python函数 / 210
7.1.2 使用FFT获得功率频谱密度估计 / 211
7.1.3 频域线性回归 / 212
7.1.4 检测噪声中的失真信号 / 220
7.1.5 幅值估计和填零 / 224
7.1.6 比较两个信号的频率成分 / 226
7.1.7 交叉频谱和幅值平方相干性 / 228
7.2 子空间方法 / 232
7.3 加窗法 / 234
7.3.1 使用到的Python函数 / 234
7.3.2 Chebyshev窗 / 236
第8章 借助大语言模型实现信号
处理 / 238
8.1 国内外大语言模型发展现状 / 238
8.1.1 国外大语言模型发展现状 / 238
8.1.2 国内大语言模型发展现状 / 239
8.2 大语言模型与编程 / 240
8.2.1 大语言模型使用简介 / 240
8.2.2 大语言模型实现Python编程 / 240
8.3 信号处理编程实例 / 241
8.3.1 绘制信号的时域和频域波形 / 241
8.3.2 绘制加入噪声后信号的时域和频域
波形 / 243
8.3.3 设计数字滤波器并绘制其频率响应
曲线 / 245
8.3.4 对信号进行滤波并绘制滤波后的幅度
谱与相位谱图 / 247
8.3.5 对信号进行DFT运算并绘制信号幅度
与相位图 / 249
8.3.6 对信号进行指定点数DFT并绘制信号
幅度与相位图 / 251
8.3.7 对信号进行FFT与IFFT并与原信号
做差 / 253
8.3.8 信号采样综合 / 255
8.3.9 信号平滑处理 / 260
微课视频清单
序 号 视 频 名 称 时长/min 书 中 位 置
1 Github介绍 如何创建并下载一个仓库 1 1.3.3节节首
2 Pull_Request 1 第6页第一段处
3 PySPT介绍 1 第6页第二段处
4 Python官方编译器下载 3 2.2节节首
5 JupyterNotebook视频演示 1 2.2.3节节首
6 VSCode下载 3 2.2.5节节首
7 PyCharm下载 4 2.2.6节节首
8 matplotlib_animation 5 2.3节节首
9 Python基础数据结构和语法 10 2.3.1节节首
10 python常见数据结构 9 2.3.2节节首
11 matplotlib_pyplot 12 2.3.6节节首
12 循环 4 2.3.7节节首
13 函数 3 2.3.10节节首
14 numpy数组形状变更 1 2.4.3节节首
15 numpy的属性及array 2 2.4.3节节首
16 numpy中数组元素的索引与切片 3 2.4.4节节首
17 numpy基础运算 1 2.4.5节节首
18 SciPy 7 2.5节节首
19 去除信号中的峰值 7 3.1.5节节首
20 时间向量_正弦波 1 3.2.3节节首
21 脉冲、阶跃、斜坡、抛物函数 1 3.2.4节节首
22 常见的周期波形 2 3.2.5节节首
23 非周期函数 7 3.2.6节节首
24 离散傅里叶变换 1 5.1.2节节首
25 线性调频z变换 1 5.1.3节节首
26 Hilbert变换 2 5.1.6节节首
27 两个指数序列的互相关 6 5.2.10节节首
28 线性和循环卷积 1 5.2.15节节首
29 经典IIR滤波器类型的比较 2 6.1.2节节首
30 反因果零相位滤波器 3 6.2.3节节首
信号处理是从信号抽取出有用信息的过程,包括提取、变换、分析、综合等处理过程。随着计算机技术发展,信号处理的理论和方法得以发展。MATLAB是由美国MathWorks
公司开发的主要面对科学计算、可视化以及交互式程序设计的高科技计算软件,它将数值分析、矩阵计算、科学数据可视化及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案。近20年来,由MathWorks公司开发的MATLAB软件,被广泛地应用到了信号处理的课程教学和实验中。
开源软件的发展推动了行业创新和科学技术进步。Python语言因其简洁性、易读性以及可扩展性,用于科学计算的研究日益增多。Python完全免费,众多开源的科学计算库提供了Python的调用接口。用户可以在任何计算机上免费安装Python及其绝大多数扩展库。Python标准库命名接口清晰、文档良好,很容易学习和使用。Python社区提供了大量的第三方模块,使用方式与标准库类似。它们的功能覆盖科学计算、Web开发、数据库接口、图形系统等领域,并且大多成熟而稳定。SciPy(Scientific Python)是一个开源的Python算法库和数学工具包,包含最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解,以及其他科学与工程中常用的计算。自 2001年首次发布以来,SciPy已经成为Python语言中科学算法的行业标准。目前除了MATLAB的一些专业性很强的工具箱还无法被替代之外,MATLAB的大部分常用功能可以在Python中找到相应的扩展库。
大语言模型是基于Transformer架构的自然语言处理模型,它们通过预训练学习大规模的语言数据,可以在各种自然语言处理任务上展现出色的性能。大语言模型可以作为一个教学工具,帮助用户更轻松地了解信号处理编程和仿真的基本概念和操作,可以提供智能建议和提示,帮助用户优化信号处理算法、调整参数和改进仿真结果。借助大语言模型进行信号处理仿真和应用的辅助编程有着巨大的发展潜力。
本书参考MATLAB Signal Processing Toolbox的体系架构及其函数和实例组织方式,对应整理并编写了基于Python的信号处理工具箱(Python Signal Processing Toolbox,PySPT)实例。本书共8章。第1章是信号处理概况,介绍了MATLAB和Python的信号处理工具箱架构;第2章是Python编程基础,介绍了开发环境和NumPy、SciPy等科学计算库;第3章是信号生成和预处理,介绍了信号进行创建、重采样、平滑、去噪和去趋势处理方面的实例,为进一步分析做好准备;第4章是测量和特征提取,介绍了可用于测量信号的时域和频域常见不同特征的实例;第5章是变换、相关性和建模,介绍了可用于计算信号的相关性、卷积和变换的实例;第6章是数字和模拟滤波器,介绍了用于设计、分析和实现各种数字有限脉冲响应(Finite Impulse Response,FIR) 和无限脉冲响应(Inf inite Impulse Response,IIR) 滤波器的实例;第7章是频谱分析,介绍了一系列频谱分析函数,用于表征信号的频率成分的实例。第8章是借助大语言模型实现信号处理,选择第3~7章案例,借助大语言模型进行辅助编程,展示了大语言模型在信号处理仿真和应用领域如何提高用户交互体验和工作效率。
配 套 资 源
程序代码等资源:扫描目录上方的“配套资源”二维码下载。
教学课件、教学大纲等资源:扫描封底的“书圈”二维码在公众号下载,或者到清华大学出版社官方网站本书页面下载。
微课视频(105分钟,30集) :扫描书中相应章节中的二维码在线学习。
注:请先扫描封底刮刮卡中的文泉云盘防盗码进行绑定后再获取配套资源。
本书已经获得北京理工大学“十四五”规划教材立项。
周治国
2024年7月
评论
还没有评论。