Bisakah kita memiliki filter Digital Anti Aliasing?

12

Saya sedang mengerjakan papan yang tidak memiliki filter antialisa pada input dari ADC. Saya memiliki opsi untuk menerapkan filter sendiri menggunakan sirkuit RC + Opamp. Tetapi apakah mungkin juga untuk menerapkan filter Anti Aliasing setelah pengambilan sampel oleh ADC dan memproses dalam domain Digital: filter Anti aliasing digital?

gpuguy
sumber

Jawaban:

11

Hanya untuk mendukung jawaban Matt dan memberikan beberapa detail lagi:

Sebagian besar ADC modern melakukan sebagian besar pekerjaan antialiasing yang sulit dalam domain digital. Alasannya adalah bahwa filter digital cenderung menghasilkan lebih sedikit produk sampingan dengan biaya yang jauh lebih rendah. Rantai sebenarnya adalah:

  • Input Analog.
  • Filter Anti-aliasing analog.
  • Oversampling (misalnya, pada 8x).
  • Filter Anti-Aliasing Digital.
  • Decimating (reduksi ke 1x).
  • Hasil digital.

Lebih lanjut menggambarkan, pertimbangkan hal berikut:

  • Audio disampel pada 44100Hz.
  • Ini menyediakan frekuensi Nyquist dari 22050 Hz.
  • Frekuensi apa pun di atas 24100 Hz akan alias kembali ke rentang suara (di bawah 20kHz).
  • 20000Hz hingga 24100 adalah sekitar seperempat oktaf.
  • Bahkan dengan filter 80dB / 8ve yang curam Anda hanya akan mengurangi frekuensi aliasing sebesar 20dB.

Tetapi dengan 8x oversampling:

  • Audio disampel pada 352.8kHz (44.1kHz x 8).
  • Nyquist adalah 176,4 kHz.
  • Hanya frekuensi di atas 332.8kHz yang akan tercermin ke rentang yang dapat didengar.
  • Itu sekitar 4 oktaf.
  • Jadi Anda dapat menerapkan filter analog 24dB / 8ve untuk mengurangi frekuensi aliasing sebesar 96dB.
  • Kemudian oversample.
  • Kemudian menerapkan filter digital fase linear antara 20kHz dan 24.1kHz

The buku berikut adalah sangat baik, sumber daya yang jelas untuk hal semacam ini.

Izhaki
sumber
1
Apa yang Anda katakan tentu benar untuk aplikasi audio (yang siap digunakan, chip codec terintegrasi menggantikan ADC / DAC sejak lama) - tetapi ada banyak bidang teknik di mana akuisisi masih dilakukan oleh vanilla SAR ADCs (seperti standalone). chip atau dibangun ke dalam mikrokontroler) - dan dengan ini Anda harus melakukan kerja keras!
pichenettes
Itu komentar yang bagus. Namun saya percaya jawabannya tetap ada - jika Anda mampu membelinya, filter anti-aliasing digital membawa banyak manfaat.
Izhaki
hanya ingin tahu apakah ini cara untuk memastikan bahwa filter analog akan memiliki geometri dan berat yang kecil?
gpuguy
1
Jika saya memahami pertanyaan dengan benar maka ya - menggunakan filter digital akan berarti analog fiter yang jauh lebih sederhana (terutama jika kualitas diperhitungkan).
Izhaki
Apakah maksud Anda "memusnahkan" pada langkah kedua hingga terakhir dalam alur kerja oversampling?
Nick T
15

Tidak, ini tidak masuk akal. Katakanlah tingkat sampel ADC Anda adalah 1kHz. Gelombang sinus 100 Hz dan gelombang sinus 900 Hz akan menghasilkan urutan sampel digital yang sama persis setelah dimasukkan ke dalam ADC Anda - tetapi Anda ingin meneruskan yang pertama dan melemahkan yang berikutnya. Bagaimana Anda mengharapkan filter digital Anda menghasilkan output yang berbeda ketika diberi input yang sama?

Satu-satunya hal yang bisa berfungsi adalah sampel sinyal input secepat ADC Anda memungkinkan, dan kemudian downsample dalam domain digital ke tingkat sampel target Anda - tetapi kecuali jika Anda memiliki siklus CPU sia-sia, Anda sebaiknya menggunakan analog filter hulu.

pichenettes
sumber
1
"Gelombang sinus 100 Hz dan gelombang sinus 900 Hz akan menghasilkan urutan sampel digital yang sama persis". Ini secara umum tidak benar (walaupun saya mengerti maksud Anda).
niaren
3
Oke, ini membutuhkan kondisi khusus pada fase mereka untuk bekerja tetapi ini bukan intinya! Intinya adalah bahwa sampel digital Anda mungkin terlihat seperti berasal dari gelombang sinus 100 Hz, sedangkan urutan data yang sama bisa dihasilkan oleh gelombang sinus 900 Hz.
pichenettes
dapatkah Anda mengetahui kondisi apa itu (untuk tepatnya dipegang)?
niaren
1
Ada perbedaan fase antara keduanya. π
pichenettes
ada kesalahan dalam jawaban Anda. 100Hz dan 900 Hz tidak memiliki output sampel yang sama. Sebenarnya [100 +/- k * 1000] yang akan memberikan sampel yang sama. Jadi, -900, 1100, 2100 dll adalah frekuensi alias yang sesuai dengan 100Hz. Sebenarnya, 900Hz akan negatif dari gelombang ukuran 100Hz.
15

Saya setuju dengan jawaban pichenettes tetapi saya ingin menambahkan bahwa itu adalah praktik yang cukup umum untuk menggunakan filter anti-aliasing analog murah sederhana yang murah, dan melakukan filter anti-aliasing lainnya dalam domain digital. Ini tentu saja menyiratkan bahwa Anda tidak memproses pada kecepatan pengambilan sampel maksimum tetapi Anda menurunkan sampel setelah filter anti-aliasing digital. Meringkas:

  1. Tentu saja Anda memerlukan filter anti-aliasing analog.

  2. Filter analog dapat dijaga sangat sederhana jika Anda dapat mengurangi sinyal Anda. Dalam hal ini Anda dapat melakukan lebih banyak penghapusan alias di domain digital (sebelum downsampling).

Matt L.
sumber