切趾法应用于核磁共振光谱

9的观点(30天)
玛丽娜Batllo RIus
玛丽娜Batllo RIus 2023年6月18日
回答: 明星黾 2023年6月18日
我想要一个切趾法应用于光谱。为此,我想用一个指数函数1 hz。我没有很多的光谱信息,只有ppm值的向量和另一个向量的强度。
我一直试图获得的结果,但我不能使它正常工作。我把光谱中一个csv文件。这是我目前的代码:
[文件名,filepath] = uigetfile (‘* . csv‘,“选择. csv文件”);
fullFilePath = fullfile (filepath,文件名);
如果文件名~ = 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);
有人能帮我吗?我不是很熟悉I个这种类型的数据。谢谢你!

答案(1)

明星黾
明星黾 2023年6月18日
我不确定你想要做什么。(我不得不查的 切趾法 ”,发现在傅里叶变换的环境中,它的意思 窗口 )。通过这些信息(有些熟悉窗口傅里叶变换),我改变了 “apodized_spectrum” 计算:
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_s = 1×2
32768年1
Sz_a_f =大小(apodizationFunction)
Sz_a_f = 1×2
32768年1
情节(频率,apodizationFunction)
网格
包含(“频率”)
ylabel (的函数值)
标题(“孔障函数”)
情节(X, abs (apodized_spectrum))
xlim ((160、190))
集(gca),“XDir”,“反向”);

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!