matlab中sptool工具箱使用及介紹
偶然看到《MTALAB程式設計及其在訊號處理中的應用》這本書,看到SPtool這個工具箱,但是介紹並不詳細,個人覺得在訊號處理中很實用,所以寫此文章記錄學習。
1、關於FDATool與SPTool工具箱的聯絡與區別
聯絡:二者都可以完成訊號處理,且主要是濾波方面的處理;
區別:FDATool主要是針對濾波器設計,其所含有的濾波器型別豐富,只提供濾波器響應波形;SPTool主要是針對要濾波訊號在濾波前後的響應,以及濾波前後的頻譜等操作;
2、如何使用SPTool(對濾波前後訊號波形顯示和頻譜分析等)
(0)準備好你的訊號檔案,指定格式為.mat(這是matlab的資料格式,和.csv一樣,可用excel開啟),可以通過matlab讀入你的檔案,比如檔案格式是.xlsx或者.csv,然後鍵入命令:save mydata signal_name即可將該訊號儲存在matlab的workspace中。如下程式碼所示,讀取本地檔案並儲存;
a=xlsread('t0000.csv','t0000','B17:B125016');
>>save mydata a
(1)然後在matlab命令視窗鍵入sptool,彈出如下介面:
(2)在File中Import剛才儲存的檔案,並點選“->”按鈕,OK後並點選signals欄目下方的View按鈕,即可瀏覽你的訊號波形,如下所示。
PS:為了更美觀的展示你的訊號,可以在波形顯示視窗中改變座標刻度和波形顏色以及圖例等,如下所示。
(3)將該訊號進行濾波處理,在sptool視窗中Filters欄目中,新建(new)一個濾波器,此處選擇FIR等紋波窗濾波器,設定為帶通濾波,取樣率25MHz,訊號中心頻率2.5MHz。設定好濾波器引數後(FDATool中產生濾波器操作和這裡一樣),生成即可。然後在sptool介面中Filters欄目下點選Apply按鈕則可對你剛匯入的訊號進行濾波處理,最後需要點選Filters欄目下View按鈕即可檢視濾波後的波形圖。我這裡為了顯得青春點,顏色比較騷氣(●—●)
(4)對濾波前後的訊號可以做頻譜分析,這裡採用FFT,還有很多其他函式,你根據需要選擇即可。在sptool介面的Spectra欄目下,點選建立(create)即可,如圖所示,分別為建立、濾波前、濾波後的示意圖。
PS:此處需要注意,在進行頻譜分析時如何新增訊號呢?頻譜分析視窗中處理的訊號與訊號第一欄訊號視窗中選中的訊號一致,比如下圖是選中a_firout訊號,則在建立頻譜分析時,即是針對該訊號進行的。
有疑問多交流^_^