搞定了AI 四倍超取樣後, 利用Rational Resampler Express.vi改善noise floor 的部分, 不過效果有限就是了 (改善約10dB).
程式如下:
FPGA FFT 86.rar軟體需求: (LabVIEW 8.6.1 with FPGA module)
硬體需求: NI PXI-7833R or PCI-7833R 以上
測試效果如下 (1kHz 信號源 PXI-4461, noise floor約-140dB):
(2ch, AI Fs=40kHz, N=2048點, Noise floor 約為-90dB, SNR ~=80dBFS)
NI PXI-7833R 的AI是固定在±10V, 所以full scale是20dB, 不是一般預設±1V的0dB.
(2ch, AI Fs=160kHz, Resample to 40kHz, N=2048點, Noise floor 約為-100dB, SNR ~=90dBFS)
(1ch, AI Fs=160kHz, Resample to 40kHz, N=4096點, Noise floor 約為-100dB, SNR ~=90dBFS)
補充一點, PC端負責FFT讀出的Host程式裡有把Intensity Chart 的線性Y軸重新取樣成Log軸的寫法 (為何要自己寫? 因為LabVIEW Intensity Chart的Y軸沒辦法設定成Log scale).
Log 軸對聲學分析相當重要, 因為人類對音響頻率的感受是Log scale的, 所以樓上影片後半段測試音樂的部分, 就可以 “看到” 一群小喇叭所演奏的 “音符”, 用這支程式接上麥克風, 可以試試自己清唱一段Do Re Mi Fa So, 就會發現這些音階在頻譜上是等距的, 錄一下樂器發出的泛音也會是如此.
所以說, 若要我來說說希望LabVIEW 2012版要有什麼新功能, 這Intensity Chart, Intensity Graph 與3D Intensity Plot 其XYZ三軸都能支援Log mapping就是了.
DennyT40729.951400463