|||
%--------------------------------------------------------------------------
%功能: 谱分析代码
% 何成文 2016年9月1日
%--------------------------------------------------------------------------
clc;clear;close all;
load('WPM10000.txt');
data=WPM10000;
N=length(data);
figure;plot([1:N],data,'r');title('原始数据');grid on;xlabel('T/s');
%--------------------------------------------------------------------------
F=fft(data,N);
R=abs(F)/N;
Angle=angle(F);
n=[0:1:N-1];
Hz=n/(N*1);
figure
subplot(1,2,1);plot(Hz(1:N/2),R(1:N/2),'r');title('傅里叶幅度谱');xlabel('X/Hz');ylabel('幅度');grid on;
subplot(1,2,2);plot(Hz(1:N/2),Angle(1:N/2),'b');title('傅里叶相位谱');xlabel('X/Hz');ylabel('相位');grid on;
%--------------------------------------------------------------------------
Y=fft(data,N); %傅里叶变换!
Y1=(abs(Y)).^2/N; %Y1为周期图谱计算公式!
n=[0:1:N-1];
Hz=n/(N*1); %1是抽样时间间隔,本文默认为1!
figure;plot(Hz(1:N/2),Y1(1:N/2),'b'); %表现形式1
xlabel('X/Hz');ylabel('幅度');title('WPM噪声信号的傅里叶周期谱图');grid on;
figure;plot(log(Hz(1:N/2)),log(Y1(1:N/2)),'r'); %表现形式2-取对数!
xlabel('log(f/Fs)');ylabel('log(PSD)');title('WPM噪声信号的傅里叶周期谱图');grid on;
%--------------------------------------------------------------------------
图一(原始噪声信号):
图二(傅里叶谱图):
图三(周期谱图):
图四(功率谱图):
图五(stable32软件功率谱图):
图六(Allan软件功率谱图):
Matlab源代码和数据:源代码和数据.rar
疑问:
为何同一个信号,三个软件做出的功率谱图(图4-6),除了斜率差不多外,X-Y坐标都不一样?求解,非常感谢!何成文(cwhe_10@163.com)
桂林电子科技大学
2016-9-1 17:00
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-27 01:23
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社