MATLAB er et programmeringsværktøj , der kan bruges til en omfattende signal og billedanalyse og forarbejdning. En fælles operation i behandlingen af en enkelt eller flerdimensional signaler er fjernelse af højfrekvent støj. En lav -pass filter ved definition er designet til at fjerne signal over en vis frekvens tærskel. Brug af filter2 () funktionen i Matlab er én måde at gennemføre et low-pass filter. Instruktioner
1
Importer dine data i MATLAB . Ofte er rå signaler behov for filtrering optaget i binært format , som kræver et lavt niveau fil I /O- funktion til at importere, såsom fread (). Men MATLAB indeholder indbyggede billed importører for de fleste almindelige filformater
my_data = fread ( file_handle , n_samples , DATA_TYPE ) . My_image = imread ( ' my_image_file.tif ', ' TIFF ');
2
konvertere data til en todimensional matrix , før behandlingen med filter2 ( ) funktion. Du kan gøre dette ved at konvertere en-dimensionale binære data til en matrix vha. omforme () funktion , eller ved at vælge et billede fra et billede serie. Brug squeeze () funktion til at fjerne singleton dimensioner, når du vælger en del af en matrix med mere end to dimensioner
my_image = omforme ( my_data , bredde, højde ), my_other_image = squeeze ( my_image_series (: . , : , image_number )),
3
Design dit filter og gemme resultatet som den todimensionale matrix H. A Gaussisk vindue er almindeligt anvendt til low -pass filter applikationer, og kan laves med fspecial ( ) funktion . Filtre kan også være udformet i Matlabs signalbehandling værktøj funktion sptool ( ) . Du kan se frekvensgang dit filter vindue vha. wvtool ( ) funktion. I eksempel kode , er H en 24 - af -24 matrix indeholdende en Gauss vindue standardafvigelse 10
H = fspecial ( ' Gaussian « , [ 24 24 ] , 10) . Wvtool ( H ) ;
4
Udfør filtreringen ved hjælp af to-dimensionelle convolution algoritme implementeret af filter2 (). Som standard er resultatet af filter2 () af de samme dimensioner som input data
my_filtered_data = filter2 ( my_data , H ) .