Добрый день!

Разработал медианный фильтр, проверил его алгоритм в Matlab,
однако при переносе в ФБ C# возникает проблемы при работе - спустя несколько значений фильтр перестает работать.

Вот пример:
Код:
using System;
using MasterSCADA.Script.FB;
using MasterSCADA.Hlp;
using FB;
using FB.FBAttributes;
using System.Linq;

[FBRetain]
public partial class ФБ : ScriptBase
{
  public static int count=0;//счетчик
  public static int order=15;//порядок-количество чисел в окне
  public static double data;
  public bool flag=false;
  public double temp=0;
 public double[] buffer=new double[15];// size = order
 public int index=8;
 public int num=0;
 
 	public override void Start()
 	{
		for(int i=0;i<order;i++)
			{
				buffer[i]=0;
			}
 	}
   public override void Execute()
    {
	  if(flag==true) 
 	  {
 		for(int i=0;i<order-1;i++)//0 1
 		{		
	 		buffer[i]=buffer[i+1];
 		}
	 	if(u.HasValue)
		{
		 	buffer[order-1]=Convert.ToDouble(u);
		}
 		sort();
 		data=buffer[index];// buffer median val
 	  }
		
 	  if((count==order)&&(flag==false))
 	  {
   		 flag=true;
   		 sort();
   		 data=buffer[index];// buffer median val
 	  }
 	  
 	  if ((count<order)&&(flag==false))
 	  {
 	  		 if(u.HasValue)
		 		{
		 			buffer[count]=Convert.ToDouble(u);
		 			count++;
		 		}
 	  }
 	
 	
 	y=data;
 	num++;
 	Параметр1=num;
 	  
 	}// end of execute
 	
 	public void sort()
 	{
 	double temp=0;
 	 	for(int i=0;i<order-1;i++)//0 1
 		{		
	 		if(buffer[i]>buffer[i+1])
		 		{
		 		temp=buffer[i+1];
		 		buffer[i+1]=buffer[i];
		 		buffer[i]=temp;
		 		}
	 		;
 		}
 	}
} // end of FB
Кто сталкивался с такой проблемой? Опрос ФБ настроен на изменение входов.