• 大小: 8KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: Matlab
  • 标签: MATLAB  

资源简介

这是关于智能传感器设计的MATLAB的仿真程序,主要包括差值法、最小二乘法以及神经网络法,非常有借鉴意义哦!

资源截图

代码片段和文件信息

function filter()
i = input(‘请输入滤波方法 1为向后差分法 2为双线性法 3为频率预曲折双线性法 4为PID控制算法(5 10 0.2):‘);
W = input(‘请输入输入信号x(t)的系数W:‘);
T = input(‘请输入采样时间T:‘);
a = 0.1;
n = 1:1000;
x =sin(W*n*T);
%x=1:1000;
y(1) = 0;
switch i
    case 1
        for n=2:1000;
        y(n) = T/(T+1/a)*x(n)+(1/a)/(T+1/a)*y(n-1);
        end
        plot(0:999y)
    case 2
        for n=2:1000;
        y(n) = a*T/(2.0+a*T)*(x(n)+x(n-1))-(2.0-a*T)/(2.0+a*T)*y(n-1);
        end
        plot(0:999y)
    case 3
        for n=2:1000;
            y(n) = tan(a*T/2.0)/(1+tan(a*T/2.0))*(x(n)+x(n-1))-tan(a*T/2.0-1)/(1+tan(a*T/2.0))*y(n-1);
        end
        plot(0:999y)
    case 4
        Kp = input(‘请输入比例系数Kp:‘);
        Ki = input(‘请输入积分系数Ki:‘);
        Kd = input(‘请输入微分系数Kd:‘);
        e(1) = 1;
        e(2) = 1;
        m(1) = 1;
        m(2) = 1;
        y(2) = T/(T+1/a)*x(2)+(1/a)/(T+1/a)*y(1);
        for k=3:500;
            y(k) = T/(T+1/a)*m(k-1)+(1/a)/(T+1/a)*y(k-1);
            e(k) =x(k)-y(k);
            m(k) = (Kp+Ki+Kd)*e(k)+m(k-1)-(Kp+2*Kd)*e(k-1)+Kd*e(k-2);
        end
        plot(0:499m)
end
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1162  2010-03-31 18:18  滤波器程序\MATLAB\filter.m

     文件      24365  2010-04-01 15:49  滤波器程序\MATLAB\filter1.mdl

     文件       1575  2010-03-26 12:24  滤波器程序\查表法、最小二乘法Matlab程序\1.m

     目录          0  2010-04-04 19:10  滤波器程序\MATLAB

     目录          0  2010-04-04 19:10  滤波器程序\查表法、最小二乘法Matlab程序

     目录          0  2010-04-04 19:12  滤波器程序

----------- ---------  ---------- -----  ----

                27102                    6


评论

共有 条评论