当前位置:首页 > 电源 > 功率器件
[导读]1 引言 系统仿真是近30年才发展起来的一门新兴学科,它通过对所研究系统的认识和了解,抽取其中的基本要素,建立与现实系统相对应的仿真模型,并通过系统模型实验去研究

1 引言

系统仿真是近30年才发展起来的一门新兴学科,它通过对所研究系统的认识和了解,抽取其中的基本要素,建立与现实系统相对应的仿真模型,并通过系统模型实验去研究一个已经存在的或者正在设计的系统的过程。Matlab是一种功能强大的的仿真工具,它包括众多的功能各异的工具箱、以矩阵和数组为基本单位的编程语言,为数学计算和试验数据分析提供了极大的便利。Siumlink是MATLAB的一个共生产品,包括丰富的模块资源和工具箱资源,具有相对独立的功能和使用方法,提供了建模、分析和仿真各种动态系统的交互环境,建立仿真模型后可以很容易地通过改变仿真参数,得到不同参数的仿真结果。结合MATLAB 和Simulin的特点,可以实现各种电路的仿真。

在构建仿真电路时,有些可以直接调用Simulink模块,有些用Simulink模块难以实现的,可以通过编写Simulink 支持的S函数来完成。对于比较复杂的仿真电路,可以采用Simulink模块调用和编程混合的方式实现。本文所实现的A/D转换电路的仿真就是采用 Simulink模块调用和MATLAB编程混合的方式。

2 A/D转换电路的仿真

2.1A/D转换电路的的仿真

模/数(A/D)转换电路的任务是将连续变换的模拟信号转换为离散的数字信号,以便于数字系统进行处理,模/数转换一般要完成采样、量化和编码等几个过程。

采样是在连续变化的模拟量上按一定的规律(周期地)取出其中的某一些瞬时值来代表这个连续的模拟量。为了保证采样信号不丢失的信息,即采样后的离散信号能代替或能恢复原来的连续信号,采样必须遵循采样定理,即对信号采样时,采样频率必须大于或等于信号最高频率的两倍。

量化就是将f(nT)的所有值映射到数字量所表示的状态上。实际上,在量化过程中是将样本的幅值范围分为若干个量化层,每一个量化层对应一个量化输出,所有落于该量化层内的样本都统一取该量化输出值。量化层的数目与量化后编码的位数有关。

2.1.1 采样功能的实现

A/D转换就是一个量化的过程,它把采样后的模拟信号转换成数字量。在实际工作中,A/D转换首先要选定一个合适的编码方案,然后根据编码的位数确定量化层,从而确定采样频率。实现仿真电路的关键是采样模块的构建,由于Simulink的模块难以构建采样功能,采样模块主要是通过编写Simulink支持的S函数实现的。S函数有固定的程序格式,S函数的实现包括初始化、连续状态微分、计算输出和仿真终止。可以用MATLAB语言可以编写S函数,也可以使用C 语言、C++和Fortran 等语言编写。S函数使用一种特殊调用规则来实现用户与Simulink的内部解法器进行交互,并且这种交互可以适用于不同性质的系统。S函数模块存放在 Functions&Tables模块库中,通过此模块可以创建包含S函数的Simulink模块。S函数文件名区域要填写S函数的文件名。S函数参数区填入S函数所需要的参数。

本系统假定输入的模拟信号周期为2,编写了4个S函数,分别为sf_ad4、sf_ad8、sf_ad16、sf_ad32,对应的采样时间分别为 0.5、0.25、0.125、0.0625,即采样频率分别是信号最高频率的四倍、八倍、十六倍和三十二倍。下面以sf_ad32函数为例,说明其算法及实现程序。

首先,设模拟信号是周期为2的Sine波,且用连续的时间函数f(t)表示,采样就是周期地取f(t)的瞬时值。根据采样定理,对每个周期的模拟信号采样32次,则采样的时间就为0.0625(2/32)的倍数。完成一个周期的采样时间为0.0625*n(0<=32,n 为整数),延时为0。采样后将相应值输出,但信号在量值上仍然是连续的,需将f(nT)的所有值映射到数字量所表示的状态上,这种过程为量化。在量化过程中是将样本的幅值范围分为若干个量化层,每一个量化层对应一个量化输出,所有落在该量化层内的样本都统一取该量化输出值。本实例中,采用4位编码,则有 24=16个量化层。在编码过程中采用从1000到0111的编码,来输出相应的量化值。其源代码如下:

function[sys,x0,str,ts]=sf_ad32(t,x,u,flag)
switch flag,
case 0,
[sys,x0,str,ts]=mdlInitializeSizes;
………
case 9,
sys=[];
otherwise
error([unhandle flag=,num2str(flag)]);
end
function[sys,x0,str,ts]=mdlInitializeSizes
sizes=simsizes;
sizes.NumContStates=0;
sizes.NumDiscStates=0;
sizes.NumOutputs=1;
sizes.NumInputs=1;
sizes.DiRFeedthrough=1;
sizes.NumSampleTimes=32;
sys=simsizes(sizes);
x0=[];
str=[];
ts=[
0.0625 0
0.125 0
0.0625*3 0
0.25 0
………
0.0625*31 0
2 0 ];
function sys="mdlUpdate"(t,x,u)
sys=x;
function sys="mdlOutput"(t,x,u)
sys=u;

其中,sys依照flag的值返回不同的结果,x0为初始状态值,str用于设置输出矢量为一个空矩阵,ts采用两列的矩阵来设置采样时间和延迟,sf_ad4是S函数的函数名,t为目前仿真中的实现时间,x为状态矢量,可为空,u为输入矢量,flag为S函数行为标示。

sf_ad8、sf_ad16、sf_ad32的S函数类似于sf_ad4,不同的就是采样时间的个数和ts的采样时间和延迟矩阵。调用S函数时首先将所需的S函数模块拖入调用模块(Simulink->User-Defined Functions->S-Function)并设置S函数的参数,参数设置对话框如图1所示。

图1 S函数的调用


2.1.2 A/D转换仿真电路的构建

A/D转换仿真电路由“模拟信号发生器”模块、“选择采样函数1~4”模块、“结果显示”模块和“A/D转换电路”子系统组成,如图2所示。

“选择采样函数1~4”模块是选择采样频率,构建过程为:在Matlab的命令窗口中输入命令Simulink打开Simnlink Library Browser子窗口,选中左边目录栏中的Simulink库后单击子目录Sources,右边的子窗口显示相应的Sources库中的模块集,选中 Constant常数模块并拖入所建的仿真模块中(简单表述为Simulink->Sources->Constant,后文同此),双击此模块出现参数设置框,输入所要选择函数对应的编号1~4。“模拟信号发生器”模块和“结果显示”模块通过直接调用模拟信号发生器和示波器构建。“A/D转换电路”子系统内部主要是由1个选择开关和四个S函数组成。“采样电路”子系统的构建首先是调用一般的子系统(Simulink->Ports&Subsystems->Subsystem),然后双击此子系统,在子系统的内部生成1个选择开关,拖入四个S函数,把选择开关与四个S函数相连。

图2 “A/D转换”仿真系统的主界面


2.1.3 A/D转换电路的仿真结果

运行仿真电路时,由“模拟信号发生器”模块产生各种模拟输入信号,通过“选择采样函数1~4”模块选定采样频率,结果在“结果显示”模块显示。
选择采样函数为4,则A/D转换的采样时间为0.0625,选定输入信号分别为正弦波和随机波。运行此仿真系统后的结果如图3、图4所示。

图3 输入信号为正弦波的运行结果 图4 输入信号为随机波的运行结果

3 结束语

本文作者创新点:由于Simulink的模块库中,缺少各种可编程接口芯片模块,将Simulink 和MATLAB编程混合应用到A/D、D/A转换电路的仿真,结果表明仿真效果良好。这种方法可以应用于多种控制电路、通信电路等系统的仿真中。仿真电路的工作过程类似于真实的硬件,而且更便宜、更灵活,也很容易进行恢复,避免了操作错误造成的损失,按每个单位一年减少五千元计算,具有明显的经济效益和社会效益。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

● 颠覆性的专用软硬件加速平台;利用GPU和CPU计算以及专有软件算法,提高准确度、速度和规模的同时,带来高达100倍的设计效率提升; ● 与传统HPC相比,支持GPU-resident模式的求解器可将仿真能效显著提高2...

关键字: AI 仿真

● 热、应力和电子散热设计同步分析,让设计人员可以无缝利用ECAD和MCAD对机电系统进行多物理场仿真; ● 融合FEM和CFD引擎,应对各种热完整性挑战——从芯片到封装,从电路板到完整的电子系统; ● Celsius...

关键字: AI 仿真

具有高采样率的泰克任意波形发生器(AWG)是功能多样且强大的仪器,可以提高脉冲激光实验的质量和效率,为以前所未有的精度和灵活性创建和操作光脉冲提供了多种可能性。

关键字: 仿真 测试测量

● 四态硬件仿真应用可加速需要X态传播的仿真任务; ● 实数建模应用可加速混合信号设计软件仿真; ● 动态功耗分析应用可将复杂SoC的功耗分析任务加快5倍。

关键字: 仿真 SoC

目前,中国市场HiL技术主要应用于汽车、航空航天、国防、能源、电力电子等产业,2016年-2028年市场规模复合增长率达18.5%,预计2028年中国HiL模拟行业市场规模达到273亿元,其中尤以汽车行业HiL应用市场规...

关键字: 仿真 汽车电子

在今年的泰克创新论坛上,我与新思科技(Synopsys)的Madhumita Sanyal和安立公司(Anritsu)的Hiroshi Goto一起讨论了最新PCIe版本面临的挑战,以及PCIe 7.0可能面临的挑战。

关键字: 仿真

近日,第11届EEVIA年度中国硬科技媒体论坛暨产业链研创趋势展望研讨会在深圳召开,上海合见工业软件集团产品工程副总裁孙晓阳在会上发布了主题为“把握芯片设计关键核心,助力国产EDA新格局”的演讲。

关键字: 芯片设计 仿真 验证 chiplet 合见工软 IP

COMSOL 电池主题日系列活动邀请了多位行业专家,分享多物理场仿真在电池行业中的应用和优势,共同探讨电池及电化学储能技术未来发展的无限可能。 上海2023年9月21日 /美通社/ -- 2023年9月20日,全球领先...

关键字: 仿真 电池技术 COMSOL 电化学

四家在HiL仿真行业内的“先行者”,凭借其先发优势和核心技术,已经稳占市场主导地位,成为了业界公认的“四大龙头”。他们分别有什么特点?

关键字: 仿真 测试测量

VHDL (VHSIC Hardware Description Language),是一种硬件描述语言,可以用于描述电路的结构、功能和行为等,并进行仿真和验证。VHDL具有规范性、综合性和模拟性等特点,已被广泛应用于数...

关键字: 单片机 EDA技术 仿真
关闭
关闭