第1章:开发环境搭建——Anaconda与Python环境配置、MATLAB安装要点、Simulink工具箱选择、虚拟环境管理与依赖隔离
各位同学好,我是老张。做信号处理这行快十五年了,从早期的DSP汇编一路干到现在的Python+MATLAB混合仿真。今天咱们聊聊开发环境搭建这件事。
说实话,很多新手甚至工作两三年的工程师,都容易在环境配置上栽跟头。我见过太多人花三天装环境,写代码只花两小时。嗯,这其实挺亏的。所以第一章,咱们就把地基打牢。
1.1 Anaconda与Python环境配置
Python现在在信号处理领域越来越火。为什么?因为生态好。NumPy做矩阵运算,SciPy做滤波器设计,Matplotlib画频谱图,一条龙搞定。
我个人习惯用Anaconda来管理Python。它自带了很多科学计算包,省得你一个一个pip install。你想想看,要是每个包都手动装,版本冲突能让你怀疑人生。
安装要点:
- 去官网下载Anaconda,选Python 3.9以上版本(别用2.7了,早该淘汰了)
- 安装时勾选「Add Anaconda to my PATH environment variable」
- 安装路径不要有中文和空格,我习惯放 D:\Anaconda3
装完之后,打开命令行验证一下:
python --version
conda --version
看到版本号就说明装好了。我在项目中遇到过有人装完Anaconda,结果系统里还有另一个Python,两个打架。所以建议把系统自带的Python先卸掉,或者用conda管理好环境变量。
1.2 MATLAB安装要点
MATLAB在信号处理领域依然是老大哥。尤其是做滤波器设计、频谱分析、时频分析这些,工具箱太全了。
安装MATLAB时,有几点我得提醒你:
避坑指南:
- 我曾经装MATLAB R2020a,选了全部工具箱,结果硬盘直接爆了。所以别贪心,按需安装。
- 安装路径同样不要有中文,否则Simulink跑模型时会报奇奇怪怪的错
- 建议装最新版,但别追太新。R2022b之后对旧版Simulink模型兼容性有点问题
我个人习惯装MATLAB时只选这几个核心工具箱:
| 工具箱名称 | 用途 | 是否必装 |
|---|---|---|
| Signal Processing Toolbox | 滤波器设计、频谱分析 | 必装 |
| DSP System Toolbox | 数字信号处理算法 | 推荐 |
| Simulink | 系统级仿真 | 必装 |
| Wavelet Toolbox | 小波分析 | 按需 |
| Communications Toolbox | 通信系统仿真 | 按需 |
装完之后,记得在MATLAB里运行 ver 命令,看看工具箱是否都加载成功。我遇到过工具箱装上了但license没激活的情况,跑 fdatool 直接报错,折腾了半天才发现是授权问题。
1.3 Simulink工具箱选择
Simulink做信号系统仿真,说白了就是搭积木。但积木太多,你得知道哪些是常用的。
做信号处理仿真,我建议至少装这几个:
- Simulink:核心平台,不装没法玩
- DSP System Toolbox:数字滤波器、FFT、频谱分析仪都在这里
- Signal Processing Toolbox:和DSP System Toolbox配合使用
- Simulink Control Design:如果你要做闭环系统,这个很有用
小技巧: 我个人习惯在Simulink里用「Library Browser」搜索模块。比如搜「Digital Filter」就能找到数字滤波器模块。别一个个翻目录,太慢了。
为什么强调工具箱选择?因为装多了拖慢启动速度,装少了又不够用。我一般先装核心的,后面缺什么再补装。MATLAB支持增量安装,不用重装整个软件。
1.4 虚拟环境管理与依赖隔离
这个点我特别想多说两句。很多项目做到一半,发现依赖冲突,那叫一个头疼。
举个例子:项目A需要numpy 1.19,项目B需要numpy 1.24。你要是装在一个环境里,总有一个项目跑不起来。怎么办?用虚拟环境隔离。
Python这边,我推荐用conda创建虚拟环境:
# 创建环境
conda create -n signal_proc python=3.9
# 激活环境
conda activate signal_proc
# 安装包
conda install numpy scipy matplotlib
# 退出环境
conda deactivate
每个项目一个环境,互不干扰。我曾经接手一个老项目,里面用了scipy 0.19,而我已经装了1.8。要是没有虚拟环境,光解决依赖冲突就得花一天。
MATLAB这边呢?它没有原生的虚拟环境管理。但你可以用不同版本的MATLAB来实现隔离。比如R2020a做旧项目,R2023b做新项目。或者用MATLAB的「Project」功能来管理依赖。
注意: MATLAB的Toolbox版本和MATLAB版本是绑定的。你不能在R2020a里装R2023b的工具箱。所以升级MATLAB版本时,工具箱也得跟着升。
还有个实用技巧:用 conda list --export 导出环境依赖列表,方便别人复现你的环境:
conda list --export > requirements.txt
conda create -n new_env --file requirements.txt
这样你发给同事的代码,他直接一条命令就能把环境搭好,省心省力。
小结
好了,第一章就聊这么多。环境搭建看着琐碎,但真出了问题,排查起来特别费时间。我建议你花半天时间,把Anaconda和MATLAB装好,虚拟环境配好,后面写代码就顺畅了。
下一章咱们聊聊信号处理的基础——采样定理和离散时间信号。到时候我会用Python和MATLAB分别演示,看看两种工具各自的优势在哪里。
有什么问题,欢迎在课程群里交流。我是老张,咱们下章见。
本章要点回顾:
- Anaconda安装时勾选PATH,路径不要有中文
- MATLAB按需安装工具箱,别贪多
- Simulink核心工具箱:DSP System + Signal Processing
- 用conda创建虚拟环境,每个项目隔离依赖
- 导出requirements.txt方便环境复现
公众号:蓝海资料掘金营,微信deep3321