Cum de a crea un filtru trece-jos Folosind Filter2 în MATLAB - Articole

Cum de a crea un filtru trece-jos Folosind Filter2 în MATLAB

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)
  1. 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');

  2. 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));

  3. 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);

  4. 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);