最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

传感器仿真

IT圈 admin 64浏览 0评论

2024年6月2日发(作者:卫旭尧)

(一) 数据处理

1.按照最小二乘法原理编写matlab程序;

x=[-200 -100 0 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300]

y=[ 0 ]

n=16;

sx=sum(x);

sy=sum(y);

sxx=sum(x*x');

sxy=sum(x*y');

k=(n*sxy-sx*sy)/(n*sxx-sx*sx);

a0=(sxx*sy-sx*sxy)/(n*sxx-sx*sx);

sprintf('y=%d+(%d)*x',a0,k)

x=-200:100:1300;

y=a0+k*x;

plot(x,y) %绘出曲线

运行结果:

ans =

y=+*x

60

50

40

30

20

10

0

-10

-2800

2.采用matlab自带的拟合函数进行线性你和,对前面的结果进行验证;

x=[-200 -100 0 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300]

y=[ 0 ]

p=polyfit(x,y,1); vpa(poly2sym(p),4)

x0=-200:100:1300;

y0=polyval(p,x0);

subplot(2,1,1)

plot(x,y,'*r',x0,y0,'-b')

xlabel('x');ylabel('y');title('一阶线性拟合');grid

subplot(2,1,2)

plot(x0,y0,'-b')

xlabel('x');ylabel('y');title('原理图与线性拟合对比');grid

运行结果:

ans =

*x +

一阶线性拟合

60

40

20

0

-20

-2

x

原理图与线性拟合对比

400

y

y

60

40

20

0

-20

-2

x

800

经过与(1)中结果的对比,证明了程序的正确性。

3.采用matlab自带的拟合函数进行二次曲线拟合,并给出线性拟合的误差分析;

x=[-200 -100 0 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300]

y=[ 0 ]

p=polyfit(x,y,2);vpa(poly2sym(p),4)

x0=-200:100:1300;

y0=polyval(p,x0);

subplot(2,1,1)

plot(x,y,'*r',x0,y0,'-b'),legend('拟合曲线','样本点')

xlabel('x');ylabel('y');title('二阶线性拟合');grid

运行结果:

ans =

*x^2 + *x +

二阶线性拟合

60

拟合曲线

样本点

50

40

30

y

20

10

0

-10

-2

x

800

误差分析

x=-200:100:1300;

y1=[ 0 ];

y=*x+;

d=y-y1;

m=max(d)

Y=m/(1300*线性度

运行结果:

m =

Y =

线性拟合后的灵敏度为℃,最大偏差,线性度%。

通过比较,直线拟合的平均误差与二次曲线拟合的平均误差近似,但前者误差较大。

(二) 传感器动态特性分析;

1.对零阶传感器的动态特性进行仿真,并对仿真结果进行讨论;

用matlab、simulink搭建的仿真图:

simout

Step

To Workspace

5

1

Transfer Fcn

Scope

simout1

Sine Wave

5

1

Transfer Fcn1

Scope1

To Workspace1

仿真结果:

阶跃信号零阶传感器动态特性

6

4

2

0

0

正弦信号零阶传感器动态特性

5

0

-5

0

零阶传感器输入与输出呈正比关系,并且与频率无关,无相位失真和幅值失真问题。

2.对一阶传感器的动态特性进行仿真,并对仿真结果进行讨论;

用matlab、simulink搭建的仿真图:

simout

Step

To Workspace

5

s+1

Transfer Fcn

Scope

simout1

Sine Wave

5

s+1

Transfer Fcn1

Scope1

To Workspace1

阶跃信号一阶传感器动态特性

6

4

2

0

0

正弦信号一阶传感器动态特性

4

2

0

-2

-4

0

由图可知,随时间的推移,输出最终与输入呈正比。

一阶传感器具有一定的延迟。

3.对二阶传感器的动态特性进行仿真,并对仿真结果进行讨论,特别需要对阻尼比系

数分情况进行讨论。

用matlab、simulink搭建的仿真图:

阻尼比:

simout

Step

To Workspace

4

2

s +2s+4

Transfer Fcn

Scope

simout1

Sine Wave

4

2

s +2s+4

Transfer Fcn1

Scope1

To Workspace1

阶跃信号二阶传感器动态特性

1.5

1

0.5

0

0

正弦信号二阶传感器动态特性

2

1

0

-1

-2

0

此为欠阻尼情况,阶跃响应峰值超过稳态值,出现过峰现象。

阻尼比:

=1

simout

Step

To Workspace

4

2

s +4s+4

Transfer Fcn

Scope

simout1

Sine Wave

4

2

s +4s+4

Transfer Fcn1

Scope1

To Workspace1

阶跃信号二阶传感器动态特性

1

0.5

0

0

正弦信号二阶传感器动态特性

1

0.5

0

-0.5

-1

0

此为临界阻尼系统,阶跃响应不出现过冲;

simout

Step

To Workspace

4

2

s +8s+4

Transfer Fcn

Scope

simout1

Sine Wave

4

2

s +8s+4

Transfer Fcn1

Scope1

To Workspace1

阶跃信号二阶传感器动态特性

1

0.5

0

0

正弦信号二阶传感器动态特性

1

0.5

0

-0.5

-1

0

此为过阻尼系统,阶跃响应不出现过冲。

通过比较欠阻尼,临界阻尼,过阻尼,得知随着阻尼比的增大,响应曲线的幅值不断

变小,且出现滞后,延迟时间增长。

2024年6月2日发(作者:卫旭尧)

(一) 数据处理

1.按照最小二乘法原理编写matlab程序;

x=[-200 -100 0 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300]

y=[ 0 ]

n=16;

sx=sum(x);

sy=sum(y);

sxx=sum(x*x');

sxy=sum(x*y');

k=(n*sxy-sx*sy)/(n*sxx-sx*sx);

a0=(sxx*sy-sx*sxy)/(n*sxx-sx*sx);

sprintf('y=%d+(%d)*x',a0,k)

x=-200:100:1300;

y=a0+k*x;

plot(x,y) %绘出曲线

运行结果:

ans =

y=+*x

60

50

40

30

20

10

0

-10

-2800

2.采用matlab自带的拟合函数进行线性你和,对前面的结果进行验证;

x=[-200 -100 0 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300]

y=[ 0 ]

p=polyfit(x,y,1); vpa(poly2sym(p),4)

x0=-200:100:1300;

y0=polyval(p,x0);

subplot(2,1,1)

plot(x,y,'*r',x0,y0,'-b')

xlabel('x');ylabel('y');title('一阶线性拟合');grid

subplot(2,1,2)

plot(x0,y0,'-b')

xlabel('x');ylabel('y');title('原理图与线性拟合对比');grid

运行结果:

ans =

*x +

一阶线性拟合

60

40

20

0

-20

-2

x

原理图与线性拟合对比

400

y

y

60

40

20

0

-20

-2

x

800

经过与(1)中结果的对比,证明了程序的正确性。

3.采用matlab自带的拟合函数进行二次曲线拟合,并给出线性拟合的误差分析;

x=[-200 -100 0 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300]

y=[ 0 ]

p=polyfit(x,y,2);vpa(poly2sym(p),4)

x0=-200:100:1300;

y0=polyval(p,x0);

subplot(2,1,1)

plot(x,y,'*r',x0,y0,'-b'),legend('拟合曲线','样本点')

xlabel('x');ylabel('y');title('二阶线性拟合');grid

运行结果:

ans =

*x^2 + *x +

二阶线性拟合

60

拟合曲线

样本点

50

40

30

y

20

10

0

-10

-2

x

800

误差分析

x=-200:100:1300;

y1=[ 0 ];

y=*x+;

d=y-y1;

m=max(d)

Y=m/(1300*线性度

运行结果:

m =

Y =

线性拟合后的灵敏度为℃,最大偏差,线性度%。

通过比较,直线拟合的平均误差与二次曲线拟合的平均误差近似,但前者误差较大。

(二) 传感器动态特性分析;

1.对零阶传感器的动态特性进行仿真,并对仿真结果进行讨论;

用matlab、simulink搭建的仿真图:

simout

Step

To Workspace

5

1

Transfer Fcn

Scope

simout1

Sine Wave

5

1

Transfer Fcn1

Scope1

To Workspace1

仿真结果:

阶跃信号零阶传感器动态特性

6

4

2

0

0

正弦信号零阶传感器动态特性

5

0

-5

0

零阶传感器输入与输出呈正比关系,并且与频率无关,无相位失真和幅值失真问题。

2.对一阶传感器的动态特性进行仿真,并对仿真结果进行讨论;

用matlab、simulink搭建的仿真图:

simout

Step

To Workspace

5

s+1

Transfer Fcn

Scope

simout1

Sine Wave

5

s+1

Transfer Fcn1

Scope1

To Workspace1

阶跃信号一阶传感器动态特性

6

4

2

0

0

正弦信号一阶传感器动态特性

4

2

0

-2

-4

0

由图可知,随时间的推移,输出最终与输入呈正比。

一阶传感器具有一定的延迟。

3.对二阶传感器的动态特性进行仿真,并对仿真结果进行讨论,特别需要对阻尼比系

数分情况进行讨论。

用matlab、simulink搭建的仿真图:

阻尼比:

simout

Step

To Workspace

4

2

s +2s+4

Transfer Fcn

Scope

simout1

Sine Wave

4

2

s +2s+4

Transfer Fcn1

Scope1

To Workspace1

阶跃信号二阶传感器动态特性

1.5

1

0.5

0

0

正弦信号二阶传感器动态特性

2

1

0

-1

-2

0

此为欠阻尼情况,阶跃响应峰值超过稳态值,出现过峰现象。

阻尼比:

=1

simout

Step

To Workspace

4

2

s +4s+4

Transfer Fcn

Scope

simout1

Sine Wave

4

2

s +4s+4

Transfer Fcn1

Scope1

To Workspace1

阶跃信号二阶传感器动态特性

1

0.5

0

0

正弦信号二阶传感器动态特性

1

0.5

0

-0.5

-1

0

此为临界阻尼系统,阶跃响应不出现过冲;

simout

Step

To Workspace

4

2

s +8s+4

Transfer Fcn

Scope

simout1

Sine Wave

4

2

s +8s+4

Transfer Fcn1

Scope1

To Workspace1

阶跃信号二阶传感器动态特性

1

0.5

0

0

正弦信号二阶传感器动态特性

1

0.5

0

-0.5

-1

0

此为过阻尼系统,阶跃响应不出现过冲。

通过比较欠阻尼,临界阻尼,过阻尼,得知随着阻尼比的增大,响应曲线的幅值不断

变小,且出现滞后,延迟时间增长。

发布评论

评论列表 (0)

  1. 暂无评论