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