Skaitiniai filtrai
transformacija. Abi jos yra labai svarbios apdorojant diskretinius signalus ir vaizdus.
transformacija atsirado palyginti neseniai, kartu su kompiuteriais. Ji tampriai siejasi su rekurentinių lygčių teorija. Skyriuje susipažinsime su dviejų tipų skaitiniais filtrais: rekursiniais ir nerekursiniais. Parodysime, kaip jie filtruoja realiu laiku siunčiamą signalą. Panagrinėsime pereinamąsias tokių filtrų charakteristikas bei atskleisime tamprų ryšį tarp
transformacijos ir filtro dažninės charakteristikos. Kadangi matavimų duomenys labai dažnai apdorojami kompiuteriais, skaitiniai filtrai plačiai taikomi sudiskretintų duomenų apdorojimui.Nustatymai
Pirmiausia nustatome atsakymų šrifto dydį šiame puslapyje taip, kad gerai matytume atsakymus
transformacija
Tarkime, kad laiko momentais
, kur
, o
yra signalo diskretizavimo žingsnis ar periodas, signalas įgyja
reikšmes. Diskretinio signalo arba diskretinės funkcijos
vaizdu (atvaizdu) vadinsime [Krivickas84,Doetsch67] kompleksinio kintamojo
funkciją
, gaunamą tokiu būdu:
![]() |
ransformacija. Iš vaizdo
ji atstato pirminę funkciją
: ![]() |
apima koordinačių pradžią kompleksinėje
plokštumoje.IKI CIAApskaičiuosime kelių elementarių funkcijų
atvaizdus. Diskretinis Heavyside'o funkcijos analogas yra žemiau pavaizduotas diskretinis laiptelis
, tenkinantis sąlygas
, kai
ir
, kai
.
Jo
vaizdas yra geometrinės progresijos narių suma,
, kurią visai nesunku apskaičiuoti analiziškai:
![\boldmath\begin{eqnarray*}&&\mathrm{Sum}[z^{-n},\{n,0,\infty\}]\end{eqnarray*}](/eksperimentai/files/tex/0d659f520a16e4dd97b471345dbddff6688389a9.png)
Jei diskretinė funkcija
turi gęstančios eksponentės pavidalą, pavyzdžiui,
,
tai funkciją
taip pat galima tiksliai apskaičiuoti:
:
![\boldmath\begin{eqnarray*}&&\mathrm{Sum}[\ee^{-\frac15 n} z^{-n},\{n,0,\infty\}]\end{eqnarray*}](/eksperimentai/files/tex/bd795284324901a8ca8e28f5618d282591c7c928.png)
Begalybės simbolį
surinksite klavišais Esc inf Esc. Kaip matome,
komanda gali sumuoti ne tik baigtines, bet ir begalines simbolines eilutes. Simboliniai begalinių eilučių sumavimo algoritmai neturi nieko bendra su įprasto baigtinio sumavimo veiksmais. Paprastai šie algoritmai stengiasi surasti rekurentinę lygtį, kurią tenkina ieškoma begalinė suma. Jei rastą rekurentinę lygtį pavyksta išspręsti, pateikiamas atsakymas. Rekurentinėms lygtims spręsti dažnai panaudojama ir
tranformacija. Mathematica sistemos galimybes spręsti rekurentines lygtis išplečia standartinis
paketas bei šioje srityje dirbančių mokslininkų paruoštos programos. Pastarąsias rasite interneto svetainėje http://www.risc.uni-linz.ac.at.
Lengva įsitikinti, kad bendresniu atveju diskretinio eksponentinio pereinamojo proceso
vaizdas yra
, kur
— teigiamas skaičius.
Kadangi
transformacija plačiai naudojama,
vaizdams skaičiuoti Mathematica turi specialią komandą
. Ankstesnėse versijose
transformacijai atlikti reikia iškviesti
paketą.Taigi, norėdami rasti diskretinės funkcijos
vaizdą, rašome:
![\boldmath\begin{eqnarray*}&&\mathrm{ZTransform}[\mathrm{Exp}[-b n] ,n,z]\end{eqnarray*}](/eksperimentai/files/tex/63eb9d59615c827fcb5358a285d160467c1fcf95.png)
Prisiminkime, kad Laplace'o transformacijoje (žr. Pereinamieji virpesiai LC konture eksperimentą) laikas buvo atskaitomas nuo
momento. Panašiai
transformacijoje diskretinio kintamojo numeracija prasideda nuo
.
Paimkime dar vieną diskretinį signalą — diskretinio kosinuso funkciją
:
Esant neigiamoms
vertėms paprastumo dėlei laikysime (iš tiesų šioje srityje
nėra apibrėžta), kad
. Pavaizduoto diskretinio signalo
vaizdas yra
![\boldmath\begin{eqnarray*}&&zCos=\mathrm{ZTransform}[\mathrm{Cos}[-n*\omega*T] ,n,z]//\mathrm{Simplify}\end{eqnarray*}](/eksperimentai/files/tex/49a1efb40fd40d962aa04532b6f2d935cc4e36d7.png)
Atvirkštinę
transformaciją atlieka komanda
, kuria iš gauto
vaizdo atstatysime pirminę diskretinę funkciją:
![\boldmath\begin{eqnarray*}&&\mathrm{InverseZTransform}[zCos,n,z]//\mathrm{ExpToTrig}//\mathrm{Simplify}\end{eqnarray*}](/eksperimentai/files/tex/d9c80680a2df1db38952297557235d93fda707d9.png)
Kadangi vadovėliuose
transformacija kol kas sutinkama retai, išvardinsime svarbiausias šios transformacijos savybes [Doetsch67]. Jos yra labai panašios į Laplace'o transformacijos savybes.
Pažymėkime signalų
ir
vaizdus atitinkamai
ir
:
,
. Tada signalus ir jų vaizdus sieja tokie ryšiai:
- Tiesiškumas. Jei
ir
yra kompleksinės pastoviosios, tada
. - Vėlavimas. Jei
atitinka tam tikrą fiksuotą laiko momentą
, t.y.
, tada
transformacijos
pirminę ir vaizdo funkcijas pradiniu ir vėlesniu laiko momentu sieja vėlinimo teorema
. - Sąsukos vaizdas. Dviejų diskrečiųjų signalų
ir
sąsuka (convolution) vadinama
išraiška. Sąsukos
vaizdas yra atskirų jos sandų
vaizdų sandauga (sąsukos teorema):
.
Jei sąsukos formulėje vietoje
įstatysime vienetinę funkciją,
(kur
, kai
ir
visais kitais atvejais), tada
ir
yra vadinamos diskrečiojo signalo perdavimo charakteristikomis.
Dažninė charakteristika
Susipažinę su
transformacija jau galime aptarti rekursinius ir nerekursinius skaitinius filtrus bei jų savybes. Svarbiausias filtro parametras yra jo dažninė charakteristika, kuri nusako praėjusio pro filtrą harmoninio signalo kompleksinės amplitudės priklausomybę nuo dažnio. Todėl naudinga žinoti, kaip signalo
vaizdas yra susijęs su dažnine charakteristika. Kadangi griežto pagrindimo čia pateikti negalime (tam tektų pasitelkti diskretinės matematikos metodus), apsiribosime svarbiausių žingsnių aprašymu.
Pradžioje diskretizavimo impulsų seką
aproksimuojame Diraco
funkcijomis:
![]() |
yra diskretizavimo žingsnis (periodas). Pasinaudoję šia imties funkcija, tolydų signalą
galime pakeisti skaitmeniniu:![]() |
Fourier vaizdą:![]() |
Jei signalą diskretizuoti pradedame ne nuo be galo nutolusio laiko momento
, o nuo
, tada gautą
išraišką galime palyginti su signalo
vaizdo
apibrėžimu
, įvestu skyriaus pradžioje. Palyginę matome, kad nuo diskretinto signalo
vaizdo galima pereiti prie signalo Fourier vaizdo ir atvirkščiai, formulėse padarius pakeitimą
. Tokiu būdu formules, gautas po
transformacijos, galima interpretuoti kaip signalo spektrą, jei jose atliksime pakeitimą
![]() |
yra signalo diskretizavimo dažnis. Spektre pasirodantis didžiausias dažnis
turi tenkinti nelygybę
. Priešingu atveju spektras persiklos su aukštadažnumine
spektro dalimi, kurios virpesių periodas yra mažesnis už diskretizavimo periodą. Todėl signalą diskretizavus, skaitmeninis signalas jau neatspindės tikrųjų signalo savybių. Su šiuo reikalavimu jau buvome susidūrę aptardami Fourier transformaciją. Ribinis dydis
yra vadinamas Nyquisto dažniu, o pats apribojimas — Kotelnikovo teorema. Iš čia seka svarbi praktinė išvada: prieš tolydinio signalo diskretizavimą, pavyzdžiui, AD konvertoriumi, jo spektre būtina pašalinti sandus, kurių dažnis aukštesnis už
Jei prieš diskretizavimą dažnių
neeliminuosime, jie susimaišys su žemais dažniais ir spektras, o tuo pačiu ir sudiskretintas signalas bus iškraipytas.Nerekursiniai skaitiniai filtrai
Toks keistas pavadinimas pasidarys aiškesnis, aptarus sudėtingesnius, taip vadinamus rekursinius, filtrus. Filtro sąvoka atkeliavo iš radioelektronikos. Ten filtru vadinamas įrenginys, kuris vienus priimto signalo spektrinius sandus slopina, o kitus praleidžia. Mes skaitiniu filtru vadinsime transformacijų seką, kurią atlikus skaitmeninio signalo spektras pasikeičia. Į filtrą patenkantį signalą žymėsime
, o iš jo išeinantį —
. Bendru atveju nerekursiniu filtru yra vadinama sąsuka
![]() |
koeficientai nusako konkretaus filtro savybes ir yra parenkami iš anksto. Konkrečios
koeficientų vertės vadinamos svoriais (weights), o jų visuma — svorio funkcija (weight function). Sritis, kurioje koeficientai nėra lygūs nuliui, vadinama langu (window). Praktikoje langą gali sudaryti kelios dešimtys ar net šimtai
koeficientų. Panagrinėkime paprastą pavyzdį, paėmę penkis vienodus svorius:
. Tada nerekursinis filtras atliks tokią signalo transformaciją:![]() |
transformacija ir vėlinimo teorema, gauname tokį signalo atvaizdą:![]() |
yra
. Dabar tą patį rezultatą apskaičiuosime, panaudoję Mathematica sistemos
transformaciją. Pradžioje apibrėžiame filtro transformacijos funkciją:![\boldmath\begin{eqnarray*}&&y[n\_]:=(x[n-1]+x[n-2]+x[n-3]+x[n-4]+x[n-5])/5\end{eqnarray*}](/eksperimentai/files/tex/3a4090233fc7af156c6ddbe12ee52310518fd33f.png)
Po
transformacijos turime:
![\boldmath\begin{eqnarray*}&&\mathrm{Factor}[(\mathrm{ZTransform}[y[n],n,z])/.\,x[n\_/;n<0]\to 0]\end{eqnarray*}](/eksperimentai/files/tex/f8ee3ac8c26e5ebdf531d73f5bd946194df95a52.png)
Keitimo taisykle
visas pradines sąlygas prilyginome nuliui. Išraiška
žymi
vaizdą
. Dažninę perdavimo charakteristiką gausime kintamąjį
išraiškoje pakeitę eksponente
.
![\boldmath\begin{eqnarray*}&&daznineCharakteristika = Yz\big/ \mathrm{ZTransform}[x[n], n, z] /. \,z \to \mathrm{Exp}[2*\pi\ *\mathrm{i}*f/f_d] // Expand\end{eqnarray*}](/eksperimentai/files/tex/86c07e287bc3d3aa351e18a1c11199e9fbdf23d0.png)
Ją vizualizuosime, brėžinyje atidėję amplitudės priklausomybę nuo signalo dažnio. Signalo diskretizavimo dažnį imsime lygų vienai atvirkštinei sekundei:
.
periodinius signalus. Antra vertus, toks filtras visiškai nepraleidžia signalų, kurių dažnis yra
ir
karto mažesnis už
. Taigi, ,,vidurkinimo iš penkių'' filtras turi gana keistą dažninę charakteristiką, kurią intuityviai vargu ar buvo galima nuspėti. Deja, šis filtras nėra geras, nes nepakankamai slopina aukšto dažnio sandus.Realus žemų dažnių filtras
Išnagrinėtame pavyzdyje paėmėme tik penkis nelygius nuliui svorius. Realiame filtre svorio funkciją sudaro kur kas daugiau koeficientų. Kaip reiktų šiuos koeficientus parinkti, kad skaitinis filtras turėtų pageidaujamą dažninę charakteristiką, aprašyta straipsnyje [Kaiser77]. Mes panagrinėsime žemų dažnių filtrą, t.y. tokį filtrą, kuris praleidžia tik žemus dažnius. Sekdami minėtu straipsniu, imsime Gausso pavidalo svorio funkciją su nelyginio dydžio
langu (
):
Svorio funkciją normuokime į vienetą.
![\boldmath\begin{eqnarray*}&&svorioFunkcija= svorioFunkcijaNenormuota\big/\mathrm{Apply}[\mathrm{Plus},svorioFunkcijaNenormuota];\end{eqnarray*}](/eksperimentai/files/tex/ab9cf49a74a0e4efe1cadd0791472780212f2d51.png)
Filtras su normuota svorio funkcija nekeičia nuostoviosios (nuo laiko nepriklausančios) signalo dalies, nes visų jo koeficientų suma lygi vienetui.
![\boldmath\begin{eqnarray*}&&\mathrm{Apply}[\mathrm{Plus},svorioFunkcija]\end{eqnarray*}](/eksperimentai/files/tex/7c68f99526dfcbb7db60a7b549684e469e67a652.png)
Atvaizduokime svorio funkcijos koeficientų priklausomybę nuo jų numerio:
Kaip buvo aptarta, filtro su šia svorio funkcija dažninę charakteristiką rasime apskaičiavę filtro perdavimo charakteristikos
vaizdą. Tam pradžioje komanda
sudarykime vektorių sąrašą
.
komanda jį padauginę iš svorio funkcijos sąrašo ir padalinę iš
, gausime perdavimo charakteristiką.
![\boldmath\begin{eqnarray*}&&xVektorius=\mathrm{Table}[x[n-k],\{k,1,\mathrm{Length}[svorioFunkcija]\}];\\&&zCharakteristika=\mathrm{Expand}[\frac{\mathrm{ZTransform}[svorioFunkcija\ .\, xVektorius,n,z]/.\,x[n\_/;n<0]\to 0}{\mathrm{ZTransform}[x[n],n,z]}]\end{eqnarray*}](/eksperimentai/files/tex/a0dd41dcef06c7cbbd91699bccec96abf76fc55c.png)
Kintamąjį
pakeitę eksponente
, rasime dažninę filtro charakteristiką. Jos amplitudės priklausomybė nuo dažnio yra
Šis filtras labai stipriai (daugiau kaip tūkstantį kartų) slopina aukšto dažnio sandus. Tuo įsitikinsime, amplitudę atidėję ne visame dažnių ruože
, o tik ties aukštesniaisiais dažniais:
. Skaitytojas tegu pats įrašo šias dažnių vertes ankstesnėje interaktyvioje ląstelėje.
Paeksperimentuokime su ką tik sukonstruotu nerekursiniu filtru. Paduokime į filtrą žemo dažnio signalą
, prieš tai jį ,,užteršę'' triukšmu, ir pažiūrėkime, kaip filtras šį triukšmą pašalina. Triukšmą imituosime atsitiktinių skaičių generatoriumi
, kuris pridės mažus atsitiktinius signalo iškraipymus. Gautą suminį signalą vizualizuojame.
Taigi, turime du skaičiais užpildytus sąrašus — filtro svorių sąrašą
ir signalo su triukšmu sąrašą
, pavaizduotą paveiksle. Abiejuose sąrašuose esančių elementų skaičių sužinosime, komanda
,,išmatavę'' jų ilgį.
![\boldmath\begin{eqnarray*}&&\{\mathrm{Length}[svorioFunkcija],\mathrm{Length}[sumSignalas]\}\end{eqnarray*}](/eksperimentai/files/tex/d66a5de4f40f8e576d16cea37257cf7f60a60f71.png)
Kadangi signalo ir svorio funkcijos elementai gali būti dauginami tik lango ribose, komanda
iš sąrašo
imsime tik tuos narius, kurie duotu momentu pakliūva į lango sritį. Sąsuką skaičiuosime, langą ,,traukdami'' per sąrašo
elementus nuo
iki
.
Matome, kad signalui praėjus pro nerekursinį filtrą iš pradinio signalo dingo aukšto dažnio triukšmas. Kadangi kraštuose sąsukos apskaičiuoti negalime, tai išfiltruoto signalo kraštus iš abiejų pusių nupjovėme per lango plotį. Reiktų pasakyti, kad toks paprastas sąsukos skaičiavimo algoritmas yra pernelyg lėtas. Ketvirtoje Mathematica versijoje panašioms transformacijoms atlikti įvesta greita komanda
. Apskaičiuosime mūsų pavyzdį dar kartą, panaudoję šią funkciją.
argumentas yra svorio funkcijos koeficientų sąrašas (transformacijos branduolys), o antrasis — apdorojamas signalas. Galimi papildomi argumentai leidžia įvairiausiais būdais atsižvelgti į čia nupjautų kraštų transformacijas ir dar daugelį kitų dalykų, kuriuos perprasti paliksime pačiam skaitytojui.Filtravimas Fourier transformacija
Praeitame eksperimente aptartą diskretinę Fourier transformaciją taip pat galima pritaikyti triukšmui filtruoti. Iliustracijai pasinaudosime S.Wolframo knygoje [Wolfram99] aprašytu pavyzdžiu. Filtravimas Fourier transformacija yra pagrįstas labai panašia sąsukos teorema, kuri teigia, kad dviejų funkcijų sąsukos Fourier vaizdas yra lygus pirminių funkcijų Fourier vaizdų sandaugai. Pasinaudoję šia savybe dar kartą išfiltruosime triukšmą iš jau nagrinėto signalo. Skaičiavimų eigoje mums teks panariui dauginti svorio funkcijos ir signalo Fourier vaizdų sąrašus. Tam turime suvienodinti abiejų sąrašų ilgius. Paprasčiausias sprendimas būtų svorio funkcijos langą iš kairės ir dešinės simetriškai papildyti nuliais:
Tikrąjį Fourier filtro branduolį gausime svorio funkcijos elementus cikliškai perstatę taip, kad didžiausio svorio elementas atsidurtų pirmoje pozicijoje (to reikalauja Mathematica'os diskretinės Fourier transformacijos algoritmas). Pertvarkytą sąrašą, kaip ir anksčiau, normuojame į vienetą.
Dabar jau galima iš signalo eliminuoti triukšmą. Tam pradžioje rasime triukšmu užteršto signalo ir naujosios svorio funkcijos
Fourier vaizdus. Vaizdus sudauginę ir atlikę atvirkštinę Fourier transformaciją (bei viską papildomai padauginę iš
, kur
yra signalo sąrašo ilgis) pamatysime, kad gavome (jei neatsižvelgsime į signalo kraštus) tą patį rezultatą.
Pereinamoji nerekursinio filtro charakteristika
Ištirsime pereinamąją mūsų sukonstruoto nerekursinio filtro charakteristiką. Ji nusako filtro atsaką laiko ašyje, kai į filtrą pasiunčiamas diskretinis laiptelio pavidalo signalas. Signalo formą prieš ir po filtravimo pavaizduosime, panaudoję
. Abu signalų brėžinius sujungsime
komanda.
Rekursiniai skaitiniai filtrai
Kaip matėme, nerekursinis filtras duotu laiko momentu apdoroja tik tuos duomenis, kurie pakliūna į filtro langą. Rekursiniame filtre, priešingai, duomenų apdorojimą įtakoja ne tik į langą pakliūnantys, bet ir anksčiau apdoroti duomenys. Iš čia ir pavadinimas ,,rekursinis'', t.y. grįžtantis į tą patį ,,kursą'' ar kelią. Bendru atveju rekursiniu filtru vadinama tokia transformacija:
![]() |
ir
yra filtrą apibūdinantys koeficientai (svoriai). Iš formulės matyti, kad ieškomasis
priklauso nuo jau apdorotų
signalo verčių, paimtų su tam tikrais svoriais
. Priklausomai nuo
ženklo ir dydžio, grįžtamasis ryšis gali būti teigiamas arba neigiamas, t.y. įšėjimo signalas gali būti stiprinamas arba silpninamas. Iš rekursinio filtro apibrėžimo taip pat seka (sąsukos formulė), kad po
transformacijos filtro perdavimo charakteristika bendru atveju turi
pavidalą. Čia
ir
yra kintamojo
polinomai. Jei keitiniu
pereisime į dažnių atvaizdį, gausime formulę![]() |
ir
savybių lemia jų šaknų skaičius, tai ir rekursinio filtro esmines savybes nusako perdavimo charakteristikos nuliai ir poliai, t.y. skaitiklio ir vardiklio šaknys. Todėl projektuojant filtrą pirmiausia reikia nustatyti šaknų skaičių, ir tik po to ieškoti tinkamų svorio verčių. Deja, čia neturime vietos šiems praktiniams klausimams nagrinėti [Krivickas84,Rabiner75]. Apsiribosime nesudėtingu pavyzdžiu, iliustruojančiu metodo esmę. Panagrinėkime paprastą rekursinį filtrą:
. Po
transformacijos iš šios lygties gauname![\boldmath\begin{eqnarray*}&&\mathrm{Clear}[y];\\&&zAtvaizdas=\mathrm{ZTransform}[y[n],n, z]=\mathrm{ZTransform}[x[n-1]+x[n]+\frac{1}{2} y[n-1],n, z]/.\\&&\{y[n\_/;n<0]\to 0, x[n\_/;n<0]\to 0,\mathrm{ZTransform}[y[n],n,z]\to Y[z],\mathrm{ZTransform}[x[n],n,z]\to X[z]\}\end{eqnarray*}](/eksperimentai/files/tex/f36f9c5139c04605b2a995180ff7b04f5e38373f.png)
Išsprendę atsakymą
atžvilgiu ir padalinę jį iš
, randame perdavimo charakteristiką
![\boldmath\begin{eqnarray*}&&yz=\mathrm{Solve}[zAtvaizdas,Y[z]];\\&&zPerdavimoCharakteristika=\mathrm{Simplify}[\frac{Y[ z]/.\mathrm{First}[yz]}{X[z]}]\end{eqnarray*}](/eksperimentai/files/tex/cab9e12ec38b2c62fdeed74dfa2d17b8c64b027d.png)
Šią
perdavimo charakteristiką atitinka dažninė:
![\boldmath\begin{eqnarray*}&&fPerdavimoCharakteristika= zPerdavimoCharakteristika/.z\to \mathrm{Exp}[\frac{2 \pi \mathrm{i} f}{f_d}]\end{eqnarray*}](/eksperimentai/files/tex/ebe84a1ab00c5adce0a9b2ef1909d1eea72d7671.png)
Atvaizduokime jos amplitudės priklausomybę nuo dažnio
, kai
.
Tokiu būdu nagrinėjamas rekursinis filtras stiprina harmoninį signalą, kai jo dažnis
:
Literatūra
R. Krivickas, "Skaitinis signalų apdorojimas", Mokslas, Vilnius (1984)
G. Doetsch "Anleitung zum Praktischen Gebrauch der Laplace-Transformation und der Z-Transformation", Oldenbourg, 1967. Yra rusiškas vertimas: G. Dёч, Руководство к практическому применению преобразования Лапласа и
-преобразования, Наука, Москва, 1971
J.F. Kaiser,W.A. Reed, "Data smoothing using low-pass digital filters", Rev.Sci Instr.V.48, No.11, 1447-1455 (1977)
S. Wolfram, The Mathematica Book, 4-th ed., Wolfram Media/Cambridge University Press, 1999
L. R. Rabiner, B. Gold, "Theory and Application of Digital Signal Processing", Prentice-Hall, New Jersey (1975)

![\[ X(z)=\sum_{n=0}^{n=\infty}x(n)\, z^{-n}.\tag{1} \]](/eksperimentai/files/tex/0b67db9d18260a0931f9c356715c2090950a2bc7.png)
![\[ x(n)=\frac{1}{2\pi\,\mathrm{i}}{\int_C} X(z){z^{n-1}}\,\mathrm{d} z,\quadn=0,1,2,\dots\qquad \textrm{\v cia}\quad \mathrm{i}={\sqrt{-1}}.\tag{2} \]](/eksperimentai/files/tex/d7a653aeb82ea8947ea28870f9863c462c7b780e.png)
![\[ S(t)=\sum_{n=-\infty }^\infty \delta (t-n T).\tag{3} \]](/eksperimentai/files/tex/45cbc7d115897f3d46617e61c9a33f7ffcf539ee.png)
![\[ x_s (t)=\sum _{n=-\infty }^\infty x(t) \delta (t-n T).\tag{4} \]](/eksperimentai/files/tex/fbfb3008fd559fbe86f1aa337d952a50e5e7ba93.png)
![\[ X_s(\mathrm{i} \omega )=\int_{-\infty }^\infty \!x_s(t) \mathrm{e}^{-\mathrm{i} \omega t}\,\mathrm{d} x=\sum _{n=-\infty }^\infty x(n T)\, \mathrm{e}^{-\mathrm{i} \omega n T}.\tag{5} \]](/eksperimentai/files/tex/9f02edbb6ee4443066e88b6c6b4c407508e273da.png)
![\[ z\rightarrow \mathrm{e}^{\mathrm{i} \omega T}=\mathrm{e}^{2\pi\mathrm{i} f/f_d}.\tag{6} \]](/eksperimentai/files/tex/c779156ffda4042067e46c94216105453c473b84.png)
![\[ y(n)=\sum_{k=-\infty}^\infty c(k) x(n-k).\tag{7} \]](/eksperimentai/files/tex/646b01914e048db81d6587bb86470c0ca31e7fef.png)
![\[ y(n)=\bigl( x(n-1)+x(n-2)+x(n-3)+x(n-4)+x(n-5)\bigr)\big/ 5 .\tag{8} \]](/eksperimentai/files/tex/7566ca9d3d8af6145d2b8dd1ec660683077b2769.png)
![\[ Y(z)=\frac15 \bigl( X(z)z^{-1}+X(z)z^{-2}+X(z)z^{-3}+X(z)z^{-4}+X(z)z^{-5}\bigr)=\frac15 \smash{\sum_{r=1}^5} z^{-r} X(z) .\tag{9} \]](/eksperimentai/files/tex/a971fd60a749bec0e1175452ce1f64caa6d1dd74.png)
![\[ y(n)=\sum_k c(k) x(n-k) \sum_k d(k) y(n-k) .\tag{10} \]](/eksperimentai/files/tex/e1e56c6e5ce59ac83dc58408ada1a08912a929b9.png)
![\[ H(\mathrm{i}\omega )=C(\mathrm{i}\omega )/D(\mathrm{i}\omega ) . \]](/eksperimentai/files/tex/2941d0fb48d02f0b17d2b4143d37964f52a86073.png)