Crosstalk phenomenon

Dear Allpix Squared experts,

During my research, I have encountered the phenomenon of crosstalk. Specificially, In certain detectors, electrical signals can induce unintended voltages or currents in neighboring pixels through electromagnetic effects, especially in high-frequency or high-sensitivity detectors.

I am curious to know how Allpix Squared handles this phenomenon. Does the simulator accurately model cross talk between pixels, or is this effect automatically ignored in the simulations?

Your insights would be greatly appreciated as they will help guide my analysis moving forward.

Best,
lincy

Dear @lincy ,

cross talk between pixels is not simulated in Allpix Squared by default, as these effects are difficult to model and largely depend on the design of the detector readout, which is not known to Allpix Squared. What we have are a few options to simulate noise in the frontend:

  • Cross-coupling between neighboured readout channels in the CapacitiveTransfer module. Here, configurable amounts of collected charge are shared with neighbouring channels.
  • Noise contributions per readout channel in the DefaultDigitizer module.
  • Noise contributions per readout channel in the CSADigitizer module.

I hope this helps.

Cheers
Paul

Dear @pschutze

Thank you very much for your reply! :hugs:

Lincy

Dear @pschutze

I am trying to use CapacitiveTransfer to simulate cross-coupling between neighboring readout channels. Additionally, I want to view the pulse graph. The relevant configuration is as follows:

[CapacitiveTransfer]
max_depth_distance = 5um
coupling_matrix = [[0.1, 0.3, 0.1], [0.2, 1, 0.2], [0.1, 0.3, 0.1]]
[CSADigitizer]
model = "csa"
feedback_capacitance = 10e-15C/V
detector_capacitance = 100e-15C/V
krummenacher_current = 25e-9C/s
amp_output_capacitance = 15e-15C/V
transconductance = 50e-6C/s/V
temperature = 77.36K
integration_time = 0.5e-6s
threshold = -10e-6V
sigma_noise = 0.1e-4V
output_plots = true
output_pulsegraphs = true

However, the following error occurred.


I tried using different digitizer modules, transfer modules, and propagation modules, but none of them allowed me to observe the pulse graph while simulating cross-coupling.Could it be that CSADigitizer can only select PulseTransfer as the transfer module? How can I obtain pulse information while simulating cross-coupling between neighboring readout channels?

Your guidance on this would be greatly appreciated.

Best regards,
Lincy

This is true, yes. The CapacitiveTransfer does not transmit pulses, hence the CSADigitizer does not receive any pulse information. For pulses, there’s currently no way of cross-coupling, besides the natural mechanism where a weighting potential spanning more than one pixel leads to pulses in neighbouring pixels as well. These will indeed be transferred, but the weighting potential is the only connecting element between the pixels, and there’s currently no additional chance of defining cross-coupling. It would however be possible to extend the CapacitiveTransfer module also to support pulses.

@lincy

if you need time-resolved cross-talk across front-end channels, right now you need to write your own digitizer module which takes care of this.

Best,
Simon