Page 1 of 1

esfit errors occur when the abscissa of the raw data tested by Bruker's instrument is Gaussian

Posted: Wed Jan 20, 2021 5:25 am
by YanQing

The horizontal axis of my Brooke raw test data is Gauss. When I use esfit to simply simulate EPR parameters, error is reported directly. What is the corrective solution? Convert Gauss to mT?

code:

clear, clf, clc; close all;

[b,spc,par] = eprload('OH_4.DTA');
plot(b,spc);% Gauss
axis tight;

Exp.mwFreq = 9.617;
Exp.Range = [min(b) max(b)];
Exp.nPoints = numel(spc);

Sys.S = 1/2;
Sys.Nucs = 'N,H';
Sys.n = [1 1];
Sys.g = 2.0055;
Sys.A = [14.9 14.9]*2.802;

SysVary.g = 0.005;
SysVary.A = [0.3 0.3];

esfit(@garlic,spc,Sys,SysVary,Exp);

errors;

** Spectrum exceeds sweep range. Artifacts at lower limit possible.
** Spectrum exceeds sweep range. Artifacts at lower limit possible.
** Spectrum exceeds sweep range. Artifacts at lower limit possible.
Warning: Rank deficient, rank = 1, tol = 7.850462e-11.

In rescale
In esfit

Warning: Rank deficient, rank = 1, tol = 7.850462e-11.

In rescale
In esfit


Re: esfit errors occur when the abscissa of the raw data tested by Bruker's instrument is Gaussian

Posted: Wed Jan 20, 2021 6:10 am
by YanQing

[b,spc,par] = eprload('OH_4.DSC');
eprsave('OH4',b./10,spc); %save as mT
[b,spc,par] = eprload('OH4.DSC'); % reload data
plot(b,spc);% mT
axis tight;

but, This is too much toss.

Can developers slightly change the esfit function? Automatically identify the horizontal axis of the data, and then automatically convert it to data with mT as the unit of the horizontal axis?


Re: esfit errors occur when the abscissa of the raw data tested by Bruker's instrument is Gaussian

Posted: Wed Jan 20, 2021 12:55 pm
by Stefan Stoll

Please post your data file, so we can reproduce this and identify the problem.


Re: esfit errors occur when the abscissa of the raw data tested by Bruker's instrument is Gaussian

Posted: Wed Jan 20, 2021 6:38 pm
by YanQing

The original file of the Bruker instrument test, the unit is Gaussian.


Re: esfit errors occur when the abscissa of the raw data tested by Bruker's instrument is Gaussian

Posted: Thu Jan 21, 2021 1:58 pm
by Stefan Stoll

It appears that all you need to do is to divide b by 10 to convert gauss to millitesla.
Also, I suggest to add a line broadening to your simulation model and include it among the fitting parameters:

Code: Select all

clear, clf, clc, close all

[b,spc,par] = eprload('OH_4.DTA');
b = b/10; % convert G -> mT

Exp.mwFreq = 9.617;
Exp.Range = [min(b) max(b)];
Exp.nPoints = numel(spc);

Sys.S = 1/2;
Sys.Nucs = 'N,H';
Sys.n = [1 1];
Sys.g = 2.0055;
Sys.A = [14.9 14.9]*2.802;
Sys.lwpp = 0.1;

SysVary.g = 0.005;
SysVary.A = [0.3 0.3];

esfit(@garlic,spc,Sys,SysVary,Exp);

Re: esfit errors occur when the abscissa of the raw data tested by Bruker's instrument is Gaussian

Posted: Thu Jan 21, 2021 7:42 pm
by YanQing

1.Thank you very much for your warm reply! Very good suggestion! The fitting result is perfect.

Code:

clear, clf, clc; close all;

% Import Data
[b,spc,par] = eprload('OH_4.DSC');
eprsave('OH4',b/10,spc);
[b,spc,par] = eprload('OH4.DSC');
plot(b,spc);
axis tight;

% Exp
Exp.mwFreq = 9.616532;
Exp.Range = [min(b) max(b)];
Exp.nPoints = numel(spc);
Exp.Temperature = 300;

% Sim
Sys.S = 1/2;
Sys.Nucs = 'N,H';
Sys.n = [1 1];
Sys.g = 2.0023;
Sys.gStrain = 0.05;
Sys.A = [14.9 14.9]2.802;
Sys.AStrain = [0.5 0.5]
2.802;
Sys.lwpp = [0.05 0.05];
Sys.HStrain = [1 1 1];

Vary.g = 0.05;
Vary.A = [2 2]2.082;
Vary.lwpp = [0.5 0.5];
Vary.gStrain = 0.05;
Vary.AStrain = [0.5 0.5]
2.802;
Vary.HStrain = [1 1 1];

% esfit data
esfit(@garlic,spc,Sys,Vary,Exp);

% plot
plot(b,fit1.expSpec,b,fit1.fitSpec,'linewidth',1.5);
axis tight;
xlabel('Magnetic field (mT)');
legend('Exp','fit-Sim');