(upravil MaBat 10. 3. 2010 20:40)

Téma: Rozlišení ve frekvenci v závislosti na délce okna

Jako odpověď na opakovaný dotaz jak je to s tím "frekvenčním rozlišením" - pojmem, který jsem tu v poslední době opakovaně použil, vysvětluji pro ty neseznámené s diskrétní Fourierovou transformací:

Když z impulsní odezvy použijete okno s délkou t milisekund, dostanete "spektrum" s frekvenčním rozestupem 1000/t Hz. Při délce okna 5 ms to znamená, že po výpočtu frekvenční cháry dostanete amplitudy a fáze pro frekvence: (0), 200, 400, 600, 800, ... Hz. Co se děje mezi těmito frekvencemi, nevíte. Pro danou délku okna tenhle krok nezávisí na vzorkovací frekvenci (!). Ta umožnuje, pokud je vyšší, jen rozšířit měřené pásmo směrem nahoru (vždy na její polovinu), ale frekvenční rozlišení pro dano délku okna neovlivní.

To, že to v měřících programech vypadá nějak "spojitě" je jen výsledek výpočetního triku (použití jakoby více/delších dat, ovšem jedná se jen o doplněné nuly). Informace je v těch datech opravdu pouze takhle "řídce", což je přirozeně největší problém na nízkých frekvencích.

(upravil Plechovka 17. 3. 2010 21:17)

Re: Rozlišení ve frekvenci v závislosti na délce okna

DFT je tranformace, která vrací vzorky spektra X[k] diskrétní posloupnosti x[n], což je signál, který naměříte. Spektrum diskrétní posloupnossti je původně spojité a jak jsem říkal, DFT vrací vzorky tohoto spojitého průběhu.
Základní vztah pro DFT je:

X[k] = suma(pro n=0 až N-1) x[n] * exp(-j*2*pi*n*k/N),

kde x[n] je vzorek vstupní posloupnosti, kterých máme celkem N, k je číslo spektrální čáry. k může být 0 až N-1. V tom vztahu výše vlastně násobíte vzorky signálu se vzorky komplexní exponenciály o relativní frekvenci

fr = k/N,

která může nabýt hodnot <0;1), resp. kruhové frekvenci wr = 2*pi*k/N, která může nabýt hodnot <0;2*pi). Jak tyto frekvence odpovídají reálným frekvencím? Jednoduše. Interval fr <0;1) odpovídá skutečným frekvencím freal v intervalu <0;fs), kde fs je vzorkovací frekvence signálu. Jinak řečeno:

freal = k*fs/N    [Hz; Hz]

Budu li mít např. 1000 vzorků signálu získaného z AD převodníku pracujícího s fs = 48kHz, prostou aplikací DFT dostanu 1000 spektrálních čar na frekvencích k*48000/1000 Hz, pro k = 0,1,2,...999.

Hodnoty "k" však mohu volit naprosto libovolně, klidně s krokem např. 0.1 (myslím tím "k", které dosazuji vpravo do vztahu pro DFT). Dostanu pak 10 000 čar ve stejném frekvečním pásmu, tedy že mezi každými dvěma čárami původně 1000-ti bodového spektra budu mít 9 nových. Zlepší se tím "prokreslenost" spektra, neboť spojité spektrum bylo lépe "provzorkováno". V praxi se DFT počítá za pomocí FFT, kde ale hodnoty "k" musí být shodné s "n". Jediný způsob, jak zvednout "hustotu" "k" je prodloužit signál nulami na konci, tím se zvedne N, a tím se zmenší krok ve frekvenci k/N*fs. Nulové hodnoty na konci nemají vliv na průběh spektra (žádná nová informace v signálu, v sumě výše budou součiny nulových vzorků signálu s exponenciálou nulové).

Pojem frekvenční rozlišení se používá pro označení schopnosti od sebe ve spektru odlišit dva signály o velmi blízkých frekvecních. Amplitudové spektrum dvou nekonečně dlouhých sinusovek jsou teoreticky dvě čáry na jejich frekvencích. V praxi ale máme k dispozici pouze část signálu, což je vlastně nekonečný signál násobený obdélníkovou funkcí. Amplitudové spektrum obdélníku je funkce |sin(x)/x|, šířka laloků je závislá na délce signálu v čase. Čím je signál delší, tím je lalok užší. Násobení funkcí v čase se projeví ve spektru tzv. konvoluci původních spekter. Česky řečeno, každá čára sinusovky se rozplizne do své funkce|sin(x)/x| posunuté na frekvenci původní sinusovky, a ty se pak sečtou. Pak se může stát, že signály o blízkých frekvencích ve spektru uvidíte jako jedno trochu rozplizlejší |sin(x)/x|.

A tak by se dalo pokračovat donekonečna smile

Re: Rozlišení ve frekvenci v závislosti na délce okna

Plechovka, si dobrý.

(upravil MaBat 18. 3. 2010 10:47)

Re: Rozlišení ve frekvenci v závislosti na délce okna

Pro nás, kterým nezbývá, něž měřit reprosoustavy v domácích podmínkách, je podstatné především vědět, jak podrobného měření dosáhneme s daným časovým intervalem, na který jsme omezeni volným prostorem, který mámě k dispozici - to je myslím srozumitelně napsané v prvním příspěvku a lze to snadno odvodit z toho, co zrekapituloval Plechovka. To všechno sedí.

Jestli se pojem frekvenční rozlišení používá v češtině na ještě trochu něco jiného, nevím, já to znám z angl. literatury, kde se jako "frequency resolution" používá výraz fs/N (=1/t) běžně.

Akorát bych řekl, že pro naše reálné signály stačí N/2 frekvencí, ne N, stejně, jako se s fs dostaneš jen na cca fs/2 smile

- Teoreticky je to celé ještě mnohem složitější, ale co z toho všeho především vyplývá prakticky: O chování reproduktorů do cca 1 kHz toho z běžného domácího měření moc nezjistíme a dostatečně "úzkopásmové" jevy jako různé rezonance, aj., nelze běžným měřením vůbec odhalit. Pro návrhy výhybek to IMHO většinou stačí, ale je třeba mít tohle na paměti - pod 1 kHz jsou naše domácí "far-field" akustická měření reproduktorů opravdu jen orientační. Dá se to různě obcházet a dělá se to, ale to je zas na jinou debatu.