📄 signal_analyszer.m
字号:
clc
clear
close all
data=load('test1.txt');
figure(1)
plot(data(:,1),data(:,2),'r',data(:,1),data(:,3),'b');
legend('信号1','信号2');
grid
%求付利叶变换
frequency=1000*(0:512)/1024; % 实际频率点
fftdata=fft(data); %付利叶变换
sinfft=fftdata(1:513,2);
cosfft=fftdata(1:513,3);
%求能量最大点
[fz1,f1]=max(abs(sinfft));
[fz2,f2]=max(abs(cosfft));
% 求两信号能量最大点的频率
sin_frequency = frequency(f1); %得到实际频率
cos_frequency = frequency(f2);
% 求两信号能量最大点的相位
phase1=phase(sinfft(f1))*57.3;
phase2=phase(cosfft(f1))*57.3;
fprintf('信号1频率=%fHz\n信号2频率=%fHz\n',sin_frequency,cos_frequency);
fprintf('信号2比信号1幅值衰减=%f db\n',20*log10(fz2/fz1));
fprintf('信号2比信号1相位差=%f度\n',phase1-phase2);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -