Cara menggunakan respons langkah terukur untuk sistem kontrol nada

17

Bagaimana cara menggunakan respons langkah yang diukur untuk menyesuaikan skema PID atau konvolusi?

Terinspirasi oleh jawaban ini * , saya tertarik dengan penjelasan yang lebih terperinci tentang bagaimana menerapkan sistem kontrol berdasarkan respons langkah yang diukur.

Saya tidak akan mencoba menebak semua efeknya. Mungkin ada beberapa hal yang tidak jelas terjadi, dan Anda tidak dapat mengetahui semua parameter.

Saya akan mengukur respon langkah. Temukan dua pengaturan pompa yang keduanya menghasilkan bola berada dalam kisaran terukur dalam tabung. Kemudian mintalah pengontrol tiba-tiba beralih dari satu pengaturan ke loop terbuka lainnya. Sementara itu, ukur apa yang dilakukan bola dari waktu ke waktu. Itulah langkah responnya. Anda dapat mengambil turunan dari itu dan mendapatkan respons impuls. Dari respons impuls Anda dapat memprediksi gerakan bola untuk setiap riwayat pengaturan pompa, dengan asumsi ini adalah sistem linier. Mungkin cukup linier pada rentang kecil pengaturan untuk menjaga bola dalam kisaran normal.

Anda dapat menggunakan ini sebagai basis simulasi untuk menemukan parameter untuk kontrol PID kuno. Atau Anda dapat menggunakan respons impuls secara langsung untuk melakukan kontrol konvolusi. Anda harus low pass filter cukup input kontrol sehingga kernel konvolusi tidak menjadi negatif kecuali pompa Anda benar-benar reversibel dan dapat menyedot bola kembali ke bawah.

Bagaimana tepatnya cara kerjanya? Penyetelan PID sulit ; Saya menganggap "kontrol konvolusi" adalah penggunaan kutub-nol atau fungsi transfer, tetapi tidak melihat persis bagaimana cara mendapatkan parameter.

TERKAIT: Pemodelan Sistem untuk Sistem Kontrol
* pemodelan fungsi transfer levitasi bola ping pong dalam sebuah tabung sebagai peredam

tyblu
sumber

Jawaban:

23

pengantar

Pertama, kita perlu mempertimbangkan apa sebenarnya yang disebut respons impuls dari suatu sistem dan apa artinya. Ini adalah konsep abstrak yang membutuhkan sedikit pemikiran untuk memvisualisasikan. Saya tidak akan masuk ke matematika yang ketat. Maksud saya adalah mencoba memberikan intuisi tentang apa benda ini, yang kemudian mengarah pada bagaimana Anda dapat memanfaatkannya.

Contoh masalah kontrol

Bayangkan Anda memiliki penghambat kekuatan besar dengan sensor suhu yang terpasang di sana. Semuanya dimulai dan pada suhu kamar. Ketika Anda menghidupkan daya, Anda tahu bahwa suhu pada sensor pada akhirnya akan naik dan stabil, tetapi persamaan yang tepat akan sangat sulit untuk diprediksi. Katakanlah sistem memiliki konstanta waktu sekitar 1 menit, meskipun "konstanta waktu" tidak sepenuhnya berlaku karena suhu tidak naik dalam eksponensial yang bagus seperti dalam sistem dengan kutub tunggal, dan karenanya konstanta waktu tunggal . Katakanlah Anda ingin mengontrol suhu secara akurat, dan mengubahnya ke tingkat yang baru dan tetap di sana secara signifikan lebih cepat daripada apa yang akan dilakukan jika Anda hanya menyalakan level daya yang sesuai dan menunggu.

Pada dasarnya, Anda memiliki masalah sistem kontrol. Respons loop terbuka cukup dapat diulang dan ada suatu persamaan yang memodelkannya dengan cukup baik, tetapi masalahnya ada terlalu banyak yang tidak diketahui untuk Anda peroleh dari persamaan itu.

Kontrol PID

Salah satu cara klasik untuk mengatasi ini adalah dengan kontroler PID. Kembali di pleistocene ketika ini harus dilakukan dalam elektronik analog, orang menjadi pintar dan datang dengan skema yang bekerja dengan baik dengan kemampuan analog yang ada. Skema itu disebut "PID", untuk Proporsional , Integral , dan Derivatif .

Istilah p

Anda mulai mengukur kesalahan. Ini hanya respons sistem yang diukur (suhu yang dilaporkan oleh sensor dalam kasus kami) minus input kontrol (pengaturan suhu yang diinginkan). Biasanya ini dapat diatur agar tersedia sebagai sinyal tegangan, sehingga menemukan kesalahan itu hanya perbedaan analog, yang cukup mudah. Anda mungkin berpikir ini mudah. Yang harus Anda lakukan adalah menggerakkan resistor dengan daya yang lebih tinggi semakin tinggi kesalahannya. Itu secara otomatis akan membuatnya lebih panas ketika terlalu dingin dan lebih dingin saat terlalu panas. Itu berhasil, semacam. Perhatikan bahwa skema ini memerlukan beberapa kesalahan untuk menyebabkan output kontrol non-nol (daya menggerakkan resistor). Bahkan, itu berarti bahwa semakin tinggi daya yang dibutuhkan, semakin besar kesalahannya karena itulah satu-satunya cara untuk mendapatkan daya tinggi. Sekarang Anda mungkin mengatakan yang harus Anda lakukan adalah mendongkrak gain sehingga kesalahan dapat diterima bahkan pada daya tinggi. Bagaimanapun, itu cukup banyak dasar untuk bagaimana opamps digunakan di banyak sirkuit. Anda benar, tetapi dunia nyata biasanya tidak akan membiarkan Anda lolos begitu saja. Ini mungkin bekerja untuk beberapa sistem kontrol sederhana, tetapi ketika ada segala macam kerutan halus untuk respons dan ketika itu bisa memakan waktu yang signifikan Anda berakhir dengan sesuatu yang berosilasi ketika keuntungannya terlalu tinggi. Dengan kata lain, sistem menjadi tidak stabil. tetapi ketika ada segala macam kerutan halus pada respons dan ketika dibutuhkan waktu yang signifikan Anda berakhir dengan sesuatu yang berosilasi ketika keuntungannya terlalu tinggi. Dengan kata lain, sistem menjadi tidak stabil. tetapi ketika ada segala macam kerutan halus pada respons dan ketika dibutuhkan waktu yang signifikan Anda berakhir dengan sesuatu yang berosilasi ketika keuntungannya terlalu tinggi. Dengan kata lain, sistem menjadi tidak stabil.

Apa yang saya jelaskan di atas adalah bagian P (proprotional) dari PID. Sama seperti Anda dapat membuat output sebanding dengan sinyal kesalahan, Anda juga dapat menambahkan istilah proprtional ke turunan waktu dan integral dari kesalahan. Masing-masing sinyal P, I, dan D ini memiliki penguatan terpisah sebelum dijumlahkan untuk menghasilkan sinyal output kontrol.

Saya istilah

Istilah I memungkinkan kesalahan untuk dihapus dari waktu ke waktu. Selama ada kesalahan positif, istilah I akan terus terakumulasi, akhirnya meningkatkan output kontrol ke titik di mana kesalahan keseluruhan hilang. Dalam contoh kita, jika suhu rendah secara konsisten, itu akan terus-menerus meningkatkan daya ke resistor sampai suhu keluaran akhirnya tidak rendah lagi. Semoga Anda bisa melihat ini bisa menjadi tidak stabil bahkan lebih cepat daripada hanya istilah P tinggi. Istilah AI dengan sendirinya dapat dengan mudah menyebabkan overshoot, yang menjadi osilasi dengan mudah.

D istilah

Istilah D terkadang diabaikan. Penggunaan dasar istilah D adalah menambahkan sedikit stabilitas sehingga istilah P dan I bisa lebih agresif. Istilah D pada dasarnya mengatakan Jika saya sudah menuju ke arah yang benar, memberhentikan gas sedikit karena apa yang saya miliki sekarang tampaknya membuat kita di sana .

Tuning PID

Dasar-dasar kontrol PID cukup sederhana, tetapi mendapatkan istilah P, I, dan D tidak tepat. Ini biasanya dilakukan dengan banyak eksperimen dan penyesuaian. Tujuan utamanya adalah untuk mendapatkan sistem secara keseluruhan di mana output merespons secepat mungkin tetapi tanpa overshoot atau dering yang berlebihan, dan tentu saja perlu stabil (tidak mulai berosilasi sendiri). Ada banyak buku yang ditulis pada kontrol PID, bagaimana cara menambahkan sedikit kerutan pada persamaan, tetapi khususnya bagaimana cara "menyetelnya". Tuning mengacu pada meramalkan keuntungan P, I, dan D yang optimal.

Sistem kontrol PID bekerja, dan tentu saja ada banyak pengetahuan dan trik di luar sana untuk membuatnya bekerja dengan baik. Namun, kontrol PID bukan jawaban tepat tunggal untuk sistem kontrol. Orang-orang tampaknya telah lupa mengapa PID dipilih pada awalnya, yang lebih berkaitan dengan hambatan elektronik analog daripada menjadi semacam skema kontrol optimal universal. Sayangnya, terlalu banyak insinyur saat ini menyamakan "sistem kontrol" dengan PID, yang tidak lebih dari reaksi spontan. Itu tidak membuat kontrol PID salah di dunia saat ini, tetapi hanya satu dari banyak cara untuk menyerang masalah kontrol.

Di luar PID

Hari ini, sistem kontrol loop tertutup untuk sesuatu seperti contoh suhu akan dilakukan dalam mikrokontroler. Ini dapat melakukan banyak hal lebih dari sekadar mengambil turunan dan integral dari nilai kesalahan. Dalam sebuah prosesor Anda dapat melakukan pembagian, akar kuadrat, menyimpan sejarah nilai-nilai terbaru, dan banyak lagi. Banyak skema kontrol selain PID dimungkinkan.

Respon impuls

Jadi lupakan keterbatasan elektronik analog dan mundurlah dan pikirkan bagaimana kita dapat mengendalikan sistem yang kembali ke prinsip pertama. Bagaimana jika untuk setiap bagian kecil dari output kontrol, kami tahu apa yang akan dilakukan sistem. Output kontrol kontinu kemudian hanya penjumlahan dari banyak potongan kecil. Karena kita tahu apa hasil dari masing-masing bagian, kita bisa tahu apa hasil dari riwayat keluaran kontrol sebelumnya. Sekarang perhatikan bahwa "sepotong kecil" dari output kontrol cocok dengan kontrol digital. Anda akan menghitung apa yang seharusnya menjadi output kontrol dan mengaturnya, kemudian kembali dan mengukur input lagi, menghitung output kontrol baru dari mereka dan mengaturnya lagi, dll. Anda menjalankan algoritma kontrol dalam satu lingkaran, dan itu mengukur input dan mengatur output kontrol lagi setiap iterasi loop. Input "sampel" pada waktu diskrit, dan output juga diatur ke nilai baru pada interval tetap. Selama Anda dapat melakukan ini dengan cukup cepat, Anda dapat memikirkan hal ini terjadi dalam proses yang berkelanjutan. Dalam kasus pemanasan resistor yang biasanya membutuhkan waktu beberapa menit untuk menyelesaikan, tentu beberapa kali per detik jauh lebih cepat daripada sistem yang secara inheren merespons dengan cara yang berarti sehingga memperbarui output pada katakanlah 4 Hz akan terlihat terus menerus ke sistem. Ini persis sama dengan musik yang direkam secara digital benar-benar mengubah nilai output dalam langkah-langkah terpisah dalam rentang 40-50 kHz dan yang begitu cepat sehingga telinga kita tidak dapat mendengarnya dan terdengar terus menerus seperti aslinya. Anda dapat memikirkan hal ini terjadi dalam proses yang berkelanjutan. Dalam kasus pemanasan resistor yang biasanya membutuhkan waktu beberapa menit untuk menyelesaikan, tentu beberapa kali per detik jauh lebih cepat daripada sistem yang secara inheren merespons dengan cara yang berarti sehingga memperbarui output pada katakanlah 4 Hz akan terlihat terus menerus ke sistem. Ini persis sama dengan musik yang direkam secara digital benar-benar mengubah nilai output dalam langkah-langkah terpisah dalam rentang 40-50 kHz dan yang begitu cepat sehingga telinga kita tidak dapat mendengarnya dan terdengar terus menerus seperti aslinya. Anda dapat memikirkan hal ini terjadi dalam proses yang berkelanjutan. Dalam kasus pemanasan resistor yang biasanya membutuhkan waktu beberapa menit untuk menyelesaikan, tentu beberapa kali per detik jauh lebih cepat daripada sistem yang secara inheren merespons dengan cara yang berarti sehingga memperbarui output pada katakanlah 4 Hz akan terlihat terus menerus ke sistem. Ini persis sama dengan musik yang direkam secara digital benar-benar mengubah nilai output dalam langkah-langkah terpisah dalam rentang 40-50 kHz dan yang begitu cepat sehingga telinga kita tidak dapat mendengarnya dan terdengar terus menerus seperti aslinya. tentu beberapa kali per detik jauh lebih cepat daripada sistem yang secara inheren merespons dengan cara yang berarti bahwa memperbarui output pada katakanlah 4 Hz akan terlihat terus menerus ke sistem. Ini persis sama dengan musik yang direkam secara digital benar-benar mengubah nilai output dalam langkah-langkah terpisah dalam rentang 40-50 kHz dan yang begitu cepat sehingga telinga kita tidak dapat mendengarnya dan terdengar terus menerus seperti aslinya. tentu beberapa kali per detik jauh lebih cepat daripada sistem yang secara inheren merespons dengan cara yang berarti bahwa memperbarui output pada katakanlah 4 Hz akan terlihat terus menerus ke sistem. Ini persis sama dengan musik yang direkam secara digital benar-benar mengubah nilai output dalam langkah-langkah terpisah dalam rentang 40-50 kHz dan yang begitu cepat sehingga telinga kita tidak dapat mendengarnya dan terdengar terus menerus seperti aslinya.

Jadi apa yang bisa kita lakukan jika kita memiliki cara ajaib untuk mengetahui apa yang akan dilakukan sistem dari waktu ke waktu karena sampel kontrol satu sampel? Karena respons kontrol aktual hanyalah sekuens sampel, kita dapat menjumlahkan respons dari semua sampel dan mengetahui seperti apa respons sistem yang dihasilkan. Dengan kata lain, kita dapat memprediksi respons sistem untuk gelombang respons kontrol sembarang.

Itu keren, tetapi hanya memprediksi respons sistem tidak menyelesaikan masalah. Namun, dan ini adalah momen aha, Anda dapat membalik ini dan menemukan output kontrol yang diperlukan untuk mendapatkan respons sistem yang diinginkan. Catatan yang tepat menyelesaikan masalah kontrol, tetapi hanya jika kita entah bagaimana dapat mengetahui respon sistem untuk sampel output kontrol tunggal yang sewenang-wenang.

Jadi Anda mungkin berpikir, itu mudah, berikan saja pulsa besar dan lihat apa fungsinya. Ya, itu akan berhasil secara teori, tetapi dalam praktiknya biasanya tidak. Itu karena setiap sampel kontrol, bahkan yang besar, sangat kecil dalam skema keseluruhan hal-hal yang sistem hampir tidak memiliki respons yang terukur sama sekali. Dan ingat, masing-masing sampel kontrol memiliki menjadi kecil dalam skema hal sehingga urutan sampel kontrol terasa terus menerus ke sistem. Jadi bukan berarti ide ini tidak berfungsi, tetapi dalam praktiknya respons sistem sangat kecil sehingga terkubur dalam kebisingan pengukuran. Pada contoh resistor, memukul resistor dengan 100 W selama 100 ms tidak akan menyebabkan perubahan suhu yang cukup untuk diukur.

Respon langkah

Tapi, masih ada jalan. Sementara menempatkan sampel kontrol tunggal ke dalam sistem akan memberi kita responsnya terhadap sampel individu secara langsung, kita masih dapat menyimpulkannya dengan menempatkan urutan respons kontrol yang diketahui dan dikendalikan ke dalam sistem dan mengukur responsnya terhadap sampel tersebut. Biasanya ini dilakukan dengan meletakkan langkah kontrolApa yang benar-benar kita inginkan adalah respons terhadap blip kecil, tetapi respons terhadap satu langkah hanyalah bagian integral dari itu. Pada contoh resistor, kita dapat memastikan semuanya dalam kondisi stabil pada 0 W, lalu tiba-tiba menyalakan daya dan memasukkan 10 W ke dalam resistor. Itu akan menyebabkan perubahan suhu yang terukur dengan baik pada output pada akhirnya. Turunan dari itu dengan penskalaan yang tepat memberi tahu kita respons terhadap sampel kontrol individu, meskipun kami tidak dapat mengukurnya secara langsung.

Jadi untuk meringkas, kita dapat menempatkan input kontrol langkah ke dalam sistem yang tidak dikenal dan mengukur output yang dihasilkan. Itu disebut langkah respons . Kemudian kita mengambil turunan waktu dari itu, yang disebut respons impuls . Output sistem yang dihasilkan dari sampel input satu kontrol hanyalah respons impuls yang disesuaikan dengan kekuatan sampel kontrol tersebut. Respons sistem terhadap seluruh riwayat sampel kontrol adalah sejumlah respons impuls yang ditambahkan, ditingkatkan, dan miring pada waktunya untuk setiap input kontrol. Operasi terakhir itu banyak muncul dan memiliki nama konvolusi khusus .

Kontrol konvolusi

Jadi sekarang Anda harus dapat membayangkan bahwa untuk setiap set keluaran sistem yang diinginkan, Anda dapat menghasilkan urutan input kontrol untuk menyebabkan output tersebut. Namun, ada gotcha. Jika Anda menjadi terlalu agresif dengan apa yang Anda inginkan dari sistem, input kontrol untuk mencapainya akan membutuhkan ketidakcocokan dengan nilai tinggi dan rendah. Pada dasarnya, semakin cepat Anda mengharapkan sistem merespons, semakin besar nilai kontrol yang diperlukan, di kedua arah. Dalam contoh resistor, Anda dapat secara matematis mengatakan Anda ingin segera pergi ke suhu baru, tetapi itu akan mengambil sinyal kontrol tak terbatas untuk mencapainya. Semakin lambat Anda membiarkan suhu berubah ke nilai baru, semakin rendah daya maksimum yang Anda butuhkan untuk dapat masuk ke resistor. Kerut lain adalah bahwa daya ke resistor kadang-kadang perlu turun juga. Kamu bisa'

Salah satu cara untuk mengatasinya adalah dengan sistem kontrol low pass filter input kontrol pengguna sebelum menggunakannya secara internal. Figur pengguna melakukan apa yang ingin dilakukan pengguna. Biarkan mereka membanting input dengan cepat. Secara internal Anda low pass filter yang untuk melicinkannya dan memperlambatnya ke tercepat Anda tahu Anda bisa menyadari diberi daya maksimum dan minimum Anda dapat dimasukkan ke dalam resistor.

Contoh dunia nyata

Berikut adalah sebagian contoh menggunakan data dunia nyata. Ini dari sistem tertanam dalam produk nyata yang antara lain harus mengontrol beberapa lusin pemanas untuk memelihara berbagai reservoir kimia pada suhu tertentu. Dalam hal ini, pelanggan memilih untuk melakukan kontrol PID (itu yang mereka merasa nyaman dengan), tetapi sistem itu sendiri masih ada dan dapat diukur. Berikut adalah data mentah dari mengemudi salah satu pemanas dengan input langkah. Waktu iterasi loop adalah 500 ms, yang jelas merupakan waktu yang sangat singkat mengingat sistem masih tampak menyelesaikan grafik skala ini setelah 2 jam.

Dalam hal ini Anda dapat melihat pemanas didorong dengan langkah sekitar 0,35 dalam ukuran (nilai "Keluar"). Menempatkan langkah 1.0 penuh dalam waktu yang lama akan menghasilkan suhu yang terlalu tinggi. Offset awal dapat dihapus dan hasilnya diskalakan untuk memperhitungkan langkah input kecil untuk menyimpulkan respon langkah unit:

Dari sini Anda akan berpikir itu hanya akan mengurangi nilai respon langkah berturut-turut untuk mendapatkan respon impuls. Itu benar secara teori, tetapi dalam praktiknya Anda mendapatkan sebagian besar kebisingan pengukuran dan kuantisasi karena sistem berubah sangat sedikit dalam 500 ms:

Perhatikan juga skala kecil dari nilainya. Respon impuls ditampilkan diskalakan oleh 10 6 .

Variasi yang sangat besar antara masing-masing individu atau bahkan beberapa bacaan hanyalah derau, jadi kita dapat memfilter filter rendah ini untuk menghilangkan frekuensi tinggi (derau acak), yang mudah-mudahan memungkinkan kita melihat respons mendasar yang lebih lambat. Berikut ini adalah salah satu upaya:

Itu lebih baik dan menunjukkan benar-benar ada data bermakna yang bisa didapat, tetapi masih terlalu berisik. Berikut adalah hasil yang lebih berguna yang diperoleh dengan lebih banyak penyaringan low pass dari data impuls mentah:

Sekarang ini adalah sesuatu yang kita benar-benar dapat bekerja dengan. Kebisingan yang tersisa kecil dibandingkan dengan sinyal keseluruhan, jadi seharusnya tidak menghalangi. Sinyal tampaknya masih ada cukup banyak utuh. Salah satu cara untuk melihat ini adalah dengan melihat puncak 240 adalah langsung dari pemeriksaan visual cepat dan bola mata memfilter plot sebelumnya.

Jadi sekarang berhenti dan pikirkan tentang apa arti respons impuls ini sebenarnya. Pertama, perhatikan bahwa ini ditampilkan kali 1M, sehingga puncaknya benar-benar 0,000240 dari skala penuh. Ini berarti bahwa secara teori jika sistem didorong dengan pulsa skala penuh tunggal untuk satu dari slot waktu 500 ms saja, ini akan menjadi suhu yang dihasilkan relatif untuk itu dibiarkan saja. Kontribusi dari setiap periode 500 ms sangat kecil, karena masuk akal secara intuitif. Ini juga mengapa mengukur respons impuls secara langsung tidak berfungsi, karena 0,000240 skala penuh (sekitar 1 bagian dalam 4000) berada di bawah tingkat kebisingan kami.

Sekarang Anda dapat dengan mudah menghitung respons sistem untuk sinyal input kontrol apa pun. Untuk setiap sampel kontrol keluaran 500 ms, tambahkan salah satu dari tanggapan impuls ini yang diskalakan oleh ukuran sampel kontrol itu. Waktu 0 dari kontribusi respons impuls terhadap sinyal output sistem akhir adalah pada saat sampel kontrolnya. Oleh karena itu sinyal keluaran sistem adalah suksesi dari respons impuls ini yang diimbangi oleh 500 ms satu sama lain, masing-masing ditingkatkan ke tingkat sampel kontrol pada waktu itu.

Respons sistem adalah konvolusi input kontrol dengan respons impuls ini, dihitung setiap sampel kontrol, yang setiap 500 ms dalam contoh ini. Untuk membuat sistem kontrol dari ini, Anda bekerja mundur untuk menentukan input kontrol yang menghasilkan output sistem yang diinginkan.

Respon impuls ini masih cukup berguna bahkan jika Anda ingin melakukan PID klasik. Tuning PID kontroler membutuhkan banyak eksperimen. Setiap iterasi akan mengambil satu atau dua jam pada sistem nyata, yang akan membuat tala berulang sangat sangat lambat. Dengan respon impuls, Anda dapat mensimulasikan respon sistem pada komputer dalam sepersekian detik. Sekarang Anda dapat mencoba nilai-nilai PID baru secepat Anda dapat mengubah dan tidak perlu menunggu satu atau dua jam untuk sistem nyata menunjukkan respon. Nilai akhir harus tentu saja selalu diperiksa pada sistem nyata, tetapi sebagian besar pekerjaan dapat dilakukan dengan simulasi di sebagian kecil dari waktu. Inilah yang saya maksud dengan "Anda dapat menggunakan ini sebagai dasar simulasi untuk menemukan parameter untuk tua kontrol PID kuno" di bagian Anda dikutip dalam pertanyaan Anda.

Olin Lathrop
sumber
4
Tidak. terlalu. lusuh.
NickHalden
4
Saya pikir beberapa judul bagian mungkin benar-benar berharga di sini. Tapi mengagumkan berlaku.
Kortuk
Aku terlambat ke pesta, tapi tetap: jawaban Mengesankan, Olin! :)
bitsmack
7

FIR dan IIR filter, seperti Jon disebutkan, adalah filter digital yang menerapkan langsung konvolusi dari respon impuls, seperti namanya (Finite \ Tak Terbatas Impulse Response).

Convolving respon dorongan untuk sinyal (dalam domain waktu) adalah persis sama dari mengalikan fungsi transfer ke mengubah sinyal (dalam domain frekuensi); dan, pada dasarnya, ini terdiri dari mengalikan respons impuls dari filter ke versi sinyal yang dipalsukan (pikirkan fakta bahwa respons filter ditetapkan dalam waktu, sementara sinyal terus berubah dalam waktu).

Dalam filter digital, respon impuls dikurangi menjadi jumlah tetap koefisien yang multiply sinyal pada titik tertentu; poin dipisahkan oleh penundaan, mendapatkan bahwa 0 mengalikan nilai sesaat dari sinyal, sementara k mengalikan sinyal yang sama setelah k unit delay.

masukkan deskripsi gambar di sini

Angka menunjukkan respon impuls filter generik (low-pass dalam kasus ini) di mana koefisien untuk 13-keran (jumlah penundaan) filter FIR diperoleh.

Untuk mendapatkan beberapa fungsi mentransfer, sebuah filter FIR akan membutuhkan jumlah tak terbatas koefisien: dalam kasus ini, umpan balik yang digunakan untuk memperoleh IIR (Tak Terbatas Impulse Response) filter. Filter ini memungkinkan untuk mendapatkan yang lebih baik fungsi Transfer (ex. Transisi sempit antara lulus band dan ditekan band filter) tapi dapat menghasilkan ketidakstabilan, sementara FIR filter yang stabil dengan konstruksi.

Jenis filter ini dapat dirancang dengan sirkuit analog, tetapi membutuhkan amplifier yang akurat yang disetel ke koefisien, dan sirkuit delay yang akurat, dan memiliki peningkatan besar dalam perangkat keras saat menambah jumlah keran. Lebih sering filter ini diimplementasikan dalam DSP, di mana operasi dijalankan pada sinyal digital dengan cara yang jauh lebih mudah.

Jadi, untuk langsung menjawab pertanyaan Anda : penyetelan filter digital dilakukan hanya dengan menyetel koefisien ke respons impuls diskretisasi.

Memperbarui

OP ditanya tentang langkah dan respon impuls; baik, seperti kata Olin dan Jon, respons impuls adalah turunan dari respons langkah, dan jelas respons langkah adalah bagian integral dari respons impuls.

Respons langkah banyak digunakan dalam sistem kontrol karena ini menunjukkan hal-hal paling penting tentang mereka: seberapa cepat mereka merespons perubahan input yang cepat, dan jika mereka stabil dan mampu meminimalkan kesalahan seiring waktu.

Tapi respon impuls karena sangat penting dapat digunakan untuk menghitung apa sinyal input pada suatu saat tertentu akan menyebabkan pada output, sehingga kemudian sinyal output lengkap dapat diperoleh susun hasil dari respon impuls dikalikan dengan sinyal input: ini adalah lilitan, dan di situlah keajaiban terjadi. Ya, karena respons impuls tidak lain adalah anti-transformasi Fourier dari fungsi transfer regulator.

Jadi ini adalah kekuatan filter digital: mereka menerapkan langsung respon impuls dan, apakah kita ingin mereproduksi respon langkah (dalam kasus sistem kontrol) atau fungsi transfer (dalam kasus filter) kita harus hanya untuk dapatkan respons impuls dan ekstrak koefisien untuk FIR.

clabacchio
sumber
Jawaban yang bagus! Untuk melengkapinya, dapatkah Anda memasukkan cara mendapatkan respons impuls dari langkah? (Saya melihatnya dalam jawaban @ JonWatte.)
tyblu
4

Konvolusi biasanya filter FIR, bukan IIR seperti yang Anda dapatkan dengan kutub dan nol di filter rekursif tradisional. Sekarang, jika Anda memiliki respons langkah, Anda dapat membalikkan ini, dan pra-libatkan sinyal respons Anda dengan itu. Hasil akhirnya adalah bahwa keseluruhan sistem menunjukkan respons langkah yang tepat. Namun, dalam kasus umum, memperkenalkan ini penundaan kelompok, karena Anda perlu "pre-load" respon terbalik. Dalam sistem kontrol, ini dapat menyebabkan latensi yang tidak diinginkan.

jon Watte
sumber
@JohWatte, sebuah contoh?
Kortuk
1
Atau yang telah saya lakukan adalah menerapkan low pass filter ke sinyal kontrol. Idealnya langkah imbal hasil langkah keluar, tapi itu tidak mungkin secara fisik karena output harus pergi tak terbatas. Anda menyaring input kontrol sehingga langkah masukan berubah menjadi sesuatu yang Anda dapat menyadari, yang berarti nilai-nilai konvolusi tidak pernah melebihi apa keluaran drive ini mampu menghasilkan. Secara khusus, nilai negatif sering tidak mungkin. Misalnya, jika Anda mengatur suhu dengan pemanas resistif, Anda tidak dapat membuat panas negatif (dengan Peltier Anda bisa, dan kemudian nilai-nilai dapat menjadi negatif).
Olin Lathrop
Bagaimana Anda membalikkan respon langkah? Adalah "respon sinyal" adalah output yang diinginkan?
tyblu
Secara singkat, jika saya ingat benar: Anda mengkonversi respon langkah untuk respon impuls. Maka Anda mengurangi respon impuls (dengan impuls dibawa keluar) convolved dengan sinyal input dari sinyal output. Ini adalah lilitan ini yang menambah delay kelompok (latency.) Saya ingat melihat referensi yang baik belasan tahun lalu dalam kaitannya dengan mikrofon dan pemodelan ruang di DSP audio.
Jon Watte
2

Saya akan membalikkan ini, dan berkata, jika Anda memiliki kemampuan untuk mengukur respons langkah sistem Anda, Anda dapat memotong banyak teori dan melanjutkan dengan mengoptimalkan parameter kontrol Anda. Daripada mengukur respon loop terbuka dan mencoba menghitung parameter kontrol yang ideal (walaupun itu membantu untuk menemukan titik awal yang baik untuk optimasi), Anda dapat menyesuaikan sistem Anda dengan mengukur respon loop tertutup.

Gagasan utamanya adalah mengukur respons langkah akan membuat Anda melihat (secara kasar) jika sistem kontrol kurang teredam, terlalu lembab, atau teredam kritis (case ideal).

Jika Anda mengukur respon langkah, dan melihat dering, Anda tahu Anda di bawah-teredam. Jika Anda mengukur respon langkah dan output hanya datang perlahan-lahan ke nilai akhir, Anda tahu Anda di bawah-teredam. Jika Anda dapat menyetel pengontrol sambil berulang kali mengukur respons langkah, Anda dapat menyesuaikannya untuk mendapatkan respons tercepat tanpa berdering dan tahu bahwa Anda berada di dekat respons case terbaik.

Anda bisa mulai dengan hanya menggunakan istilah P. Jika hasilnya tidak memuaskan, kemudian tambahkan istilah I dan D. I Istilah membantu untuk menyingkirkan ekor panjang di respon, atau kasus di mana output tidak pernah cukup mencapai nilai yang diinginkan. Istilah D sangat membantu untuk mempercepat respons dengan "memperkirakan" ke mana input selanjutnya. (Dugaan saya, meskipun saya bukan ahli kontrol, adalah bahwa istilah P dapat dioptimalkan secara absolut, tapi pilihan terbaik dari saya dan D hal akan tergantung tidak hanya pada respon dari sistem Anda di bawah kontrol, tetapi juga pada fitur, seperti konten frekuensi dan amplitudo, dari sinyal input)

Setelah Anda mendapatkan respons tercepat yang dapat Anda peroleh tanpa dering, kemudian setel hingga agak lembab sehingga suhu berubah atau apa pun yang tidak menyesuaikan sistem menjadi osilasi.

Foton
sumber