在 NI 多功能 DAQ 設備上啟用數位濾波功能

更新 Dec 23, 2024

環境

軟體

  • LabVIEW

驅動程式

  • NI-DAQmx

程式語言

  • C
  • Python

部份 NI 多功能 DAQ 裝置可以對輸入訊號應用數位濾波器,您可使用輸入線 (input lines) 上可用的數位濾波器選項來消除輸入資料中的毛邊。

若要啟用此選項並設定其參數,您需要使用一組 DAQmx  Channel 屬性
本文將介紹如何存取 LabVIEW、C 和 Python® 中的屬性。

注意:您的 NI 多功能 DAQ 裝置上可能不提供數位濾波選項,請參考您的裝置手冊,確認其是否支援數位濾波。

要在 LabVIEW 中存取這些屬性:

  1. DAQmx 通道屬性節點放置在Block Diagram(程式區)上,位於Functions >> All Functions >> NIMeasurements >> DAQmx - Data Acquisition
  2. 展開屬性節點以包含 4 個屬性。
  3. 對於第一個屬性,選擇Digital Input >> Digital Filter >> Enable 。將 false 連線到此輸入,這將預設為停用所有 lines 上的filter(允許您僅在特定 line 上啟用 filter)。
  4. 選擇第二個屬性的 Digital Input >> Digital Filter >> Minimum Pulse Width   。您可以在此處設定濾波器脈衝寬度。
  5. 對於第三個屬性,選擇Active Channels  」。這將允許您選擇要啟用過濾的特定 channel。
  6. 按一下第四個屬性方塊並選擇 Digital Input >> Digital Filter >> Enable  。這將啟用在活動通道中選擇的線路上的 filter。

要在 C 中存取這些屬性:

在 C DAQmx API 參考中,數位濾波有兩個屬性:

  • 啟用
    • DAQmxSetDIDigFltrEnable(TaskHandle taskHandle, const char channel[], bool32 *data)
  • 最小脈衝寬度
    • DAQmxSetDIDigFltrMinPulseWidth(TaskHandle taskHandle, const char channel[], float64 data) 


要在 Python 中存取這些屬性:

關於Python API的使用請參考下面的範例:

Task = nidaqmx.Task() # Create a Task reference
config = Task.di_channels.add_di_chan('Dev1/port0/line0:7') # Add a DI channel
config.di_dig_fltr_enable = True # Enable the digital filter
config.di_dig_fltr_min_pulse_width = minimum_pw_value # Set the min pulse width value



Python® 是 PSF 的註冊商標。