Cara menggunakan Codec Audio untuk lebih mudah Mengoptimalkan kinerja Audio di Sistem Tertanam

Pembaruan: 8 Desember 2023

Banyak desainer memasukkan codec audio dalam desain sistem tertanam berbasis mikrokontroler dalam upaya untuk menambahkan audio dengan ketelitian tinggi. Dalam melakukannya, mereka harus mencari cara untuk menyetel codec audio untuk aplikasi mereka. Tanpa penyetelan, aplikasi mungkin akan terdengar datar atau berkualitas buruk, bahkan dengan codec dan speaker yang baik. Masalahnya adalah bahwa setiap speaker memiliki respons frekuensi sendiri-sendiri sehingga codec harus disesuaikan dengan karakteristik speaker dengan tetap memperhatikan jenis audio yang akan diputar dan respons yang diperlukan.

Solusi untuk menyetel sistem pemutaran audio bukanlah menggunakan pemfilteran perangkat keras, melainkan memanfaatkan blok penyaringan digital codec audio itu sendiri. Setiap codec memiliki blok ini untuk memungkinkan pengembang memfilter output menggunakan filter high-pass, low-pass, dan bandpass. Hal ini memungkinkan respons speaker disetel dengan cermat dan bahkan disesuaikan, jika perlu.

Artikel ini akan membahas blok audio digital internal yang termasuk dalam codec, menggunakan codec dari AKM Semikonduktor sebagai contoh. Ini juga akan membahas beberapa tip dan trik tentang cara menyetel codec yang akan membantu pengembang mempercepat pengembangan pemutaran audio mereka sambil meningkatkan kualitas suara sistem.

Memahami karakteristik respons frekuensi speaker

Artikel "Cara Memilih dan Menggunakan Codec Audio dan Mikrokontroler untuk File Umpan Balik Audio Tertanam" membahas dasar-dasar pemilihan dan penambahan codec ke sistem. Langkah selanjutnya adalah menggunakan codec itu untuk mendapatkan keluaran audio terbaik.

Ada beberapa faktor berbeda yang berkontribusi pada bagaimana audio yang keluar dari sistem akan berbunyi. Faktor-faktor tersebut antara lain:

  • Penutup speaker
  • Bagaimana speaker dipasang
  • Frekuensi audio yang sedang diputar
  • Respon frekuensi pembicara

Setelah mempertimbangkan faktor-faktor ini dengan cermat, pengembang akan segera menyadari bahwa menyetel sistem audio hanya berguna saat berada dalam status produksi akhir. Tentu, sistem dapat disetel dengan papan sirkuit tercetak (papan pc) dan speaker di luar rumahan, tetapi orang tidak boleh mengharapkan parameter penyetelan yang sama diterapkan saat speaker dipasang dan di dalam kandangnya.

Jika tim mekanik telah merancang enklosur dan dudukan sistem dengan benar, karakteristik utama yang perlu diperhatikan oleh pengembang adalah respons frekuensi speaker. Setiap pembicara memiliki karakteristik dan kurva respons yang berbeda. Bahkan speaker dengan nomor bagian yang sama akan sering memiliki sedikit variasi dalam respons frekuensi, tetapi pabrikan biasanya menyediakan kurva respons frekuensi yang khas. Misalnya, Gambar 1 menunjukkan kurva respons frekuensi untuk Perangkat CUI GC0401K 8 Ohm (Ω), speaker 1 watt. GC0401K diberi peringkat untuk frekuensi antara 390 Hertz (Hz) dan 20 kilohertz (kHz).

Gambar 1: Perangkat CUI GC0401K 8 Ω, speaker 1 watt diberi peringkat untuk frekuensi antara 390 Hz dan 20 kHz. (Sumber gambar: Perangkat CUI)

Pembicara biasanya diberi peringkat untuk wilayah kurva respons mereka di mana responsnya relatif datar. Melihat lebih dekat pada Gambar 1 menunjukkan bahwa respons frekuensi untuk GC0401K mulai mendatar pada ~ 350 Hz dan tetap relatif datar setidaknya hingga 9 kHz. Frekuensi high-end memiliki beberapa penurunan tetapi masih stabil hingga 20 kHz.

Respons frekuensi speaker yang berbeda dapat dilihat di GF0668 Perangkat CUI (Gambar 2). Speaker ini sedikit lebih besar dan dapat menghasilkan 3 watt. Peringkat respons frekuensi antara 240 Hz dan 20 kHz. Speaker ini dapat mencapai frekuensi yang sedikit lebih rendah daripada GC0401K, tetapi perhatikan lagi bahwa dalam rentang yang ditentukan kurva relatif datar dengan beberapa palung dan puncak di seluruh.

Gambar 2: Respons frekuensi untuk perangkat CUI GF0668 8 Ω, speaker 3 watt menunjukkan mengapa itu dinilai untuk kisaran 240 Hz hingga 30 kHz. (Sumber gambar: Perangkat CUI)

Satu tanggapan pembicara terakhir yang patut dilihat adalah Soberton Inc.'s SP-2804Y (Gambar 3). SP-2804Y adalah speaker 500 miliwatt (mW) dengan rentang respons frekuensi 600 Hz hingga 8 kHz. Hukum fisika memastikan bahwa semakin kecil pengeras suara, semakin sulit waktu yang dimilikinya untuk merespons frekuensi yang lebih rendah. Ini berarti bahwa jika pengembang tidak memfilter frekuensi yang lebih rendah dan malah mencoba untuk menggerakkan speaker pada frekuensi tersebut, hasilnya dapat berupa audio yang terdengar sangat kasar atau cacat pada nada yang akan terdengar sebening kristal.

Perhatikan juga ada penurunan signifikan dalam respons frekuensi sekitar 10 kHz. Oleh karena itu, speaker hanya diberi nilai hingga 8 kHz meskipun mungkin dapat digunakan hingga 20 kHz untuk beberapa aplikasi.

Gambar 3: Respons frekuensi untuk speaker Soberton Inc. SP-2804Y 8 Ω, 0.5 watt menunjukkan bahwa itu cocok untuk frekuensi dari 600 Hz hingga 8 kHz. Ini memiliki penurunan setelah 10 kHz tetapi masih dapat digunakan hingga 20 kHz untuk beberapa aplikasi. (Sumber gambar: Perangkat CUI)

Melihat respons frekuensi masing-masing pembicara, jelas bahwa beberapa jenis pemfilteran dan penyetelan perlu dilakukan karena ada beberapa frekuensi di mana speaker tidak boleh digerakkan. Misalnya, mencoba menggerakkan nada bass 4 Hz pada speaker ini dapat menyebabkan getaran yang tahan lama saat frekuensi yang lebih tinggi disuntikkan, mengakibatkan banyak distorsi suara.

Membedah blok filter audio digital

Salah satu metode yang telah digunakan di masa lalu untuk menghilangkan frekuensi yang tidak diinginkan adalah dengan membuat filter perangkat keras yang mengarah ke speaker. Misalnya, filter high-pass pada 500 Hz dapat mencegah frekuensi di bawah 500 Hz agar tidak sampai ke speaker. Di sisi lain, filter low-pass dapat digunakan untuk menghilangkan nada audio di atas 15 kHz. Pengalaman pribadi telah menunjukkan bahwa terkadang jika suara wanita digunakan dengan pengeras suara kecil yang efisien pada frekuensi yang lebih tinggi, pengeras suara tersebut dapat mengeluarkan dentingan bernada tinggi. Memilih frekuensi secara hati-hati dapat menghilangkan distorsi ini dan menghasilkan audio yang terdengar lebih bersih.

Meskipun filter perangkat keras eksternal dapat melakukan pekerjaan itu, filter tersebut menambah biaya dan menghabiskan ruang tambahan. Karena alasan ini, lebih praktis dan efisien untuk menyetel audio menggunakan blok filter digital yang ada di dalam codec audio.

Misalnya diagram blok untuk AKM Semikonduktor Codec audio 4637-bit AK24 memiliki blok filter digital yang disorot (Gambar 4).

Gambar 4: AK4637 adalah codec audio dengan output speaker mono yang memiliki kemampuan playback dan perekaman audio. Ini juga berisi blok audio internal yang dapat digunakan untuk memfilter audio yang masuk dan keluar untuk meningkatkan kesetiaan audio. (Sumber gambar: AKM Semiconductor)

Blok filter digital dalam hal ini berisi beberapa kemampuan pemfilteran berbeda yang meliputi:

  • Filter high-pass (HPF2)
  • Filter low-pass (LPF)
  • Equalizer empat band (4-Band EQ)
  • Kontrol leveling otomatis (ALC)
  • Equalizer satu band (1 Band EQ)

Fitur-fitur ini tidak semuanya perlu diaktifkan. Pengembang dapat memilih fitur yang mereka butuhkan dan mengaktifkan dan menonaktifkan blokir atau merutekan mikrofon atau memutar audio melalui mereka. Pertanyaan sebenarnya pada saat ini adalah bagaimana menghitung dan memprogram codec audio?

Cara menghitung dan memprogram parameter filter digital

Di sebagian besar aplikasi audio, filter high-pass digunakan untuk menghilangkan frekuensi yang lebih rendah dan filter low-pass digunakan untuk mengecualikan frekuensi yang lebih tinggi. Equalizer dapat digunakan untuk memperhalus kurva respons frekuensi atau untuk menekankan nada tertentu. Bagaimana tepatnya pengaturan ini harus dipilih berada di luar cakupan artikel ini. Alih-alih akan melihat cara menghitung dan memprogram nilai yang terkait dengan parameter ini menggunakan AKM AK4637 sebagai contoh.

Pertama, selalu merupakan ide bagus untuk meninjau lembar data. Halaman 7 dan 8 dalam hal ini menunjukkan peta register yang sangat penting untuk codec. Pandangan pertama mungkin mengintimidasi mengingat bagian tersebut memiliki 63 register. Namun, banyak dari register ini mengontrol blok audio digital. Misalnya, register 0x22 hingga 0x3F mengontrol equalizer. Register 0x19 hingga 0x1C mengontrol filter high-pass, sementara 0x1D hingga 0x20 mengontrol filter low-pass.

Pengembang biasanya tidak bisa begitu saja menentukan frekuensi untuk dimasukkan ke dalam codec. Sebagai gantinya, terdapat persamaan filter yang digunakan untuk menghitung koefisien filter, yang kemudian diprogram ke dalam register codec untuk membuat filter pada frekuensi yang diinginkan. Misalnya, untuk menggunakan blok filter digital untuk membuat filter high-pass pada 600 Hz, gunakan Persamaan 1:

Gambar 5: Tampil adalah persamaan yang diperlukan untuk menghitung koefisien high-pass filter untuk blok filter digital AK4637. (Sumber gambar: AKM Semiconductor)

Pengembang akan mengidentifikasi frekuensi cutoff yang diinginkan, fc, yang dalam hal ini adalah 600 Hz. Frekuensi pengambilan sampel audio, fs, biasanya 48 kHz, tetapi dapat bervariasi berdasarkan aplikasi. Nilai-nilai ini kemudian akan ditempatkan dalam persamaan untuk menghitung koefisien A dan B. Nilai-nilai ini kemudian ditulis ke register codec melalui I2C selama start-up. Proses yang sama akan digunakan untuk low-pass filter dan fitur blok digital lainnya, meskipun fungsi transfer seringkali berbeda, memerlukan persamaan set mereka sendiri untuk digunakan (lihat lembar data).

Tip dan trik untuk menyetel codec audio

Blok filter digital yang termasuk dalam codec audio seringkali cukup fleksibel dan kuat. Bahkan codec audio berbiaya rendah memberi pengembang alat yang diperlukan untuk menghasilkan audio dengan fidelitas tinggi. Namun pada akhirnya, codec audio hanyalah salah satu bagian dari teka-teki. Agar berhasil menyetel codec audio, ada beberapa "tip dan trik" yang harus diingat oleh pengembang seperti:

  • Pastikan speaker dipasang di kandang yang sesuai untuk aplikasi. Kotak speaker yang dirancang dengan tidak tepat dapat dengan mudah merusak sistem pemutaran yang sebelumnya sempurna.
  • Jangan sesuaikan blok filter audio codec hingga sistem dirakit sepenuhnya dalam konfigurasi maksud produksinya. Parameter penyetelan mungkin berubah.
  • Pilih rentang frekuensi berdasarkan audio yang akan diputar. Misalnya, pengaturan frekuensi untuk musik dari gitar, piano, atau seseorang yang berbicara semuanya akan berbeda.
  • Gunakan blok keseimbangan digital untuk mengimbangi respons frekuensi speaker. Beberapa frekuensi secara alami akan terdengar lebih keras dan jernih dan mungkin perlu dilemahkan, sementara yang lain mungkin perlu diperkuat.
  • Gunakan nada uji untuk mengevaluasi respons frekuensi sistem. Pencarian Internet sederhana akan menyediakan file mp3 untuk berbagai nada audio yang dapat digunakan untuk memahami respons frekuensi sistem pemutaran audio dan cara kerja blok filter digital.
  • Simpan pengaturan konfigurasi blok filter dalam flash atau EEPROM sehingga dapat diatur selama pembuatan untuk memperhitungkan variasi sistem-ke-sistem (jika itu yang menjadi perhatian).

Pengembang yang mengikuti "tip dan trik" ini akan menemukan bahwa mereka menghemat banyak waktu dan kesedihan saat mencoba menyetel sistem pemutaran audio mereka, dan memastikan sistem tersebut masuk ke pasar dengan karakteristik audio yang diinginkan.

Kesimpulan

Menambahkan codec audio ke sistem tertanam tidak menjamin bahwa itu akan terdengar bagus bagi pengguna akhir. Setiap sistem pemutaran audio perlu disetel dengan cermat. Filter eksternal dapat digunakan untuk mencapai penyetelan ini, tetapi codec audio dilengkapi dengan penyaringan digital dan kemampuan keseimbangan yang ada di dalamnya. Seperti yang ditunjukkan, filter ini dapat digunakan untuk memberi makan speaker hanya pada frekuensi yang paling sesuai. Dengan analisis yang cermat dan penerapan pengaturan filter, pengembang dapat membuat audio yang terdengar jernih yang diharapkan pengguna akhir dari perangkat mereka.