Come creare un filtro passa-basso usando Filter2 in MATLAB

Autore: Laura McKinney
Data Della Creazione: 1 Aprile 2021
Data Di Aggiornamento: 17 Novembre 2024
Anonim
Designing Digital Filters with MATLAB
Video: Designing Digital Filters with MATLAB

Contenuto

MATLAB è uno strumento di programmazione che può essere utilizzato per analizzare e elaborare i segnali in dettaglio. Un'operazione comune nell'elaborare i segnali in una o più dimensioni è la rimozione del rumore ad alta frequenza. Un filtro passa-basso, per definizione, è progettato per rimuovere frequenze superiori ad un certo valore da un segnale. L'uso della funzione filter2 () in MATLAB è un modo per implementare tale filtro.


indicazioni

La funzione filter2 () di MATLAB consente di implementare un filtro passa-basso (Hemera Technologies / AbleStock.com / Getty Images)
  1. Importa i tuoi dati in MATLAB. Spesso i segnali che devono essere filtrati vengono archiviati in formato binario, per cui è necessario importare una funzione I / O di basso livello, ad esempio fread (). Tuttavia, MATLAB include importatori di immagini per i formati più comuni.

    my_data = fread (file_handle, n_samples, data_type); my_image = imread ('my_image_file.tif', 'TIFF');

  2. Converti i dati in un array bidimensionale prima di elaborarli con la funzione filter2 (). È possibile farlo convertendo una matrice binaria monodimensionale in una matrice tramite la funzione reshape () o selezionando un'immagine da una serie. Utilizzare la funzione squeeze () per rimuovere le dimensioni singleton selezionando una parte di un array con più di due dimensioni.


    my_image = reshape (my_data, width, height); my_other_image = squeeze (my_image_series (:,: numero_immagine));

  3. Disegna il tuo filtro e memorizza il risultato in una matrice bidimensionale H. Generalmente un filtro passa-basso usa una "finestra gaussiana" che può essere creata con la funzione fspecial (). I filtri possono anche essere progettati con la speciale funzione di elaborazione del segnale sptool (). Puoi vedere la risposta in frequenza della finestra del filtro usando la funzione wvtool (). Nel codice di esempio, H è un array 24x24 che contiene una finestra gaussiana di deviazione standard 10.

    H = fspecial ('gaussian', [24 24], 10); wvtool (H);

  4. Eseguire il filtraggio utilizzando l'algoritmo di convoluzione bidimensionale implementato tramite filter2 (). Per impostazione predefinita, il risultato di filter2 () ha le stesse dimensioni del set di dati di input.

    my_filtered_data = filter2 (my_data, H);


Molte pecie di inetti che preferirebbero vivere fuori caa poono facilmente diventare paraiti interni quando qualcoa li attira e li cotringe a rimanere lì. Un buon eempio di queto tipo di comporta...

La maggior parte delle donne entra in menopaua (la fine del ciclo metruale) all'età di 52 anni. Prima di entrare in menopaua, una donna può trovari in uno tato di tranizione chiamato per...

Popolare Sul Sito