• 基于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仿真程序1:

    1. clc;
    2. clear;
    3. close all;
    4. warning off;
    5. Ri = 10;
    6. Ro = 10;
    7. N = 300;
    8. %设置输入信号的是一个阶跃信号
    9. for k = [1:1:N]
    10. e(k) = 10;
    11. end
    12. %T=1,C=0.1
    13. C = 0.1;
    14. T = 1;
    15. for k = [1:1:N]
    16. m(k) = e(k)*( Ro/(Ro+Ri) - exp( -(Ro+Ri)*k*T/(Ro*Ri*C) ) );
    17. end
    18. figure(1)
    19. plot([1:1:N],m,'g-','linewidth',2);
    20. %T=1,C=1
    21. C = 1;
    22. T = 1;
    23. for k = [1:1:N]
    24. m(k) = e(k)*( Ro/(Ro+Ri) - exp( -(Ro+Ri)*k*T/(Ro*Ri*C) ) );
    25. end
    26. hold on
    27. plot([1:1:N],m,'y-','linewidth',2);
    28. %T=1,C=10
    29. C = 10;
    30. T = 1;
    31. for k = [1:1:N]
    32. m(k) = e(k)*( Ro/(Ro+Ri) - exp( -(Ro+Ri)*k*T/(Ro*Ri*C) ) );
    33. end
    34. hold on
    35. plot([1:1:N],m,'m-','linewidth',2);
    36. %T=2,C=0.1
    37. C = 0.1;
    38. T = 2;
    39. for k = [1:1:N]
    40. m(k) = e(k)*( Ro/(Ro+Ri) - exp( -(Ro+Ri)*k*T/(Ro*Ri*C) ) );
    41. end
    42. figure(1)
    43. plot([1:1:N],m,'b-','linewidth',2);
    44. %T=2,C=1
    45. C = 1;
    46. T = 2;
    47. for k = [1:1:N]
    48. m(k) = e(k)*( Ro/(Ro+Ri) - exp( -(Ro+Ri)*k*T/(Ro*Ri*C) ) );
    49. end
    50. hold on
    51. plot([1:1:N],m,'r-','linewidth',2);
    52. %T=2,C=10
    53. C = 10;
    54. T = 2;
    55. for k = [1:1:N]
    56. m(k) = e(k)*( Ro/(Ro+Ri) - exp( -(Ro+Ri)*k*T/(Ro*Ri*C) ) );
    57. end
    58. hold on
    59. plot([1:1:N],m,'k-','linewidth',2);
    60. grid on;
    61. 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');
    62. xlabel('Sample Times(s)');
    63. ylabel('m(t)');
    64. axis([0,N,-5,6]);

    三、仿真结论分析 

    仿真结果如下:

     

     从上面的仿真结果可知,

    当T不变的时候,C从小变大的时候,m(t)的的响应时间越长。

    当C固定,改变时间T的时候,当T越大,m(t)的的响应速度越快。

    A28-18

  • 相关阅读:
    【力扣算法简单五十题】17.路径总和
    Java8 根据List实体中一个字段去重取最大值,并且根据该字段进行排序
    选错毕业第一份工作,我白干半年
    NFA转换成DFA的方法——子集法
    JADE盲分离算法仿真
    开发那些事儿:利用C++下载视频及记录到数据库,出现数据库报错该如何解决?
    AI工具-PPT-SlidesAI
    ubuntu初始化安装
    为什么用葫芦儿派盘取代U盘?
    生产环境日志打印console.log内存溢出解决方法
  • 原文地址:https://blog.csdn.net/ccsss22/article/details/126595698