Digitalni filtr napeti potenciometru jednoduch dig. filtr celocisleny

Lukáš Grepl L.Grepl@sh.cvut.cz
Středa Duben 8 22:53:06 CEST 2009


> 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



Další informace o konferenci Hw-list