Isi
MATLAB adalah alat pemrograman yang dapat digunakan untuk menganalisis dan memproses sinyal secara rinci. Operasi umum dalam pemrosesan sinyal dalam satu atau beberapa dimensi adalah menghilangkan noise frekuensi tinggi. Filter low-pass, menurut definisi, dirancang untuk menghilangkan frekuensi di atas nilai tertentu dari suatu sinyal. Menggunakan fungsi filter2 () di MATLAB adalah salah satu cara untuk mengimplementasikan filter semacam itu.
Instruksi
Fungsi filter2 () MATLAB memungkinkan Anda menerapkan filter low-pass (Hemera Technologies / AbleStock.com / Getty Images)-
Impor data Anda ke MATLAB. Seringkali, sinyal yang perlu disaring disimpan dalam format biner, membutuhkan fungsi I / O tingkat rendah, seperti fread (), yang akan diimpor. Namun, MATLAB menyertakan importir gambar untuk format yang paling umum.
my_data = fread (file_handle, n_samples, data_type); my_image = imread ('my_image_file.tif', 'TIFF');
-
Konversikan data menjadi array dua dimensi sebelum memprosesnya dengan fungsi filter2 (). Anda dapat melakukan ini dengan mengonversi array biner satu dimensi ke array melalui fungsi membentuk kembali (), atau dengan memilih gambar dari seri. Gunakan fungsi squeeze () untuk menghapus dimensi tunggal dengan memilih bagian array dengan lebih dari dua dimensi.
my_image = membentuk kembali (my_data, lebar, tinggi); my_other_image = squeeze (my_image_series (:,: image_number));
-
Gambar filter Anda dan simpan hasilnya dalam array dua dimensi H. Umumnya filter low pass menggunakan "gaussian window" yang dapat dibuat dengan fungsi fspecial (). Filter juga dapat dirancang dengan fungsi pemrosesan sinyal sptool khusus (). Anda dapat melihat respons frekuensi jendela filter Anda dengan menggunakan fungsi wvtool (). Dalam kode contoh, H adalah array 24x24 yang berisi deviasi standar Gaussian window 10.
H = fspecial ('gaussian', [24 24], 10); wvtool (H);
-
Lakukan pemfilteran menggunakan algoritma konvolusi dua dimensi yang diimplementasikan melalui filter2 (). Secara default, hasil filter2 () memiliki dimensi yang sama dengan dataset input.
my_filtered_data = filter2 (my_data, H);