信号处理是从信号抽取出有用信息的过程,包括:提取、变换、分析、综合等处理过程。随着数字计算机的飞速发展,信号处理的理论和方法也得以发展,出现了不受物理制约的纯数学的加工,即算法,并确立了信号处理的领域。
MATLAB是由美国Math Works公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案。近20年来,由MathWorks公司开发的MATLAB软件,被广泛的应用到了信号处理的课程教学和实验中。
随着开源软件的发展,推动了行业创新和科技术进步。Python语言以其简洁性、易读性以及可扩展性,用于科学计算研究日益增多。Python标准库命名接口清晰、文档良好,很容易学习和使用。Python社区提供了大量的第三方模块,使用方式与标准库类似。它们的功能无所不包,覆盖科学计算、Web开发、数据库接口、图形系统多个领域,并且大多成熟而稳定。SciPy是一个开源的Python算法库和数学工具包,基于Numpy科学计算库,用于数学、科学、工程学等领域。SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。自 2001 年首次发布以来,SciPy 已经成为Python语言中科学算法的行业标准。目前除了MATLAB的一些专业性很强的工具箱还无法被替代之外,MATLAB的大部分常用功能都可以在Python世界中找到相应的扩展库。Python完全免费,众多开源的科学计算库都提供了Python的调用接口。用户可以在任何计算机上免费安装Python及其绝大多数扩展库。
本仓库参考Matlab Signal Processing Toolbox的体系架构,及其函数和案例组织方式,对应整理并编写了基于Python的信号处理工具箱(Python Signal Processing Toolbox,简称PySPT)函数和案例。
本书共分六章:
第一章是工具箱概述,介绍了Python专用的科学计算扩展库、Matlab信号处理工具箱,和Python的信号处理工具箱架构。
第二章是信号生成和预处理,工具箱提供的函数可对信号进行创建、重采样、平滑、去噪和去趋势处理,为进一步分析做好准备。
第三章是测量和特征提取,提供的函数可用于测量信号的时域和频域常见不同特征。
第四章是变换、相关性和建模,工具箱提供的函数可用于计算信号的相关性、卷积和变换的函数。
第五章是数字和模拟滤波器,工具箱提供的函数可用于设计、分析和实现各种数字 FIR 和 IIR 滤波器。
第六章是频谱分析,工具箱提供提供一系列频谱分析函数,用于表征信号的频率成分。
函数和案例都配以对应Matlab/Python代码为示例,引导读者通过编程的方式来准确地理解信号处理的相关知识及其应用。
周治国
北京理工大学
集成电路与电子学院
信号与图像处理研究所
课程信息:
0500121-《信号处理仿真与应用》-2021-2022-2班
0500121-《信号处理仿真与应用》-2023-2024-2班