Digitalni filtr napeti potenciometru jednoduch dig. filtr celocisleny

nesvacil@posys.eu nesvacil@posys.eu
Čtvrtek Duben 9 08:41:55 CEST 2009


Jeste, kdyz bych si mel hrat, tak ten potenciometr udelam jeste jinak, kdyz jsme v te digitalizaci. Udelal bych zmeny 
hodnoty na zaklade rychlosti otaceni s potenciometrem. Tim bych se vyhnul problemu  s presnosti AD na 10 bitu, ruseni, atd.

Implementoval bych algortimus, ktery na zaklade rychlosti pohybu urcuje o kolik se ma hodnota zmenit. Velka rychlost by 
znamenala velke zmeny a mala rychlost male zmeny. To jen, kdyz by se nekomu klepali ruce...

To by taky nemel byt problem tj. staci si pocitat rozdily od jednolivych mereni a mam rychlost. Cim vetsi budou rozdily, 
tim vetsi bude rychlost.Mel bych tri hladiny rychlosti, jednu pro presun na potenciometru tj. skokovym trhnutim 
potenciometru bych hodnotu nemenil , velkou rychlosti bych menil hodnotu treba 16x a malou rychlosti jen 1x. AD bych 
bral na 8bitu. Vysledkem by bylo 12bitove cislo a prijemejsi nastaveni presne hodnoty.

Jirka

Lukáš Grepl napsal(a):
>> máte pravdu, taky jsem si uvědomil, že to není lineární. Nicméně to možná bude lépe vyhovovat. Říkám si, že měření 
>> hodnot bude v gaussově křivce ? Tomu bude více slušet nějaké jiné zpracování než lineární.
> 
> Pro určení vhodného typu filtru (tedy pokud uvažuji pouze lineární 
> filtry) není podle mého mínění důležité ani tak rozložení v amplitudě, 
> ale spíše rozložení v čase (potažmo ve frekvenčním spektru). A svoji 
> roli hraje také požadovaný průběh odezvy na změny vstupního signálu. U 
> klouzavého průměrování je odezva na obdélníkový vstup lichoběžníková, u 
> filtru prvního řádu exponenciální. Vhodnost toho či onoho filtru je už 
> potom otázka konkrétní aplikace. Pokud vezmu v úvahu ten potenciometr, 
> tak myslím že IIR filtr prvního řádu může být rozumná volba.
> 
>> Proc tam taky pocitate tech 63%, to jako -3dB ??
> 
> Těch cca 63% je 1 - exp(-1). Reakce systému prvního řádu na jednotkový 
> skok z 0 na 1 se dá (zjednodušeně) zapsat rovnicí
> 
> Y(t) = 1 - exp(-t/tau),
> 
> kde tau je časová konstanta. Tato hodnota je základní charakteristikou 
> filtru (systému) prvního řádu. Pro filtr RC je tau=RC. Jinak platí:
> 
> Y(tau)=1-exp(-1)=~0.63,
> Y(2*tau)=~0.86,
> Y(3*tau)=~0.95,
> Y(5*tau)=~0.99.
> 
> Takže po době cca (3..5)*tau už je systém téměř ustálen na finální hodnotě.
> 
> Takto to platí pro filtry se spojitým časem. U diskrétních je to 
> obdobné, ale časová konstanta se uvádí vztažená k vzorkovací periodě 
> (tedy uvádí se jako počet vzorků).
> 
>> Ten vzorec filtru bude asi spise takto nebo ne ?
>> Y[n]= Y[n-1] * 3/4 + 1/4 X[n]
>>
>> Coz je IIR filtr prvniho radu, bych rekl ... ?
> 
> Ano, je to IIR filtr prvního řádu. Ten vzorec jak ho máte napsaný je 
> samozřejmě správně. Ten vzorec co jsem napsal já, je vykonstruovaný 
> podle toho vašeho předchozího popisu a je (pokud jsem se někde nesekl..) 
> taky správně, pouze hodnota v akumulátoru je k-krát vyšší.
> 
> Srovnejte:
> Y[n]= Y[n-1] * 3/4 + 1/4 X[n]
> oproti
> A[n] = 3/4*A[n-1] + X[n]
> Y[n] = A[n]/4
> (hint: A = 4*Y)
> 
> Ten "můj" vzorec popisující ten "váš" způsob výpočtu filtru má - zdá se 
> mi - jednu výhodu: Tím, že hodnota X vstupuje do výpočtu přímo, je 
> vlastně "automaticky" škálovaná tak, aby se zabránilo efektu hystereze 
> při celočíselném výpočtu, o kterém se tu jinde v tomto vláknu hovořilo.
> 
> Lukáš Grepl
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list