Page 1 of 1

Сreating a model for an experiment 2pESEEM

Posted: Sun Mar 30, 2025 1:43 am
by Yliya Ermakova

An ESEEM experiment was conducted with 2pESEEM. I'm trying to create a model to describe this experiment, but I don't understand which parameter is responsible for the intensity of the modulations. I am attaching a code in which my experiment is shown in black on the first graph, and the model is shown in red. In the second graph, I take the Fourier transform to see if the model fits into the experiment. Tell me a system parameter that will help me increase the intensity of the echo signal modulation.

clear; clf; clc;

% 1. Загрузка и подготовка данных
D = readmatrix('C:\Users\ЮЛИЯ\Desktop\MatLab\eseem\231219a04.dat');
time_exp = D(:,1) / 1000; % Перевод в микросекунды
signal_exp = D(:,2) / max(D(:,2)); % Нормировка

% 2. Параметры системы NV-центра
Sys.S = 1; Sys.g = 2.0047; Sys.Q = 2.53; Sys.D = 1285;
Sys.Nucs = '14N'; Sys.A = [-1.11 -1.12]; Sys.T1T2 = [1300 70];
Sys.AFrame = [0 5 0]*pi/180;

% 3. Параметры эксперимента
Exp.Field = 346.54; Exp.Sequence = '2pESEEM'; Exp.tau = 0.30546;
Exp.dt = 0.64;
% Exp.nPoints = length(time_exp);
Exp.nPoints = 1024;
Exp.ExciteWidth = 32; Exp.mwFreq = 9.700471;

% 4. Симуляция модели
[B, spec] = saffron(Sys, Exp);
spec = spec / max(spec); % Нормировка модели

% 4. Визуализация временных данных
figure(1);
subplot(2,1,1);
plot(time_exp, signal_exp, '-k', 'LineWidth', 1.5, 'DisplayName', 'Эксперимент');
hold on;
plot(B, spec, '-r', 'LineWidth', 1.5, 'DisplayName', 'Модель');
hold off;
xlabel('Время (\mus)'); ylabel('Интенсивность');
title('Сравнение эксперимента и модели');
legend; grid on; xlim([0 120]);

% 5. Фурье-анализ для эксперимента
Fs_exp = 1/(mean(diff(time_exp))); % Частота дискретизации
n_exp = length(signal_exp);
Y_exp = fft(signal_exp - mean(signal_exp));
P1_exp = abs(Y_exp(1:floor(n_exp/2)+1)/n_exp);
P1_exp(2:end-1) = 2P1_exp(2:end-1);
f_exp = (0:floor(n_exp/2))
(Fs_exp/n_exp);

% 6. Фурье-анализ для модели
Fs_model = 1/(mean(diff(B)));
n_model = length(spec);
Y_model = fft(spec - mean(spec));
P1_model = abs(Y_model(1:floor(n_model/2)+1)/n_model);
P1_model(2:end-1) = 2P1_model(2:end-1);
f_model = (0:floor(n_model/2))
(Fs_model/n_model);

% 7. Визуализация спектров
subplot(2,1,2);
plot(f_exp, P1_exp, '-k', 'LineWidth', 1.5, 'DisplayName', 'Эксперимент');
hold on;
plot(f_model, P1_model, '-r', 'LineWidth', 1.5, 'DisplayName', 'Модель');
hold off;
xlabel('Частота (МГц)'); ylabel('Амплитуда');
title('Спектры Фурье');
legend; grid on;
xlim([0 1]);

Image


Re: Сreating a model for an experiment 2pESEEM

Posted: Tue Jun 03, 2025 11:39 am
by Stefan Stoll

Modulation depth is a complex function of the hyperfine coupling and the nuclear quadrupole coupling. As you change these values, modulation depth will increase or decrease. Modulation is deepest for situations where one of the nuclear frequencies is close to zero ("cancellation regime"). So try to adjust Sys.A and Sys.Q, and also Sys.AFrame and Sys.QFrame.