# Vernon_DSP_CoursePlot **Repository Path**: taxue-vernon/Vernon_DSP_CoursePlot ## Basic Information - **Project Name**: Vernon_DSP_CoursePlot - **Description**: DSP数字信号处理课程Python绘图代码 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-11-30 - **Last Updated**: 2024-02-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 用户指导手册 ## 0. 目录 [TOC] ## 1. 项目目录层级以及解释 ```shell ├─.idea ├─.vernon_py_venv #Pyrhon 虚拟环境,基于python3.11.6 x86 ├─DspSubFunc # 项目子函数 ├─main.py # 项目运行主文件 ├─requirement.txt # Python库安装依赖文件 └─picture # 项目生成的图片文件 ``` ## 2. 项目使用方法 ### 2.1 从云端克隆 #### 2.1.1 安装git 此处从git官网下载git工具即可,此处略过。 #### 2.1.2 克隆 进入项目的Gitee仓库 ```shell https://gitee.com/TaXue_TianXing/Vernon_DSP_CoursePlot ``` 对其进行克隆 ```shell git clone https://gitee.com/TaXue_TianXing/Vernon_DSP_CoursePlot.git ``` > 如果您需要最新的开发版 > > ```shell > git clone https://gitee.com/TaXue_TianXing/Vernon_DSP_CoursePlot.git -b dev > ``` ### 2.2 运行项目准备 #### 2.2.1 没有IDE,使用Terminal运行 进入项目目录 ```shell cd ``` 如果是Windows11及其以上平台(PowerShell),使用 ```powershell cd .\.vernon_py_venv\Scripts\ .\activate.ps1 # 结果:(.vernon_py_venv) PS ``` > 如果是Widnows10以下平台(CMD),运行 `activate.bat` > > 如果是Linux平台,**需要使用 `requirement.txt` 重新构建虚拟环境**(请看附录) #### 2.2.2 使用IDE(Recommend) 直接选择为当前文件夹的虚拟环境即可 ![image-20231217163048611](https://taxue-alfred-1253400076.cos.ap-beijing.myqcloud.com/202312171630768.png) ### 2.3 运行方法 > 以下介绍均在IDE中进行介绍,Terminal方式类推即可 项目使用子函数+主函数的方式编写,因此根据Python语言特性,可以选择两种方式运行程序 - 在主函数中调用子函数 - 直接在子函数中运行 #### 2.3.1 在主函数中调用子函数 首先应当从子文件夹中导入子函数 > 编写时间 2023/12/17,目前的子函数只有这些,若后续有添加,自行添加即可 ```python from DspSubFunc import C2_cos from DspSubFunc import C2_linear_conv from DspSubFunc import C3_freq_response from DspSubFunc import C4_conv_filter from DspSubFunc import C4_freq_response from DspSubFunc import C6_zplane from DspSubFunc import C9_IIR_filter from DspSubFunc import C10_FIR_filter ``` > 函数名解释:C+数字+简略解释,比如C6_zplane,即为第六章(Chapter6)Z平面图绘制 之后直接调用其中函数,比如下面示例只运行了`c6_zplane()`的代码,具体运行哪一个,取消/增加注释即可 ```python # C2_cos.c2_cos() # C2_linear_conv.c2_linear_conv() # C3_freq_response.c3_freq_response() # C4_conv_filter.c4_conv_filter() # C4_freq_response.c4_freq_response() C6_zplane.c6_zplane() # C9_IIR_filter.c9_iir_filter() # C10_FIR_filter.c10_fir_filter() ``` 最后点击运行即可 ![image-20231217164344709](https://taxue-alfred-1253400076.cos.ap-beijing.myqcloud.com/202312171643876.png) #### 2.3.2 直接运行子函数 在 `DspSubDunc` 目录下找到对应子函数,这里以FIR滤波器演示 ![image-20231217164559450](https://taxue-alfred-1253400076.cos.ap-beijing.myqcloud.com/202312171645499.png) 在文件内右键之后选择`Run 'C10_FIR_filter'` ![image-20231217164640319](https://taxue-alfred-1253400076.cos.ap-beijing.myqcloud.com/202312171646403.png) 即可得到运行图 ![image-20231217164726376](https://taxue-alfred-1253400076.cos.ap-beijing.myqcloud.com/202312171647489.png) ## 3. 传入不同参数 > 如果仅仅满足上课教学需要,那么不给函数传入参数即可,若要满足学生需要,那么可以修改函数参数,比如`通带截止频率` `阻带截止频率`等参数,则可以给函数对应形参位置传入实参,帮助学生理解不同参数对于滤波器性能的影响 以运行 `C10_FIR_filter` FIR滤波器为例: ### 3.1 在 `main.py`中调用FIR滤波器函数 ![image-20240218143831503](https://taxue-alfred-1253400076.cos.ap-beijing.myqcloud.com/202402181438666.png) ### 3.2 在被调用的函数中根据函数实现提示填入实参 之后运行即可 运行结果如下: > 要注意是运行main.py ![image-20240218144649293](https://taxue-alfred-1253400076.cos.ap-beijing.myqcloud.com/202402181446481.png) ## 附录 ### 1. Linux构建Python虚拟环境库依赖 #### 1.1 激活已经创建好的空虚拟环境 推荐Python3.11.6 #### 1.2 安装对应库 ```shell pip install -r requirements.txt ```