[ cedomir @ 17.10.2003. 09:56 ] @
Imam signal od oko 175 Hz i želim da od njega dobijem najpribližniji mogući signal od x Hz (gde je x<175, u mom slučaju x=10 ali možda će mi trebati i druge vrednosti...).

Konkretno, radi se o EEG signalu predstavljenom nizom celobrojnih vrednosti od oko -300 do 300 uV (mikro volti - moždani talasi) snimljenom na oko 175 Hz koji mi treba na oko 10 Hz. Prosto selektovanje svake n-te vrednosti mi mnogo osiromaši informaciju, treba mi nešto što bi iole aproksimiralo ekstremne vrednosti oko te n-te koje filtriranjem bivaju propuštene.

Ima li neko ideju kako bi ovo moglo da se napiše u C-u? Pitanje postavljam ovde zato što ne znam ni sam algoritam, lako ću ga napisati u C-u kad shvatim kako bi trebalo da radi.

Hvala
[ filmil @ 17.10.2003. 10:29 ] @
Citat:
cedomir:
Prosto selektovanje svake n-te vrednosti mi mnogo osiromaši informaciju, treba mi nešto što bi ...
Ima li neko ideju kako bi ovo moglo da se napiše u C-u?


Biranje svake n-te vrednosti ti ne može osiromašiti informaciju koja je ispod nove frekvencije odabiranja: prema teoremi o odabiranju dokle god je frekvencija odabiranja bar dvaput veća od maksimalne frekvencije u signalu, za opseg od interesa informacija je kompletno sačuvana.

Kod tebe je problem što se zbog aliasinga pojača šum na niskim frekvencijama, to je standardan problem kod usporavanja odabiranja (downsampling). Ideja je da se pre downsamplinga signal isfiltrira NF filtrom sa odgovarajućom graničnom frekvencijom pa da se onda uradi downsampling kako si opisao, ili da se downsampluje u više koraka. Za tvoje potrebe će verovatno biti dovoljan FIR filtar (dakle implementacija je obična FOR petlja sa malo matematike) ali za parametre filtra moraš da pogledaš specifikacije opreme i potreban odnos signal-šum. Za projektovanje filtra ti može poslužiti Remezov algoritam na primer (Matlabov Signal processing toolbox) gde nacrtaš karakteristiku filtra, pustiš optimizaciju i dobiješ koeficijente koje treba ugraditi u gore pomenutu FOR petlju.

f
[ Shadowed @ 17.10.2003. 15:38 ] @
Meni nisu bas poznate metode koje se koriste kod ovakvih stvari ali da li bi mu vredelo da uzima srednju vrednost od prvih F1/F2 clanova niza, pa zatim sledecih F1/F2 itd.? Pri tome su F1 pocetna ucestalost a F2 trazena.

[Ovu poruku je menjao Shadowed dana 17.10.2003. u 17:49 GMT]
[ filmil @ 17.10.2003. 15:45 ] @
Vredelo bi jer je usrednjavanje takođe vrsta NF filtra, ali ne nešto posebno dobar. Slabljenje u nepropusnom opsegu za takav filtar je prilično malo a svaki šum koji ostane nam se pri downsamplingu ubaci u korisan signal. Pažljivim projektovanjem filtra mogu se postići mnogo bolji efekti.

f
[ cedomir @ 20.10.2003. 21:37 ] @
Hvala na odgovorima, isprobavam sad sa usrednjavanjem ali i sa biranjem najekstremnije vrednosti (one koja najviše odstupa od srednje ili lokalne srednje) u svim skupovima od po f1/f2 vrednosti.