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.
Responsive Motion Showcase
Modular Data Analytics Ingestion Pipeline for Deterministic Trend Extraction
Executive Summary
A highly modular, decoupled data ingestion and analysis pipeline built in NumPy. Features a vectorized, deterministic local optimization engine to isolate high-frequency signal signatures from non-linear, noisy data backgrounds.
The Data
Data Cleaning & EDA
Initializing isolated environment…