天天看点

基于MATLAB的采样保持器的仿真

目录

​​一、理论基础​​

​​二、部分MATLAB程序​​

​​三、仿真结论分析 ​​

一、理论基础

基于MATLAB的采样保持器的仿真

       考虑一个简单的采样保持器电路,如图1所示,其中R0远大于Ri。开关周期为T,然后假设采样是在开关闭合的时候立刻完成的,然后也是快速的打开。因此,输入信号e(t)采样后可以得到e(kT)。信号e(KT),进行电路分析,计算一个采样周期T,t(KT,(K+1)t)的响应函数m(t)。描述一下这响应曲线,然后分析这个电路的阶数。分析电容C式怎么影响这个保持器的结果的。如果RI和RO都为10欧姆,C是0.1F,1F,10F,然后T分别设置为1s和2s,画出m,然后分析结论。

        根据电路系统的相关原理可知,信号通过该电路之后,得到信号满足如下的关系式:

根据问题一的要求,我们首先对电路进行理论上的分析。

        根据电流守恒公式,可以列出如下的微分方程式:

        由于C和R0是并联结构,所以两个电路支路电压都可认为是。那么根据电流守恒(输入=输出)我们可以得到如下的守恒公式:

基于MATLAB的采样保持器的仿真
基于MATLAB的采样保持器的仿真

二、部分MATLAB程序

matlab仿真程序1:

clc;
clear;
close all;
warning off;

Ri = 10;
Ro = 10;
N  = 300;

%设置输入信号的是一个阶跃信号
for k = [1:1:N]
    e(k) = 10;
end

%T=1,C=0.1
C  = 0.1;
T  = 1;
for k = [1:1:N]
    m(k) = e(k)*( Ro/(Ro+Ri) - exp( -(Ro+Ri)*k*T/(Ro*Ri*C) ) ); 
end
figure(1)
plot([1:1:N],m,'g-','linewidth',2);

%T=1,C=1
C  = 1;
T  = 1;
for k = [1:1:N]
    m(k) = e(k)*( Ro/(Ro+Ri) - exp( -(Ro+Ri)*k*T/(Ro*Ri*C) ) ); 
end
hold on
plot([1:1:N],m,'y-','linewidth',2);

%T=1,C=10
C  = 10;
T  = 1;
for k = [1:1:N]
    m(k) = e(k)*( Ro/(Ro+Ri) - exp( -(Ro+Ri)*k*T/(Ro*Ri*C) ) ); 
end
hold on
plot([1:1:N],m,'m-','linewidth',2);

%T=2,C=0.1
C  = 0.1;
T  = 2;
for k = [1:1:N]
    m(k) = e(k)*( Ro/(Ro+Ri) - exp( -(Ro+Ri)*k*T/(Ro*Ri*C) ) ); 
end
figure(1)
plot([1:1:N],m,'b-','linewidth',2);

%T=2,C=1
C  = 1;
T  = 2;
for k = [1:1:N]
    m(k) = e(k)*( Ro/(Ro+Ri) - exp( -(Ro+Ri)*k*T/(Ro*Ri*C) ) ); 
end
hold on
plot([1:1:N],m,'r-','linewidth',2);

%T=2,C=10
C  = 10;
T  = 2;
for k = [1:1:N]
    m(k) = e(k)*( Ro/(Ro+Ri) - exp( -(Ro+Ri)*k*T/(Ro*Ri*C) ) ); 
end
hold on
plot([1:1:N],m,'k-','linewidth',2);
grid on;
legend('T=1,C=0.1','T=1,C=1','T=1,C=10','T=2,C=0.1','T=2,C=1','T=2,C=10');
xlabel('Sample Times(s)');
ylabel('m(t)');
axis([0,N,-5,6]);




      

三、仿真结论分析 

仿真结果如下:

基于MATLAB的采样保持器的仿真
基于MATLAB的采样保持器的仿真

 从上面的仿真结果可知,

继续阅读