apodized_spectrum =传输线(fftshift (fft (correctedY。* apodizationFunction)));
改变操作的顺序,这样窗口函数应用于参数向量进行傅里叶变换。我也出了
“apodizationFunction”
,然而它不似乎是正确的对我来说,应该是对称的。我现在相信计算是正确的,但可能需要修改切趾法(窗口)函数所以它匹配与你想要做什么
fft
我计算(不明显)。
修改后的代码使用额外的情节
%(文件名,filepath) = uigetfile (*。csv”、“选择. csv文件”);
% fullFilePath = fullfile (filepath,文件名);
fullFilePath =“FileTrialsSingleSpectra.csv”;
%如果文件名~ = 0
%从选定的文件中读取数据
T = readtable (fullFilePath);
%分离成通用组件(X)和实际谱图(Y)
X = table2array (T (: 1));
Y = table2array (T (:, 2));
[~,max_index] = max (Y);
转变= 172 - X (max_index);
X = X +转变;
情节(X, Y)
xlim ((160、190))
集(gca),“XDir”,“反向”);
%结束
SpectralSize =长度(Y);
AcquiredSize = SpectralSize / 2;
LowestFq = min (Y);
% %基线校正:
订单= 3;
baselineCoefficients = polyfit (X, Y,顺序);
基线= polyval (baselineCoefficients X);
correctedY = Y -基线;
情节(X, correctedY)
xlim ((160、190))
集(gca),“XDir”,“反向”);
% %切趾法:
频率= flipud (X);
apodizationFunction = exp(-π*频率* 1);
% apodized_spectrum =传输线(fftshift (fft (correctedY))。* apodizationFunction);
apodized_spectrum =传输线(fftshift (fft (correctedY。* apodizationFunction)));
Sz_a_s =大小(apodized_spectrum)
Sz_a_f =大小(apodizationFunction)
图
情节(频率,apodizationFunction)
网格
包含(“频率”)
ylabel (的函数值)
标题(“孔障函数”)
图
情节(X, abs (apodized_spectrum))
xlim ((160、190))
集(gca),“XDir”,“反向”);
。