PicoQuant / snAPI

snAPI is a Python wrapper which enables seamless communication and configuration with PicoQuant TCSPC devices.
https://picoquant.github.io/snAPI/
Other
25 stars 4 forks source link

g2 for HBT with a thermal source shows a flat response #28

Closed vzickus closed 4 months ago

vzickus commented 4 months ago

Describe the bug We have a simple system with 2 SPAD detectors connected to MultiHarp 150, a 50:50 beam splitter and a thermal source. We expect the g2(0) to give ~2x the value compared to g2(tau) at some arbitrary long tau, however, the response if flat. We tried adjusting the channel offset, bin size, window size, but had no luck.

g2-thermal

`from snAPI.Main import * import matplotlib matplotlib.use('TkAgg',force=True) from matplotlib import pyplot as plt print("Switched to:",matplotlib.get_backend()) import time

if(name == "main"):

sn = snAPI()
sn.getDeviceIDs()
sn.getDevice()
sn.initDevice(MeasMode.T2)

# set the configuration for your device type
sn.loadIniConfig("config\MH.ini")

#chanOffs (int channel timing offset [ps]) –
sn.device.setInputChannelOffset(1, 4500)

# 2. set windowSize and startTime
#setG2Parameters(startChannel, stopChannel, windowSize, binWidth=None)
sn.correlation.setG2Parameters(1, 2, 1e7, 8e3)
sn.correlation.measure(43200000,savePTU=False)

while True:
    finished = sn.correlation.isFinished()
    data, bins = sn.correlation.getG2Data()
    time.sleep(.3)

    plt.clf()
    plt.plot(bins, data, linewidth=2.0, label='g(2)')
    plt.xlabel('Time [s]')
    plt.ylabel('g(2)')
    plt.legend()
    plt.title("g(2)")
    plt.pause(0.1)

    if finished:
        break

plt.show(block=True)

`

snizzleorg commented 4 months ago

Your result indeed looks like expected. While I never did a bunching experiment all the thermal noise correlations I acquired look like your findings.

We found an interesting publication for you that deals with this phenomena.

https://iopscience.iop.org/article/10.1088/2041-8205/789/1/L10/pdf

As you can see, there is an issue of coherence to solve if you want to see bunching of the photons produced in a black body radiation. The authors of the publication apply single mode fibers (for spacial coherence) and filters (narrow band pass and Fabry-Perot etalon). If you do not apply such techniques in your setup, you will see only uncorrelated events, thus flat g2(t).

Actually the experiment for bunching is much more complicated as the one for antibunching of single molecules.

vzickus commented 4 months ago

Thank you for your reply. Interesting, and I guess somewhat counter-intuitive to me, I thought having a thermal source would exactly make it much easier to observe g2(0)>1 because of all the "mess".

We do indeed use single-mode (polarisation maintaining) coupled beam splitter (a pre-aligned one from OZ Optics, highly recommend - it makes life so much easier than aligning in free space using SM fibers). Perhaps I should spectrally filter with a narrower bandwidth.