function MidValue(v:real):real;//中值滤波数据
var
dataBuf:array[0..99]of real;//数据缓冲区
function MidValue(v:real):real;//中值滤波数据
var
i,j:integer;
tmp:real;
min:real;
minIndex:integer;
t:array[0..99]of real;
begin
for i:=99 downto 1 do
dataBuf[i]:=dataBuf[i-1];
DataBuf[0]:=v;
for i:=0 to 99 do
t[i]:=dataBuf[i];
for i:=0 to 5 do
begin
min:=t[i];
minIndex:=i;
for j:=i+1 to 6 do
if t[j]<min then
begin
min:=t[j];
minIndex:=j;
end;
if minIndex<>i then
begin
tmp:=t[i];
t[i]:=min;
t[minIndex]:=tmp;
end;
end;
result:=(t[2]+t[3]+t[4])/3;
end;