ADC Setup (version 1.3)
This screen provides access to all controls for configuring a single channel of ADC input. The following PVs can be set here (all prefixed with $(device):$(axis)
):
Name | PV | Description |
---|---|---|
ADC Compensation Filter | :ADC:FILTER_S | This filter is applied to the raw bunch stream received from the ADC and can be used to correct for some artefacts generated by the front end. The valid range of taps is +-1, and the response of the filter should be adjusted to avoid overflow: this will be indicated by the ADC FIR overflow PV :ADC:FIR_OVF . |
Fill reject length | :ADC:REJECT_COUNT_S | This is the number of turns used for the fill pattern rejection filter. This can be any power of 2 between 1 and 4096. |
Loopback enable | :ADC:LOOPBACK_S | For testing and development this can be set to "Loopback", in which case all data from the ADC is replaced by data sent to the DAC (before the DAC output enable). |
Overflow threshold | :ADC:OVF_LIMIT_S | This should be set to a number in the range 0..1 to select a limit above which ADC input overflow will be indicated on the PV :ADC:INP_OVF . This overflow status will be propagated up to the top level status display, but has no impact on signal processing. |
Min/max threshold | :ADC:EVENT_LIMIT_S | This should be set to a number in the range 0..1 to select the bunch motion threshold used to generate the ADC min/max event. This is generated whenever bunch motion exceeds the programmed limit and can be used to generate a trigger event. |
MMS input | :ADC:MMS_SOURCE_S | Min/Max/Sum data can be sourced from before or after the compensation filter or after the fill pattern reject filter. |
DRAM input | :ADC:DRAM_SOURCE_S | Data capture to memory can be sourced from before or after the compensation filter or after the fill pattern reject filter. |
The three event indicators are as follows:
Name | PV | Description |
---|---|---|
ADC input overflow | :ADC:INP_OVF | Shows an alarm state when the ADC input level is higher than the overflow threshold :ADC:OVF_LIMIT_S . |
ADC FIR overflow | :ADC:FIR_OVF | Shows an alarm state if overflow occurs in the compensation filter. |
ADC min/max event | :ADC:EVENT | Indicates that a bunch min/max event as configured by :ADC:EVENT_LIMIT_S has been seen. |
Fill Pattern Rejection Filter
The ADC data can be processed by a fill pattern rejection filter before being passed through to any of the detectors, the MMS input, or capture to memory. This filter is designed specifically so that the detectors can bypass the feedback FIR without being overwhelmed by the fill pattern. The number of turns used to compute the fill pattern can be configured by setting :ADC:REJECT_COUNT_S
.
Due to the sampling process of the filter, best results are achieved by setting the dwell time of the detector to an integer multiple of the fill reject filter length.
The magnitude and phase response of each filter is shown in the figures below:
The matlab scripts for capturing and plotting these curves can be found in the docs
directory as capture_fill_reject.m
and plot_fill_reject.m
.