基于MATLAB的采样保持器的仿真
Posted fpga和matlab
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于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仿真程序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]);
三、仿真结论分析
仿真结果如下:
从上面的仿真结果可知,
当T不变的时候,C从小变大的时候,m(t)的的响应时间越长。
当C固定,改变时间T的时候,当T越大,m(t)的的响应速度越快。
A28-18
以上是关于基于MATLAB的采样保持器的仿真的主要内容,如果未能解决你的问题,请参考以下文章
通信仿真基于matlab数字信号增量调制含Matlab源码 2381期