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

General forum for EasySpin: questions, how to's, etc.
Post Reply
YanQing
User
Posts: 14
Joined: Tue Dec 22, 2020 7:17 pm

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

Post 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

YanQing
User
Posts: 14
Joined: Tue Dec 22, 2020 7:17 pm

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

Post 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?

Stefan Stoll
EasySpin Creator
Posts: 1108
Joined: Mon Jul 21, 2014 10:11 pm
Location: University of Washington

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

Post by Stefan Stoll »

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

YanQing
User
Posts: 14
Joined: Tue Dec 22, 2020 7:17 pm

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

Post by YanQing »

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

Attachments
OH_4.spc
(19.53 KiB) Downloaded 239 times
OH_4.par
(510 Bytes) Downloaded 237 times
OH_4.DTA
(39.06 KiB) Downloaded 229 times
OH_4.DSC
(2.89 KiB) Downloaded 225 times
Stefan Stoll
EasySpin Creator
Posts: 1108
Joined: Mon Jul 21, 2014 10:11 pm
Location: University of Washington

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

Post 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);
YanQing
User
Posts: 14
Joined: Tue Dec 22, 2020 7:17 pm

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

Post 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');

Post Reply