How can I extract data from a specific location?

7 views (last 30 days)
薫
on 21 Jan 2025
Commented: Snehal on 24 Feb 2025
The scanning tunneling microscope tip is moved to obtain the tunneling current z. The tip is scanned with raster scanning (triangular wave-like behavior) + dither circular motion behavior.
This tunneling current z is then scanned for the time interval Δtm=N(1/fm+j/fm)(N=0, 1, 2, ..... , j=0, 1, 2, 3, 4, 5), we want to extract and draw. j=0, 1, 2, 3, 4, 5 represent the 6 equal positions of the dither circumference. These 6 points are points A, B, C, D, E, and F, which are 210, 330, 90, 30, 150, and 270° of the dither circle, respectively.
How can I extract each tunnel current at each point?
Attached below are images of raster scanning and dither circular motion.
  
%Parameter Setting
pixel_image = 256; %Input the number of pixels in the image obtained by raster scanning (input 2^n)
dr = 1/(2*sqrt(3)); %Enter dither circle radius [grid].
a_fast_grid = 10; %fast axis scanning range [grid]
a_slow_grid = 10; %Slow axis scanning range [grid]
fm=5000; %Dither circle modulation frequency [Hz]
fs= fm*240 ; %Sampling frequency [Hz]
f_fast = 10.2; %Input scanning frequency [Hz] (1 line scanning count in 1[s])
start_point_x = 0; %Input x-coordinate of scanning start point (input 1 if you want to move by 1[grid])
start_point_y = 0; %Input y-coordinate of scanning start point (input 1 if you want to move by 1[grid])
%Parameter setting for fast-axis triangular wave
amplitude_fast = a_fast_grid/2; %fast axis amplitude
%Parameter setting for slow-axis triangular wave
amplitude_slow = a_slow_grid/2; %slow axis amplitude
f_slow = (f_fast)/(2*pixel_image); %Slow axis triangular wave frequency
% Generation of time vectors
total_time=256/f_fast; %Total Scan Time
t = linspace(0, total_time, fs * total_time);
x_raster = start_point_x + amplitude_fast*(2/pi)*acos(cos(2*pi*f_fast*t));
y_raster = start_point_y + amplitude_slow*(2/pi)*acos(cos(2*pi*f_slow*t));
x_dither = dr*cos(2*pi*fm*t);
y_dither = dr*sin(2*pi*fm*t);
x = x_raster + x_dither;
y = y_raster + y_dither;
z1 = cos(2*pi*((x-y)/(sqrt(3))));
z2 = cos(2*pi*(2*y/(sqrt(3))));
z3 = cos(2*pi*((x+y)/(sqrt(3))));
z = (z1 + z2 + z3);
% Plotting Raster Scanning
figure;
plot(x_raster, y_raster, 'b.-');
title('Raster Scanning');
xlabel('x coordinate');
ylabel('y coordinate');
axis equal;
grid on;
% Dither circle plot
figure;
plot(x_dither, y_dither, 'b.-');
title('dither circle scanning locus');
xlabel('x coordinate');
ylabel('y coordinate');
axis equal;
grid on;
%Raster Scanning + dither circle scanning Plot
figure;
plot(x, y, 'b.-');
title('Raster scanning + dither circle scanning locus');
xlabel('x coordinate');
ylabel('y coordinate');
axis equal;
grid on;

Answers (1)

Snehal
Snehal on 24 Jan 2025
Hello,
I did go through the code that you provided, and the approach you’ve employed to calculate the distance (z) seems correct.
To determine the tunneling current at each point, you can first calculate the time intervals using the given formula. Then, employ a nested for loop to compute the tunnelling current for each point at these intervals using the equation:
I = I_0 e^{-2kz}
where:
- I is the tunneling current.
- I_0 is the pre-exponential factor, influenced by the material and tip. It is also represented by V at some places, as it denotes the bias voltage, and hence depends on the experimental setup and the desired resolution.
- k is a decay constant related to the barrier height and material properties. It depends on the work function of the material.
- z is the distance between the STM tip and the sample surface.
The parameters I_0 and k depend on material configurations, while I varies exponentially with z values.
These computed values can be stored in a matrix and visualized through graph plotting. Additionally, mean tunnel currents for each point can be calculated by using the ‘mean’ function in MATLAB. This will take the average of different current values that we get for each point over time.
You can go through the following link to know more about the ‘mean’ function in MATLAB:
Hope this helps.

Categories

Find more on MATLAB in Help Center and File Exchange

Products


Release

R2024b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!