Uudelleennäytteistys signaalinkäsittelyssä on diskreetin (useimmiten digitaalisen ) signaalin näytteenottotaajuuden muutos . Uudelleennäytteistysalgoritmeja käytetään laajalti audiosignaalien , radiosignaalien ja kuvien käsittelyssä ( bittikartan uudelleennäytteenotto on muutos sen resoluutiossa pikseleinä ).
Uutta näytteenottotaajuutta vastaavat signaalinäytteet lasketaan jo saatavilla olevista näytteistä, eivätkä ne sisällä uutta tietoa.
Ylösnäytteistystä kutsutaan interpoloinniksi ja alasnäytteeksi desimaatioksi . [yksi]
Kotelnikovin lauseen mukaan mikä tahansa jatkuva signaali, jolla on äärellinen spektri (eli sellainen spektri, jossa ei ole tiettyä taajuutta suurempia tai yhtä suuria taajuuksia vastaavia spektrikomponentteja ) voidaan esittää näytteinä diskreetistä signaalista näytteenottotaajuudella. . Lisäksi tällainen muunnos on yksi yhteen , eli Kotelnikov-lauseen ehtojen mukaisesti on mahdollista palauttaa alkuperäinen signaali äärellisellä spektrillä ilman vääristymiä diskreetistä signaalista. [2]
Uudelleennäytteenotossa yhtä näytteenottotaajuutta vastaavat signaalinäytteet lasketaan saman signaalin käytettävissä olevista näytteistä, jotka vastaavat toista näytteenottotaajuutta (oletetaan, että molemmat näytteenottotaajuudet vastaavat Kotelnikov-lauseen ehtoja). Ihanteellinen uudelleennäytteenotto vastaa jatkuvan signaalin palauttamista näytteistä ja sen jälkeen näytteistystä uudella taajuudella. [3]
Alkuperäisen jatkuvan signaalin arvon tarkka laskenta tietyssä pisteessä suoritetaan seuraavasti: [4] [5]
missä on signaalin i:s näyte, on tätä näytettä vastaava ajan hetki, on syklinen näytteenottotaajuus, on signaalin interpoloitu arvo hetkellä .
Funktio ei ole äärellinen , joten signaalin arvon laskemiseksi tietyllä hetkellä käyttämällä yllä olevaa lauseketta, sen näytteitä on käsiteltävä ääretön määrä (sekä menneisyydessä että tulevaisuudessa), mikä on mahdotonta toteuttaa harjoitella. Tosielämässä interpolointi suoritetaan käyttämällä muita suodattimia , kun taas sen lauseke on seuraavanlainen: [6] [7]
missä on vastaavan palautussuodattimen impulssivaste . Tämän suodattimen tyyppi valitaan tehtävän mukaan. [kahdeksan]
Uusien signaalinäytteiden suora laskenta edellä olevia kaavoja käyttäen vaatii huomattavia laskentaresursseja , eikä se ole toivottavaa reaaliaikaisissa sovelluksissa . On olemassa tärkeitä uudelleennäytteenottotapauksia, joissa uusien näytteiden laskeminen on helpompaa: [9]
Tällaisilla rajoituksilla on kätevää käyttää digitaalisten suodattimien standarditoteutuksia uudelleennäytteenottoon.
Toiminnon valinnan määrää kompromissi uudelleennäytteenoton laadun (eli sen läheisyyden ihannetta) ja tämän prosessin laskennallisen monimutkaisuuden välillä. Periaatteessa mitä tahansa alipäästösuodatinta halutulla rajataajuudella voidaan käyttää uudelleennäytteenottoon . FIR - suodattimia käytetään näihin sovelluksiin yleisemmin kuin IIR - suodattimia , koska niillä voidaan rakentaa FIR - suodattimia lineaarisella vaihevasteella . [kymmenen]
Uudelleennäytteenotossa käytetään useimmiten seuraavia digitaalisten suodattimien luokkia: [11]
1. Suodattimet, jotka on rakennettu sen kriteerin perusteella, että taajuusvaste on lähellä ihanteellisen alipäästösuodattimen taajuusvastetta :
1.1. Ikkunalliset sinc-suodattimet - niiden impulssivaste saadaan kertomalla ihanteellisen alipäästösuodattimen impulssivaste ikkunatoiminnolla , 1.2. Tasaaaltoiset Chebyshev-suodattimet .2. Klassiset funktiointerpolointimenetelmät (käytetään usein kuville) [12] :
2.1. Lineaariset interpolaattorit , 2.2. Lagrangen interpolaattorit ( erikoistapaus - kuutiointerpolointi ).3. CIC-suodattimet (kampasuodattimien ja integraattoreiden sarjat). [13] Tämä suodatinluokka ei käytä kertolaskuja laskennassa, mikä säästää laskentaresursseja.
Signaalin näytetaajuuden pienentämisprosessia kutsutaan desimaatioksi. [1] Joskus tätä termiä käytetään vain pienentämään näytteenottotaajuutta kokonaislukumäärällä (jäljempänä ). [14] Digitaalisen signaalin desimointi kokonaislukukertoimella suoritetaan kahdessa vaiheessa: [10] [15]
Englanninkielisessä kirjallisuudessa toista näistä vaiheista kutsutaan joskus alasamplingiksi . [16] Arkielämässä tätä termiä voidaan käyttää synonyyminä termille "desimaatio".
Ensimmäinen vaihe on välttämätön aliasoinnin eliminoimiseksi , joka on luonteeltaan samanlainen kuin aliasointi analogisen signaalin alkunäytteenotossa . [15] Aliasointi on erityisen havaittavissa niillä signaalin alueilla, jotka sisältävät merkittäviä korkeataajuisia spektrikomponentteja. Joten artikkelin alussa siteeratuissa valokuvissa taivas ei käytännössä aliasoitunut, mutta vaikutus tulee havaittavaksi, jos kiinnität huomiota teräviin siirtymiin.
Desimointialgoritmin ohjelmistototeutuksessa "ylimääräisiä" lukemia ei poisteta, vaan niitä ei yksinkertaisesti lasketa. Tässä tapauksessa digitaalisuodattimeen tulevien puheluiden määrä vähenee kertoimella. Laitteistototeutuksessa voidaan saavuttaa säästöjä käyttämällä monivaihesuodattimia . [17]
Interpolointi on taajuuden lisäystä kokonaisluvulla tai murto-osalla [1] laskemalla välilukemat olemassa olevista lukemista. Ihanteellisen interpoloinnin avulla voit palauttaa signaaliarvot tarkasti välinäytteissä.
Standardi signaalin interpolointialgoritmi kokonaislukukertoimella on seuraava: [18]
Englanninkielisessä kirjallisuudessa ensimmäistä näistä vaiheista kutsutaan joskus nimellä upsampling . [16] Tässä tapauksessa arkielämässä tätä termiä voidaan käyttää synonyymina termille "interpolointi".
Interpoloinnin ohjelmistototeutuksessa nollanäytettä ei oteta mukaan suodattimen lähtösignaalin laskemiseen, mikä mahdollistaa laskentaprosessin optimoinnin. Laitteistototeutuksessa monivaihesuodattimia voidaan käyttää resurssien säästämiseen. [19] [20]
Jos haluat muuttaa signaalin näytteenottotaajuutta kertoimella ( ja ovat positiivisia kokonaislukuja), voit ensin lisätä näytteenottotaajuutta kertoimella ja sitten pienentää sitä kertoimella. Signaalin suodattaminen riittää vain kerran - interpoloinnin ja desimoinnin välillä. [21]
Tämän menetelmän haittapuolena on tarve suodattaa signaali useaan kertaan suuremmalla näytteenottotaajuudella, mikä vaatii merkittäviä laskentaresursseja . Tässä tapauksessa vastaava taajuus voi olla monta kertaa suurempi kuin sekä alkuperäinen että lopullinen uudelleennäytteenottotaajuus, varsinkin jos ja ovat lähellä suuria lukuja. [22] Joten esimerkiksi kun näytteitellään audiosignaalia uudelleen 44 100 Hz :stä 48 000 Hz:iin tällä menetelmällä, näytteistystaajuutta on lisättävä kertoimella 160 - 7 056 000 Hz ja vähennettävä sitä sitten kertoimella 147 - 48 000 Hz. Näin ollen tässä esimerkissä laskelmat on suoritettava yli 7 MHz:n näytteenottotaajuudella.
Monivaihesuodattimia käyttävä uudelleennäytteenottomenetelmä on samanlainen kuin edellinen sillä erolla, että yhden suurella näytteenottotaajuudella toimivan suodattimen sijaan käytetään useita matalalla taajuudella toimivia suodattimia. Tässä tapauksessa on mahdollista vähentää tarvittavien laskelmien määrää, koska jokaiselle näytteelle on tarpeen laskea vain yhden näistä suodattimista lähtösignaali. [20] [23]
Monivaiheinen suodatin on joukko pieniä rinnakkain toimivia suodattimia, joista jokainen käsittelee vain osan signaalinäytteistä (jos suodattimia on yhteensä, jokainen suodatin käsittelee vain joka -nnen näytteen).
Monivaihesuodattimia käytetään uudelleennäytteenottoon sekä kokonaisluku- että murtolukukertoimilla. [24]
DFT - uudelleennäytteenottoa käytetään lisäämään näytteenottotaajuutta kokonaisluvulla tai murto-osalla. Algoritmi toimii vain signaalin äärellisillä segmenteillä . Olkoon näytteiden alkuperäinen määrä, näytteistettyjen signaalien näytteiden lukumäärä. Algoritmi sisältää seuraavat toiminnot: [25] [26]
1. Alkuperäisen signaalin DFT lasketaan (useimmiten nopealla Fourier-muunnosalgoritmilla ).
2. Tarvittava määrä nollakomponentteja lisätään spektrin keskelle :
2.1. jos outoa: 2.2. jos edes:3. Käänteinen diskreetti Fourier-muunnos normalisoimalla lasketaan .
Kaikki DFT:hen perustuvat menetelmät on tarkoitettu ensisijaisesti jaksollisille diskreeteille signaaleille. Ei-jaksollisten signaalien käsittelemiseksi on tarpeen valita signaalisegmentit DFT :n laskemista varten siten, että niiden päät menevät päällekkäin. [27]
Uudelleennäytteistysalgoritmien sekä laitteiston (perustuu erikoistuneisiin mikropiireihin [28] [29] tai FPGA :hen [30] ) että ohjelmistoihin (perustuu yleiskäyttöisiin prosessoreihin (katso alla) tai signaaliprosessoreihin [31] ) käytetään laajasti.
Uudelleennäytteenottoalgoritmin tietyn toteutuksen valinta on tulos muunnoksen laadun ja sen laskennallisen monimutkaisuuden välisestä kompromissista . Tärkein näihin ominaisuuksiin vaikuttava parametri on käytettävien digitaalisten suodattimien läheisyys ihanteellisiin suodattimiin. Paremmat suodattimet vaativat enemmän laskentaresursseja. [32]
Käytännössä uudelleennäytteenotto johtaa useimmissa tapauksissa signaalin tietojen katoamiseen seuraavista syistä:
Näin ollen, kun näytteenottotaajuutta lisätään ja sen jälkeen lasketaan alkuperäiseen arvoon, signaalin laatu menetetään (ellei korkea taajuus ole matalan kerrannainen).
Signaalien näytteistys näytteenottotaajuuden marginaalilla ( englanniksi oversampling ) tarkoittaa signaalin näytteistystä taajuudella, joka on useita kertoja suurempi kuin Kotelnikovin taajuus , mitä seuraa desimointi. Tämä lähestymistapa mahdollistaa seuraavat edut [35] :
Samanlaista lähestymistapaa käytetään myös palautettaessa signaali sen näytteistä analogisen palautussuodattimen yksinkertaistamiseksi . [36]
Laitteet, jotka on suunniteltu toistamaan digitaalista ääntä, on yleensä suunniteltu hyvin määritellylle signaalin näytteenottotaajuudelle juuri ennen digitaali-analogiamuunnosa . Kaikki audiosignaalit, joilla on muita näytteenottotaajuuksia, on näytteistettävä uudelleen ennemmin tai myöhemmin [37] .
Mediasoitin , äänikortin ajuri tai äänikortti itse voi tehdä äänisignaalin näytteistämisen halutulle taajuudelle . Soitinohjelman käyttö tähän tarkoitukseen voi olla perusteltua, jos haluat välttää äänen laitteiston uudelleennäytteistyksen (tai ohjaimen ylinäytteistyksen) paremman laadun saavuttamiseksi (korkeammalla prosessorikuormalla ). Toistetun materiaalin ohjelmistonäytteistys taajuudelle, joka poikkeaa laitteen tukemasta taajuudesta, ei kuitenkaan ole järkevää ja johtaa vain signaalin laadun heikkenemiseen.
On olemassa avoimen lähdekoodin ohjelmistojen äänen uudelleensamplereita :
Uudelleennäytteistystä tukevat myös äänenmuokkausohjelmistot (kuten Adobe Audition , Sony Sound Forge tai Audacity ).
Koon muuttaminen on yksi yleisimmistä kuvankäsittelytoiminnoista. Lähes ihanteellinen ylinäytteenotto ei ole aina toivottavaa. Päinvastoin, suodattimien tulokset, joiden taajuusvaste on kaukana ihanteellisesta, voidaan nähdä visuaalisesti hyviksi. [42] Suodattimen valinta uudelleennäytteenottoa varten on seurausta artefaktien tyypin ja vakavuuden sekä muunnoksen laskennallisen monimutkaisuuden välisestä kompromissista (oleellista reaaliaikaisissa sovelluksissa ).
Tyypillisiä artefakteja kuvan resoluutiota muutettaessa: [12] :
Kuvan uudelleennäytteenottoa varten käytetään suurta määrää suodattimia, jotka voidaan luokitella seuraavasti [12] :
Alla olevat kuvat havainnollistavat yleisimmin käytettyjen kuvan koonmuutossuodattimien käyttöä. Kun lisäät kuvan kokoa ilman suodatinta, kuva on terävä, mutta pikselöity. Bilineaarisella interpoloinnilla pikselointi on vähemmän havaittavissa, mutta kuva on epäselvä. Gauss-suodatinta käytettäessä kuva on epäselvä, mutta pikselöitymistä ei juuri huomaa. Lanczos-suodatinta käytettäessä ei esiinny pikselointia, kuva on myös sumea ja soittoääntä on havaittavissa (näkyy valona kuvioiden ympärillä).
Kuva suurennettu 4 kertaa ilman suodatinta
Kuvaa suurennettu 4 kertaa bilineaarisella interpoloinnilla
Kuva suurennettu 4 kertaa Gauss-suodattimella
Kuvaa suurennettu 4 kertaa Lanczos-suodattimella
Digitaalisia signaaleja demoduloitaessa on toivottavaa, että signaalin näytteenottotaajuus on sen avainnustaajuuden monikerta (toisin sanoen, että jokaisella symbolilla on sama määrä signaalinäytteitä). ADC :n tulosignaalin näytteenottotaajuus on kuitenkin yleensä kiinteä, kun taas näppäinnopeus voi vaihdella. Ratkaisu on signaalin uudelleennäytteenotto. [43]