資源簡介
基于FFT的頻譜信號分析Matlab示例程序

代碼片段和文件信息
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:5132);
cosfft=fftdata(1:5133);
%求能量最大點
[fz1f1]=max(abs(sinfft));
[fz2f2]=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_frequencycos_frequency);
fprintf(‘信號2比信號1幅值衰減=%f?db\n‘20*log10(fz2/fz1));
fprintf(‘信號2比信號1相位差=%f度\n‘phase1-phase2);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????760??2008-05-15?12:07??signal_analyszer.m
?????文件??????34817??2008-05-14?13:22??test1.txt
?????文件????????310??2009-08-30?21:03??說明.txt
-----------?---------??----------?-----??----
????????????????35887????????????????????3
- 上一篇:MATLAB高階譜分析信號處理工具箱
- 下一篇:DOA Matlab 程序
評論
共有 條評論