📄 ceshi.m
字号:
% 原始信号生成
% 信号A,B频率fmax=30HZ,采样频率取为500Hz
% 数据长度n取为256
clear all;
Fs=500;
t=0:1/Fs:0.510;
x=sin(30*pi*t+pi/4)+8*sin(60*pi*t+pi/6); %信号A
y=2*sin(30*pi*t+pi/2)+10*sin(60*pi*t+2*pi/3); %信号B
%信号时域波形图
figure(1);
subplot(211);plot(t,x);
title('signal A');xlabel('time/s');ylabel('amplitude/mv');axis([0 0.1 -15 15]);
subplot(212);plot(t,y);
title('signal B');xlabel('time/s');ylabel('amplitude/mv');axis([0 0.1 -15 15]);
% 轴心轨迹图
figure(2);plot(x,y);title('轴心轨迹图');
%信号波形波峰系数
xm=mean(abs(x)); %绝对均值
ym=mean(abs(y));
xe= sqrt(sum(x.^2)/length(x));%有效值
ye= sqrt(sum(y.^2)/length(y));
xp= max(x-mean(x)); %幅值
yp= max(y-mean(y));
Ftx = xe/xm; %波形系数
Fty = ye/ym;
Fcx = xp/xe; %波峰系数
Fcy = yp/ye;
% 信号B的幅值谱,相位谱,功率谱
B=fft(y,256);
n=length(B);
AMP=abs(B(1:floor(n/2)));
ANG=angle(B(1:floor(n/2)));
BPower=B.*conj(B)/256;
freq=500/256*(0:127);
figure(3);
subplot(311);plot(freq,AMP);
xlabel('frequency/HZ');ylabel('amplitude/mv');title('幅值谱');grid on;
hold on;
index=find(AMP==max(AMP));
mainFreqStr=num2str(freq(index));
plot(freq(index),AMP(index),'r.', 'MarkerSize',10);
text(freq(index)+2,AMP(index),['freq = ',mainFreqStr]);
hold off;
subplot(312);plot(freq,ANG);
xlabel('frequency/HZ');ylabel('phasic/rad');title('相位谱');grid on;
subplot(313);plot(freq,BPower(1:128));
xlabel('frequency/HZ');title('功率谱');grid on;
% 信号A,B的相关和相干分析
% 相关系数分析
z=xcov(x,y);
figure(4);
subplot(211);plot([-0.510:0.002:0.510],z);
xlabel('time/s');ylabel('amplitude^2/mv^2');
axis([-0.510 0.510 min(z) max(z)]);title('相关函数');grid on;
% 相干系数分析
Nfft=128;windows=hanning(128);noverlap=64;
subplot(212);
mscohere(x,y,windows,noverlap,Nfft,500);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -