test_speccorr.m

来自「这里给出另一组对谱线校正的方法」· M 代码 · 共 58 行

M
58
字号
%
% Test_speccorr
DT=1;
N=1024;
PHI=pi/3;
Ampl=1;
CiR=11.9; %cycles in record
Freq=CiR/(DT*N); %frequency

TV=[0:N-1];

DatVec=Ampl*cos(Freq*TV*2*pi+PHI);

FV=fft(DatVec);
figure
subplot(2,1,1);plot(TV,DatVec);
subplot(2,1,2);plot(abs(FV(1:round(N/2.56))));grid on

[MV,MI]=max(abs(FV));

%加矩形窗的解析校正--1
FreqShift=SpecCorr(FV,MI,N,1);

%加矩形窗的解析单频模型校正--2
FreqShift=SpecCorr(FV,MI,N,2);

%加汉宁窗的解析单频模型校正--3
HanDat=DatVec.*hanning(N,'periodic')';
FV=fft(HanDat);
FreqShift=SpecCorr(FV,MI,N,3);

%加矩形窗的解析单频模型校正+复比值法--4
FV=fft(DatVec);
FreqShift=SpecCorr(FV,MI,N,4);

%加汉宁窗的解析单频模型校正+复比值法--5
HanDat=DatVec.*hanning(N,'periodic')';
FV=fft(HanDat);
FreqShift=SpecCorr(FV,MI,N,5);

%加矩形窗的解析单频模型校正+复比值法+左右平均--6
FV=fft(DatVec);
FreqShift=SpecCorr(FV,MI,N,6);

%加汉宁窗的解析单频模型校正+复比值法+左右平均--7
HanDat=DatVec.*hanning(N,'periodic')';
FV=fft(HanDat);
FreqShift=SpecCorr(FV,MI,N,7);

%加矩形窗的解析单频模型校正+Quinn算法--8
FV=fft(DatVec);
FreqShift=SpecCorr(FV,MI,N,8);

%加汉宁窗的解析单频模型校正+Quinn算法--9
HanDat=DatVec.*hanning(N,'periodic')';
FV=fft(HanDat);
FreqShift=SpecCorr(FV,MI,N,9);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?