MATLAB 是美國MathWorks公司出品的商業數學軟件,用于算法開發、數據可視化、數據分析以及數值計算的高級技術計算語言和交互式環境,主要包括MATLAB和Simulink兩大部分。
MATLAB是matrix&laboratory兩個詞的組合,意為矩陣工廠(矩陣實驗室)。是由美國mathworks公司發布的主要面對科學計算、可視化以及交互式程序設計的高科技計算環境。它將數值分析、矩陣計算、科學數據可視化以及非線性動態系統的建模和仿真等諸多強大功能集成在一個易于使用的視窗環境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供了一種全面的解決方案,并在很大程度上擺脫了傳統非交互式程序設計語言(如C、Fortran)的編輯模式,代表了當今國際科學計算軟件的先進水平。
MATLAB和Mathematica、Maple并稱為三大數學軟件。它在數學類科技應用軟件中在數值計算方面首屈一指。MATLAB可以進行矩陣運算、繪制函數和數據、實現算法、創建用戶界面、連接其他編程語言的程序等,主要應用于工程計算、控制設計、信號處理與通訊、圖像處理、信號檢測、金融建模設計與分析等領域。
MATLAB的基本數據單位是矩陣,它的指令表達式與數學、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,FORTRAN等語言完成相同的事情簡捷得多,并且MATLAB也吸收了像Maple等軟件的優點,使MATLAB成為一個強大的數學軟件。在新的版本中也加入了對C,FORTRAN,C++,JAVA的支持。
優勢特點
1) 高效的數值計算及符號計算功能,能使用戶從繁雜的數學運算分析中解脫出來;
2) 具有完備的圖形處理功能,實現計算結果和編程的可視化;
3) 友好的用戶界面及接近數學表達式的自然化語言,使學者易于學習和掌握;
4) 功能豐富的應用工具箱(如信號處理工具箱、通信工具箱等) ,為用戶提供了大量方便實用的處理工具。
直流分量的濾除
直流分量的影響
將采集的脈搏信號截取- 一段數據長度為600 進行信號處理。利用MATLAB仿真,對脈波信號進行功率譜估計的結果如圖1所示。在圖1中,由于信號中存在直流分量,如果從功率譜峰值上考慮主頻,即功率譜峰值最大值所對應的點是信號的主頻位置,則在圖1中所示的脈搏信號的主頻接近于0 Hz,這明顯是錯誤的因為脈搏信號的主頻應為1HZ 左右。這樣只從功率譜峰值上就很難辨別出脈搏信號的主頻值,不利于自動檢測信號的主煩。因此,完全有必要把直流分量I0(t)濾除。
無對稱性的- -般周期信號f(t)傅立葉級數中包含有直流、正弦和余弦分量。正如圖1中所示。在周期信號中,濾除(或增加)一-個直流置,傅立葉級數只會改變其直流分量,其他系數不改變,也就是說,其他的正弦分量不會改變,從而能夠簡化頻譜的分析計算。
最小二乘法原理的應用
通過式(1)可知,1g(t)為信號中的直流分量,如果想濾除信號的直流分量,必須濾除信號中的1。(t)。最小二乘法是以誤差理論為依據的嚴格方法,是實際研究工作中采用的正規的數據處理方法。設xj,xg,A,x。是任一待測量的各次測得值,假設待測量的最可信賴值是%,則應有;
即:最可信賴值乃是能使測量的值誤差平方和最小的那個值‘’。,這就是最小二乘法原理的數學描述,此式可從等精度的誤差概率正態分布規律推出,在此不作證明。
根據最小二乘法原理,最佳值應滿足條件:
濾除信號的直流分量
通過上面所述可知,最可信賴值乃是能使測量的值誤差平方和最小的那個值,即各次測量值的算術平均值。在這里我們可以近似認為1。(l)=x,即直流分量等于測量值的算術平均值。那么,在所測信號中減去直流分量即測量的算術平均值,即:先求出所在“窗”內600個數據的平均值元,然后每一個值都減去平均值所得的數值(x。-元),對信號(x。-元)進行功率諧估計。濾除直流分量的脈搏信號(x。-x)的功率譜估計見圖2。
3結論
本文在討論了功率譜估計的原理上,通過直接法功率譜估計的MATLAB仿真,查找信號的主頻,分析直流分量的對查找信號主頻的影響。基于最小二乘法的原理,找到與信號直流分量I。(t)接近的數值,即各次測量值的算術平均值。通過每一個測量值都減去平均值所得的數值(x。-元),對信號(x。-元)進行功率譜估計,能夠有效的濾除信號的直流分量,方便的找到信號的主頻,非常有利于信號主頻的自動檢測,算法簡單有效。
評論
查看更多