Sunday 6 August 2017

Simulink moving average filter block


Saya baru mengenal Simulink. Saya ingin melakukan rata-rata data yang masuk (yang akan datang setelah beberapa interval) dari satu blok. Sebagai contoh, data berbingkai kontinyu dari 42 sampel keluar dari satu blok. Seiring dengan data berbingkai ada lagi output (tag) yang menceritakan bahwa framesamples ini termasuk dalam kategori mana. Tag adalah angka 1-6. Outputnya acak. Saya ingin rata-rata data kategori yang sama. Seperti bingkai pertama dari cat1, maka setelah 4 frame cat1 frame kembali hadir. Sekarang bagaimana seharusnya saya rata-rata bingkai baru ini dengan yang sebelumnya saya ingin melakukan ini untuk semua kategori. Tolong bantu saya dalam hal ini Tanya Mar 26 14 at 13:35 Solusi cepat dan kotor adalah menerapkan daftar array untuk setiap kategori. Inisialisasi daftar dengan NaN dan simpan meja untuk sampel terakhir dari masing-masing kategori. Dengan menggunakan fungsi rata-rata Anda bisa mendapatkan rata-rata semua pengukuran. Jika Anda hanya menginginkan rata-rata frame saat ini dan frame sebelumnya, Anda dapat melakukan mean (cat1 (n1) cat1 (n11)) di mana cat1 adalah arraylist untuk frame dari kategori 1 dan n1 adalah indeks dari frame sebelumnya di cat1 . Jika Anda menginginkan rata-rata tertimbang untuk penerapan real time, buatlah variabel rata-rata untuk setiap kategori (sebut saja av1, av2, dll.) Dan hitung av1 alphaav1 (1-alpha) cat1 (n11) (di mana alfa adalah bobot yang ditugaskan Ke rata-rata sebelumnya (alphalt1) dan cat1 (n11) adalah pengukuran baru) kapanpun bingkai cat1 masuk Jawab Mar 26 14 di 17: 39Weighted Moving Average (Usang) Catatan: Blok Berarti Bergerak Rata-rata sudah usang. Blok ini telah dihapus dari perpustakaan Diskrit di R2008a dan diganti dengan blok Filter FIR Diskrit. Namun, model yang ada yang berisi blok Weighted Moving Average terus bekerja untuk kompatibilitas ke belakang. Gunakan blok Filter FIR Diskrit dalam model baru. Pertimbangkan untuk menggunakan fungsi slupdate untuk mengganti Weighted Moving Average dengan Discrete FIR Filter pada model yang ada. Sampel blok Rata-rata tertimbang dan memegang input N yang paling baru, mengalikan setiap masukan dengan nilai yang ditentukan (diberikan oleh parameter Bobot), dan menumpuknya dalam vektor. Blok ini mendukung mode single-inputsingle-output (SISO) dan single-inputmulti-output (SIMO). Untuk mode SISO, parameter Weights ditentukan sebagai vektor baris. Untuk mode SIMO, bobot ditentukan sebagai matriks di mana setiap baris sesuai dengan keluaran yang terpisah. Anda dapat memilih apakah akan menentukan jenis data dan penskalaan bobot pada dialog dengan parameter tipe data Gain. Parameter kondisi awal memberikan nilai awal untuk semua waktu sebelum waktu mulai. Anda menentukan interval waktu antara sampel dengan parameter waktu Sampel. Blok Weighted Moving Average mengalikan inputnya terlebih dahulu dengan parameter Weights, mengubah hasilnya ke tipe data output menggunakan mode pembulatan dan overflow yang ditentukan, dan kemudian melakukan penjumlahan. Dukungan Tipe Data Blok Average Weighted Moving mendukung semua tipe data numerik yang didukung oleh Simulink x00AE, termasuk tipe data fixed-point. Parameter Tentukan bobot rata-rata bergerak satu baris per output. Parameter bobot dikonversi dari ganda ke tipe data yang ditentukan secara offline menggunakan round-to-terdekat dan saturasi. Tentukan nilai awal untuk semua waktu sebelum waktu mulai. Parameter kondisi awal diubah dari ganda menjadi input data tipe offline menggunakan round-to-terdekat dan saturation. Tentukan interval waktu antar sampel. Untuk mewarisi waktu sampel, atur parameter ini menjadi -1. Lihat Tentukan Waktu Sampel di dokumentasi online untuk informasi lebih lanjut. Tipe data output Tentukan tipe data output. Anda dapat mengaturnya ke: Aturan yang mewarisi tipe data, misalnya Inherit: Mewarisi melalui propagasi balik Nama objek tipe data, misalnya, objek Simulink. NumericType Ekspresi yang dievaluasi ke tipe data, misalnya , Fixdt (1,16,0) Klik tombol Show data type assistant untuk menampilkan Data Type Assistant. Yang membantu Anda mengatur parameter tipe data Output. Mengunci skala output terhadap perubahan dengan alat autoscaling Pilih untuk mengunci penskalaan keluaran terhadap perubahan oleh Fixed-Point Tool. Mode pembulatan integer Mode pembulatan untuk output fixed-point. Untuk informasi lebih lanjut, lihat Pembulatan. Saturate ke max atau min saat overflow terjadi Jika dipilih, fixed-point overflows jenuh. Jika tidak, mereka membungkusnya. Tentukan tipe data dari parameter Weights. Anda dapat mengaturnya ke: Aturan yang mewarisi tipe data, misalnya Inherit: Mewarisi melalui aturan internal Nama objek tipe data, misalnya, objek Simulink. NumericType Ekspresi yang dievaluasi ke tipe data, misalnya , Fixdt (1,16,0) Klik tombol Show data type assistant untuk menampilkan Data Type Assistant. Yang membantu Anda mengatur parameter tipe data Gain. (Lihat Tentukan Tipe Data Menggunakan Asisten Tipe Data untuk informasi lebih lanjut.) Misalkan Anda ingin mengonfigurasi blok ini untuk dua keluaran (mode SIMO) di mana keluaran pertama diberikan oleh y 1 (k) 1 x22C5 u (k) b 1 x22C5 U (k x2212 1) c 1 x22C5 u (k x2212 2) keluaran kedua diberikan oleh y 2 (k) 2 x22C5 u (k) b 2 x22C5 u (k x2212 1) dan nilai awal u (k - 1) dan u (k - 2) diberikan oleh ic1 dan ic2. Masing-masing. Untuk mengkonfigurasi blok Average Weighted Moving untuk kasus ini, Anda harus menentukan parameter Weights sebagai a1 b1 c1 a2 b2 c2 dimana c2 0, dan parameter kondisi awal sebagai ic1 ic2. KarakteristikDokumentasi Bergerak Metode Rata-rata 8212 Metode rata-rata Jendela geser (default) Pembatas eksponensial Jendela geser 8212 Jendela panjang Panjang jendela bergerak di atas data masukan di sepanjang setiap saluran. Untuk setiap contoh jendela bergerak, blok menghitung rata-rata di atas data di jendela. Pembebanan eksponensial 8212 Blok mengalikan sampel dengan seperangkat faktor pembobotan. Besarnya faktor pembobotan menurun secara eksponensial seiring bertambahnya usia data, tidak pernah mencapai nol. Untuk menghitung rata-rata, algoritma menghitung data tertimbang. Tentukan panjang jendela 8212 Tandai untuk menentukan panjang jendela pada (default) off Bila Anda memilih kotak centang ini, panjang jendela geser sama dengan nilai yang Anda tentukan dalam panjang Jendela. Bila Anda menghapus kotak centang ini, panjang jendela geser tidak terbatas. Dalam mode ini, blok menghitung rata-rata sampel saat ini dan semua sampel sebelumnya di saluran. Panjang jendela 8212 Panjang jendela geser 4 (standar) integer skalar positif Panjang jendela menentukan panjang jendela geser. Parameter ini muncul saat Anda memilih kotak centang Specify window length. Melupakan faktor 8212 Faktor pembobot eksponensial 0,9 (default) skalar riil positif dalam kisaran (0,1 Parameter ini berlaku bila Anda menetapkan Metode untuk pembobotan eksponensial. Faktor lupa 0,9 memberi bobot lebih pada data yang lebih tua daripada faktor lupa 0,1.Sebuah faktor lupa 1,0 menunjukkan memori tak terbatas. Semua sampel sebelumnya diberi bobot yang sama Parameter ini merdu. Anda dapat mengubah nilainya bahkan selama simulasi. Menimulasikan menggunakan 8212 Jenis simulasi untuk menjalankan Kode generasi (default) Diinterpretasikan eksekusi Simulasikan Model menggunakan kode C yang dihasilkan. Pertama kali Anda menjalankan simulasi, Simulink x00AE menghasilkan kode C untuk blok. Kode C digunakan kembali untuk simulasi berikutnya, selama model tidak berubah. Pilihan ini memerlukan waktu mulai yang lebih lama namun lebih cepat. Kecepatan simulasi dari pada eksekusi diinterpretasikan. Simulasikan model menggunakan interpreter MATLAB x00AE. Pilihan ini mempersingkat waktu startup namun memiliki kecepatan simulasi lebih lambat dari pada Code Generasi. Lebih Banyak tentang Algoritma Metode Sliding Window Pada metode sliding window, output untuk setiap sampel masukan adalah rata-rata sampel saat ini dan sampel Len - 1 sebelumnya. Len adalah panjang jendela. Untuk menghitung keluaran Len - 1 pertama, ketika jendela belum memiliki cukup data, algoritma tersebut mengisi jendela dengan angka nol. Sebagai contoh, untuk menghitung rata-rata ketika sampel masukan kedua masuk, algoritma mengisi jendela dengan angka Len - 2 nol. Vektor data, x. Kemudian dua sampel data diikuti oleh Len - 2 nol. Bila Anda menetapkan properti SpecifyWindowLength menjadi false. Algoritma memilih panjang jendela tak terbatas. Dalam mode ini, output adalah rata-rata bergerak dari sampel saat ini dan semua sampel sebelumnya di saluran. Metode Pembobotan Eksponensial Dalam metode pembobotan eksponensial, rata-rata bergerak dihitung secara rekursif dengan menggunakan rumus ini: w N. x03BB x03BB w N x2212 1. x03BB 1. x x00AF N. x03BB (1 x2212 1 w N. x03BB) x x00AF N x2212 1. x03BB (1 w N. x03BB) x N x x00AF N. x03BB 8212 Rata-rata bergerak pada sampel saat ini x N 8212 Sampel input data saat ini x x00AF N x2212 1. x03BB 8212 Rata-rata pergerakan pada sampel sebelumnya 955 8212 Melupakan faktor w N. x03BB 8212 Faktor pembobotan yang diterapkan pada sampel data saat ini (1 x2212 1 w N. x03BB) x x00AF N x2212 1. x03BB 8212 Pengaruh data sebelumnya rata-rata Untuk sampel pertama, dimana N 1, algoritma memilih w N. x03BB 1. Untuk sampel berikutnya, faktor pembobotan diperbarui dan digunakan untuk menghitung rata-rata, sesuai dengan persamaan rekursif. Seiring bertambahnya usia data, besarnya faktor pembobotan menurun secara eksponensial dan tidak pernah mencapai nol. Dengan kata lain, data terakhir memiliki pengaruh lebih besar terhadap rata-rata saat ini daripada data yang lebih tua. Nilai faktor lupa menentukan tingkat perubahan faktor pembobotan. Faktor lupa 0,9 memberi bobot lebih pada data yang lebih tua daripada faktor lupa 0,1. Faktor lupa 1.0 mengindikasikan memori tak terbatas. Semua sampel sebelumnya diberi bobot yang sama. Objek Sistem Pilih Negara Anda

No comments:

Post a Comment