Different Line Width for Different Transitions?

General forum for EasySpin: questions, how to's, etc.
Post Reply
christiansen
User
Posts: 21
Joined: Thu Apr 08, 2021 7:38 am

Different Line Width for Different Transitions?

Post by christiansen »

Dear Easyspin Comminity

Are any of you aware if it is possible to apply different line widths for different transitions when calculating spectra using pepper? The "separate" output option is very convenient to look at transitions individually - perhaps one could provide an array with the same length as the number of transitions and apply line widths individually.

I do most of my EPR experiments on a home-built high-frequency setup, and line widths etc often have their own will and behave differently to what one would expect for a commercial instrument. And yes, I have checked whether strains of any kind can reproduce my observed line widths - they cannot.

Cheers,
Rasmus

katarkon
Local Expert
Posts: 186
Joined: Mon Jan 12, 2015 4:01 am

Re: Different Line Width for Different Transitions?

Post by katarkon »

Yes, You should use separate outpun and 0 harmonic with zero linewidth. Follow each stick spectrum may be convoluted with the desired lineshape.

christiansen
User
Posts: 21
Joined: Thu Apr 08, 2021 7:38 am

Re: Different Line Width for Different Transitions?

Post by christiansen »

This was very helpful, thank you!

christiansen
User
Posts: 21
Joined: Thu Apr 08, 2021 7:38 am

Re: Different Line Width for Different Transitions?

Post by christiansen »

Follow-up question: I use Matlab's "normpdf" to generate a gaussian array for the convolution and "conv" with the kwarg "same" to perform the convolution. However, I find that the resulting spectra depend on my x-array spacing in the pdf array. Am I doing something wrong?

Code snippet

Code: Select all

% Xspc_sep is the output from pepper with the keyword 'separate', 0th harmonic and 0 line width.

mywidth = 10; %defining general line width
widths = ones(length(Xspc_sep(:,1)),1).*mywidth; %creating an Nx1 array with the width 'mywidth' for each transition. There are N transitions.
widths(28) = 1.25; %setting the width of a particular transition. The index of particular transitions may change if Hamiltonian is changes.
x = -1500:0.05:1500; %the result of the convolution depends on the spacing of this array.
for i=1:numel(widths)
    normdist = normpdf(x,0,widths(i)); % generating the lineshape for the particular transition
    absorps(:,i) = conv(Xspc_sep(i,:),normdist,'same'); %doing the convolution
    trans(:,i) = diff(absorps(:,i)); %converting to the derivative spectrum
end

total_spec = sum(trans,2);
katarkon
Local Expert
Posts: 186
Joined: Mon Jan 12, 2015 4:01 am

Re: Different Line Width for Different Transitions?

Post by katarkon »

I think, the best way is using EasySpin lineshape functions like voigtian either lshape.

christiansen
User
Posts: 21
Joined: Thu Apr 08, 2021 7:38 am

Re: Different Line Width for Different Transitions?

Post by christiansen »

Thank you once again! I was not aware these features were built into Easyspin. I even found 'convspec' which produces the line shape and does the convolution all in one line.

katarkon
Local Expert
Posts: 186
Joined: Mon Jan 12, 2015 4:01 am

Re: Different Line Width for Different Transitions?

Post by katarkon »

Take in mind that convspec uses pseudovoightian lineshape.

Post Reply