艺术
美容与健康
工艺
文化与历史
娱乐
环境
食品与饮料
逆向工程
科学
体育
技术
可穿戴设备
The Fourier Transform Spectrometer
Mark

创建者

Mark

30. 八月 2026FI
30
0
0
0
0

The Fourier Transform Spectrometer

A prism or a grating separates colours by sending them in different directions, and you look at where each one went. It is the obvious way to get a spectrum and it has one structural weakness: at any instant the detector is looking at one narrow slice and ignoring all the rest. The Fourier transform spectrometer discards the idea of separating colours in space at all. It is a Michelson interferometer with one mirror scanning steadily. Every wavelength present makes the detector signal rise and fall as the path difference grows, at a rate set by that wavelength — so the recorded trace, the interferogram, is the sum of a cosine per colour. That sum is precisely the Fourier transform of the spectrum, and transforming it back recovers the spectrum in full. Two things fall out. Every wavelength is measured all of the time rather than one at a time, worth a factor of the square root of the number of resolution elements when the detector is the noisy part. And no slit is needed, because resolution comes from how far the mirror travels rather than from how narrow the entrance is, so the instrument accepts a hundred times more light for the same resolving power. Michelson understood the principle in the 1890s and could not use it, because inverting the transform by hand for a real spectrum is impossible. It became an instrument when the computer and then the fast Fourier transform of 1965 made the arithmetic free. Every infrared laboratory on earth now runs one.
高级
4 hours

说明

1

Make the mirror scan

Take the Michelson of blueprint 4 and drive one mirror steadily instead of by hand — a slow-turning micrometer screw, or a small motor and a lever, moving smoothly through a hundred micrometres or so. Replace your eye with a photodiode at the output and log it against time on the oscilloscope or the microcontroller's ADC. Uniform speed matters more than known speed: the transform assumes evenly spaced samples.

此步骤所需材料:

Photodiode (BPW34)Photodiode (BPW34)1
Resistor KitResistor Kit1

所需工具:

Micrometer Screw GaugeMicrometer Screw Gauge
ESP32 Development BoardESP32 Development Board
Digital OscilloscopeDigital Oscilloscope
Optical Bench KitOptical Bench Kit
RC Motor (Brushless)RC Motor (Brushless)
2

Record two sources and look at the difference

Scan first with the laser. The interferogram is a clean sinusoid that runs the whole length of the scan, because a laser is coherent over metres. Now scan with a white LED. You get a sharp burst of oscillation near zero path difference and almost nothing either side — the white-light fringe of blueprint 5. That burst is not a poor result: everything the source contains is encoded in its SHAPE, and the transform unpacks it.

所需工具:

Laser PointerLaser Pointer
LED Light SourceLED Light Source
Digital OscilloscopeDigital Oscilloscope
Desktop ComputerDesktop Computer
Laser Safety GlassesLaser Safety Glasses
3

Log the interferogram

Flash it, start the mirror moving, and capture the CSV. Two thousand samples a second for ten seconds is plenty. The second photodiode is the part worth adding. Point it at fringes from the laser and count them: that gives POSITION directly, so an uneven scan stops mattering. Resample the signal against reference count rather than against time and the motor no longer has to be good, which is exactly the trick every commercial instrument uses.
interferogram_log.inocpp
// Log a Michelson interferogram: one photodiode, one steadily moving mirror.
//
// The transform in the notebook assumes EVENLY SPACED samples, so the two things that
// matter are a constant sample interval and a constant mirror speed. Everything else is
// arithmetic done afterwards.
//
// Wiring: photodiode + 10k to GPIO34 through the transimpedance stage, or straight into
// the ADC with a 100k load if you only want the shape. Optional: a second photodiode on
// GPIO35 watching a reference laser, so fringe COUNT gives position without trusting the
// motor at all -- which is what a real instrument does.

const int PIN_SIG = 34;      // the interferogram
const int PIN_REF = 35;      // reference-laser fringes, optional but transformative

const unsigned long DT_US   = 500;      // 2 kHz sampling
const unsigned long N_SAMPS = 20000;    // 10 seconds of scan

void setup() {
  Serial.begin(115200);
  delay(300);
  analogReadResolution(12);
  analogSetPinAttenuation(PIN_SIG, ADC_11db);
  analogSetPinAttenuation(PIN_REF, ADC_11db);

  Serial.println("# Michelson interferogram log");
  Serial.printf("# %lu samples at %lu us -> %.1f s of scan\n",
                N_SAMPS, DT_US, N_SAMPS * DT_US / 1e6);
  Serial.println("# start the mirror moving BEFORE the countdown ends, and let it run past the end");
  for (int i = 3; i > 0; i--) { Serial.printf("# %d\n", i); delay(1000); }
  Serial.println("sample,signal,reference");

  unsigned long next = micros();
  long refCount = 0;
  int lastRef = 0;

  for (unsigned long k = 0; k < N_SAMPS; k++) {
    while ((long)(micros() - next) < 0) ;          // hold the interval, do not drift
    next += DT_US;

    int sig = analogRead(PIN_SIG);
    int ref = analogRead(PIN_REF);

    // Count reference fringes by threshold crossing: this is the position scale, and it
    // is immune to the motor speeding up or slowing down.
    int refHigh = ref > 2048;
    if (refHigh && !lastRef) refCount++;
    lastRef = refHigh;

    Serial.printf("%lu,%d,%ld\n", k, sig, refCount);
  }
  Serial.println("# done -- paste the two columns into the notebook");
  Serial.println("# resample the signal against REFERENCE COUNT, not against sample number,");
  Serial.println("# and an uneven scan stops mattering entirely.");
}

void loop() {}

此步骤所需材料:

Photodiode (BPW34)Photodiode (BPW34)2
Resistor KitResistor Kit1

所需工具:

ESP32 Development BoardESP32 Development Board
Breadboard - ClassicBreadboard - Classic
Jumper Wire SetJumper Wire Set
Desktop ComputerDesktop Computer
4

Transform it, and compare with a grating

正在加载 Jupyter 笔记本…

所需工具:

Desktop ComputerDesktop Computer
5

Compendium: apodisation, and the zero you must find

WHY THE RAW TRANSFORM RINGS. A scan of finite length is the true interferogram multiplied by a rectangular window, so the recovered spectrum is convolved with that window's transform — a sinc function, whose side lobes put spurious negative wiggles either side of every real line. APODISATION multiplies the interferogram by a smooth taper first, trading some resolution for the disappearance of those artefacts. Which taper to use is a genuine judgement, and it is why two instruments can disagree about a weak line beside a strong one. THE ZERO MUST BE FOUND, NOT ASSUMED. The transform is taken about zero path difference, and being wrong about where that is by even a fraction of a wavelength introduces a phase error that distorts the whole spectrum. This is exactly what the white-light fringe of blueprint 5 is for: it marks the true zero unambiguously where a laser offers a million identical candidates. Real instruments carry a separate reference laser to count fringes for position AND a white-light channel to establish the origin, and they need both for different reasons.

材料

2

所需工具

11

CC0 公共领域

此蓝图以 CC0 协议发布。你可以自由复制、修改、分发和使用此作品,无需征得许可。

通过购买蓝图中的产品支持创客,他们将获得 创客佣金 (由供应商设定),或创建此蓝图的新版本并将其作为连接包含在你自己的蓝图中以分享收入。

讨论

(0)

登录 加入讨论

加载评论中...