多旋翼無人機開發技術儲備系列—數字濾波器設計專題(一) ——FDATool使用教程

一.前言

????良好的傳感器數據是實現精確的導航解算與閉環控制的重要基礎,然而,無論采用何種傳感器,都會存在不同特性的噪聲,同時,會隨著應用環境的變化而變化。因此,我們需要通過設計濾波器、針對傳感器特性設計校準算法等方式對傳感器原始測量數據進行“優化”。本篇將針對數字濾波器的設計方法進行闡述,著重針對MATLAB FDA工具箱的使用方法進行說明。

二.MATLAB FDA工具箱的使用教程

首先,在MATLAB命令行窗口輸入“fdatool”指令,隨后即可打開MATLAB自帶的功能強大的濾波器設計工具——“FDATool”。如圖1所示,

圖1 FDATool的打開方式

????打開后,會顯示如圖2所示的界面。

濾波器類型設置區域選擇使用何種濾波器,常用的如FIR、IIR,濾波器的響應類型又分為低通、高通、帶通、帶阻、陷波等等。

濾波器階次設置區域可以用于設置濾波器的階次,或使用自動計算階次的方式。

濾波器頻率參數設置區域則可以用于設置濾波器的采樣頻率,截止頻率,帶通、帶阻頻率等等。

濾波器幅值參數設置區域則用于設置濾波器增益等。

當前濾波器信息區域顯示了當前設計的濾波器的階次以及穩定性,這里能夠保存設計完成的濾波器。

濾波器相關特性曲線區域可顯示濾波器的幅頻特性、相頻特性以及群時延等參數曲線,具體切換方式如圖3所示。

圖2 FDA主界面

????點擊“Analysis”按鈕,彈出下拉選項框,其中包括濾波器的幅頻響應、相頻響應、群時延、脈沖響應、階躍響應、零極點圖等等,可謂是一應俱全。通過選擇不同的選項,我們能夠在濾波器相關特性曲線曲線顯示我們需要的特性曲線,以此作為我們設計濾波器時的參考依據。

圖3 濾波器相關特性曲線切換方式??

????在設計完濾波器相關參數后,如圖4所示,點擊“File”—“Export”按鈕,彈出如圖5所示選項框,這里選擇“MAT-File”、“Coefficient”。MATLAB會生成對應的MAT文件,如示例中,采用的IIR濾波器,最終生成的MAT文件中會包含“SOS”與“G”兩個系數矩陣,然后,我們可以調用MATLAB自帶的濾波函數進行IIR濾波器實現,或使用自定義的IIR濾波器進行實現,均可。

圖4 導出濾波器參數
圖5 濾波器參數導出設置

????如圖6所示,在MATLAB中調用通過FDA設計的濾波器,這里不再對FFT的使用方式進行贅述,通過調用“sos2tf”函數,將設計的IIR濾波器的系數進行變換,再次調用“filter”函數對待濾波數據進行濾波即可,濾波結束后,針對原始數據與濾波后數據進行時域與頻域對比,如圖7所示。

圖6 IIR濾波器MATLAB代碼??

如圖7所示為濾波前后的時域與頻域數據圖,紅色為原始數據,綠色為濾波后數據。

圖7 經過IIR濾波之后的時頻數據圖??

三.總結

????本篇介紹了MATLAB自帶的FDA工具,該工具能夠根據工程數據,快速設計出滿足不同需求的濾波器,以供工程師使用。這里沒有過多闡述濾波器相關的細節,下篇將著重結合多旋翼無人機的實際應用場景,針對不同的濾波器設計方法以及優劣點進行闡述。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容