ADC sangat penting untuk mengubah semua jenis sinyal analog menjadi digital, tapi bagaimana cara kerjanya?

Poin Penting

  • ADC banyak digunakan untuk mengubah sinyal analog, seperti suara dan cahaya, menjadi nilai digital yang dapat digunakan dalam berbagai aplikasi.
  • Kecepatan sampel ADC menentukan jumlah pembacaan yang dilakukan per detik, dengan kecepatan sampel yang lebih tinggi memungkinkan representasi sinyal yang lebih akurat.
  • Kecepatan bit ADC mempengaruhi kualitas sampel yang diperoleh, dengan lebih banyak bit menghasilkan pengukuran yang lebih halus dan presisi. Berbagai jenis ADC menawarkan trade-off yang berbeda dalam hal kecepatan, presisi, dan konsumsi daya.

Konverter analog-ke-digital (ADC) sangat berguna untuk mengubah fenomena dunia nyata menjadi nilai yang dapat kita gunakan dalam proyek pemrograman. Namun bagaimana ADC dapat mengubah sinyal analog menjadi sinyal digital yang dapat kita gunakan di mana saja?

Untuk Apa ADC Digunakan?

Anda akan menemukan ADC di mana-mana. Mereka ada di ponsel Anda, mengubah suara Anda menjadi serangkaian nilai biner. Mereka ada di dalam mobil Anda, mengukur putaran roda Anda. Mereka ada di osiloskop, membantu menangkap sinyal dan mewakilinya. Namun, tempat yang paling banyak digunakan oleh orang-orang adalah dunia video dan audio, di mana memasukkan cahaya dan suara ke dalam ruang digital merupakan hal yang mendasar.

instagram viewer

Apa itu Tingkat Sampel? Bagaimana Sample Rate Mempengaruhi ADC?

Salah satu metrik judul paling penting dari ADC adalah laju sampel: jumlah pembacaan yang dilakukan setiap detik.

Osiloskop yang sangat canggih mungkin memerlukan sepuluh miliar sampel per detik. ADC MCP3008 kecil yang berani dapat memakan waktu dua ratus ribu yang relatif sederhana. Di dunia audio, laju sampel adalah 44.100 per detik (44,1 kHz).

Semakin banyak sampel yang kita ambil, semakin akurat kita dapat merepresentasikan suatu sinyal. Terkadang, hal ini penting; terkadang tidak. Katakanlah kita sedang membangun bank fader (dirancang untuk mengontrol elektronik, seperti yang Anda lihat di meja penerangan atau audio) dengan beberapa lusin potensiometer. Dalam hal ini, nilai yang perlu kita ukur kemungkinan besar tidak akan berubah jutaan kali per detik karena jari kita tidak bisa bergerak secepat itu. Kita hanya perlu sampel secukupnya agar hasilnya halus dan responsif.

Apa itu Kecepatan Bit? Apakah Bitrate Mempengaruhi Kualitas ADC?

Kita juga harus memikirkan kualitas sampel yang kita peroleh. Hal ini sangat ditentukan oleh bitrate, yang memberi tahu kita berapa banyak status on-off yang dapat kita gunakan untuk merepresentasikan tegangan secara digital. Semakin banyak bit yang kita miliki, semakin banyak kemungkinan nilai yang dapat kita catat dalam sampel tertentu dan semakin halus serta presisi hasil akhirnya.

Kami telah menulis tentang biner dan cara kerjanya, jadi jika Anda tidak yakin, itulah awal yang baik. Berapa banyak bit yang kita perlukan? Sekali lagi, itu tergantung pada apa yang ingin kita capai. Terkadang, kita mungkin dibatasi oleh protokol yang kita gunakan. Misalnya, protokol MIDI 1.0 dibatasi pada nilai tujuh-bit (dan terkadang empat belas-bit). Dalam kasus lain, faktor pembatasnya mungkin adalah persepsi manusia. Jika peningkatan fidelitas tidak membuahkan hasil yang nyata, hal ini mungkin tidak ada gunanya.

Bagaimana Multiplexing Meningkatkan Kualitas ADC?

Chip ADC populer seperti IKLAN1115 dan itu MCP3008 memberikan banyak masukan. Namun sebenarnya, mereka hanya berisi satu ADC. Hal ini dimungkinkan karena multiplexer yang terpasang pada perangkat ini. Multiplexer benar-benar ada dimana-mana di dunia elektronik dan telekomunikasi. Itu adalah saklar digital yang bertindak sebagai pengatur lalu lintas untuk ADC Anda. ADC mungkin mengambil sampel satu saluran, lalu saluran berikutnya, dan saluran berikutnya. Jadi, jika Anda memiliki delapan saluran dan laju sampel 200.000, Anda dapat memutar semuanya, mengambil 25.000 sampel per saluran.

Apa Jenis ADC yang Ada?

ADC bekerja dengan berbagai cara, tergantung pada biaya dan kemampuan yang dibutuhkan.

A Flash ADC bekerja melalui pembagi tegangan yang sangat kompleks. Kumpulan resistor membagi tegangan referensi menjadi beberapa kenaikan, yang kemudian diuji terhadap masukan melalui kumpulan pembanding. Flash ADC sangat cepat, tetapi kedalaman bitnya terbatas karena jumlah pembanding yang diperlukan. Mereka juga haus kekuasaan karena alasan yang sama.

A Subranging ADC berupaya untuk mengimbangi kelemahan ini dengan membagi pekerjaan antara dua unit terpisah: satu untuk menghitung tegangan secara kasar dan yang kedua untuk menghitung tegangan secara tepat. Dengan membaginya, kita dapat mengurangi jumlah pembanding. Beberapa ADC subranging akan membagi pekerjaan menjadi tiga tahap, dengan koreksi kesalahan yang dilakukan di sepanjang proses tersebut.

SAR (Daftar Perkiraan Berturut-turut) ADC melakukan pekerjaannya melalui semacam pencarian biner. Misalkan kita mempunyai delapan bit untuk diisi. SAR akan dimulai dari 10000000, yang merupakan nilai tengah (00000000 sebagai nilai terbawah dan 11111111 sebagai nilai teratas). Jika tegangan melebihi titik tengah ini, SAR akan mempertahankan digit paling kiri sebagai 1; jika tidak, SAR akan menetapkan digit paling kiri ke 0. Kita dapat mengulangi proses tersebut dengan digit berikutnya dan seterusnya secara rekursif. Hal ini akan menyebabkan nilai tebakan bergerak menuju nilai sebenarnya secara bertahap:

Dengan cara ini, kami terus mempersempit pencarian, membagi kemungkinan menjadi dua dan menanyakan apakah hasilnya lebih tinggi atau lebih rendah dari titik tengah. Dalam hal ini, nilainya berkisar antara 0 dan 255; setelah beberapa iterasi, ADC mengetahui bahwa jumlahnya sekitar 77.

Sigma-delta konverter mungkin yang paling sulit dipahami. Mereka digunakan untuk aplikasi musik dan pengukuran sinyal dengan presisi tinggi. Mereka bekerja dengan mengambil sampel sinyal secara berlebihan dan menyempurnakan hasilnya menggunakan pemfilteran dan matematika yang sangat rumit. Proses ini secara efektif mengurangi laju sampel sekaligus meningkatkan presisi. ADC ini sangat bagus ketika kebisingan dan presisi lebih penting daripada kecepatan.

Akhirnya, kita punya Mengintegrasikan ADC, yang bahkan lebih lambat dibandingkan sigma-delta. Mereka bekerja dengan bantuan kapasitor, yang laju muatannya dapat digunakan untuk menentukan tegangan masukan. Kecepatan sampel di sini sering kali disinkronkan dengan frekuensi catu daya, yang dapat digunakan untuk meminimalkan kebisingan.

Apa Itu Teori Nyquist-Shannon?

Katakanlah kita ingin mendeskripsikan sinyal analog secara digital. Untuk melakukan ini, kita memerlukan setidaknya dua titik untuk setiap siklus tertentu: satu di atas dan satu lagi di bawah. Oleh karena itu, frekuensi pengambilan sampel kita harus setidaknya dua kali frekuensi tertinggi yang ingin kita ukur.

Ini dikenal sebagai frekuensi Nyquist, diambil dari nama fisikawan Swedia-Amerika Harry Nyquist. Nama teori ini diambil dari nama Nyquist dan Claude Shannon (seorang ahli matematika dan kriptografer terkemuka) tetapi tidak diambil dari nama Edmund Whittaker, yang mengemukakan gagasan tersebut sebelum salah satu dari mereka.

Siapapun yang kita hargai sebagai penemu teori ini, pasti ada masalah di dalamnya. Tidak mungkin untuk mengetahui sebelumnya kapan bagian atas dan bawah suatu bentuk gelombang akan tiba. Bagaimana jika kita mengambil sampel di tengah-tengah bentuk gelombang yang masuk? Amati bagaimana pergeseran sinyal yang masuk dapat meratakan hasil tangkapan kita sepenuhnya:

Atau bahkan berhalusinasi bentuk gelombang baru yang belum pernah ada sebelumnya:

Halusinasi ini dikenal sebagai alias.

Masalah Dengan Aliasing

Anda mungkin familiar dengan ilusi "roda kereta" yang terkadang muncul saat objek berputar difilmkan. Roda mobil, atau baling-baling helikopter, tampak berputar ke belakang—hanya dengan sangat lambat. Dalam beberapa kasus, bilahnya mungkin berhenti total (dengan hasil yang sangat aneh—lihat video di bawah!).

Saat memainkan video game lama, Anda mungkin juga memperhatikan bahwa garis paralel terkadang menghasilkan artefak melengkung yang aneh. Pagar, tangga, dan jumper bergaris mulai terlihat sangat aneh. Atau bagaimana dengan suara siulan aneh yang terkadang Anda dapatkan saat mendengarkan seseorang berbicara melalui sambungan digital berkualitas buruk? Itu distorsi, tapi jenis distorsi tertentu. Ada apa dengan semua frekuensi buruk yang muncul dari kebisingan? Jika Anda mendengarkan konten yang kaya secara harmonis, seperti drumkit, efeknya akan lebih jelas—terutama pada nada tinggi.

Jika Anda memahami penyebab salah satunya, Anda sedang dalam proses untuk memahami semuanya. Dalam kasus roda gerobak, frame rate yang tetap berarti kita tidak dapat menangkap gerakan dengan benar. Jika sesuatu berputar 350° setiap frame, wajar jika kita melihat bahwa benda tersebut sebenarnya bergerak mundur sebesar 10°. Dengan kata lain, tidak ada informasi yang cukup untuk mewakili apa yang sedang terjadi. Sampel yang kami ambil tidak selaras dengan apa yang kami coba ukur.

Ini bukanlah masalah yang hanya terjadi pada konversi analog-digital. Dalam banyak kasus, kita mengubah satu jenis sinyal digital ke sinyal digital lainnya.

Jadi, apa solusinya? Ada beberapa. Kita dapat menerapkan filter khusus untuk menangani artefak ini, yang merupakan hal yang dilakukan oleh banyak ADC. Atau, kita dapat mengambil sampel lebih banyak dari yang kita perlukan. Semakin banyak sampel yang kita ambil, semakin akurat gambaran gelombang yang kita peroleh:

Sampel Dengan Kualitas Lebih Baik Untuk Hasil Terbaik

Jika menurut Anda hal semacam ini menarik, kabar baiknya adalah kita baru saja mendalami subjek ini. Ada kedalaman yang perlu ditelaah di sini: ADC sangat rumit.

Namun dari sudut pandang pengguna akhir atau rata-rata penggemar Arduino, semuanya juga sangat sederhana. Tegangan masuk, dan angka keluar. Jadi, apa pun yang ingin Anda ukur—apakah itu kadar air sepetak tanah, osilasi suatu kotak suara manusia, atau aliran foton yang dibiaskan melalui lensa—kemungkinan besar ada ADC yang akan melakukan hal tersebut. pekerjaan.