Filter frekuensi sangat rendah


13

Saya memiliki papan akuisisi data (A / D + Digital Signal Processor) dan saya ingin memeriksa apakah filter high-pass digital (diimplementasikan dalam DSP) pada frekuensi cut-off yang sangat rendah (0,05Hz) benar-benar berfungsi.

Jika ini adalah frekuensi yang saya dapat hasilkan dengan generator sinyal itu akan mudah untuk memeriksa, tetapi 0,05Hz terlalu rendah dan saya tidak dapat menghasilkannya. Bagaimana para insinyur memeriksa jenis filter ini?


3
Pikiranku hancur oleh pertanyaan ini dan jawabannya! Saya tidak pernah mempertimbangkan menyaring frekuensi serendah ini :)
bitsmack

6
@ BitMack Saya telah melihat 50 miliHz high-pass dalam instrumen electrogastrography (EGG).
Nick Alexeev

Beberapa generator sinyal memiliki tombol MHz dan tombol mHz.
AndrejaKo

Bisakah Anda memasukkan sinyal pengujian dalam bentuk digital ke dalam DSP? Sangat mudah untuk menghasilkan frekuensi apa pun dalam bentuk digital. --- Kekurangannya adalah Anda tidak akan menguji bagian analog dan A / D dari board.
pabouk

1
@ bititsack Ini berarti Anda harus menunggu lama sebelum semuanya beres dan "sweeping" harus sangat lambat (berjam-jam) tetapi bagus untuk menguji kinerja real-time yang sebenarnya setidaknya sekali sebelum percaya bahwa itu akan bekerja melambat (setelah pengujian dipercepat). Hal-hal seperti aliasing dapat memundurkan kepala mereka.
Spehro Pefhany

Jawaban:


18

Saya kira itu tergantung pada beberapa faktor, antara lain urutan filter, tetapi Anda memiliki beberapa kemungkinan:

  1. Temukan generator sinyal yang ada di sana. Ini agak murah saat ini.
  2. Percayalah pada matematika. Ini adalah filter digital dan karena itu skala dengan tingkat pengambilan sampel. Jika Anda dapat meningkatkan laju pengambilan sampel dengan dua kali lipat Anda akan memiliki filter dengan cutoff 5Hz, jauh lebih mudah untuk diukur. Demikian juga, jika faktor pembatas menjadi ADC, Anda dapat mengisolasinya dari filter dan memasukkan beberapa data digital buatan.
  3. Gunakan respons langkah (banyak sinyal wideband akan lakukan). Hitung respons langkah filter yang Anda inginkan dan bandingkan dengan hasilnya. Atau, sebagai alternatif, hitung respons frekuensi dengan menggunakan FFT dari respons langkah.

Kami menggunakan variasi alternatif 3 di beberapa pengaturan pengujian kami, bukan karena kami tidak dapat menghasilkan bentuk gelombang lambat yang diperlukan, tetapi karena cutoff <0,01Hz dari filter analog kami akan memakan waktu terlalu lama untuk dikarakterisasi jika kami mencoba bahkan menyapu frekuensi kasar . Ini mengurangi waktu pengujian dari lebih dari satu jam menjadi hanya beberapa menit.


10

μμ

Sayangnya, Anda tidak bisa mendapatkan yang rendah dengan DDS murah (mis. AD9850) modul karena kata tuning hanya 32 bit dan jam biasanya 125MHz, jadi itu resolusi 0,03Hz. Saya kira itu akan memberi Anda beberapa poin data (0,0291 / 0,0582 / 0,0873 Hz)

Anda juga bisa mengumpankannya satu langkah dan melihat respons domain waktu.


2
Jika modul DDS Anda dapat mengambil sinyal jam eksternal, cukup unduh saja! A DDS adalah benar-benar divide-by-N di hati ....
ThreePhaseEel

1
@ThreePhaseEel Anda dapat melakukan itu tetapi itu tidak akan menjadi output yang sangat bagus secara umum kecuali jika Anda mendesain ulang output low pass filter, yang biasanya seperti filter elips 5-tiang LC. Dalam kasus OP, karena frekuensi maksimumnya sangat rendah, ia mungkin bisa menambahkan filter RC low pass 1Hz ke output dan mendapatkan sinyal yang bagus.
Spehro Pefhany

Setuju bahwa Anda memerlukan postfilter - AD9850 memiliki jam minimum 1MHz btw, yang agak membatasi, tetapi masih cukup banyak untuk mendapatkan hasil yang diinginkan OP
ThreePhaseEel

@ThreePhaseEel Tentu, bahkan 8 atau 10 MHz akan menghasilkan resolusi 0,002 atau 0,0024Hz.
Spehro Pefhany

6

Opsi 1: Tes di PC.

Jika kode DSP Anda ditulis dalam C, maka Anda dapat mengatur test harness di GCC atau Visual Studio. Anda tahu laju sampel untuk kode DSP Anda, jadi gunakan Excel untuk menghasilkan file CSV input tes, dan minta uji coba Anda membuang output file CSV yang dapat Anda periksa.

Opsi 2: Tes pada DSP dengan antarmuka PC.

Jika kode DSP Anda harus berjalan pada DSP, Anda masih dapat menggunakan PC untuk mengujinya. Siapkan test harness pada DSP yang menerima nilai dari PC, jalankan satu langkah filter DSP, dan kemudian laporkan output filter untuk langkah itu kembali ke PC (menggunakan USB, RS-232 atau TCP / IP tergantung pada bagaimana Anda terhubung ke DSP). Anda juga akan memerlukan alat uji sisi PC untuk mengirim dan menerima nilai-nilai itu. Sekali lagi, Anda dapat mengatur file CSV input tes pada PC, meneruskan sampel berturut-turut ke kode filter, dan membuang output file CSV yang dapat Anda periksa.

Untuk keduanya...

Jika Anda memfilter pada 0,05Hz, kemungkinan sample rate Anda akan menjadi cukup lambat juga. Menggunakan test harness akan membuat Anda menjalankan tes ini lebih cepat daripada waktu nyata, yang akan membuat proses pengujian Anda lebih efisien.


5

Jika Anda memiliki konverter D / A juga dalam sistem DSP Anda, Anda dapat menghasilkan sinyal frekuensi sangat rendah ini di perangkat lunak dan mengirimkannya kembali ke input A / D Anda. Atau Anda dapat menggunakan Kartu D / A atau Adaptor USB untuk menghasilkan sinyal. Salah satu contoh perangkat tersebut adalah LabJack tetapi ada banyak lagi dengan harga / kapabilit yang bervariasi di luar sana. Kemungkinan lain adalah menggunakan pengontrol mikro murah + DAC seperti Raspberry Pi atau Arduino


2

Jika ini adalah frekuensi yang saya dapat hasilkan dengan generator sinyal itu akan mudah untuk memeriksa, tetapi 0,05Hz terlalu rendah dan saya tidak dapat menghasilkannya. Bagaimana para insinyur memeriksa jenis filter ini?

Ada tiga cara yang baik untuk memeriksa respons filter, satu adalah fungsi dirac delta (fungsi impuls atau pulsa pendek), yang lainnya adalah input langkah, dan yang terakhir adalah sapuan frekuensi.

Dengan instrumen yang saya gunakan, eksperimen dapat bertahan dari minggu hingga bulan, beberapa sistem fisik kami memiliki respons dalam rentang hari. Cara terbaik untuk memeriksa filter sistem \ ini adalah dengan menggunakan input langkah, kemudian mengukur konstanta waktu. Jika Anda ingat konstanta waktu untuk input tegangan adalah:

V(t)=V0(1-e-t/τ)

Dimana τ=RC

masukkan deskripsi gambar di sini
Sumber: http://mit6002.blogspot.com/2011/05/1011-parallel-rc-circuit-step-input.html

(pic memiliki sumber arus dengan resistor paralel yang setara dengan sumber tegangan dengan resistor seri)


0

Anda mungkin dapat menghasilkan sinyal 50 mHz yang lumayan halus dengan tangan menggunakan potensiometer dan jam tangan.

Atau, hitung respons langkah yang diharapkan dari filter Anda. Berikan input langkah perangkat keras Anda dengan membalik saklar. Plot output lebih dari satu menit atau lebih (jika basis waktu osiloskop Anda tidak akan berjalan lambat, rekam video multimeter dan transkripsi bacaan setiap detik). Bandingkan respons langkah yang diukur dengan apa yang Anda prediksi. Jika mereka cocok (cukup dekat, akuntansi untuk ketidakakuratan ADC / DAC / waktu) maka filter Anda berfungsi seperti yang dirancang.

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.