信号处理课程中的数据可视化

2023-10-07 08:05邱哲贤金欣磊
电气电子教学学报 2023年4期
关键词:信号处理频域可视化

任 蕾 邱哲贤 薄 华 金欣磊

(上海海事大学 信息工程学院, 上海 201306)

数据可视化是指应用计算机图形学、数字图像处理等技术进行有效信息传达和交互的技术手段和过程[1],随着技术的发展,数据可视化在教育领域的应用日益广泛。特别地,在信息类专业的课程教学中,部分课程理论性强、教学内容抽象,数据可视化可将抽象的理论知识转化为图像或动画,以此帮助学生理解知识点,达到更好的教学效果。文献[2]以“电磁场与微波技术”课程中“均匀平面波对多层介质分界平面的垂直入射”为例,采用了Matlab与C#混合编程方式,实现了这种物理现象的可视化演示[2]。杨富龙等以“数字信号处理”课程为例,应用Matlab和LabVIEW软件,设计实现了包括信号采集、信号分析和信号处理的可视化平台,并结合蓝牙技术展示了信号处理全过程[3]。文献[4]采用面向对象设计的软件开发方法,设计实现了基于MatlabGUI的自动控制可视化仿真软件平台,该平台可方便地对系统进行控制原理和方法的分析与设计[4]。文献[5-7]则主要针对“电磁场与电磁波”课程,提出了可视化教学方案。卫延等用Matlab软件对镜像电场进行仿真,绘制了点电荷镜像法中多种镜像电场的等位面和电力线细节图,对镜像电场进行了可视化,有利于加深学生对相关知识点的理解[5]。文献[6]提出了基于Matlab软件的“电磁场”课程可视化案例教学方法,以提高学生的实践能力、加深对理论知识点的理解[6]。文献[7]以最基本的均匀平面波为例,应用Matlab实现了电磁波可视化,展示电磁波在各种媒质中的传播特性、极化特性及反射和折射现象等[7]。

信号处理类课程主要包括“信号与系统”和“数字信号处理”及相关的实践类课程,这类课程的理论性强、公式多、学习难度大。动态地展示信号处理和系统分析中的知识点,可以帮助学生理解信号处理的本质。此外,学生通过自行设计可视化案例可进一步提升实践能力。本文利用Matlab软件设计实现了信号处理课程的数据可视化应用平台。该平台将信号处理类问题分为信号的生成和基本运算、信号的卷积、滤波器、频域分析和复频域分析五大类,教学案例选择了傅里叶级数、吉伯斯现象、采样定理等经典理论知识点,为用户提供了修改参数和动画演示的功能。该平台既可为教师授课时展示使用,也可作为线上线下混合教学中的教学资源之一,提供给学生自学或复习使用。

1 数据可视化应用的设计与实现

1.1 开发工具

Matlab软件是数据可视化的常用软件之一,且在信号分析与处理、系统仿真等领域有广泛应用。目前信号处理的实践类课程也多采用Matlab作为基本软件。

在Matlab 2016a及后续版本中,应用设计工具(App Designer)正逐渐代替图形用户界面开发环境(Graphical User Interface Development Environment,GUIDE)的功能。 GUIDE 是由菜单栏、工具栏、命令按键栏和输入栏等基本组件构成的用户交互界面,用户可利用鼠标和键盘等输入设备来控制这些对象,使计算机自动运行相对应的代码进行计算或绘图等。而 App Designer 则由设计视图、组件库、组件浏览器、代码视图、代码浏览器等构成,区别于GUIDE 中复杂多样的底层代码,App Designer 提供了更好的编程体验和视觉体验,为用户提供了足够的便利[4]。此外,与GUIDE相比,App Designer是面向对象的编程语言,不仅增加了工业应用相关的新对象,还可将App部署在网络中与其他开发者共享[8]。因此我们选用App Designer作为信号处理课程数据可视化应用的开发软件。

应用设计工具(App Designer),可根据用户需求灵活设计软件界面并自行开发应用程序,从而满足数据可视化的要求,使用App Designer[8]设计一个完整应用的过程如下:

(1)根据需求新建空白App,可自动调整布局的两栏式App或可自动调整布局的三栏式App等;

(2)使用App Designer提供的组件库来完成设计视图中各个控件的布局,布局时保证界面简单清晰、使用方便;

(3)打开各个控件的代码视图,编写回调函数和实现各个功能的程序代码,以保证设计的用户交互界面能正确响应用户的操作;

(4)使用Matlab Compiler生成exe运行文件,创建独立的桌面应用程序。

1.2 设计框架与实现

根据多年教学实践,我们选取了部分信号处理课程中的知识点,将其设计为可视化的展示模块,按照课程知识讲解的顺序进行了分类划分。最终设计的可视化应用平台主要由信号的生成和基本运算、信号的卷积、滤波器、频域分析和复频域分析五个基本模块构成,在各类模块下包含若干个子功能模块,具体的如图1所示。

图1 信号处理类课程数据可视化应用平台的模块组成图

目前信号处理可视化的案例选择,我们考虑了在信号处理类课程中便于展示且仅依赖静态图片或公式推导难以阐述的部分知识点,例如,吉伯斯现象,我们在平台中展示了有限项周期正弦信号合成周期脉冲信号的过程,同时为了加深学生的理解,还在实验课程中布置了类似的任务,让学生通过设计并实现三角脉冲信号的合成过程,从而理解傅里叶级数的本质和基本原理。此外,信号的卷积实现过程、线性时不变系统的零极点分布和系统特性的关系等也非常适合用动态过程进行演示。今后,可视化应用案例还可进一步扩充。

1.3 功能介绍与展示

可视化应用的主界面根据应用程序的框架设计思路制作,如图2所示。主界面由标题、5个基本分类模块选择按钮、设计信息以及“退出”按钮构成。用户点击任意一个按钮即可进入相对应的基本分类中,再根据课堂需要使用其中的子功能模块。主界面右下角的“退出”按钮用来关闭该应用。部分可视化界面图如图2~13所示。

图2 信号处理类课程数据可视化App主界面

图3 连续信号生成子功能模块界面

图4 离散信号生成子功能模块界面

图5 连续信号卷积动态过程界面

图6离散信号卷积动态过程界面

图7 1、3、5、89项合成的吉伯斯现象波形比较图

图8 巴特沃斯低通滤波器

图9 脉冲宽度为3和周期为5的信号时域和频域图

图13 零极点对系统特性的影响示例2

其中,图5和图6分别是连续和离散信号的卷积动态过程截图,卷积的过程包括信号的翻转、平移、相乘、积分(或叠加),通过动态的可视化展示可以帮助学生理解卷积的本质,特别是图解法的求解过程。图12和图13分别是不同系统函数的零极点分布和系统特性的关系,图12是典型的数字低通滤波器,图13是带通滤波器。用户可以自行选择零极点的位置,从而得到不同的系统频率特性,该示例可以在离散线性时不变系统的频率响应几何求解、数字滤波器的基本概念等课程教学中展示使用。平台中的大部分示例,用户均可自行输入各类参数,以观察不同情况下运行结果的差异。

1.4 可视化应用平台的作用

我们设计的信号处理课程可视化应用平台可生成应用程序,从而在课程教学中发挥教学辅助作用。主要体现在以下方面:

(1)线上线下混合教学模式的重要资源。目前,我们将课程的教学资源,包括教学视频、多媒体课件、实验指导资料等全部公布于学习通平台,并已应用两个轮次。设计的可视化应用平台可作为信号处理课程教学资源的补充。

(2)实践类课程的教学辅助。目前,我们选择的大部分可视化案例都与实验教学内容相关,因此,该平台可在实践类课程中发挥积极作用。

2 结语

基于Matlab开发了信号处理课程中数据的可视化应用平台。该平台包括信号的生成和基本运算、信号的卷积、滤波器、频域分析和复频域分析五大模块。数据可视化的设计中包括了部分参数可调整的互动式可视化案例,可以通过调节数据来深刻理解信号处理的原理和过程。

猜你喜欢
信号处理频域可视化
大型起重船在规则波中的频域响应分析
基于CiteSpace的足三里穴研究可视化分析
基于Power BI的油田注水运行动态分析与可视化展示
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新
《信号处理》征稿简则
《信号处理》第九届编委会
《信号处理》征稿简则
《信号处理》第九届编委会
频域稀疏毫米波人体安检成像处理和快速成像稀疏阵列设计