VYUŽITÍ MATLABU PRO POTLAČENÍ PROSAKOVÁNÍ ENERGIE VE SPEKTRU PŘI DFT SPEKTRÁLNÍ ANALÝZE INTERPOLACÍ V ČASOVÉ OBLASTI Miloš Sedláček. Úvod České vysoké učení tehniké v Praze Fakulta elektrotehniká, katedra ěření Jední z probléů při spektrální analýze signálů pooí diskrétní Fourierovy transforae DFT, v praxi nejčastěji realizované jako ryhlá Fourierova transforae - FFT je prosakování energie ve spektru, označované běžně angliký teríne leakage. Projevuje se zejéna při spektrální analýze periodikýh průběhů, pokud odebrané vzorky nepokrývají elistvý počet period signálu. Nejhorší případ prosakování nastává, pokud je navzorkován úsek signálu délky elého počtu period a naví půlperiody. Protože DFT předpokládá periodiké opakování navzorkovaného průběhu, liší se pohopitelně Fourierova řada periodikého prodloužení sejuté části průběhu od Fourierovy řady periodikého prodloužení jedné periody nebo elého počtu period signálu. V případě sinusového signálu se tento jev projeví tí, že v pásu frekvení od nuly do poloviny vzorkovaí frekvene je spektru tvořeno řadou čar ísto jediné. Prostředí, ve které lze pohodlně analyzovat a potlačovat tento jev je MATLAB a Signal Proessing Toolbox MATLABu. 2. Prosakování energie ve spektru a etody jeho snižování. Snížit leakage lze vynásobení signálu vhodný okne, které ve většině případů nabývá plynule nulovýh hodnot na obou koníh angl. tapered window. Periodiké prodloužení takto upraveného signálu á potlačené skoky v obále posloupnosti vzorků a čáry v DFT spektru způsobené prosakování ají enší délky. Spektru je proto tvarově bližší spektru správnéu. Vynásobení signálu okne ovše ění také délky správnýh čar spektra i efektivní hodnotu a výkon signálu. Dokonalejší etody proto spektru upravují nejen vynásobení okne v časové oblasti, ale naví i interpolaí ve frekvenční oblasti. Druhou ožností je nepoužívat úpravy signálu okne, ale upravit navzorkovaný úsek signálu tak, aby pokryl elistvý počet period a na tento úsek teprve aplikovat transforai DFT. K tou je nejprve nutné určit dobu periody nebo frekveni signálu, a poté z navzorkovaného úseku vybrat kratší část, zahrnujíí elý počet period obvykle jednu. V praxi je naví výhodné použít pro analýzu algority ryhlé Fourierovy transforae FFT. Protože nejrozšířenější algority FFT vyžadují počet vzorků rovný elistvé onině dvou, převzorkujee softwarově vybraný zkráený úsek signálu takovou vzorkovaí frekvení, aby počet vzorků byl oninou dvou. Z ateatikého hlediska jde o interpolai signálu v časové oblasti a výběr posloupnosti hodnot z interpolované funke. Vybrané hodnoty jsou vzorky interpolované funke a vzorkovaí interval této nové posloupnosti je zvolen tak, aby počet vzorků byl oninou dvou. Pro operai interpolae signálu obsahuje Signal proessing toolbox MATLABu několik ožností. Nejjednodušší etodou, vhodnou pro svoji jednoduhost i pro realizai popsaného postupu pooí čísliového signálového proesoru, je interpolae lineární. Uvedené etody snižování prosakování energie ve spektru zvaného zjednodušeně také rozazávání spektra popisuje []. Ta algority nebyly realizovány v prostředí MATLAB, ale v prostředí LabWindows CVI firy National Instruents, které je určené pro aplikai v ěřiíh systéeh. Pooí novýh toolboxů MATLABu, určenýh pro zpraování navzorkovanýh průběhů v MATLABu [2] a pro řízení ěřiíh přístrojů z prostředí MATLAB [3] je ožno využít rozsáhlýh ožností MATLABu pro zpraování signálů a grafiké presentae výsledků nejen pro signály siulované, ale i pro signály získané ěření. Tento příspěvek je věnován realizai popsané etody snížení nejistoty odhadu spektrálníh složek signálu působené prosakování energie ve spektru využití interpolae v časové oblasti v prostředí MATLAB. Výsledky porovnání obou základníh etod použití oken a interpolae ve frekvenční oblasti a použití useknutí signálu a interpolae v časové oblasti byly autore presentovány na 2. ezinárodní syposiu IMEKO TC-4 Measureent of Eletrial Quantities v září 22 v Záhřebu [4]. Pro ožnost useknutí části navzorkovaného průběhu obsahujíí elý počet period signálu je nutné zjistit periodu signálu. K tou existuje velká řada etod, které byly z hlediska jejih neurčitosti
odhadu zkouány j. i autore tohoto příspěvku a jeho spolupraovníky. Podrobný rozbor etody využívajíí určování průhodů zintegrovaného signálu nulovou úrovní etoda IZC, čili integrated zero rossing lze nalézt v [5]. Právě tato etoda byla použita pro určení doby periody signálu při siulaíh popsanýh v toto příspěvku. 3. Struktura siulačního prograu Progra využívá několika yklů a volání dvou do sebe vnořenýh funkí. Na začátku se zadá vzorkovaí frekvene a počet vzorkovanýh period signálu. Tí je určena časová osa. Progra je připraven tak, že se navzorkuje N +,5 periody, kde N je elé kladné číslo, čili jde o případ z hlediska leakage nejnepříznivější. Protože jse htěli vyšetřit j. vliv vzorkovaí frekvene počet vzorků na periodu signálu na nejistotu ěření, opakovali jse siulae pro 32, 64, 28, 256 a 52 vzorků na periodu, ož odpovídá při jenovité frekveni signálu 5 Hz vzorkovaí frekvení 6 Hz, 32 Hz, 64 Hz,28 Hz a 25 Hz. Dále se zvolí jedno z ezinárodníi norai pro kopatibilitu definovanýh prostředí např. [6]. Pro každé z těhto prostředí jsou definovány tzv. kopatibilní úrovně haronikýh složek až do padesáté, a to v proenteh základní haroniké. Pro představu o těhto hodnotáh uvádí část výpisu z prograu, kde vektor aphar je vektore aplitud haronikýh složek vztaženýh k základní haroniké: aphar=[ 3 6.5 8 7 2.5 5 4.5 2 4 4.75 3.5... 3.5 3.8 2.98 2.8 2.73 2.59... 2.53 2.42 2.37 ]/; %prostredi tridy 3:pruyslove prostredi,napajei bod uvnitr zavodu, THD=% %IEC -2-4 EN 6-2-4,kopatibilní úrovně pro pruyslove a neverejne site d_aphar=in[fs/5/2lengthapharfixfs/*25*lengthaphar]; Protože frekvene základní haroniké je přibližně 5 Hz, ůže být při nevhodné volbě vzorkovaí frekvene pro některé nejvyšší haroniké porušena vzorkovaí věta. U popisované etody je naví pro vyhýlení odhadu haroniké enší než 5% nutné odebrat alespoň vzorků na periodu []. To platí i pro nejvyšší haronikou. V prograu je zajištěno oříznutí počtu haronikýh tak, aby bylo při zvolené vzorkovaí frekveni odebráno vzorků na periodu nejvyšší haroniké viz poslední dva řádky výpisu části prograu. Je tedy použito tzv. převzorkování s koefiiente převzorkování 5. Hodnoty haronikýh jsou upraveny vynásobení společný koefiiente tak, aby činitel haronikého zkreslení THD dosáhl předepsané úrovně při všeh 5 haronikýh noinální činitel THDn, viz obrázky dále. THD pro v norě uvedené kopatibilní úrovně je totiž vyšší než jenovitý, protože se nepředpokládá dosažení v norě uvedenýh hodnot všei haronikýi. Skutečná hodnota THD je ovše nižší než jenovitá i po vynásobení opravný koefiiente pokud je vzorkovaí frekvene enší než 25 khz odpovídajíí deseti vzorků na periodu i pro padesátou haronikou. To je způsobeno frekvenční oříznutí signálu zíněné výše. Dále je zvolen vektor hodnot poěrů signálu k šuu SNR, pro které bude provedena siulae. Zde popsané siulae byly prováděny pro SNR 3, 4, 5 a 7 db. Fáze základní haroniké složky je zvolena nulová, ostatní haroniké ají fázové posuvy rovnoěrně rozloženy v pásu -π, +π radiánů a tyto hodnoty se buď náhodně ění při každé běhu siulae, rand'state',su*lok; fihar=rand,d_aphar-.5/.5*pi; fihar=; nebo jsou při opakovanýh bězíh zahovány. Ke generovanéu signálu je přidán aditivní šu tak, aby bylo dosaženo požadované hodnoty SNR: for k=:d_aphar, vi=vi+ap*apharthdk*sint*k*fb*2*pi+fihark; end randn'state',su*lok; siga=uef/^snr/2;
vn=randn,n*siga; v_ana=vi+vn; Pak je generovaný signál kvantován ideální kvantovače se zvolený rozlišení v praxi nejčastěji 2 bitů. Pro jednotlivé haroniké jsou počítány jejih odhylky od při siulai znáýh ideálníh hodnot a to pro probíhajíí běh siulae, zvolený počet period a SNR. Aplitudy haronikýh jsou počítány pooí volání funke irtdui, Nn, Ts, kde ui jsou vzorky signálu, Nn je nový počet vzorků po useknutí a Ts je vzorkovaí interval. My jse použili Nn=24. V této funki se nejprve určí frekvene signálu signálu etodou IZC využívajíí průhodů integrovaného signálu nulou [5] pooí další funke IZCui, Ts. Useknutí průběhu na elistvý počet period se provede pooí zaokrouhlení funkí fix. K lineární interpolai ezi vzorky useknuté části průběhu je využita funke MATLABu interp. Teprve na vzorky takto interpolované funke, kterýh je 24, je aplikována funke fft a z ní získané spektru je norováno tak, aby sinusove s jednotkovou aplitudou odpovídala čára jednotkové délky. Tyto hodnoty jsou ukládány do čtyřrozěrného pole a statistiký zpraování podle rozěru odpovídajíího běhu siulae získáe vyhýlení odhadu pooí MATLABské funke ean a standardní odhylku, která v ěření odpovídá nejistotě typ. [7]. K tou využijee funke std. Pokud hee získat relativní nejistoty odhadů jednotlivýh haronikýh které jsou určovány v dále uvedenýh obrázíh, ukládáe do pole relativní odhylky haronikýh pro jednotlivé běhy siulae. Uvedený postup opakujee v do sebe vnořenýh ykleh pro jednotlivé hodnoty SNR a případně frekvene základní haroniké nebo vzorkovaí frekvene. Dále uvedené obrázky byly získány pro běhů siulae. Na závěr jsou generovány a vykresleny obrázky. V toto případě jse použili dvourozěrné grafy generované příkazy subplot a ste. V horní z každé dvojie obrázků je vynášen ultiplikativní koefiient f. Jde o číslo, který je nutno vynásobit střední hodnotu odhadu příslušné haroniké složky, abyho odstranili vyhýlení odhadu. V dolní z každé dvojie obrázků jsou relativní nejistoty typ odhadu každé haroniké složky vyneseny jako bezrozěrné hodnoty, nikoliv tedy v proenteh. Některé z uvedenýh obrázků ukazují víe průběhů buď pro různé vzorkovaí frekvene, nebo pro různé hodnoty SNR. K tou je použito příkazu hold on. Při siulaíh je generováno obvykle velké kvantu obrázků a pro jejih pozdější využití je podstatný jejih dostatečně podrobný popis. Ruční vypisování nadpisu ke každéu obrázku je veli prané a naví ůže být provedeno hybně. Jako veli užitečná se pro popisy obrázků ukázala funke sprintf, která slouží k zápisu forátovanýh dat do řetěze. Tento řetěze se použije jako nadpis obrázku. Tak je zajištěno, že jsou u každého obrázku uvedeny správně hodnoty jednotlivýh paraetrů použité při dané siulai. 4. Příklady výsledků siulae. Obrázky uvedené níže jsou získány pro 5 běhů siulae a frekveni signálu 49.9 Hz. - f.4.2 ADC: 2bit, fs=64hz, THDn=%, fsig=49.9hz, SNR=7dB, per=.5.3 - f.2. ADC: 2bit, fs=25hz, THDn=%, fsig=49.9hz, SNR=7dB, per=4.5 2 4 6 8 2 5 5 2 25 3 35 4 45 5 U i.5.5-5 x V U i.5.5-5 x 2 4 6 8 2 rad haronike slozky - 2 3 4 5 rad haronike slozky- Obr. Multiplikační faktory a relativní nejistoty haronikýh pro THD % a frekveni vzokování 64 Hz vlevo a 25 khz vpravo
.4 ADC: 2bit, SNR=7dB, THDn=%, fsig=49.9hz ADC: 2bit, SNR=7dB, THDn=%, fsig=49.9hz f-.2 fs =.6 khz, 3.2 khz, 6.4 khz, 2.8 khz, 25 khz f-.4.2 fs =.6 khz, 3.2 khz, 6.4 khz, 2.8 khz, 25 khz.98 2 3 4 5 2 3 4 5 - f.3.2. pevne faze haronikyh behe siulai.2.5 - f..5 opakovane zeny fazi haronikyh 2 3 4 5 rad haronike slozky - 2 3 4 5 rad haronike slozky - Obr.2 Srovnání výsledků siulae pro pět vzorkovaíh frekvení vlevo fáze haronikýh pevné, vpravo ěněny náhodně při každé běhu siulae; spodní obrázky: nejistoty ultiplikačního činitele.4 ADC: 2bit, fs=64hz, THDn=%, fsig=49.9hz, SNR=7dB, per=4.5.4 ADC: 2bit, fs=64hz, THDn=%, fsig=49.9hz, SNR=5dB, per=4.5.3 f-.2..2 f- 2 4 6 8 2.98 2 4 6 8 2 2 x -5 4 x -5 U i.5.5 2 4 6 8 2 rad haronike slozky - U i 3 2 2 4 6 8 2 rad haronike slozky - ADC: 2bit, fs=64hz, THDn=%, fsig=49.9hz, SNR=4dB, per=4.5.4 ADC: 2bit, fs=64hz, THDn=%, fsig=49.9hz, SNR=3dB, per=4.5.5 f- 2 4 6 8 2.3.2 f-..9 2 4 6 8 2.5 x -4 4 x -4 U i.5 V U i 2 2 4 6 8 2 rad haronike slozky - 2 4 6 8 2 rad haronike slozky - Obr. 3 Výsledky siulaí pro čtyři hodnoty SNR 7 db, 5 db, 4 db a 3 db. Hodnoty ultiplikativního činitele a nejistoty dvanáti vypočtenýh haronikýh složek; srovnej úrovně nejistot haronikýh 5. Závěr. Popsaný siulační progra je další ukázkou ožností prostředí MATLAB a s ní spolupraujííh toolboxů, v toto případě toolboxu Signal Proessing. Progra je po odifikování
použitelný i pro zpraování vzorků reálného signálu. Ty lze sejout a zpraovat využití balíku Data Aquisition Toolbox a některé ze zásuvnýh DAQ karet do PC s títo toolboxe spolupraujííh. V naší aplikai byl siulován vstupní signál včetně šuu a haronikýh složek, ideální AD převodník a v textu popsaný algoritus potlačujíí prosakování ve spektru využití lineární interpolae signálu v časové oblasti. K prezentai byly tentokrát využity 2D grafy s generování nadpisů v obrázíh obsahujííh aktuálně použité paraetry siulae. Zjištěné hodnoty spektra byly ukládány do čtyřrozěrného pole, odkud je ožno statistiký zpraování prvků podle vhodného rozěru nalézt vyhýlení a rozptyl odhadu aplitudové spektrální složky pro každý soubor siulai. Volbou vstupníh paraetrů lze zkouat vliv různýh ovlivňujííh veličin jak pro jednotlivé ovlivňujíí veličiny se zvolenou hodnotou, tak pro současně působííh víe ovlivňujííh veličin. V poslední případě je v nueriké výpočtu ipliitně zahrnuta i případná korelovanost některýh veličin. Tu lze jinak expliitně ateatiky zpraovat veli obtížně. V obr.3 je názorně vidět vliv úrovně aditivního šuu na závislost ultiplikativního korekčního činitele a úroveň nejistot aplitud haronikýh složek. Protože jde o absolutní nejistoty vyjádřené ve V a protože siulae byly provedeny pro hodnotu základní haroniké rovnou jednou voltu, plyne z přehledu relativníh aplitud haronikýh složek pole aphar výpisu z prograu v odstavi 3 a z obr.3, že relativní nejistota odhadu základní haroniké složky je řádu -3 až - 2 % podle úrovně šuu. Nejistoty vyššíh haronikýh jsou pro zkreslení definovaané nornou [6] přibližně o dva řády vyšší. Poděkování Příspěvek byl zpraován v rái výzkuného záěru číslo J4/98:25 na ČVUT v Praze, podporovaného Ministerstve školství, ládeže a tělovýhovy České republiky. Autor děkuje také Ing. J. Blaškovi, se který spolupraoval na přípravě původní verze popsaného prograu. Literatura [] M. Sedláček, M. Titěra: Interpolations in frequeny and tie doains used in FFT spetru analysis, Measureent, vol. 23 998, pp. 85-93. [2] Data Aquisition Toolbox For Use with MATLAB, User s Guide, MathWorks,In., Natik, MA,USA, 999. [3] Instruentation Control Toolbox For Use with MATLAB, MathWorks,In., Natik, MA,USA, 2. [4] J. Blaška, M. Sedláček: Unertainty of Aplitude Spetru Analysis in Power-Line Systes, Pro. of 2 th IMEKO TC-4 Syposiu Eletrial Measureents and Instruentation, Septeber 25-27, 22, Zagreb, Chroatia, Syposiu Proeedings, part., pp. 52-56 [5] V. Bakutsky, V. Zuzdikov, A. Agizi, G. Vaisan: A new DSP ethod for preise dynai easureent of the atual power-line frequeny and its data aquisition appliation, Measureent, vol. 8 996, No.3, pp.69-76. [6] IEC -2-4 EN 6-2-4, Eletroagneti Copatibility, Part.2 Environent, Copatibility levels in industrial plants for low-frequeny onduted disturbanes, IEC, Switzerland, 994 [7] Guide to Expression of Unertainty in Measureents, International Organization for Standardization, Switzerland, 993 Kontaktní adresa: Do. Ing. Miloš Sedláček, CS. České vysoké učení tehniké v Praze, Fakulta elektrotehniká, katedra ěření, Tehniká 2, 66 27 Praha 6. Tel: +42 22435 277, fax: +42 2 3 9929 E-ail: sedlaem@feld.vut.z