Mengapa sampel pada frekuensi tertentu hanya untuk segera menurunkan sampelnya?


19

Saya minta maaf jika pertanyaan ini tidak diajukan dengan baik. Saya membaca makalah yang mengklaim sebagai berikut:

Vektor magnetometer disampel pada 100 Hz. Detektor memfilter dan menurunkan sampel vektor hingga 10 Hz untuk menghilangkan noise sinyal dan mengurangi perhitungan yang diperlukan untuk pemrosesan langsung pada jam tangan pintar.

Pertanyaan saya adalah: jika mereka menginginkan frekuensi sampling menjadi 10Hz, mengapa mereka tidak hanya sampel pada 10Hz pada awalnya?


12
Anti-aliasing. Sangat umum.
Menang

2
Dokumen ini berbicara untuk dirinya sendiri wescottdesign.com/articles/Sampling/sampling.pdf
Blup1980

Jawaban:


41

jika mereka ingin frekuensi sampling menjadi 10Hz, mengapa mereka tidak hanya sampel pada 10Hz pada awalnya?

Untuk menghindari aliasing , sinyal harus disaring dengan lowpass sebelum pengambilan sampel. Tidak boleh ada frekuensi di atas Fs / 2 dalam sinyal analog (atau, secara realistis, frekuensi tersebut harus dilemahkan untuk dikubur dalam kebisingan, atau ke tingkat yang cukup rendah untuk memenuhi spesifikasi yang Anda inginkan).

Jika Anda sampel pada Fs = 10Hz dan ingin memperoleh katakanlah, sinyal 4Hz, filter Anda harus membiarkannya lewat, namun memberikan atenuasi yang kuat di atas 5Hz, sehingga akan memerlukan fungsi transfer datar dalam passband, kemudian jatuh terjerembab setelah frekuensi cutoff.

Filter tingkat tinggi ini sulit dan mahal untuk diterapkan di domain analog, tetapi sangat mudah dilakukan di domain digital. Filter digital juga sangat akurat, frekuensi cutoff tidak tergantung pada toleransi kapasitor misalnya.

Dengan demikian, jauh lebih murah untuk menggunakan lowpass analog orde rendah, oversample oleh faktor besar, kemudian menggunakan filter digital yang tajam untuk menurunkan sampel ke tingkat sampel akhir yang Anda inginkan.

Perangkat keras digital yang sama dapat digunakan untuk beberapa saluran juga. Pada frekuensi pengambilan sampel yang rendah ini, kebutuhan daya komputasi sangat rendah, dan mikrokontroler modern akan dengan mudah mengimplementasikan banyak saluran penyaringan digital dengan harga yang sangat murah.


10

Anda menyebutkan kata magnetometer. Ini sedikit memperluas ruang lingkup.

Magnetometer untuk mereka yang tidak terbiasa mengukur fluks magnet dan membuat tegangan / sinyal keluaran proporsional sesuai dengan fluks.

Kemungkinan Anda juga akan mendeteksi sejumlah besar "energi listrik" yang tidak diinginkan, karena energi magnetik yang terpancar dari setiap kabel listrik di sekitarnya.

Bahkan, pengambilan sampel langsung pada 10 hz di hadapan 50 hz bisa membuat Anda marah, karena Anda mungkin tidak tepat 10 hz, dan Anda akan melihat apa yang tampak seperti DC lambat yang bergeser ke atas dan ke bawah selama beberapa detik.

The 100Hz menjadi signifikan dalam membantu menghilangkan sinyal yang tidak diinginkan ini dari apa yang sebenarnya ingin Anda lihat. Ini khas untuk tempat-tempat di mana 50 hz ditemukan, di AS 60 hz tentu saja.

Jika Anda menggunakan magnetometer di beberapa negara, 100 hz / 10 hz tidak berfungsi dengan baik; Anda mungkin menemukan model yang berbeda untuk pasar ini.

Jawaban tentang antialiasing / filtering dll masih benar; ini hanya lebih spesifik untuk kasus penggunaan Anda.


7

Mereka tidak langsung mengurangi sampel. Mereka "memfilter dan menurunkan sampel". Agaknya filter adalah low-pass yang menghilangkan alias yang mungkin terjadi pada sinyal downsampled. Penyaringan juga dapat mengurangi kebisingan dengan menggunakan informasi dari beberapa sampel 100 Sps untuk berkontribusi menentukan masing-masing nilai sampel dalam sinyal (10 Sps) yang dihilangkan.


5
Jawaban ini benar, tetapi hanya untuk kelengkapan, untuk sampel yang benar, Anda harus filter low-pass (pada frekuensi Nyquist) sebelum downsampling. Filter tidak opsional.
Mark Lakata

@MarkLakata saya tidak setuju. Filter itu sendiri tidak diperlukan, yang diperlukan adalah Anda tidak memiliki sinyal di atas Fs / 2. Jika Anda mengharapkan beberapa, maka Anda perlu menambahkan filter anti-aliasing. Jika, berdasarkan desain atau sifat apa yang Anda ukur, Anda tidak mengharapkan apa pun (sinyal atau suara) di atas Fs / 2 maka filter tidak berguna.
Blup1980

@ Blup1980 Benar secara teknis - tetapi hanya jika Anda mengambil sampel sinyal murni-matematis, dengan resolusi tak terbatas, dan dengan nol jitter pada pembentukan gelombang dan titik pengambilan sampel. Bahkan untuk pemrosesan gelombang "murni" yang dihasilkan komputer, ini berarti Anda membutuhkannya di semua pengambilan sampel digital karena kebisingan di LSB (walaupun untuk resolusi tinggi Anda dapat memilih untuk mengabaikannya karena kecil). Untuk kasus OP, itu mutlak diperlukan dan tidak pernah opsional.
Graham

@ Blup1980 cukup adil, ada kemungkinan bahwa sinyal secara bodoh diambil sampel pada 100 Hz dengan filter LP 20 Hz di tempatnya. Tetapi dengan asumsi kasus umum di mana gelombang input Anda yang tidak dibatasi frekuensinya, Anda harus mengirimkan data Anda sebelum melakukan resampling pada frekuensi yang lebih rendah. en.wikipedia.org/wiki/Sample-rate_conversion Dalam kasus magnetometer (mis. kompas pada ponsel pintar), Anda dapat mengasumsikan bahwa ada banyak noise pada semua frekuensi di atas 20 Hz.
Mark Lakata

5

Ada banyak kasus di mana berbagai sumber kebisingan cepat (dibandingkan dengan sinyal) dapat mempengaruhi pembacaan. Contoh lain adalah fotodioda yang mengambil langkah lambat. Itu dapat dengan mudah mengambil flicker 50/60/100 / 120Hz dari sumber cahaya umum vairous tergantung di mana Anda berada, dan bahkan mungkin akan mengambil flicker lampu LED / fluorescent frekuensi tinggi.

Dalam beberapa kasus, Anda mungkin dapat menggunakan low-pass filter pada input, tapi sering sederhana untuk mengoptimalkan penyaringan dalam perangkat lunak (misalnya hanya oversample dan rata-rata beberapa nomor n sampel, di mana n adalah dikonfigurasi pengguna).

Mengurangi laju sampling tidak (tentu saja) (secara linear) meningkatkan waktu penyelesaian, jadi Anda pada dasarnya snapshotting sinyal input. Bahkan dalam MCP3002 misalnya, waktu penyelesaian didasarkan pada kecepatan clock SPI, yang dapat ditetapkan karena alasan lain dan tidak sama sekali pada laju pengambilan sampel sama sekali (yang masuk akal: perangkat tidak tahu tentang laju pengambilan sampel, hanya fakta bahwa itu diminta untuk sampel, tetapi angka lembar data menggunakan kecepatan jam yang ditetapkan dari laju sampling). Jika kinerja perangkat diatur oleh kecepatan jam, dan kecepatan jam minimum lebih tinggi dari yang Anda inginkan untuk kinerja, Anda mungkin juga membaca lebih cepat, dan rata-rata murah.


Poin yang sangat bagus, pilihan frekuensi pengambilan sampel mungkin merupakan artefak dari beberapa pilihan desain yang tidak terkait.
KalleMP

3

Pengambilan sampel secara berlebihan memudahkan filter aliasing dan respons transien, dengan SAR ADC, sementara rata-rata dengan penipisan mengurangi kebisingan oleh root dan sampel dalam perangkat lunak. Jika mengintegrasikan IDC AD berhasil, itu bisa dilakukan dalam satu langkah.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.