... som tiez pouzil evolucny algoritmus. Potreboval som vypocitat koeficienty cislicoveho FIR filtra, ktore boli iba mocniny 2 (hlavnou temou mojej diplomovky bol navrh a realizacia takehoto tzv. beznasobickoveho filtra vo forme cipu). Klasicky postup - urobit inverznu Fourierovu transformaciu a potom pouzit "okno" nefungoval, pretoze pri zaokruhlovani na najblizsiu mocninu 2 dochadzalo vo vyslednej frekvencnej charakteristike k obrovskym chybam. Evolucny algoritmus fungoval perfektne a rychlo.
Pekne pouziti evolucniho algoritmu :)
Mimochodem, existuji algoritmy na Fourierku, ktere nepotrebuji zaokrouhlovat na nejblizsi vyssi mocninu dvojky -- http://en.wikipedia.org/wiki/Prime-factor_FFT_algorithm a http://en.wikipedia.org/wiki/Cooley-Tukey_FFT_algorithm#General_factorizations . Pokud dokazete zfaktorizovat pocet vzorku, dokazete spocitat FFT rychle a presne.
Nehrozí-li nedorozumění (je-li zřejmé, že nejde o sekvenční posuvný registr), běžně se tomu říká prostě posuvný registr nebo taky kruhový posouvač. Setkal jsem se i s pojmem mžikový posuvný registr. Ale když někdo popisuje třeba procesor stylem "2xALU, 1x násobička, 1x posuvný registr", je obvykle každému jasné, že jde o barrel shifter.
Nie, posuvny register nie je barrel shifter:
http://en.wikipedia.org/wiki/Barrel_shifter
http://en.wikipedia.org/wiki/Shift_register
Teda mozna se terminologie zmenila, ale posuvny registr (shift register) za nas byval sekvencni obvod, neco jako citac ktery pocital v kodu 1 z N. Hlavne si taky pamatoval to cislo.
Barell shifter je naprotitomu kombinacni obvod, kteremu date na vstup N-bitove cislo a log2(N)-bitovou hodnotu o kolik ho chceme posunout (vlevo nebo vpravo) a on vyplivne vysledek (bez pamatovani).
Ten nazov je uz ale obsadeny :-)
http://cs.wikipedia.org/wiki/Rota%C4%8Dka