MATLAB在模拟电路的应用123 下载本文

MATLAB在简单模拟电路中的应用

[摘要]:在模拟电路故障诊断中故障特征提取是至关重要的一步,直接影响着系统的诊断

能力。本文阐述了MATLAB与PSpice在模拟电路故障特征提取中的应用,着重介绍了MATLAB如何调用PSpice仿真数据,并给出了基于多分辨分析和小波包变换的模拟电路故障特征提取的具体实现方法。

[关键词]:MATLAB PSpice 故障特征提取 多分辨分析 小波包变换

一:问题的提出

随着科学技术和电子工业的迅速发展,电子设备的规模越来越大,复杂度也在不断提高,系统的维护、修理和调试变得越来越困难,为了提高系统的安全性和可靠性,故障诊断技术逐渐受到人们的重视。近年来神经网络理论发展迅速,基于神经网络的模拟电路故障诊断方法也有很大的发展。为了把神经网络成功的应用于模拟电路的故障诊断中,构造样本集是第一步,也是至关重要的一步,它包括故障模式的划分、原始数据的收集、故障特征的提取等。其中,故障特征的提取是最为重要的环节,通过对原始数据的处理得到最能表征其故障模式的数据信息,它直接影响着训练后神经网络的诊断能力,是模拟电路故障诊断的关键。本文将介绍如何利用MATLAB和PSpice进行电路故障特征提取的过程和方法。

二.模拟电子电路的仿真

1.直流电路求解

利用MATLAB分析电路时,应该首先对电路进行分析,列出电流方程和电压方程,然后将方程用矩阵形式表示,最后用MATLAB求解矩阵的方法得到所求电流和电压。如图1所示:

已知:E1=8V,E2=20V,R1=4Ω,R2=5Ω,R3=20Ω。采用支路电流法列写支路电流方程和回路电压方程,得方程组:

上面这个三元一次方程组可以改写为下面矩阵的形式:

- + R1=4Ω E1=8V → R2=5Ω

- + E2=20V → R3=20Ω ← 图1 直流电路

定义上面这个方程最左边这个矩阵为系数矩阵A,第二个矩阵为电流矩阵I,右边这个矩阵为U,因此可得到A*I=U,所以电流矩阵I=A\\U。可在MATLAB窗口键入如下指令:

>>clear all;

A= [1,1,- 1;0,5,20;4,0,20];U= [0;20;8]; I=A\\U

立刻得答案:I= -1.00001.60000.6000

在此列举了一个很简单的例子,但是无论直流电路如何复杂,只要能够列出矩阵方程,利用MATLAB进行的巨大运算量,在几秒钟内就可以得出结果。

R + + C - - ←I

图2 RC电路

2.暂态电路的仿真

(1).一阶RC电路的数学模型为一阶常系数微分方程,如图2所示: 列出微分方程为:

(1) 将微分方程进行拉氏变换,得出系统传递函数为:

(2) 若设定R=3Ω,C=0.2F,代入得:

(3)

据此,便可以模拟出一阶系统在不同激励信号下的输出电压。

利用simulink对上述电路进行仿真,建立一阶RC电路的仿真模型如下:

106s+10StepTransfer FcnScope图3-1 单位阶跃输入信号仿真模型

2

106s+10PulseGeneratorTransfer FcnScope图3-2 单位脉冲输入信号仿真模型 图3-1和图3-2分别是RC一阶电路输入信号分别为单位阶跃信号和单位脉冲信号时的仿真模型,运行软件后即可得到输出函数的波形图像。为便于观察与引用,可再利用Simulink中的“to workspace”模块将上述模拟结果输出到MATLAB工作区间中,并在MATLAB命令窗口引用plot命令将输出波形图画出,图形如下:

10.90.80.70.60.50.40.30.20.10输出电压Uc012345时间t6789100.90.80.70.6输出电压Uc0.50.40.30.20.10012345时间t678910图3-3 单位阶跃输入的输出图像图3-4单位脉冲信号输入的输出图像

图3-3和图3-4分别是以上两种模型的仿真结果。从仿真波形我们可以清晰地看到一阶电路在阶跃信号激励下电容电压是以指数规律进行充电,而在脉冲信号作用下电容电压不断的进行正反方向的充放电。这样在MATLAB虚拟环境下就可以完成RC一阶电路的响应测试这个实验。通过改变电阻R的阻值,可以进一步分析电容的阻值大小与电容充放电快慢之间的关系,即电容充放电的快慢取决于时间常数τ=RC,阻值越大,充电越慢。

(2).高阶电路的仿真

高阶电路仿真在MATLAB-Simulink中也很简单,其方法就是在一阶电路仿真的基础上更改一些系统参数即可。

3