⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 signal_analyszer.m

📁 最近看到有人提问怎样用FFT实现频谱分析
💻 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 + -