psi.controller.calibration package

Submodules

psi.controller.calibration.acquire module

psi.controller.calibration.api module

psi.controller.calibration.calibrate module

psi.controller.calibration.chirp module

psi.controller.calibration.chirp.chirp_power(engines, ao_channel_name, ai_channel_names, start_frequency=500, end_frequency=50000, gain=0, vrms=1, repetitions=64, duration=0.02, iti=0.001, debug=False)[source]

Given a single output, measure response in multiple input channels using chirp.

Parameters:

TODO

Returns:

result – Dataframe will be indexed by output channel name and frequency. Columns will be rms (in V), snr (in DB) and thd (in percent).

Return type:

pandas DataFrame

psi.controller.calibration.chirp.chirp_sens(engines, gain=-40, vrms=1, **kwargs)[source]
psi.controller.calibration.chirp.chirp_spl(engines, **kwargs)[source]

psi.controller.calibration.click module

psi.controller.calibration.click.click_power(engines, ao_channel_name, ai_channel_names, gain=0, vrms=1, discard=2, repetitions=10, min_snr=None, duration=0.0001, iti=0.01, trim=0, debug=False)[source]

Given a single output, measure response in multiple input channels.

Returns:

result – Dataframe will be indexed by output channel name. Columns will be rms (in V), snr (in DB) and thd (in percent).

Return type:

pandas DataFrame

psi.controller.calibration.click.click_sens(gain=-40, vrms=1, duration=0.0001, iti=0.001, **kwargs)[source]

Given a single output, measure sensitivity of output based on multiple input channels for a click.

Parameters:

TODO

Returns:

result – Dataframe will be indexed by output channel name and frequency. Columns will be rms (in V), snr (in DB), thd (in percent), spl (measured dB SPL according to the input calibration) norm_spl (the output, in dB SPL, that would be generated assuming the click is 1 VRMS and gain is 0) and sens (sensitivity of output in dB(V/Pa)). These values are reported separately for each input. Although the dB SPL, normalized SPL and sensitivity of the output as measured by each input should agree, there will be some equipment error. So, either average them together or choose the most trustworthy input.

Return type:

pandas DataFrame

psi.controller.calibration.click.click_spl(engines, *args, **kwargs)[source]

Given a single output, measure resulting SPL in multiple input channels.

Parameters:

TODO

Returns:

result – Dataframe will be indexed by output channel name and frequency. Columns will be rms (in V), snr (in DB), thd (in percent) and spl (measured dB SPL according to the input calibration).

Return type:

pandas DataFrame

psi.controller.calibration.plugin module

psi.controller.calibration.tone module

psi.controller.calibration.tone.tone_power(engines, frequencies, ao_channel_name, ai_channel_names, gains=0, vrms=1, repetitions=2, min_snr=None, max_thd=None, thd_harmonics=3, duration=0.1, trim=0.01, iti=0.01, debug=False)[source]

Given a single output, measure response in multiple input channels.

Parameters:

TODO

Returns:

result – Dataframe will be indexed by output channel name and frequency. Columns will be rms (in V), snr (in DB) and thd (in percent).

Return type:

pandas DataFrame

psi.controller.calibration.tone.tone_sens(engines, frequencies, gains=-40, vrms=1, **kwargs)[source]

Given a single output, measure sensitivity of output based on multiple input channels.

Parameters:

TODO

Returns:

result – Dataframe will be indexed by output channel name and frequency. Columns will be rms (in V), snr (in DB), thd (in percent), spl (measured dB SPL according to the input calibration) norm_spl (the output, in dB SPL, that would be generated assuming the tone is 1 VRMS and gain is 0) and sens (sensitivity of output in dB(V/Pa)). These values are reported separately for each input. Although the dB SPL, normalized SPL and sensitivity of the output as measured by each input should agree, there will be some equipment error. So, either average them together or choose the most trustworthy input.

Return type:

pandas DataFrame

psi.controller.calibration.tone.tone_spl(engines, *args, **kwargs)[source]

Given a single output, measure resulting SPL in multiple input channels.

Parameters:

TODO

Returns:

result – Dataframe will be indexed by output channel name and frequency. Columns will be rms (in V), snr (in DB), thd (in percent) and spl (measured dB SPL according to the input calibration).

Return type:

pandas DataFrame

Module contents