時域計算代碼相對簡單,下列代碼主要來自求助matlab時域分析程序-峯值、均方根、裕度、峭度_百度知道。不過原文中求“峭度因子”的方法不對,即“Kr = sum(y.^4)/sqrt(sum(y.^2)))”,求峭度直接用函數kurtosis就行。
%x=0:0.1:2*pi;
%y=sin(x); %信號
y=normrnd(600,1,1000,1); %生成平均值爲600,標準差爲1的1000*1的矩陣
plot(y);
ma = max(y); %最大值
mi = min(y); %最小值
me = mean(y); %平均值
pk = ma-mi; %峯-峯值
av = mean(abs(y)); %絕對值的平均值(整流平均值)
va = var(y); %方差
st = std(y); %標準差
ku = kurtosis(y); %峭度
sk = skewness(y); %偏度
rm = rms(y); %均方根
S = rm/av; %波形因子
C = pk/rm; %峯值因子
I = pk/av; %脈衝因子
xr = mean(sqrt(abs(y)))^2;
L = pk/xr; %裕度因子
原始信號爲平均值爲600,標準差爲1的數列:
計算結果爲:
關於均方根、峯值因子、脈衝因子、裕度因子、峭度因子、波形因子和偏度等概念的理解可以參考我之前的文章信號的各種時域分析方法的理解(峯值因子、脈衝因子、裕度因子、峭度因子、波形因子和偏度等)
歡迎關注我的專欄與信號處理有關的那些東東
文章如要轉載請私信與我聯繫,並註明來源知乎專欄與信號處理有關的那些東東作者Mr.括號。