Saya tidak bisa memikirkan cara yang lebih baik untuk mengajukan pertanyaan ini jadi saya akan mulai dengan sebuah contoh. Misalkan saya memiliki sinyal input dengan frekuensi maks 50Hz (sampel pada 100Hz). Sekarang sinyal yang menarik terletak pada kisaran 0-5Hz, jadi saya dapat menambahkan filter low-pass dengan cut-off 5Hz, dan menggunakan sinyal yang dihasilkan untuk diproses lebih lanjut. Pemahaman saya adalah bahwa sekarang saya dapat mengurangi sampel sinyal yang difilter dengan faktor 10 dan karenanya mengurangi beban pemrosesan. Apakah saya benar? Jika ya, mengapa downsampling tidak SELALU dilakukan setelah pemfilteran karena menurut saya cara yang jelas untuk dilakukan? Dan jika saya salah dalam anggapan saya, di mana saya salah?
filters
decimation
downsampling
sampling
anasimtiaz
sumber
sumber
Jawaban:
Anda benar bahwa jika sinyal Anda dibatasi hingga <5 Hz, maka Anda dapat dengan sempurna mewakilinya dengan laju sampling 10Hz. Ini adalah teorema sampling yang terkenal
Tapi ... mungkin ada pertimbangan praktis mengapa seseorang tidak dapat dan / atau cenderung menggunakan data sampel kritis.
Salah satu alasannya adalah sulitnya membuat sinyal sampel secara kritis. Operasi apa pun yang Anda lakukan untuk mengubah laju sinyal akan memiliki beberapa filter dengan bandwidth transisi yang tidak nol. Dalam contoh Anda, ini membatasi konten frekuensi yang tidak diubah menjadi 5-ftrans. Bandwidth transisi ini dapat dibuat sangat sempit dengan filter respons impuls panjang tetapi ini memiliki biaya baik dalam hal pemrosesan dan transien (dering) pada awal dan akhir sinyal.
Alasan lain adalah kemanjuran algoritma yang bekerja pada sinyal yang dihasilkan. Jika Anda perlu bekerja dengan komponen blackbox yang hanya bisa memilih sampel terdekat, maka Anda akan lebih baik memberi makan itu data yang terlalu banyak.
Sebagian besar (semua?) Operasi non-linier akan berperilaku berbeda dengan data sampel kritis vs berlebih. Salah satu contoh adalah mengkuadratkan sinyal, metode pemulihan pembawa BPSK yang terkenal. Tanpa kondisi 2x oversampled, penggandaan sinyal domain waktu dengan dirinya sendiri menyebabkan sampah sampingan alias ketika domain frekuensi berbelit-belit dengan dirinya sendiri.
sumber
Dua alasan lagi untuk sampel berlebihan:
Latensi rendah: misalnya loop kontrol memerlukan latensi yang sangat rendah. Oversampling membuat data masuk dan keluar lebih cepat, sehingga mengurangi latensi. Juga setiap penyaringan lowpass memperkenalkan penundaan grup. Semakin tajam filter lowpass, semakin tinggi penundaan grup. Jika Anda berlebihan, Anda memerlukan filter anti-aliasing yang kurang curam dan berakhir dengan sedikit penundaan grup dan karenanya latensi.
Kepraktisan: Jika input dan output Anda berjalan pada tingkat yang sama (tinggi), Anda berpotensi menurunkan sampel, tetapi Anda harus melakukan upample lagi sebelum Anda dapat menampilkan hasilnya. Contoh: dalam sistem home theatre, Anda dapat melakukan downsample pada jalur pemrosesan Bass tetapi Anda harus melakukan upample lagi karena output berjalan pada tingkat tinggi. Dalam banyak kasus, penghematan dalam MIPS tidak sepadan dengan masalah yang terjadi
sumber
Ada sejumlah faktor yang perlu dipertimbangkan ketika menentukan laju sampling. Biarkan saya daftar beberapa dari mereka, untuk memberi Anda gambaran tentang konsekuensi apa yang mungkin terjadi jika Anda menurunkan laju sampling. Tentu saja, banyak dari ini tergantung pada seberapa tepatnya Anda menurunkan laju sampling, tetapi ...
Untuk mengilustrasikan beberapa kepala sekolah ini, saya telah menulis program matlab sederhana, yang akan saya tampilkan hasilnya juga.
sumber
Kriteria Nyquist (dua kali lipat berlebih untuk menggambarkan sinyal Anda dengan sempurna) berlaku untuk data bebas noise. Jika Anda ingin merekonstruksi data berisik, Anda perlu mengambil sampel dengan frekuensi lebih tinggi dari minimum. Ini terutama benar dalam kasus gambar, di mana Anda biasanya tidak memiliki sinyal periodik, dan di mana Anda tidak bisa hanya rata-rata waktu untuk mengurangi noise.
Selain itu, jika Anda ingin menyesuaikan model dengan data Anda, Anda mendapat manfaat lagi dari pengambilan sampel yang lebih tinggi, karena memasukkan model ke dalam tiga titik data tidak akan sangat stabil, terutama di hadapan kebisingan.
sumber
Salah satu alasan untuk menjaga sinyal oversampled adalah rentang dinamis / tradeoff oversampling. Secara kasar, setiap kali Anda menggandakan bandwidth "tidak perlu" untuk sinyal yang menarik, Anda mendapatkan sedikit tambahan resolusi pengambilan sampel, setelah pemfilteran diterapkan (yang dapat terjadi dalam domain digital), Anda dapat menyimpan hasilnya pada kedalaman bit yang lebih tinggi dan bit mengandung konten sinyal yang valid, bukan noise tambahan (untuk bandwidth yang diinginkan). Jika sistem Anda beroperasi dalam kondisi di mana beberapa rentang dinamis tambahan dapat membantu, maka ada alasan yang baik untuk menjaga sinyal pada tingkat pengambilan sampel yang tinggi saat memasuki ADC.
sumber