Franck-Hertz Experiment Data Analysis
This project utilizes Python to ingest, process, and model experimental current-voltage datasets from the historic Franck-Hertz experiment. By fitting and decoupling the underlying thermionic electron emission curves, the pipeline isolates clear quantum collisions to prove the existence of quantized atomic energy states within gas-filled tubes.
THE GOAL: Mathematical isolation and subtraction of the exponential background baseline current to reveal pure, normalized periodic current drops with minimum statistical variance.
01 / Interactive Workspace & Engine Output
import numpy as np
import pandas as pd
from scipy.optimize import curve_fit
# 1. Define Exponential Background Function
def exponential_baseline(V, a, b, c):
return a * np.exp(b * V) + c
# 2. Fit Background to Local Minima Trajectories
popt, _ = curve_fit(
exponential_baseline,
v_minima,
i_minima,
p0=[0.1, 0.05, 0]
)
# 3. Decouple Baseline to Isolate Pure Peaks
df['I_isolated'] = df['I_raw'] - exponential_baseline(df['V'], *popt)
02 / Technical Competencies Applied
Quantizing Electron Energy: The Mercury Franck-Hertz Experiment
A data-driven verification of Bohr’s atomic model, evaluating the 4.9 eV excitation potential of vaporised mercury through automated signal processing and error modeling.
Signal Processing & Data Pipeline
Track the mathematical transformations used to isolate the 4.9 eV electronic collisions from raw hardware outputs.