logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Procedura określająca trend temperatury oraz stromość zbocza

byrrt 16 Lip 2008 17:39 1308 2
REKLAMA
  • #1 5348431
    byrrt
    Poziom 21  
    Witam!

    Pisze pewien program do sterownika i stoję przy takim zagadneniu. Potrzebuje jakąś sprytną procedurę która z danych temperatura i czas potrafi mi wskazać trend temperatury (rosnący malejący) i ew. stromość opadania/przyrostu temperatury/60s. Temperaturę mierzę co sekunde, czas również mam w h:m:s. Niby banalna sprawa, a jednak.. Temperatura czytana cyfrowo wiadomo lubi się wahać.. Jeżeli np przez minute będzie się wahać +-0.3'C to zwrócona wartość musi być 0, jeżeli będzie maleć to musi być wartością ujemną zależną od prędkości opadania.
    Super byłoby gdyby dało się taką funkcję napisać bez przechowywania np. 60 próbek temp (być może się da - coś w rodzaju filtru?).

    Nie wiem czy dobre forum, ale chyba tu siedzą osoby mogące pomóc w tej sprawie. Potrzebny algorytm albo jakiś przykład (C)

    Pozdrawiam
    Piotr
  • REKLAMA
  • #2 5394228
    sunok
    Poziom 14  
    Prosty filtr:

    
    float inline filtr0(float we0)
    { static float e0,wy0;
    e0=(we0-wy0)*100.0;	// *czest. odciecia w Hz
    wy0=wy0+e0*Tp;
    return wy0;
    }
    


    W twoim przypadku Tp wynosi 1s.
    Ja ten filtr stosuję do filtrowania sygnałów z czasem próbkowania 10kHz.
    Musisz tylko zmienić częstotliwość odcięcia na np.0.1 innymi słowy jest to odwrotność stałej czasowej filtra.
  • #3 5394275
    marek_Łódź
    Poziom 36  
    A ja to robię tak:

    fsentry:=true;
    kfil:=...
    ....
    repeat
      ...
      T:=Pomiar;
      ...
      if fsentry then
        Tsr:=T
      else
        Tsr:=(T+kfil*Tsr)/(kfil+1);
      fsentry:=false;
    ...
    until false;


    Idea jest podobna jak w przykładzie wyżej, współczynnik filtracji kfil (czy jak kto woli stałą czasową) należy dobrać stosownie do charaktery zakłóceń (dla zera brak filtracji, wzrost kfil zwiększa inercję).
REKLAMA