Moving Average Filter Using Matlab


Dengan menggunakan MATLAB, bagaimana saya dapat menemukan rata-rata pergerakan hari ke-3 dari kolom matriks tertentu dan menambahkan rata-rata bergerak ke matriks tersebut. Saya mencoba menghitung rata-rata pergerakan 3 hari dari bawah ke atas matriks. Saya telah memberikan kode saya: Dengan matriks dan topeng berikut ini: Saya telah mencoba menerapkan perintah konv tetapi saya menerima kesalahan. Inilah perintah konv yang saya coba gunakan pada kolom ke 2 matriks a: Output yang saya inginkan diberikan dalam matriks berikut: Jika Anda memiliki saran, saya akan sangat menghargainya. Terima kasih Untuk kolom 2 dari matriks a, saya menghitung rata-rata pergerakan 3 hari sebagai berikut dan menempatkan hasilnya di kolom 4 dari matriks a (saya mengganti nama matriks sebagai 39desiredOutput39 hanya untuk ilustrasi). Rata-rata 3 hari dari 17, 14, 11 adalah 14 rata-rata 3 hari 14, 11, 8 adalah 11 rata-rata 3 hari 11, 8, 5 adalah 8 dan rata-rata 3 hari 8, 5, 2 adalah 5. Tidak ada nilai di bawah 2 baris untuk kolom ke-4 karena penghitungan untuk rata-rata pergerakan 3 hari dimulai dari bawah. Hasil 39valid39 tidak akan ditampilkan sampai setidaknya 17, 14, dan 11. Mudah-mudahan ini masuk akal ndash Aaron 12 Jun 13 at 1:28 Secara umum akan membantu jika Anda menunjukkan kesalahannya. Dalam hal ini Anda melakukan dua hal yang salah: Pertama, konvolusi Anda perlu dibagi tiga (atau panjang rata-rata bergerak) Kedua, perhatikan ukuran c. Anda tidak bisa hanya cocok c ke a. Cara khas untuk mendapatkan rata-rata bergerak adalah dengan menggunakan yang sama: tapi itu tidak seperti yang Anda inginkan. Sebagai gantinya Anda terpaksa menggunakan beberapa baris: Moving Average Filter (MA filter) Loading. Filter rata-rata bergerak adalah filter Low Pass FIR (Finite Impulse Response) sederhana yang biasa digunakan untuk merapikan rangkaian datafile sampel. Diperlukan M sampel input sekaligus dan mengambil rata-rata sampel M tersebut dan menghasilkan satu titik keluaran. Ini adalah struktur LPF (Low Pass Filter) yang sangat sederhana yang berguna bagi ilmuwan dan insinyur untuk menyaring komponen bising yang tidak diinginkan dari data yang dimaksud. Seiring bertambahnya panjang filter (parameter M) kelancaran output meningkat, sedangkan transisi tajam pada data menjadi semakin tumpul. Ini menyiratkan bahwa filter ini memiliki respons domain waktu yang sangat baik namun respons frekuensinya buruk. Filter MA melakukan tiga fungsi penting: 1) Mengambil titik masukan M, menghitung rata-rata titik M tersebut dan menghasilkan titik keluaran tunggal 2) Karena perhitungan perhitungan yang dilakukan. Filter memperkenalkan jumlah penundaan yang pasti 3) Filter bertindak sebagai Low Pass Filter (dengan respons domain frekuensi yang buruk dan respons domain waktu yang baik). Matlab Code: Kode matlab berikut mensimulasikan respon domain waktu dari M-point Moving Average filter dan juga merencanakan respons frekuensi untuk berbagai panjang filter. Time Domain Response: Pada plot pertama, kita memiliki input yang masuk ke moving average filter. Masukannya berisik dan tujuan kami adalah mengurangi kebisingan. Angka berikutnya adalah respon output dari filter Moving Average 3-point. Dapat disimpulkan dari gambar bahwa filter Moving Average 3-point tidak banyak membantu dalam menyaring noise. Kami meningkatkan keran filter menjadi 51 poin dan kita dapat melihat bahwa noise pada output telah berkurang banyak, yang digambarkan pada gambar berikutnya. Kami meningkatkan keran lebih jauh ke 101 dan 501 dan kita dapat mengamati bahkan - meski suaranya hampir nol, transisinya menjadi tumpul secara drastis (mengamati lereng di kedua sisi sinyal dan membandingkannya dengan transisi dinding bata yang ideal di Masukan kami). Respon Frekuensi: Dari respons frekuensi dapat dikatakan bahwa roll-off sangat lambat dan redaman pita stop tidak baik. Mengingat redaman band stop ini, jelas, filter rata-rata bergerak tidak bisa memisahkan satu pita frekuensi dari yang lain. Seperti kita ketahui bahwa kinerja yang baik dalam domain waktu menghasilkan kinerja yang buruk dalam domain frekuensi, dan sebaliknya. Singkatnya, rata-rata bergerak adalah filter pemulusan yang sangat baik (tindakan dalam domain waktu), namun filter low-pass yang sangat buruk (tindakan di domain frekuensi) Tautan Eksternal: Buku yang Disarankan: Sidebar Utama Diciptakan pada hari Rabu, 08 Oktober 2008 20:04 Terakhir Diperbaharui pada Kamis, 14 Maret 2013 01:29 Ditulis oleh Batuhan Osmanoglu Hits: 41408 Moving Average Di Matlab Seringkali saya mendapati diri saya membutuhkan data rata-rata saya harus mengurangi sedikit kebisingan. Saya menulis beberapa fungsi untuk melakukan apa yang saya inginkan, tapi matlabs yang dibangun dengan fungsi filter bekerja dengan cukup baik. Disini saya menulis tentang data rata-rata 1D dan 2D. Filter 1D dapat direalisasikan dengan menggunakan fungsi filter. Fungsi filter memerlukan setidaknya tiga parameter masukan: koefisien numerator untuk filter (b), koefisien penyebut untuk filter (a), dan data (X) tentu saja. Filter rata-rata yang sedang berjalan dapat didefinisikan hanya dengan: Untuk data 2D kita bisa menggunakan fungsi Matlabs filter2. Untuk informasi lebih lanjut tentang bagaimana filter bekerja, Anda dapat mengetikkan: Berikut adalah penerapan filter rata-rata bergerak 16 by 16 yang cepat dan kotor. Pertama kita perlu mendefinisikan filternya. Karena semua yang kita inginkan adalah kontribusi yang setara dari semua tetangga kita bisa menggunakan fungsinya. Kita membagi semuanya dengan 256 (1616) karena kita tidak ingin mengubah tingkat umum (amplitudo) sinyal. Untuk menerapkan filter, kita bisa mengatakan berikut ini Berikut adalah hasil fase interferogram SAR. Dalam hal ini Range berada pada sumbu Y dan Azimuth dipetakan pada sumbu X. Filternya lebar 4 piksel di Range dan 16 piksel di Azimuth.

Comments