Saturs
MATLAB ir programmēšanas rīks, ko var izmantot, lai detalizēti analizētu un apstrādātu signālus. Kopēja darbība signālu apstrādē vienā vai vairākos izmēros ir augstfrekvences trokšņa noņemšana. Zema caurlaidības filtrs pēc definīcijas ir paredzēts, lai no signāla noņemtu frekvences, kas pārsniedz noteiktu vērtību. Izmantojot filtru2 () funkciju MATLAB, ir viens veids, kā īstenot šādu filtru.
Instrukcijas
MATLAB filtra2 () funkcija ļauj īstenot zemas caurlaidības filtru (Hemera Technologies / AbleStock.com / Getty Images)-
Importējiet datus MATLAB. Bieži tiek filtrēti signāli, kas tiek glabāti binārā formātā, kuram nepieciešams importēt zemu I / O funkciju, piemēram, fread (). Tomēr MATLAB ietver attēlu importētājus visbiežāk lietotajiem formātiem.
my_data = fread (file_handle, n_samples, data_type); my_image = imread ('my_image_file.tif', 'TIFF');
-
Pārveidojiet datus divdimensiju masīvā, pirms to apstrādājat ar filtra2 () funkciju. To var izdarīt, pārveidojot viendimensiju bināro bloku uz masīvu, izmantojot pārformatēšanas () funkciju, vai izvēloties attēlu no sērijas. Izmantojiet saspiešanas () funkciju, lai noņemtu atsevišķus izmērus, izvēloties masīva daļu ar vairāk nekā diviem izmēriem.
my_image = pārveidot (my_data, platums, augstums); my_other_image = saspiest (my_image_series (:,: image_number));
-
Zīmējiet savu filtru un saglabājiet rezultātu divdimensiju masīvā H. Parasti zemas caurlaides filtrs izmanto "Gausa logu", ko var izveidot ar fspecial () funkciju. Filtrus var izveidot arī ar speciālu sptool signālu apstrādes funkciju (). Jūs varat redzēt filtra loga frekvenci, izmantojot wvtool () funkciju. Piemēra kodā H ir 24x24 masīvs, kas satur standarta novirzes Gausa logu 10.
H = fspecial ('gaussian', [24 24], 10); wvtool (H);
-
Veic filtrēšanu, izmantojot divdimensiju konvolācijas algoritmu, kas ieviests ar filtru2 (). Pēc noklusējuma filtra2 () rezultātam ir tādi paši izmēri kā ievades datu kopai.
my_filtered_data = filtrs2 (my_data, H);