Sisältö
MATLAB on ohjelmointityökalu, jota voidaan käyttää signaalien analysointiin ja käsittelyyn yksityiskohtaisesti. Yleinen toiminta signaalien käsittelyssä yhdessä tai useammassa ulottuvuudessa on suurtaajuisen kohinan poistaminen. Alipäästösuodatin on määritelmän mukaan suunniteltu poistamaan tietyn arvon yläpuolella olevat taajuudet signaalista. MATLABin suodatin2 () -toiminnon käyttäminen on yksi tapa toteuttaa tällainen suodatin.
ohjeet
MATLABin suodatin2 () -toiminnon avulla voit toteuttaa alipäästösuodattimen (Hemera Technologies / AbleStock.com / Getty Images)-
Tuo tiedot MATLABiin. Usein suodatettavat signaalit tallennetaan binäärimuodossa, joka vaatii alhaisen tason I / O-funktion, kuten fread (), tuodaan. MATLAB sisältää kuitenkin kuvien tuojia yleisimpiä muotoja varten.
my_data = fread (file_handle, n_samples, data_type); my_image = imread ('my_image_file.tif', 'TIFF');
-
Muunna tiedot kaksiulotteiseksi taulukoksi ennen sen käsittelyä suodatin2 () -toiminnolla. Voit tehdä tämän muuntelemalla yhdenulotteisen binääriryhmän matriisiksi uudelleenmuodostus- () -toiminnon kautta tai valitsemalla kuvan sarjasta. Käytä puristus () -toimintoa poistaaksesi yksittäiset mitat valitsemalla joukon, jossa on enemmän kuin kaksi ulottuvuutta.
my_image = muotoile uudelleen (my_data, leveys, korkeus); my_other_image = purista (my_image_series (:,: image_number));
-
Piirrä suodatin ja tallenna tulos kaksiulotteiseen ryhmään H. Yleensä alipäästösuodatin käyttää "Gaussin ikkunaa", joka voidaan luoda fspecial () -toiminnolla. Suodattimet voidaan suunnitella myös erityisellä sptool-signaalinkäsittelytoiminnolla (). Voit nähdä suodatinikkunan taajuusvasteen käyttämällä wvtool () -toimintoa. Esimerkkikoodissa H on 24x24-ryhmä, joka sisältää standardipoikkeaman Gaussin ikkunan 10.
H = fspecial ('gaussilainen', [24 24], 10); wvtool (H);
-
Suodatus suoritetaan käyttämällä suodattimen2 () kautta toteutettua kaksidimensioista konvoluutioprosessia. Oletuksena suodattimen2 () tulos on samat mitat kuin syöttötiedosto.
my_filtered_data = filter2 (my_data, H);