Turinys
MATLAB yra programavimo įrankis, kuriuo galima išsamiai analizuoti ir apdoroti signalus. Bendras signalų apdorojimas viename ar keliuose matmenyse yra aukšto dažnio triukšmo pašalinimas. Žemo dažnio filtras pagal apibrėžimą yra skirtas pašalinti signalus, viršijančius tam tikrą reikšmę. Naudojant MATLAB filtro2 () funkciją, yra vienas iš būdų įgyvendinti tokį filtrą.
Instrukcijos
MATLAB filtro2 () funkcija leidžia įdiegti žemo dažnio filtrą („Hemera Technologies“ / „AbleStock.com“ / „Getty Images“)-
Importuokite duomenis į MATLAB. Dažnai signalai, kuriuos reikia filtruoti, yra saugomi dvejetainiu formatu, todėl reikia importuoti žemo lygio I / O funkciją, pvz., Fread (). Tačiau MATLAB apima vaizdų importuotojus dažniausiai naudojamiems formatams.
my_data = fread (file_handle, n_samples, data_type); my_image = imread ('my_image_file.tif', 'TIFF');
-
Konvertuokite duomenis į dvimatę matricą, prieš apdorodami ją su filtro2 () funkcija. Tai galite padaryti perskaičiuojant vienodį dvejetainį masyvą į masyvą per performavimo () funkciją arba pasirinkdami serijos vaizdą. Naudokite funkciją „išspausti“ (), kad pašalintumėte atskirus matmenis, pasirinkdami masyvo dalį, turinčią daugiau nei du matmenis.
my_image = perrašyti (my_data, plotis, aukštis); my_other_image = išspausti (my_image_series (:,: image_number));
-
Nupieškite filtrą ir išsaugokite rezultatą dvimatėje matricoje H. Paprastai žemo dažnio filtras naudoja „gauso langą“, kurį galima sukurti su fspecial () funkcija. Filtrai taip pat gali būti suprojektuoti naudojant specialią sptool signalo apdorojimo funkciją (). Naudodami wvtool () funkciją galite pamatyti filtro lango dažnio atsaką. Pavyzdiniame kode H yra 24x24 masyvas, kuriame yra standartinis nuokrypis Gauso langas 10.
H = fspecial („Gaussian“, [24 24], 10); wvtool (H);
-
Filtravimas atliekamas naudojant dvimatį konvoliucijos algoritmą, įgyvendinamą per filtrą2 (). Pagal nutylėjimą filtrų2 () rezultatas yra toks pats, kaip ir įvesties duomenų rinkinys.
my_filtered_data = filter2 (my_data, H);