Saturday 26 August 2017

Moving average fir filter matlab


Filter FIR, filter IIR, dan persamaan perbedaan koefisien konstanta linier Filter Penyebab Timbal Rata-rata (FIR) Weve membahas sistem di mana setiap sampel keluaran adalah jumlah tertimbang (tertentu) sampel masukan. Mari kita gunakan sistem jumlah tertimbang kausal, di mana kausal berarti bahwa sampel keluaran tertentu hanya bergantung pada sampel masukan saat ini dan masukan lainnya di awal rangkaian. Baik sistem linear pada umumnya, maupun sistem respon impuls terbatas pada khususnya, perlu kausal. Namun, kausalitas mudah untuk semacam analisis yang akan segera dijelajahi. Jika kita melambangkan input sebagai nilai dari vektor x. Dan output sebagai nilai yang sesuai dari vektor y. Maka sistem seperti itu dapat ditulis sebagai tempat nilai b quotightightsquot diterapkan pada sampel masukan saat ini dan sebelumnya untuk mendapatkan sampel keluaran saat ini. Kita bisa memikirkan ungkapan sebagai sebuah persamaan, dengan arti sama dengan tanda yang sama, atau sebagai instruksi prosedural, sama dengan tanda makna tugas. Mari kita tuliskan ungkapan untuk setiap sampel keluaran sebagai lingkaran MATLAB dari pernyataan penugasan, di mana x adalah vektor masukan N-panjang, dan b adalah vektor bobot M-panjang. Untuk menangani kasus khusus di awal, kita akan menanamkan x dalam vektor xu yang lebih panjang yang sampel M-1 pertamanya nol. Kami akan menulis penjumlahan tertimbang untuk setiap y (n) sebagai hasilkali dalam, dan akan melakukan manipulasi masukan (seperti membalikkan b) sampai akhir ini. Sistem semacam ini sering disebut filter rata-rata bergerak, untuk alasan yang jelas. Dari diskusi kita sebelumnya, harus jelas bahwa sistem semacam itu bersifat linier dan bergeser-invarian. Tentu saja, akan jauh lebih cepat untuk menggunakan konveksi fungsi MATLAB conv () alih-alih mafilt kita (). Alih-alih mempertimbangkan sampel M-1 pertama dari input menjadi nol, kita dapat menganggapnya sama dengan sampel M-1 terakhir. Ini sama dengan memperlakukan input secara periodik. Nah gunakan cmafilt () sebagai nama fungsi, modifikasi kecil dari fungsi mafilt sebelumnya (). Dalam menentukan respons impuls suatu sistem, biasanya tidak ada perbedaan antara keduanya, karena semua sampel masukan non-awal adalah nol: Karena sistem semacam ini linier dan bergeser-invarian, kita tahu bahwa pengaruhnya terhadap Sinusoid hanya akan berskala dan menggesernya. Di sini penting bahwa kita menggunakan versi melingkar Versi sirkular-konvolusi digeser dan diskalakan sedikit, sementara versi dengan konvolusi biasa terdistorsi sejak awal. Mari kita lihat apa penskalaan dan pergeseran yang tepat dengan menggunakan fft: Baik input dan output hanya memiliki amplitudo pada frekuensi 1 dan -1, seperti seharusnya, mengingat inputnya adalah sinusoid dan sistemnya linier. Nilai output lebih besar dengan rasio 10.62518 1,3281. Inilah keuntungan dari sistem. Bagaimana dengan fase Kita hanya perlu melihat di mana amplitudonya tidak nol: Masukan memiliki fase pi2, seperti yang kita minta. Fase keluaran digeser oleh 1.0594 tambahan (dengan tanda berlawanan untuk frekuensi negatif), atau sekitar 16 dari siklus ke kanan, seperti yang dapat kita lihat pada grafik. Sekarang mari kita coba sinusoid dengan frekuensi yang sama (1), tapi bukannya amplitudo 1 dan fase pi2, mari kita coba amplitudo 1.5 dan fase 0. Kita tahu bahwa hanya frekuensi 1 dan -1 yang memiliki amplitudo nol, jadi mari kita lihat saja. Pada mereka: Sekali lagi rasio amplitudo (15.937712.0000) adalah 1,3281 - dan untuk fase ini lagi digeser oleh 1.0594 Jika contoh-contoh ini khas, kita dapat memprediksi efek sistem kita (respons impuls .1, 2, 3 .4 .5) pada sinusoid dengan frekuensi 1 - amplitudo akan meningkat dengan faktor 1,3281 dan fase (frekuensi positif) akan digeser oleh 1,0594. Kita bisa terus menghitung efek sistem ini terhadap sinusoid frekuensi lain dengan metode yang sama. Tapi ada cara yang lebih sederhana, dan yang menentukan titik umum. Karena (lingkaran) konvolusi dalam domain waktu berarti perkalian dalam domain frekuensi, dari sini berikut Dengan kata lain, DFT dari respon impuls adalah rasio DFT dari keluaran ke DFT dari input. Dalam hubungan ini koefisien DFT adalah bilangan kompleks. Karena abs (c1c2) abs (c1) abs (c2) untuk semua bilangan kompleks c1, c2, persamaan ini memberi tahu kita bahwa spektrum amplitudo respon impuls akan selalu menjadi rasio spektrum amplitudo output dengan input . Dalam kasus spektrum fase, sudut (c1c2) sudut (c1) - angle (c2) untuk semua c1, c2 (dengan syarat bahwa fasa yang berbeda dengan n2pi dianggap sama). Oleh karena itu spektrum fase respon impuls akan selalu menjadi perbedaan antara spektrum fase keluaran dan masukan (dengan koreksi apapun sebesar 2pi diperlukan untuk menjaga hasil antara - pi dan pi). Kita dapat melihat efek fasa lebih jelas jika kita melepaskan representasi fase, yaitu jika kita menambahkan berbagai kelipatan 2pi sesuai kebutuhan untuk meminimalkan lompatan yang dihasilkan oleh sifat periodik fungsi sudut (). Meskipun amplitudo dan fasa biasanya digunakan untuk presentasi grafis dan bahkan tabular, karena ini adalah cara intuitif untuk memikirkan efek suatu sistem pada berbagai komponen frekuensi masukannya, koefisien Fourier yang kompleks lebih bermanfaat secara aljabar, karena memungkinkan Ekspresi sederhana dari hubungan Pendekatan umum yang baru saja kita lihat akan bekerja dengan filter sewenang-wenang dari jenis sketsa, di mana setiap sampel keluaran adalah jumlah tertimbang dari beberapa kumpulan sampel masukan. Seperti disebutkan sebelumnya, ini sering disebut filter Respon Finite Impulse, karena respons impuls adalah ukuran terbatas, atau kadang-kadang filter Moving Average. Kita dapat menentukan karakteristik respons frekuensi dari filter semacam itu dari FFT respons impulsnya, dan kita juga dapat merancang filter baru dengan karakteristik yang diinginkan oleh IFFT dari spesifikasi respons frekuensi. Filter Autoregresif (IIR) Tidak akan ada gunanya memiliki nama untuk filter FIR kecuali ada beberapa jenis lain untuk membedakannya, dan oleh karena itu mereka yang telah mempelajari pragmatik tidak akan terkejut mengetahui bahwa memang ada jenis lain Filter waktu-invariant linier. Filter ini terkadang disebut rekursif karena nilai keluaran sebelumnya (dan juga input sebelumnya) penting, walaupun algoritme umumnya ditulis menggunakan konstruk iteratif. Mereka juga disebut filter Infinite Impulse Response (IIR), karena pada umumnya respons mereka terhadap impuls berlangsung selamanya. Mereka juga kadang-kadang disebut filter autoregresif, karena koefisiennya dapat dianggap sebagai hasil melakukan regresi linier untuk mengekspresikan nilai sinyal sebagai fungsi dari nilai sinyal sebelumnya. Hubungan filter FIR dan IIR dapat dilihat dengan jelas dalam persamaan perbedaan koefisien konstanta linier, yaitu menetapkan jumlah output tertimbang sama dengan jumlah input tertimbang. Ini seperti persamaan yang kita berikan sebelumnya untuk filter FIR kausal, kecuali bahwa selain jumlah input tertimbang, kita juga memiliki jumlah output tertimbang. Jika kita ingin menganggap ini sebagai prosedur untuk menghasilkan sampel keluaran, kita perlu mengatur ulang persamaan untuk mendapatkan ekspresi untuk sampel keluaran saat ini y (n), Mengadopsi konvensi bahwa a (1) 1 (misalnya dengan menskalakan yang lain sebagai Dan bs), kita bisa menyingkirkan istilah 1a (1): y (n) b (1) x (n) b (2) x (n-1). B (Nb1) x (n-nb) - a (2) y (n-1) -. - a (Na1) y (n-na) Jika semua a (n) selain a (1) nol, ini akan mengurangi ke teman lama kita filter kausal FIR. Ini adalah kasus umum filter LTI (sebabal), dan diimplementasikan oleh filter fungsi MATLAB. Mari kita lihat kasus di mana koefisien b selain b (1) adalah nol (bukan kasus FIR, di mana a (n) adalah nol): Dalam kasus ini, sampel keluaran saat ini y (n) dihitung sebagai Kombinasi tertimbang dari sampel masukan saat ini x (n) dan sampel keluaran sebelumnya y (n-1), y (n-2), dll. Untuk mendapatkan ide tentang apa yang terjadi dengan filter semacam itu, mari kita mulai dengan kasus di mana: Artinya, sampel keluaran saat ini adalah jumlah sampel masukan saat ini dan setengah dari sampel keluaran sebelumnya. Nah ambil impuls input melalui beberapa langkah waktu, satu per satu. Harus jelas pada titik ini bahwa kita dapat dengan mudah menulis sebuah ekspresi untuk nilai sampel keluaran ke-n: hanya saja (jika MATLAB dihitung dari 0, ini akan menjadi sederhana .5n). Karena apa yang kita hitung adalah respons impuls dari sistem, kita telah menunjukkan dengan contoh bahwa respons impuls benar-benar dapat memiliki banyak sampel tanpa nol. Untuk menerapkan filter first-order sepele ini di MATLAB, kita bisa menggunakan filter. Panggilan akan terlihat seperti ini: dan hasilnya adalah: Apakah bisnis ini benar-benar masih linier Kita dapat melihat secara empiris ini: Untuk pendekatan yang lebih umum, perhatikan nilai dari suatu sampel keluaran y (n). Dengan substitusi berturut-turut kita bisa menulis ini karena ini sama seperti teman lama kita dengan bentuk konvolusi dari filter FIR, dengan respons impuls yang diberikan oleh ungkapan .5k. Dan panjang respon impuls tak terbatas. Jadi argumen yang sama dengan yang kita gunakan untuk menunjukkan bahwa filter FIR linier sekarang akan diterapkan di sini. Sejauh ini sepertinya sangat merepotkan. Apa keseluruhan penyelidikan ini baik untuk menjawab pertanyaan ini secara bertahap, dimulai dengan sebuah contoh. Ini bukan kejutan besar bahwa kita bisa menghitung eksponensial sampel dengan perkalian rekursif. Mari kita lihat sebuah filter rekursif yang melakukan sesuatu yang kurang jelas. Kali ini juga membuat filter orde kedua, sehingga panggilan untuk menyaring akan menjadi bentuk. Mari mengatur koefisien output kedua a2 ke -2cos (2pi40), dan koefisien output ketiga a3 ke 1, dan lihat impulsnya. tanggapan. Tidak terlalu berguna sebagai filter, sebenarnya, tapi menghasilkan gelombang sinus sampel (dari dorongan hati) dengan tiga kalikan-menambahkan per sampel Untuk memahami bagaimana dan mengapa hal itu terjadi, dan bagaimana filter rekursif dapat dirancang dan dianalisis dalam Kasus yang lebih umum, kita perlu melangkah mundur dan melihat beberapa properti bilangan kompleks lainnya, dalam perjalanan untuk memahami perubahan z. Respons Frekuensi Filter Rata-Rata Menjalankan Respon frekuensi sistem LTI adalah DTFT dari Respon impuls, Respons impuls dari rata-rata pergerakan L-sample adalah Karena filter rata-rata bergerak adalah FIR, respons frekuensi berkurang sampai jumlah yang terbatas Kita dapat menggunakan identitas yang sangat berguna untuk menuliskan respons frekuensi seperti di mana kita membiarkan ae minus jomega . N 0, dan M L minus 1. Kita mungkin tertarik pada besarnya fungsi ini untuk menentukan frekuensi yang melewati filter yang tidak diimbangi dan yang dilemahkan. Berikut adalah sebidang besar fungsi ini untuk L 4 (merah), 8 (hijau), dan 16 (biru). Sumbu horizontal berkisar dari nol sampai radian pi per sampel. Perhatikan bahwa dalam ketiga kasus tersebut, respons frekuensi memiliki karakteristik lowpass. Komponen konstan (nol frekuensi) pada input melewati filter yang tidak diimbangi. Beberapa frekuensi yang lebih tinggi, seperti pi 2, benar-benar dihilangkan oleh filter. Namun, jika maksudnya adalah mendesain filter lowpass, maka kita belum melakukannya dengan baik. Beberapa frekuensi yang lebih tinggi dilemahkan hanya dengan faktor sekitar 110 (untuk rata-rata pergerakan 16 titik) atau 13 (untuk rata-rata pergerakan empat titik). Kita bisa melakukan jauh lebih baik dari itu. Plot di atas dibuat dengan kode Matlab berikut: omega 0: pi400: pi H4 (14) (1-exp (-iomega4)). (1-exp (-iomega)) H8 (18) (1-exp (- Iomega8)). (1-exp (-iomega)) H16 (116) (1-exp (-iomega16)). (1-exp (-iomega)) plot (abs omega, abs (H4) abs (H8) H16)) sumbu (0, pi, 0, 1) Salinan hak cipta 2000- - University of California, BerkeleyMoving average filter Anda bisa memikirkan daftar jam tangan Anda sebagai benang yang telah Anda bookmarkkan. Anda dapat menambahkan tag, penulis, benang, dan bahkan hasil pencarian ke daftar tontonan Anda. Dengan cara ini Anda dapat dengan mudah melacak topik yang Anda minati. Untuk melihat daftar tontonan Anda, klik pada link quotMy Newsreaderquot. Untuk menambahkan item ke daftar tontonan Anda, klik tautan quotadd untuk melihat link listquot di bagian bawah halaman manapun. Bagaimana cara menambahkan item ke daftar jam tangan saya Untuk menambahkan kriteria pencarian ke daftar jam tangan Anda, cari kata yang diinginkan di kotak pencarian. Klik pada quotAdd pencarian ini ke link listquot jam tangan saya di halaman hasil pencarian. Anda juga dapat menambahkan tag ke daftar tontonan Anda dengan mencari tag dengan kuota petunjuk: tagnamequot tempat tagname adalah nama tag yang ingin Anda tonton. Untuk menambahkan penulis ke daftar tontonan Anda, buka halaman profil penulis dan klik pada quotAdd penulis ini ke link listquot jam tangan saya di bagian atas halaman. Anda juga dapat menambahkan pengarang ke daftar tontonan Anda dengan membuka thread yang telah diposting oleh penulis dan mengklik kuota kueri ini ke link listquot jam tangan saya. Anda akan diberitahu setiap kali penulis membuat sebuah posting. Untuk menambahkan thread ke daftar jam tangan Anda, masuklah ke halaman thread dan klik tanda kutip ini ke link listquot jam tangan saya di bagian atas halaman. Tentang Newsgroup, Newsreaders, dan MATLAB Central Apa newsgroup The newsgroup adalah forum di seluruh dunia yang terbuka untuk semua orang. Newsgroup digunakan untuk membahas sejumlah besar topik, membuat pengumuman, dan file perdagangan. Diskusi dijalin, atau dikelompokkan dengan cara yang memungkinkan Anda membaca pesan yang diposting dan semua jawabannya dalam urutan kronologis. Hal ini memudahkan untuk mengikuti alur pembicaraan, dan untuk melihat apa yang telah dikatakan sebelumnya sebelum Anda memposting balasan Anda sendiri atau membuat posting baru. Konten newsgroup didistribusikan oleh server yang diselenggarakan oleh berbagai organisasi di Internet. Pesan dipertukarkan dan dikelola menggunakan protokol standar terbuka. Tidak ada satu entitas pun yang memberkati newsgroup. Ada ribuan newsgroup, masing-masing membahas satu topik atau area yang diminati. The MATLAB Central Newsreader memposting dan menampilkan pesan di newsgroup comp. soft-sys. matlab. Bagaimana cara membaca atau posting ke newsgroup Anda dapat menggunakan pembaca berita terpadu di situs MATLAB Central untuk membaca dan mengirim pesan di newsgroup ini. MATLAB Central di-host oleh MathWorks. Pesan yang diposkan melalui MATLAB Central Newsreader dilihat oleh semua orang yang menggunakan newsgroup, terlepas dari bagaimana mereka mengakses newsgroup. Ada beberapa keuntungan menggunakan MATLAB Central. Satu Akun Akun MATLAB Central Anda terkait dengan Akun MathWorks Anda untuk memudahkan akses. Gunakan Alamat Email Pilihan Anda MATLAB Central Newsreader memungkinkan Anda menentukan alamat email alternatif sebagai alamat posting Anda, menghindari kekacauan di kotak surat utama Anda dan mengurangi spam. Pengendalian Spam Sebagian besar spam newsgroup disaring oleh MATLAB Central Newsreader. Tagging Messages dapat ditandai dengan label yang relevan oleh pengguna yang masuk. Tag dapat digunakan sebagai kata kunci untuk menemukan file tertentu yang diminati, atau sebagai cara untuk mengkategorikan postingan bookmark Anda. Anda dapat memilih untuk mengizinkan orang lain melihat tag Anda, dan Anda dapat melihat atau mencari tag orang lain serta kelompok masyarakat pada umumnya. Pemberian tag memberi cara untuk melihat tren besar dan gagasan dan aplikasi yang lebih kecil dan lebih kabur. Daftar tontonan Menyiapkan daftar tontonan memungkinkan Anda diberi tahu tentang pembaruan yang dilakukan pada posting yang dipilih oleh penulis, benang, atau variabel pencarian apa pun. Pemberitahuan daftar tontonan Anda dapat dikirim melalui email (ringkasan harian atau langsung), ditampilkan di My Newsreader, atau dikirim via RSS feed. Cara lain untuk mengakses newsgroup Gunakan pembaca berita melalui sekolah, perusahaan, atau penyedia layanan internet Anda Membayar akses newsgroup dari penyedia layanan komersial Gunakan Google Groups Mathforum. org menyediakan pembaca berita dengan akses ke newsgroup sys. matlab comp. soft Jalankan sendiri Server Untuk petunjuk tipikal, lihat: slyckng. phppage2 Pilih Negara Anda

No comments:

Post a Comment