Conţinut
MATLAB este un instrument de programare care poate fi folosit pentru analiza și procesarea semnalelor în detaliu. O operație comună în prelucrarea semnalelor în una sau mai multe dimensiuni este eliminarea zgomotului de înaltă frecvență. Un filtru trece-jos, prin definiție, este conceput pentru a elimina frecvențele deasupra unei anumite valori dintr-un semnal. Folosind funcția filter2 () în MATLAB este o modalitate de a implementa un astfel de filtru.
instrucțiuni de ghidare
Funcția filter2 () a MATLAB vă permite să implementați un filtru low-pass (Hemera Technologies / AbleStock.com / Getty Images)-
Importați datele în MATLAB. Frecvent, semnalele care trebuie filtrate sunt stocate în format binar, necesitând să fie importată o funcție de I / O de nivel inferior, cum ar fi fread (). Cu toate acestea, MATLAB include importatori de imagini pentru cele mai comune formate.
my_data = fread (file_handle, n_samples, date_type); my_image = imread ('my_image_file.tif', 'TIFF');
-
Conversia datelor într-o matrice bidimensională înainte de a le procesa cu funcția filter2 (). Puteți face acest lucru transformând o matrice binară unidimensională într-o matrice prin intermediul funcției reshape () sau selectând o imagine dintr-o serie. Utilizați funcția squeeze () pentru a elimina dimensiunile singleton prin selectarea unei părți dintr-o matrice cu mai mult de două dimensiuni.
my_image = remodelarea (my_data, lățimea, înălțimea); my_other_image = squeeze (my_image_series (:,: imagine_number));
-
Desenați filtrul și stocați rezultatul într-o matrice bidimensională H. În general, un filtru trece-jos utilizează o "fereastră gaussiană" care poate fi creată cu funcția fspecial (). Filtrele pot fi, de asemenea, proiectate cu ajutorul funcției speciale de procesare a semnalului (). Puteți vedea răspunsul de frecvență al ferestrei de filtrare utilizând funcția wvtool (). În exemplul de cod, H este o matrice 24x24 care conține o fereastră Gaussian deviație standard 10.
H = fspecial ("gaussian", [24 24], 10); wvtool (H);
-
Efectuați filtrarea utilizând algoritmul de convoluție bidimensională implementat prin filtrul2 (). În mod implicit, rezultatul filtrului2 () are aceleași dimensiuni ca și setul de date de intrare.
my_filtered_data = filter2 (my_data, H);