訊號處理 雜訊消除

各位專業的LabVIEWer們好

最近在練習實驗,用CCD抓訊號分析樣品
!!!不過發現CCD在沒收光下就有雜訊(小數點兩位跳頻率很快),樣本訊號(30秒換一個樣品) 
我寫了一個簡單的程式,將抓到的訊號用"Filter>smoothing mode"濾除
希望能濾除雜訊的高頻特徵,保留樣品的DC式的變化

似乎有了效果
但新的問題來了

1.這樣的濾波方式是不是比較像fitting將數據讀出作近似值,而非將高頻訊號濾除嗎(圖一)?
  
2.當我改用Filter中的"Lowpass mode"出現故障,設定fc有問題,但我不知道訊號雜訊頻率只知道很高,該怎麼辦(圖二圖三)?
3.因為我是將Daq assistant檔案丟到array中,y軸是振福,x軸為"次數"而非"時間",是否因此造成filter無發依"頻率"濾波?
   我該怎麼更改教好?

我先回答概念上的第一個問題 (也沒時間看程式抱歉)

1. 你要確定什麼是濾波的效果,至少要做傅立葉轉換,看他的頻譜特徵如何變化,在頻域中來看事情
必要的時候要輸入一個(廣頻的)White noise,或多個高頻率倍數的弦波疊加,然後比較輸出/輸入之間的差異,來了解他的頻率響應 (頻率加權分佈)

2. 從數學上來說,許多的fitting便擁有低通濾波的效果。舉例來說股市或銀行業常用的移動平均法(1階的時間變動加權平均)、一定時間內的求積分方均根RMS(2階的時間等加權平均)
他們的頻率響應效果 (頻率加權分佈)都類似於低通(高阻)濾波器。這一類的通稱為有限頻率響應FIR(濾波器),他們的其中一個特徵是在高頻的區段具有漣波(Ripple),使得特定的高頻沒辦法濾乾淨。
但適合邏輯運算單元去進行演算,速度較高。

上面很多括號內的名字都不是正式的,只是為了幫奇怪的名稱翻譯多些解釋。
請看下面移動平均濾波的頻率響應,這個演算法廣泛用於股市與簡單資料高速擷取後的濾波。過多的處理會造成訊號延遲與失真。

3. 這個基礎濾波演算法是現在FPGA高速演算的基石
http://www.analog.com/media/en/technical-documentation/dsp-book/dsp_book_Ch15.pdf
FIGURE 15-2
(FIGURE 15-2) Frequency response of the moving average filter. The moving average is a very poor
low-pass filter, due to its slow roll-off and poor stopband attenuation.


4. 程式設定上,你需要把DBL array拿去Build Waveform,加入時間起點to與時間間距delta t後,形成Waveform資料型態。(Waveform某種程度算是LabVIEW自創的標準資料結構,當然C中也是有不過是使用者自己寫的)
你的問題2與3需要先解決這項才能開啟真正的濾波,尤其是低通部分。

這個我只能有空再回了,你可以就關鍵字先去看看 

5. 基本上你應該不需要太多的高通(低阻)濾波,除非你有環境或鏡頭震動的疑慮。那麼大概要濾掉400Hz以下的頻率。別忘了,一濾掉低頻,你的輸出訊號會很常緊貼在0V附近。謹慎使用。

6. 各種數位濾波與階數開太多會有無法承受的delay。

[QUOTE=Matthew0125]各位專業的LabVIEWer們好
最近在練習實驗,用CCD抓訊號分析樣品
!!!!不過發現CCD在沒收光下就有雜訊(小數點兩位跳頻率很快),樣本訊號(30秒換一個樣品) 
我寫了一個簡單的程式,將抓到的訊號用"Filter>smoothing mode"濾除
希望能濾除雜訊的高頻特徵,保留樣品的DC式的變化

似乎有了效果
但新的問題來了

1.這樣的濾波方式是不是比較像fitting將數據讀出作近似值,而非將高頻訊號濾除嗎(圖一)?
  
[/QUOTE]
MingYen42300.4190162037
關於Waveform資料型態,請查詢 
Build Waveform / Get Waveform Components / Waveform Constant

下面是我自己寫的簡單範例,其中to的類型是Time Stamp (constant),dt為DBL
你可以直接利用端點按右鍵Create它們,或是善用Quick Drop找到Time Stamp型態 


to有時候不是很重要,很多人都會讓他自動出一個不知道西元幾年的日期。

dt影響波形的頻率,很重要。預設是1 second / 1 sample point,該單位倒數是1 sample  point / 1 second,也就是採樣頻率。


另外請參考範例放在LabVIEW的目錄中,該範例將時間資訊加入波型資料中 
Waveform - Create VI: labview\examples\Waveform