IZVEDBA REKURZIVNIH DIGITALNIH SIT S PLC KRMILNIKOM Aleksandar Dodič1, Rudolf Babič 1Lučka uprava Rijeka, Hrvatska 2Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko, Maribor, Slovenija Kjučne besede: digitalna obdelava signalov, digitalni filtri, rekurzivni filtri, eliptični filtri, PLC krmilnik Izvleček: V delu je opisan postopek načrtovanja in izvedbe rekurzivnih digitalnih filtrov prve, druge in tretje stopnje s programirnim logičnim krmilnikom. Osnovni namen je izločanje neželenih signalov nizkih frekvenc pri obdelavi analognih vrednosti v sistemih industrijskega krmiljenja. Za praktično izvedbo smo uporabili PLC krmilnik SIEMENS S7-315-2DP. Predvideli smo nizkoprepustno frekvenčno karakteristiko, ki smo jo zagotovili z eliptičnim filtrom. Pri frekvenci vzorčenja 50 Hz smo mejno frekvenco izbrali pri 3 Hz. S popolnim zapisom vrednosti koeficientov filtra smo dosegli pričakovano slabljenje motilnih signalov v zapornem frekvenčnem področju 49 dB. Primerjavo med simulacijsko izvedbo, dobljeno v MATLAB programskem okolju in praktično izvedbo digitalnega filtra druge in tretje stopnje s PLC krmilnikom smo ocenili s primerjavo impulznih odzivov in njihovega odstopanja. Digitalni filter tretje stopnje smo načrtali v kaskadni obliki s strukturama prve in druge stopnje. Pri digitalnem filtru druge stopnje smo podrobno analizirali odstopanje impulznega odziva izvedenega filtra s PLC krmilnikom pri zapisu koeficientov popolni in pri zapisu v skrajšani obliki. Amplitudni frekvenčni karakteristiki sta podani za drugo in tretjo stopnjo. Amplitudna frekvenčna karakteristika je ustreza postavljenim zahtevam. Slabljenje 40 dB dosežemo že pri dvakratni mejni frekvenci, kar je bistveno bolje kot pri filtru druge stopnje. IIR Digital Filter Implementation With PLC Controler Key words: Digital signal processing, Digital filters, IIR filter, Eliptic filter, PLC controller Abstract: In this paper the design and realization of first, second and third order recursive digital filter (IIR digital filter) with PLC controller is described. The purpose of the filter structure is eliminating unwanted signals at processing of analog signals in industrial proccess automation with PLC controllers. In practical realization the Siemens S7-315-2DP PLC controller is used. In this application the eliptical filter is chosen, cutt-off frequency was 3 Hz and sampling frequency was 50 Hz. With format long values of filter coefficients we obtain the expected stop band attenuation of 40 dB as is designed with MATLAB software. For the comparision of PLC controller realization of digital filter and simulated structure with MATLAB, the obtained values of impulse response are used. The results are sumarised in Table 2 for second order digital filter for format long and shortened mode format of coefficients entry and in Table 5 for third order digital filter only for format long coefficients. In fig. 1 the magnitude response of the empiric digital filter is shown for different values of smoothing parameter k. In fig. 2, 3 and 6 the masks as a part of the organization block of Siemens PLC controler for entry of the coefficients and input variables for the first, second an third order digital filter structure are presented. In fig. 4 the magnitude frequency response of 2nd order low pass eliptic IIR filter with cut-off frequency of 3 Hz is shown. The third order recursive filter is designed as caskaded form with cascade structures of the first and the second order. For this operation the MATLAB FDA toolbox is used for second order structure (SOS structure) calculation. The first and second order structures for eliptic recursive digital filter the SOS matric is presented in equation (10) and in fig. 5 the general cascade realization of two structures recursive digital filter for third and also for fourth order digital filters is shown. The impulse response and the magnitude frequency response of 3rd order eliptic IIR digital filter with cut off frequency of 3 Hz are shown in Fig. 7 and 8 respectively. In comparison to the second order digital filter where the attenuation of 40 dB is obtained at 15 Hz with third order digital filter structure the attenuation of 40 dB is obtained at 7 Hz. 2 1. Uvod Obdelava analognih signalov je pogosta naloga v skoraj v vsakem avtomatizacijskem procesu katerega obdelujemo s PLC krmilnikom. Analogne vhodne vrednosti, ki jih dobimo na vhodu ali kot rezultate delnih izračunov, so praviloma spremenjene zaradi raznih motenj. Tako je večkrat potrebno z dodatno opremo, programsko ali aparaturno, odpraviti motnje, da bo proces katerega krmilimo, potekal brezhibno. Ker uporabljeni senzorji in pretvorniki ne ločijo motilnih signalov od koristnih, dobi krmilni sistem poleg koristnih signalov še neželene motilne signale. Motnje so posebej nevarne, če se frekvenca ujema z mehansko resonančno frekvenco katere od naprav v sistemu. V takih primerih postane krmilje popolnoma neuporabno. Motnje lahko odpravimo na več načinov: z analognim filtrom na vhodu krmilnika ali s programsko izvedenim digitalnim filtrom znotraj PLC krmilnika. Analogni filter predstavlja preprost način izločanja motilnih signalov. Največ se uporablja RC vezje, včasih zadostuje le kondenzator C, saj je upornost R običajno že zajeta kot porazdeljena upornost v dolžini kablov, upornosti kontaktov, ter v notranji upornosti pretvornika in vira signala. Težave nastopajo, če se spremeni upornost vhodne zanke, saj se s tem spremeni tudi mejna frekvenca. Razlike so prisotne tudi pri uporabi napetostnih in tokovnih vhodov v PLC krmilnik. Pri tokovnih vhodih, ko so prisotne manjše upornosti, motnje v vhodni zanki še težje odpravimo. Pri tokovno krmiljenih virih, potrebujemo za glajenje tudi tuljave, ki pa se ne uporabljajo tako pogosto kot kondenzatorji. Zato analogno filtriranje v takih primerih ni običajno. Analogni filter postane tudi povsem neuporaben, ko bi hoteli izločiti motnje v signalih, ki predstavljajo rezultat vmesnih izračunov več različnih spremenljivk. V članku je opisan način filtriranja z digitalnim filtrom. Digitalni filter je programsko izveden v PLC krmilniku, ki se upo- rablja za krmiljenje osnovnega industrijskega procesa. Preproste rešitve uporabljajo algoritme za glajenje, ki delujejo kot nerekurzivni filter in se uporabljajo po iskustvenih navodilih. V našem primeru pa smo načrtali in izvedli rekur-zivno obliko filtra druge in tretje stopnje z natančno določenimi parametri povezanimi z mejno frekvenco, ojačenjem v prepustnem frekvenčnem področju in slabljenjem v zapornem frekvenčnem področju. Koeficiente filtra smo izračunali s pomočjo programskega paketa MATLAB. 2. Osnovne digitalne filtrske strukture Izhodišče za oblikovanje filtrske strukture sta sistemska funkcija H(z) in diferenčna enačba. Za vsak linearni, časovno neodvisni diskretni sistem obstaja več enakovrednih struktur. Strukture so lahko kanonične in nekanonične oblike. Za filtrsko strukturo pravimo, da je kanonične oblike, če je število zakasnilnih členov natančno enako stopnji filtra /1/. Nekanonične strukture običajno uporabljamo pri procesorjih z aritmetiko s fiksno vejico, ker imajo le en seštevalnik. Za izvedbo digitalnih filtrov 1. in 2. stopnje s PLC krmilnikom lahko uporabimo direktno kanonično ali direktno transponirano kanonično strukturo. Obe sta enakovredni. Razlika je le v številu seštevalnikov in množilnikov potrebnih za realizacijo. Za strukture višjih stopenj praviloma uporabljamo kaskadno /2/ ali vzporedno povezavo struktur 1. in 2. stopnje ne glede ali gre za rekurzivno ali nerekurzivno izvedbo. 3. PLC krmilnik Programirni logični krmilnik (PLC) je namensko mikroraču-nalniško vezje, ki se uporablja na področju industrijske avtomatizacije in daljinskega vodenja procesov. V začetku so bili signali v PLC-ju le digitalni. Novejši PLC krmilniki obdelujejo digitalne in analogne signale. To pomeni, da je z njimi možno programsko izvesti tudi digitalno filtriranje. Tako izveden filter je ekvivalenten dejanskemu, fizičnemu filtru in predstavlja samostojno enoto. 3.1 Takt Čas izvajanja enega takta je zelo pomemben kriterij za oceno hitrosti PLC krmilnika. Njegov podatek podaja informacijo o času, potrebnem za opravilo vseh funkcij v določenem času. Izvajanje programa PLC krmilnika je ciklično, to pomeni, da se spremembe vrednosti spremenljivk znotraj enega takta programa ne bodo upoštevale in izvedle. 3.2 Ciklična prekinitev Če želimo zelo hitro obdelavo nekaterih signalov ali funkcij, npr. alarmov, PID regulatorjev itn., lahko uporabimo različne sheme izvajanja programa s pomočjo prekinitvenih funkcij. Te nam omogočajo direkten pristop do vhodnih in izhodnih spremenljivk in tudi sprotno obdelavo, ne glede na osnovni takt PLC programa. Način pristopa do teh funk- cij je različen pri različnih proizvajalcih PLC-jev in tudi programske opreme. Običajno obstajajo specialne procedure oz. bloki, ki omogočajo prekinitve krmiljene z dogodki ali pa so prekinitve krmiljene časovno. Ciklično prekinitev lahko izvedemo na več načinov, pri vezju S7-300/400 je zagotovljena z organizacijskim blokom OB35. Obstajata dva možna načina: v OB35 generiramo impulz katerega v glavnem programu uporabimo kot uro, ki določa periodo vzorčenja ali v OB35 pokličemo funkcijo v kateri je implementiran digitalni filter. V tem primeru je digitalni filter izveden kar v organizacijskem bljoku OB35. Interval prekinitve OB35 mora biti daljši od časa potrebnega za obdelavo funkcije, ki jo pokličemo iz OB35. Če ta pogoj ni izpolnjen, vezje S7-300/400 kliče prekinitev za obdelavo napake določene z organizacijskim blokom OB80 /3/. 4. Pogosto uporabljeni digitalni filtri v PLC krmilniku Izvedba digitalnih filtrov v PLC krmilniku je dodatna naloga za inženirje, ki načrtujejo sisteme s PLC krmilniki, saj večine motilnih signalov ni mogoče odpraviti s preprostimi analognimi filtrskimi vezji. Ker pa običajno ti inženirji nimajo dovolj znanja o digitalni obdelavi signalov, je v priročnikih mogoče najti nekaj vrst digitalnih filtrov, ki se uporabljajo za manj zahtevne aplikacije. Ti digitalni filtri so vedno niz-koprepustni in njihovo delovanje je določeno le s t.i. koeficientom glajenja. V nadaljevanju bomo opisali najpogosteje uporabne rešitve. 4.1 Gladilni filter s premikajočim povprečenjem To je nerekurzivni filter, ki se uporablja za glajenje. Osnovna oblika /4/ je podana z -M (1) kjer je M število uporabljenih preteklih vhodnih vrednosti. Izhodni signal predstavlja povprečje M preteklih vhodnih vrednosti in ima zakasnitev (M-1)/2 taktov. Čim večji je M, tem boljše je glajenje. Ker so v praktičnih aplikacijah prisotne omejitve vezane na zakasnitev, se za M izbirajo vrednosti od 50 do 200. Prenosno funkcijo dobimo po preureditvi (1) v obliki: 1 1 1 _M 1 N Iv,-" ^ ^ -1 =M-Tr;^ = 4z-(z-i)] (2) 4.2 Empirični filter To je izkustvena oblika digitalnega filtra v PLC aplikacijah. Uporabniku običajno ni potrebno poznati teoretičnega ozadja teorije digitalne obdelave signalov in načrtovanja filtrov. Gre za rekurzivno nizkopasovno filtersko strukturo prve stopnje, brez natančno določene frekvence vzorčenja /5/. Uporaba je omejena na glajenje vhodnega signala. Sprotna izhodna vrednost je določena z nastavkom: ^^^ " 100 (3) Lastnosti so določene s parametrom k: pri k=0 ni filtriranja, pri k=100 pa dosežemo max. filtriranje k=0 ^ Y(n) = X(n) - vhod direktno na izhod, ni vpliva prejšnje vrednost izhoda k=99 ^ Y(n) = 0.99Y(n-1)+0.01X(n) - max filtriranje, vpliv vhodnega signala najmanjši Prenosna funkcija ima za k=1 naslednjo obliko: 99 z H{z) = ^^ ^ (4) ^ ^ lOO-z-r (4) Na sliki 1 so prikazane amplitudne vrednosti frekvenčne karakteristike filtra za različne vrednosti koeficienta k. Slika 1: Amplitudna karakteristike empiričnega filtra za različne vrednosti koeficienta k Fig. 1: Magnitude response of the empiric filter for different values of parameter k Frekvenca vzorčenja oz. časovne razmere v izrazu niso zajete. Zato tudi ni povezave med k in mejno frekvenco. Ker frekvenčnega spektra motilnega signala običajno niti ne poznamo, se k določi s poizkušanjem, tako da se doseže najboljši rezultat izločanja motilnih signalov. Probleme lahko pričakujemo v primerih, ko je prisoten spremenljiv čas izvajanja programa PLC-ja in ko postane večji od časa vzorčenja. V določenih razmerah lahko postane tako načrtovan filter povsem neuporaben. 4.3 Rekurzivni digitalni filter 1. stopnje Tudi za običajno rekurzivno strukturo 1. stopnje se v preprostih aplikacijah uporabljajo približni postopki načrtovanja, ki so vezani na parameter koeficienta glajenja /5/. Pogosto se uporablja naslednji zapis: 1j (5) filtra na spremembe koeficienta S. S primerjavo (3) in (5) ugotovimo, da je S dejansko koeficient glajenja. Za L se uporabljajo vrednosti med 12 in 20, običajno je v takšnih izrazih vrednost 16. Ko uporabimo pri (5) še z- transformacijo, sledi prenosna funkcija: = (6) S primerjavo dobljene prenosne funkcije s splošno obliko prenosne funkcije digitalnega filtra 1. stopnje v obliki, H{z) = l + flj-z" (7) L — S S vidimo, da je 0^ = 0 - in a^ =—. L L Če v editorju S7, ki je programsko orodje v Siemens-ovem programskem paketu in se uporablja za kreiranje in urejevanje struktur avtomatizacije za PLC krmilnike iz družine S7, napišemo takšno funkcijo, bomo dobili za vnos spremenljivk, oz. za branje izhodne vrednosti (v LAD načinu editorja S7) naslednjo "masko", prikazano na sliki 2: Zapis je podoben nastavku (4), le da je v (5) dodatno prisoten še parameter L, ki določa občutljivost karakteristike Slika 2: Maska za vnos koeficientov za filter 1. stopnje Fig. 2 : Mask for entry of filter coefficients for 1st order filter Vrednosti koeficientov b2, b1, a1, naslovi spremenljivk Input_value, CLK in OUT_smoothed, so podani le kot primer, pri dejanskem klicu funkcije bodo na teh mestih simboli «???». Če vnesemo napačni tip spremenljivke (BIT, BYTE, WORD ali REAL), editor avtomatsko zavrže takšen vnos in ga obarva rdeče. 4.4 Rekurzivni digitalni filter 2. stopnje Vse lastnosti opisane filtra 1. stopnje, lahko razširimo tudi na filter 2. stopnje. V tem primeru se ne uporabljajo več empirične poenostavitve. Ker gre za splošen primer, ga bomo določili s koeficienti prenosne funkcije. Zanj smo uporabili sledeče zahteve: frekvenca vzorčenja Fs= 50 Hz, mejna frekvenca Fm=3 Hz, slabljenje v prepustnem frekvenčnem področju Ap=1 dB in slabljenje v zapornem frekvenčnem področju As=40 dB. S pomočjo MATLAB-a smo dobili naslednje vrednosti koeficientov, ki so za popolno in okrajšano obliko prikazani v razpredelnici 1. Okrajšano obliko dobimo pri izračunu, če izpustimo inštrukcijo format long. Tabela 1: Koeficienti eliptičnega IIR filtra 2.stopnje v popolni in okrajšani obliki Table 1: Coefficients of 3rd order elliptic filter in format long and in shortened mode koeficienti Popolna oblika Okrajšana oblika b2 0.03679945320611 0.0367 bi 0.04153456075581 0.041534 bO 0.03679945320611 0.041534 a2 1.0 1.0 al 1.53728291988207 - 1.53 aO 0.66646479475237 0.66 Prvih 20 vzorcev impulznega odziva simulacijskih rezultatov in praktične izvedbe digitalnega filtra s popolno in okrajšano dolžino koeficientov je skupaj z ustreznima odsto-panjima podanih v razpredelnici 2. Primerjava impulznih odzivov digitalnega filtra druge stopnje izvedenem s PLC-jem s simulacijskimi rezultati dobljenimi z MATLAB-om, pokaže, da je v primeru natančnih vrednosti koeficientov (format long) odstopanje zanemarljivo. Zlahka pa vidimo, da se pojavlja občutno večje odstopanje pri vnosu koeficientov v okrajšani obliki. Pri izvedbi digitalnega filtra druge stopnje pride v primerjavi s filtrom prve stopnje do razlike tudi pri sami izvedbi, saj je klic funkcije oz. funkcijskega bloka možen samo iz organizacijskega bloka OB35 z asinhrono prekinitvijo. Drugače bi dobili v primeru uporabe več filtrov nestabilne rešitve zaradi prekrivanja vmesnih rezultatov. Zaradi tega je izračun izhodne vrednosti opravljen tudi s funkcijskim blokom (FB) in ne več s funkcijo (FC). Vsakemu funkcijskem bloku je priključen pripadajoči podatkovni blok (DB) v katerem so shranjene vrednosti vmestnih spremenljivk in prejšnjih izhodnih in vhodnih vrednosti. Ker je spremenljivk več, je procedura pri preslikavi spremenljivk ob koncu izračuna nekoliko bolj zahtevna. Maska za vnos koeficientov, vhodnih in izhodnih spremenljivk je prikazana na sliki 3. Ker je v našem primeru frekvenca vzorčenja bistveno večja od mejne frekvence filtra, ni težav s prekrivanjem spektrov /6/. Frekvenčna karakteristika nizkoprepustnega eliptičnega filtra s popolnimi vrednostmi koeficientov je podana na sliki 4. Tabela 2: Primerjava 20 vrednosti impulznega odziva digitalnega filtra druge stopnje Table 2: The comparison of 20 values of impulse response of digital filter of 2nd degree odtipek št. Simulacij ski rezultati (MATLAB) Praktična izvedba digitalnega filtra s PLC-iem Odstopanje v(%) Praktična izvedba digitalnega filtra s PLC-iem Odstopanje v (%) 0 36,79940 36,799400 0 36,80000 -0,001630461 1 98,10570 98,105700 0 97,83800 0,272868957 2 163,09010 163,090000 6,13158E-05 162,10400 0,604635107 3 185,33170 185,332000 -0,000161872 183,44600 1,017472996 4 176,21300 176,213000 0 173,68400 1,435194906 5 147,372000 147,373000 -0,000678555 144,66200 1,838883913 6 109,11370 109,114000 -0,000274943 106,70100 2,211179714 7 69,51980 69,519800 0 67,77200 2,514103896 8 34,15117 34,151200 -8,78447E-05 33,27470 2,566442087 9 6,16752 6,167530 -0,00016214 6,17794 -0,168949594 10 13,27933 13,279300 0,000225915 12,50900 5,80097038 11 -24,52450 24,524500 0 23,21630 5,334257579 12 -28,85090 -28,850900 0 -27,26490 5,497228856 13 -28,00700 -28,007300 -0,001071161 -26,39260 5,764273217 14 -23,82700 -23,827000 0 -22,38580 6,048600327 15 -17,96300 17,963000 0 16,83120 6,300729277 16 -11,73400 -11,734300 -0,002556673 -10,97710 6,450485768 17 -6,06728 -6,067280 0 -5,68634 6,27859601 18 -1,50661 -1,506620 -0,000663742 -1,45523 3,410305255 19 1,72754 1,727540 0 1,52648 11,63851488 20 3,65982 3,659820 0 3,29597 9,941745769 DE20 "IIR 2 st ES in?} Od ziv" CW EKO l.2COoOCie+ oOl eter hed - "mdSTCi'-" o.000O00e+ OOO Input_v3l ue 3.0733456002 bO 002 bi 3.£795456-002 b2 OOl aO ^-OOC al l.OCOoOCie+ oOO l.OCOoOCie+ oOO SMN M5.0- Clk Slika 3: Maska za vnos koeficientov in vhodnih spremenljivk rekurzivnega filtra 2. stopnje Fig. 3: Mask for entry of coefficients and input variables of 2nd order IIR filter Slika 4: Amplitudna frekvenčna karakteristika IIR digitalnega filtra druge stopnje z mejno frekvenco 3 Hz Fig. 4: The magnitude frequency response of 2nd order IIR filter with cut-off frequency 3 Hz 4.5 Rekurzivni digitalni filtri višje stopnje Filtri višjih stopenj se običajno realizirajo kot kaskadna vezava več struktur prve in druge stopnje in le izjemoma v direktni obliki. Čeprav z digitalnim filtrom druge stopnje dosežemo dokaj dobre rezultate v primerjavi z opisanimi izkustvenimi filtri, lahko s filtrom višje stopnje le dosežemo ali večje dušenje ali bolj strmo upadanje amplitudne frekvenčne karakteristike nad mejno frekvenco. Pri tem pa moramo paziti le na to, da takšen filter ne moti delovanje PLC-ja in da ne povzroča prevelike časovne zakasnitve osnovnega programa. V našem primeru bomo prikazali izvedbo digitalna filtra tretje stopnje s katerim smo zadostili postavljenim zahtevam. Za to je potrebno uporabiti le dve kaskadni strukturi. V ta namen smo kreirali poseben funkcijski blok (FB), s katerem smo lahko analizirali obnašanje filtra. Primerjavo med simulacijskimi rezultati, dobljenimi v MAT-LAB programskem okolju in praktično izvedbo s PLC krmilnikom smo ocenili s primerjavo odstopanja impulznih odzivov. Fazne razmere nam niso bile pomembne in jih nismo upoštevali. Za snemanje impulznega odziva smo modificirali funkcijski blok rekurzivnega filtra druge stopnje na način, da je bil vhod urinega impulza - «clk» - aktiven. Ta vhod je lahko aktiven, če prožimo funkcijski blok z notranjo uro, generirano v programu. Če FB pokličemo iz OB35, ta vhod ni aktiven, oz. ga moramo deaktivirati. To pomeni da smo ob vsakem proženju dobili na izhodu le eno izhodno vrednost. Pri tem je bila na vhodu vrednost 1000.0 le ob prvem ciklu, in nič pri vseh ostalih. Načrtali, simulirali in izvedli smo eliptični IIR filter 3. stopnje. Zanj smo uporabili iste zahteve kot za filter druge stopnje. Koeficiente filtra smo izračunali v MATLAB okolju neposredno oziroma s pomočjo FDA toolbox-a, ki je tudi del programskega paketa MATLAB. Dobljeni koeficienti v popolni obliki so za eliptični filter prikazani v razpredelnici 3. Tabela 3: Koeficienti eliptičnega IIR filtra 3. stopnje Table 3: The coefficients of 3rd order elliptic filter b3= 0,0136 426 503 0127 a3= 1,00 h2=- 0,0018 096 880 4567 a2=-2,5336 859 770 7381 bl=- 0,0018 096 880 4567 al= 2,2493 565 017 9860 b0= 0,0136 426 503 0127 aO= -0,6920 046 002 1359 Za pretvorbo filtra višje stopnje v kaskadno obliko smo uporabili MATLAB programsko orodje (FDA toolbox ali inštruk-cijo zp2sos), ki nam omogočata določitev struktur druge stopnje ali SOS (second order structure) matriko v obliki: (8) 'K K ^01 1 «11 «01 SOS = K ^02 1 «12 «02 Pil 1 «im «Om. V prvi vrstici so podani koeficienti prve strukture (števec in imenovalec), v drugi druge itn. Pri tem je m število struktur 2. stopnje. Če poznamo SOS matriko, zapišemo splošno obliko prenosne funkcije v obliki: —, (9) kjer je z g označeno skupno ojačenje. Za digitalni filter tretje stopnje je SOS matrika naslednja: sos = 1,00 1,00 0,00 1,00 -0,818337350 0,00 1,00 -1,132649302 1,00 1,00 -1,715348626 0,845622651 (10) in ojačanje g = 0,013642650301 Za prenosno funkcijo digitalnega filtra z dvema kaskadni-ma strukturama, l + ■ l + + , (11) nam SOS matrika direktno podaja vrednosti koeficientov posameznih struktur a in b. Njeni koeficienti so podani v razpredelnici 4. Tabela 4: Koeficienti posameznih kaskadnih struktur eliptičnega IIR filtra 3. stopnje Table 4: The coefficients of both cascaded structures for 3rd order eliptic filter b2a = 1.00 bla = 1,00 bOa = 0,00 ala = -0,818337350 aOa = 0,00 b2b = 1,00 blb = -1,132649302 bOb = 1,00 alb -1,715348626 aOb 0,8456226513 Vidimo, da sta pri digitalnem filtru tretje stopnje koeficienta b0a =0 in a0a=0. Ojačanje bomo zato upoštevali pri prvi strukturi, ker ima manj koeficientov in je manj množenj. Splošna kaskadna izvedbena oblika za rekurzivne digitalne filtre tretje stopnje je prikazana na sliki 5. Ker gre za splošno obliko z dvema kaskadnima strulturama drugih stopenj, je uporana tudi za filter četrte stopnje. Na sliki 6 je prikazana maska za vnos koeficientov v posamezni kaskadni strukturi digitalnega filtra. Izhod iz prve strukture MD 828 je vhod v drugo strukturo. Izhod iz filtra je MD 832. Primerjava impulznih odzivov digitalnega filtra tretje stopnje izvedenem s PLC-jem v kaskadni obliki in s simulacijski-mi rezultati dobljenimi z MATLAB-om, pokaže, da je v Slika 5: Splošna kaskadna izvedbena oblika rekurzivnega digitalnega filtra z dvema strukturama Fig. 5: General cascade realization for two structures recursive digital filter Ml. vatt lHId-™" -•»nt" i;™-. iUClTlI C« wr IH«! :-.uj M ..-IC41J- ppp -IC4J«-. ppp 4.4M4J1.- anL i.iill^li in™"'. UIB UTM KS.ä' A H. :15: Slika 6: Del organizacijskega bloka OB1 digitalnega filtra s prikazom vnosa koeficientov in vhodnih spremenljivk v prvo in drugo strukturo Fig. 6: A part of the organisation block for entry of the coefficients and input variables of 3rd order IIR filter in the first and second cascaded structure primeru natančnih vrednosti koeficientov (format long) odstopanje zanemarljivo, kot smo to že ugotovili pri filtru druge stopnje. Prvih 20 vzorcev impulznega odziva je podanih v razpredelnici 5. Celotni impulzni odziv izvedenega digitalnega sita s PLC-jem je prikazan na sliki 7, ustrezna frekvenčna karakteristika, ki smo jo s pomočjo MATLAB-a izračunali na osnovi impulznega odziva pa na sliki 8: Amplitudna frekvenčna karakteristika je ustreza postavljenim zahtevam. Slabljenje 40 dB dosežemo že pri 7 Hz, skoraj pri dvakratni mejni frekvenci, kar je bistveno bolje kot pri filtru druge stopnje, ko smo zahtevano slabljenje dosegli pri 15Hz. 5. Zaključek V članku smo prikazali možnosti izvedbe eliptičnega digitalnega filtra prve, druge in tretje stopnje v rekurzivni obliki s Tabela 5: Primerjava prvih 20 vrednosti impulznega odziva digitalnega filtra tretje stopnje Table 5: The comparision of first 20 values of impulse response of digital filter of 3rd degree odtipek št. Simulacijski rezultati (MATLAB) Praktična izvedba digitalnega filtra s PLC-jem ODSTOPANJE v% 0 13,642650301273000 13,6426 0,000368706 1 32,756503712783000 32,7564 0,000316617 2 50,497821912436000 50,4977 0,000241421 3 77,347995718632000 77,3478 0,000253036 4 105,0555793178170 105,055 0,000551439 5 127,13935612429400 127,139 0,000280105 6 139,34892221216300 139,349 -5,58223E-05 7 139,83616962670000 139,783 0,0380228 8 128,70340523262500 128,703 0,000314858 9 108,10092058526500 108,101 -7,34635E-05 10 81,12485120469300 81,1248 6,31184E-05 11 51,45073780478000 51,4507 7,34776E-05 12 22,68763570368100 22,6877 -0,000283398 13 -2,10893694285100 2,10885 0,004122591 14 -20,77181759385600 20;7717 0,000566122 15 -32,18556365668600 32,1855 0,00019778 16 -36,28428240826100 36,2843 -4,8483 lE-05 17 -33,91036398052200 33,9104 -0,00010622 18 -26,57448525769500 26,5746 -0,000431776 19 -16,16379328939600 -16,164 -0,00127885 20 -4,64461306675500 4,64483 -0,004670642 Slika 7: Impulzni odziv IIR digitalnega filtra 3. stopnje Fig. 7: Impulse response of 3th order IIR digital filter PLC krmilnikom. Ker senzorji in pretvorniki, ki jih uporabljamo na področju avtomatizacije procesov s PLC krmilniki, ne ločijo motilnih signalov od koristnih, dobi procesni sistem poleg koristnih signalov še neželene motilne signale. Zato je potrebno z dodatno opremo, aparaturno ali programsko, odpraviti motnje, da bo proces katerega krmilimo, potekal brezhibno. Pri vedno zahtevnejših aplikacijah avtomatizacije industrijskih procesov se pojavljajo zahteve po digitalnem odpravljanju neželenih vhodnih signalov. Glede na to, da nas pri naših aplikacijah vpliv nelinearnega faznega kota ni problematičen, smo za filtriranje motilnih signalov izbrali rekurzivno filtrsko strukturo. Uporabili smo koeficiente eliptičnega filtra. Prevladalo je dejstvo, da ima za dano strmino upadanja frekvenčne karakteristike v pre- Slika 8: Amplitudna frekvenčna karakteristika IIR digitalnega filtra tretje stopnje z mejno frekvenco 3 Hz Fig. 8: The magnitude frequency response of 3th order IIR digital filter with cut off frequency 3 Hz hodnem frekvenčnem področju najmanjšo stopnjo. Tudi valovitost amplitudne frekvenčne karakteristike ni bila problematična, če le upoštevamo mejne vrednosti sistema. Pri izvedbi filtrske strukture v PLC sistemu smo prikazali, da je ciklična prekinitev pri nekaterih aplikacijah zelo pomembna, in da ne moremo vstaviti filtra v programsko zanko, če čas urinih taktov ni konstanten, če je odvisen od pogojev razvejanja osnovnega programa. Takšna odločanja znotraj programa lahko podaljšajo čas izvajanja takta tudi za velikostni razred do 10 krat. Najprej so v delu opisani empirični filtri, ki se uporabljajo na podlagi izkušenj in ne zahtevajo pogloblenega teoretičnega znanja. V nadaljevanju pa smo prikazali postopke načrtovanje in izvedbe rekurzivnih struktur prve, druge in tretje stopnje. Struktura rekurzivnega filtra predstavlja povezavo z empiričnimi oblikami gladilnih filtrov, vendar z natančno določenimi parametri filtriranja, strukturi druge in tretje stopnje pa zahtevata posebne postopke načrtovanja in izvedbe s PLC krmilnikom. Koeficiente filtrov smo izračunali v MATLAB okolju neposredno oziroma s pomočjo FDA toolbox-a. Pri digitalnem filtru druge stopnje smo podrobno analizirali odstopanje impulznega odziva izvedenega filtra s PLC krmilnikom pri zapisu koeficientov v popolni in pri zapisu v skrajšani obliki. Za pretvorbo filtra tretje stopnje v kaskadno obliko smo uporabili MATLAB programsko orodje, ki omogoča določitev struktur druge stopnje ali SOS (second order structure) matriko. S prikazano SOS matriko je kaskadna izvedba filtra tretje stopnje enostavno določena. S slikami so prikazani deli organizacijskih blokov PLC krmilnika s prikazom mask za vnos koeficientov in vhodnih spremenljivk v posamezne strukture digitalnih filtrov. Primerjava impulznih odzivov digitalnega filtra tretje stopnje izvedenem s PLC-jem v kaskadni obliki s simulacijskimi rezultati dobljenimi z MATLAB-om, tudi pokaže, da je v primeru natančnih vrednosti koeficientov (format long) odstopanje zanemarljivo. Večja odstopanja se pojavijo le pri vpisovanju koeficientov v okrajšani obliki. Odstopanja so rezultat rekur-zivnega izračuna izhodne vrednosti. Zato se je potrebno zapisu koeficientov v okrajšani obliki izogibati, saj v ničemer ne zmanjšuje niti aparaturnih, niti časovnih zahtev. Ne glede na način zapisa koeficientov, ni bilo nevarnosti za nestabilnost izvedenih filtrov. Tudi amplitudna frekvenčna karakteristika ustreza postavljenim zahtevam. Slabljenje 40 dB dosežemo skoraj že pri dvakratni mejni frekvenci, kar je bistveno bolje kot pri filtru druge stopnje. Pri 7 Hz in ne pri 15 Hz. /4. / L. Mlilč, M. Buric, Rekurzivni digitalni filtri, Naučna knjiga Beograd, Beograd, 1982 /5. / Aleksandar Dodič, Izvedba rekurzivnih digitalnih sit s PLC krmilnikom, magistrska naloga, Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko, Maribor, 2007. /6. / Sanjit K.Mitra, Digital Signal Processing-A computer Based Approach, Mc.Graw Hill, 2002. Mag. Aleksandar Dodič, univ. dipl. inž., Lučka uprava Rijeka, Riva 1, 51 000 Rijeka, Hrvatska, e-mail: sandro.dodic@portauthority.hr 6. Literatura /1./ L. Milic, Z. DobrosavljeviC, Uvod u digitalnu obradu signala, Ele-ktrotehnički fakultet Beograd, 1999. /2. / R. Babič, Dinamika izhodnega signala pri kaskadni obliki izvedbe nerekurzivnih digitalnih sit Informacije MIDEM. - ISSN 03529045. - Letn. 31, št. 3 (2001), str. 152-158. /3. / SIEMENS S7-300 manual, programmable controller, hardware and instalation SIEMENS AG, 1998, EWA 4NEB 710 6084-002 01 Izr. prof. dr. Rudolf Babič, Univerza v Mariboru, Fakulteta za elektrotehniko računalništvo in informatiko, 2000 Maribor, Smetanova 17, Slovenija Prispelo (Arrived): 08.03.07 Sprejeto (Accepted): 28.5.08