Menerapkan A-weighting


11

Saya ingin menghitung kenyaringan sinyal yang diberikan dan saya telah menemukan utas ini . Saya sedikit bingung tentang aspek A-Weighting-nya. Saya tidak dapat memposting gambar, tetapi saya pikir situs ini memiliki formula yang saya butuhkan. (Wa = 10 log ...)

Yang tidak saya mengerti adalah bagaimana cara menggunakannya di program saya. Jika fsingkatan dari frekuensi, maka mungkin saya bisa meng-hardcode nilai-nilai karena mereka akan tetap konstan. Jika itu masalahnya, bagaimana cara saya menerapkan Wanilai sampel saya dan nilai apa yang saya gunakan? Apakah saya menghitung spektrum daya untuk mendapatkan WINDOW_SIZE/2nilai dan mengalikan setiap nilai dalam pita frekuensi dengan Wanilai pra-hitung yang relevan atau apakah itu cara yang salah untuk melakukannya? Terima kasih sebelumnya.

Jawaban:


8

Ya, Anda bisa meng-hardcode nilai-nilai, melakukan FFT dari sinyal Anda, dan mengalikannya dengan nilai-nilai hardcode, kemudian mendapatkan amplitudo dalam domain frekuensi dari teorema Parseval ( contoh ).

Anda juga dapat menerapkan filter digital dan melakukannya dalam domain waktu. Ini kode Matlab dan terjemahan saya ke Python .

Perhatikan bahwa transformasi bilinear menyebabkan filter digital lebih cepat roll-off daripada filter analog, memperkenalkan kesalahan pengukuran pada laju sampel umum. Perbaikan sederhana adalah dengan meng-upample data terlebih dahulu, sehingga perbedaan diminimalkan. Pendekatan desain filter lainnya di sini: http://dsp.stackexchange.com/q/36077/29


Terima kasih, saya memahaminya sedikit lebih baik. Dalam contoh Parseval Anda, apakah rms_flat persamaan RMS (SQRT(x1^2 + x2^2...xn^2/n))dan apa perbedaan antara rms_flat dari sinyal dan rms_flat dari FFT?
TryNCode

@ExpAns: Ya, rms_flat()adil sqrt(mean(absolute(a)**2)). Ada /ndi luar. Nilai RMS dari sinyal dan FFT adalah sama kecuali untuk faktor penskalaan.
endolith
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.