信号的基本分析方法——时域分析

一、时域分析

(1)mean:均值

s=mean(x)

s=mean(x,dim)

默认dim=1,对每一列求均值。

(2)std:标准差

s=std(x)

s=std(x,0)

上面两个命令用下面的公式计算标准差

s=std(x,1)

这个命令用的是下面的公式计算标准差。

(3) var:方差

s=var(x):计算样本方差的无偏估计值;

s=var(x,1):计算输出样本方差s。

s=var(x,w):w=0等同于var(x),w=1等同于var(x,1)

(4)mad:平均绝对偏差

y=mad(x):等同于mean(abs(x-mean(x)));

y=mad(x,1):等价于median(abs(x-median(x)));

y=mad(x,0):等价于mean(abs(x-mean(x));

(5)kurtois:峰度

k=kurtosis(x):峰度用于度量x偏离某公布的情况,正态分布的峰度为3,曲线峰值比正态分布高时,峰度大于3,当低时,峰度小于3.

k=kurtosis(x,flag):指定是否校正系统偏差,当flag=0时进行校正,flag=1时不校正。默认不校正。

(6)skewness:偏度

y=skewness(x):偏度用于衡量x的对称性。若偏度为负,则x均值左侧的离散度比右侧强;若偏度为正,则左侧比右侧弱。正态分布偏度为0。

y=skewness(x,flag):指定是否校正系统偏差,当flag=0时进行校正,flag=1时不校正。默认不校正。

(7)xcorr

估计随机过程中的互相关序列,自相关时xcorr特例。

c=xcorr(x,y)

c=xcorr(x)

c=xcorr(x,y,'option'):

        option:“biased”为有偏的互相关函数估计;

        “unbiased”为无偏的互相关函数估计;

        “coeff”为零延时的正规化序列的自相关计算;

        “none”为原始的互相关计算。

c=xcorr(x,'option')

c=xcorr(x,y,maxlags)

        maxlags返回一个延迟范围为[-maxlags,maxlags]的互相关函数序列,c的程度为2*maxlags+1.

c=xcorr(x,maxlags)

c=xcorr(x,y,maxlags,'option')

c=xcorr(x,maxlags,'option')

[c,lags]=xcorr(...)

返回一个c进行相关估计的延迟矢量lags,范围为[-maxlags:maxlags]。

例1:求一个带噪声干扰的正弦信号和白噪声信号的自相关函数。

clc
clear
fs=256;
t=0:1/fs:2-1/fs;
p=length(t);
lag=100;
randn('state',0);
y=sin(2*pi*30.*t)+0.6*randn(1,p);
[c,lags]=xcorr(y,lag,'unbiased');
ns=randn(1,p);
[cns,lags]=xcorr(ns,lag,'unbiased');
figure(221)
subplot(221)
plot(t,y)
xlabel('时间/s');
ylabel('y(t)')
title('带噪音干扰的正弦信号');
subplot(222)
plot(lags/fs,c)
xlabel('时间/s');
ylabel('Ry(t)')
title('带噪音干扰的正弦信号的自相关');
subplot(223)
plot(t,ns)
xlabel('时间/s');
ylabel('ns(t)')
title('噪音的信号')
subplot(224)
plot(lags/fs,cns);
xlabel('时间/s')
ylabel('Rns(t)')
title('噪音的信号的自相关')

例2: 以西储大学轴承数据为例,计算时域分析的参数

load 107.mat
x=X107_DE_time
plot(x)
xlabel('时间')
ylabel('幅值')
title('时域图')
axis tight

截取其中一部分查看


tt=100:200;
plot(tt,x(tt))
xlabel('时间')
ylabel('幅值')
title('100-200段时域图')
axis tight

时域参数计算:

x_mean=mean(x)
x_std=std(x)
x_var=var(x)
x_mad=mad(x)
x_kurtois=kurtosis(x)
x_skewness=skewness(x)

输出:

x_mean =

    0.0046


x_std =

    0.2995


x_var =

    0.0897


x_mad =

    0.2137


x_kurtois =

    5.5638


x_skewness =

    0.0904

lag=100;
[c,lags]=xcorr(x,lag,'unbiased');
subplot(121)
plot(x)
xlabel('时间/s');
ylabel('x(t)')
title('x的时域图');
axis tight
subplot(122)
plot(lags,c)
xlabel('时间/s');
ylabel('R(t)')
title('x信号的自相关');
axis tight

参考资料:

[1] 张玲玲 《基于matlab的机械故障诊断技术案例教程》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值