[Homemade Quantum Computer NMRQCP] I tried creating an NMR signal using Python.
Hello! I'm a KOSEN (National Institute of Technology) student taking on the challenge of developing a quantum computer using a homemade Earth's Field NMR (EFNMR) system.
Last time, I talked about hardware, like fighting with smoke during "soldering," but this time, it's a complete shift to software. I will explain how to manipulate and observe the quantum world using a PC (Python), along with the simulation code and graphs I wrote!
A Message from the Quantum World: The "FID Signal" and the Looming Noise
To build a quantum computer, we need to capture the extremely weak radio waves (NMR signals) emitted by the "spins" of atomic nuclei. This signal is a smooth, periodic sine wave that weakens over time, and is called the "FID (Free Induction Decay) signal."
Expressed as a formula, it is s(t) = A sin(2πft) e-t/T2. By using Napier's constant (e) in addition to amplitude and frequency, we can express "how the trembling of the atomic nucleus smoothly comes to a stop." Here is the ideal waveform simulated using Python (NumPy and Matplotlib).
The Magic to Find the Truth in a Sea of Noise: "FFT"
So, how do we find the target frequency from this noisy wave? This is where "FFT (Fast Fourier Transform)" comes in.
FFT is a tool that converts the horizontal axis to frequency to visualize "which frequencies are included and how much," acting like a "prism" that separates light by color. Imagine a record player. If the rotation speed doesn't match the data, the waves scatter and cancel each other out, but if the speed matches perfectly, the peaks and valleys of the waves overlap, shifting the center of gravity. We use this to reveal specific waves.
By the way, it is called "fast" because while the computational complexity of a normal Fourier transform is N2, FFT can process it with an overwhelmingly smaller complexity of N log N.
The Mechanism of "Pulse Control" to Manipulate the Quantum
The Hz (frequency) obtained by analyzing the waveform with FFT means "the Hz of the radio waves that the qubit can receive."
This is where quantum computers get interesting. When you hit a qubit with radio waves of the exact same Hz found by FFT, "resonance" occurs, the atom absorbs energy, and the direction of its spin changes. By adjusting the time this radio wave (pulse) is applied, you can freely control the quantum state.
The same goes for checking the results. If the atom is vibrating and emitting radio waves, a peak appears in the FFT, determining the state as "1 (or superposition)"; if it does not emit radio waves, there is no peak, and it is determined as "0".
Just like in this simulation, in my EFNMRQC project, I am actually trying to emit radio waves (pulses) from a coil, analyze the returning signals with FFT, and observe the quantum state. When you turn theory into code and see the graphs move, the quantum world suddenly feels much closer, doesn't it!
- Daily experiment notes and code: Available on my GitHub repository (nmr-qc-project)
- Real-time development scenes and oscilloscope waveforms: Posting on X (formerly Twitter)
If you are wondering things like "Will it really work?" or "How do you generate waveforms?", please bookmark this blog and follow me on X!




コメント
コメントを投稿