Design and evaluation of a low-level RF control system analog/digital receiver for the ILC main Linacs
Summary (4 min read)
1. Introduction
- XAct [1] is a free collection of powerful Mathematica packages for tensor computer algebra.
- On this solid basis a great number of applications have been built [7–13] that range from tensor spherical harmonics to perturbations around homogeneous cosmological backgrounds.
2. Installation
- XTras can be installed by downloading the package from its website www.xact.es/xtras, unzipping it, and following the supplied instructions.
- Once installed, xTras can be loaded with the following command:.
- Note that the authors have suppressed some print messages in the Mathematica output above, and have only shown the package info.
3. xTensor basics
- Before the authors discuss xTras, it is convenient to go over the basics of xTensor [3].
- After defining a manifold, it is possible to define a metric on that manifold with the command DefMetric: In := DefMetric[-1, metric[-a,-b], CD, PrintAs -> "g"].
- The minus signs in front of the indices indicate that they are covariant indices.
- Contractions of the Riemann tensor are automatically converted to Ricci tensors2: In := RiemannCD[-c, -b, -a, b] Out = Rca 10 Note, however, that xTensor also does not automatically rewrite Rca to Rac , even though the Ricci tensor is symmetric.
4. Examples
- The authors will now demonstrate the features of xTras, or at least some of them, on the basis of two examples.
- The functions used here are described in more detail in Section 5.
4.1. Spin 2 on a flat background
- In this section the authors will construct a gauge invariant theory of a free spin 2 field on a flat background.
- Up to total derivatives, this should be zero.
5. xTras functions
- This section documents the most important functions in xTras.
- The list of functions below is not exhaustive, nor are the functions described in full detail (for example, most options are not described here).
- Throughout this section, the authors assume they have a manifold M, a metric metric, a covariant derivative CD and associate curvature tensors (RiemannCD, RicciCD, etc.).
- These can be defined with the commands In := DefManifold[M, dim, IndexRange[a,m]].
5.1.1. AllContractions
- AllContractions[expr] returns a sorted list of all possible full contractions of expr over its free indices.
- The problem of finding all possible contractions of the input expression is equivalent to enumerating all double coset representatives of K \ Sn/H , where n is the number of indices of the input expression, K its symmetry group, and H the symmetry group of n2 metrics.
- Take for instance the Riemann tensor: In := AllContractions[RiemannCD[-a, -b, -c, -d]].
- AllContractions takes an optional second argument, which specifies what free indices the final contractions should have.
- As is obvious from the previous example, there are none.
5.1.2. MakeTraceless
- MakeTraceless[expr] returns the traceless version of expr.
- And if the authors enter the Riemann tensor, it returns the Weyl tensor: In := MakeTraceless[RiemannCD[-a, -b, -c, -d]].
- This is what the Sym objects in the above output do.
5.1.3. ConstructDDIs
- ConstructDDIs[expr] constructs all scalar dimensional dependent identities that can be build out of expr. ConstructDDIs[expr, frees] constructs all dimensional dependent identities that can be build out of expr and that have free indices frees.
- The same holds true for other contractions.
5.1.4. IndexConfigurations
- IndexConfigurations[expr] gives a list of all independent index configurations of expr.
- The commandIndexConfigurations gives all possible independent permutations of the free indices of the input expression.
- A right transversal is the set of representatives of the right cosets H\Sn, which in turn is in one-to-one correspondence to the set of independent index configurations.
- For two metrics the authors get: In := IndexConfigurations[metric[a, b] metric[c, d]].
- Out = {Rabcd, Racbd, Radbc} 63 Note that IndexConfigurations does not take multi-term symmetries like the Bianchi identity into account, and hence it does not see that the last term can actually be written in terms of the first two.
5.1.5. MakeAnsatz
- MakeAnsatz is a convenience function that, out of a list of terms, constructs an Ansatz with constant Symbols.
- Even though the constant symbols print as Ci, their Mathematica symbol name is Ci: In := {C1, C2} Out = {C1, C2} 65 In combination with other functions such as IndexConfigurations or AllContractions, MakeAnsatz becomes very handy: In := MakeAnsatz @ IndexConfigurations[metric[a, b] metric[c, d]].
5.2. Tensor algebra
- This section describes the functions in xTras that can be used for doing basic algebra with tensors.
- There are two functions for rewriting expressions (CollectTensors and CollectConstants), and two functions for solving equations (SolveTensors and SolveConstants).
5.2.1. CollectTensors
- CollectTensors[expr] collects all tensorial terms in expr.
- CollectTensors works like the Mathematica function Collect, with the difference that you do not have to specify a second argument: it collects all tensorial terms it can find in the input expression.
- A ‘tensorial term’ is a single tensor, or a product of tensors that cannot be expanded into a sum.
5.2.2. CollectConstants
- CollectConstants[expr] collects all constant symbols in expr.
- Instead of collecting all tensorial terms in the input expression, it collects all constant symbols it can find.
5.2.3. SolveConstants
- SolveConstants[expr] attempts to solve the system expr of tensorial equations for all constant symbols appearing in expr.
- The function SolveConstants solves equations with respect to constant symbols.
- Not only does it do that, it also makes sure no tensors appear on the right-hand-side of the solutions.
- The second step is to read off equations for the constant symbols from each tensorial term.
5.2.4. SolveTensors
- SolveTensors[expr] attempts to solve the system expr of tensorial equations for all tensors in expr. SolveTensors[expr, tens] attempts to solve the system expr of tensorial equations for the tensors tens.
- This does not always return the most general space of solutions, but a subset of it.
- Hence SolveTensors should more be used as a way to easily obtain proper xAct tensor replacement rules than as a method to solve generic tensorial equations.
- It is worth mentioning that the second argument of SolveTensors, which specifies what tensors to solve for, also takes patterns: In := SolveTensors[ RicciCD[-a, -b] - 1/2 metric[-a, -b] RicciScalarCD[] == 0, metric[__] ].
5.3. Young tableaux
- Conspicuously absent in xAct are functions that deal with Young tableaux and multi-term symmetries.
- XTras provides a few functions in an attempt to partly fill this void, but it is by no means a complete treatment of the subject.
5.3.1. YoungProject
- YoungProject[expr, tab] projects the tensorial expression expr onto the Young tableau tab.
- The projection can be donewith so-called Young projectors [19], which are sequential row-by-row symmetrizations and column-by-column antisymmetrizations of the Young tableau.
- And indeed, the Bianchi identity is manifest after projection: In := ToCanonical @ Antisymmetrize[%, {-a, -b, -c}].
5.3.3. TableauSymmetric
- TableauSymmetric[tab] gives the symmetry of the tableau tab.
- TableauSymmetric generalizes the xAct functions Symmetric, Antisymmetric, and RiemannSymmetric to arbitrary Young tableaux.
- This is because the tensor T abcdef now has all the mono-term symmetries that come from its Young diagram.
5.4.1. VarL
- VarD[g[-a,-b], cd][S] returns δS δgab while integrating by parts with respect to the covariant derivative cd. VarL[g[-a,-b], cd][L] returns 1√ |g| δ √ |g|L δgab while integrating by parts with respect to the covariant derivative cd.
- Computing the total variation is the first step towards reading off δF δg , and is carried out by the xPert commands Perturbation and ExpandPerturbation: In := ExpandPerturbation @ Perturbation[RicciScalarCD[]].
- If the authors want, they have to do this ourselves afterwards.
5.4.2. FullSimplification
- FullSimplification[][expr] tries to simplify expr as much as possible, taking Bianchi identities into account and sorting covariant derivatives.
- The Bianchi identities are however implemented in the simplification methods of the Invar package [9,10].
- The function FullSimplification extends the capabilities of Invar slightly by also simplifying the contracted second Bianchi identities in any expression, not just scalar monomials.
- Apply the contracted second Bianchi identities ∇aRbcda = ∇cRbd − ∇bRcd and ∇aRba = 12∇bR. 3. Sort covariant derivatives.
- This is a contraction of the identity the authors found in Section 5.3.2.
5.4.3. EulerDensity
- EulerDensity[cd] gives the Euler density associated to the covariant derivative cd. EulerDensity[cd, dim] gives the Euler density associated to the covariant derivative cd in the dimension dim if the underlying manifold has a generic dimension.
- Note that this technically is not a density because it has zero weight.
- In order to prevent dummy index collisions, the results of EulerDensity are wrapped in a special head Scalar, which is indicated by a bracket.
- In six dimensions the Euler density becomes: In := EulerDensity[CD, 6].
Acknowledgments
- I would like to thank Thomas Bäckdahl, José M. Martín-García, and Leo Stein for useful discussions and their contributions to the xAct mailing list, and Cyril Pitrou for his suggestion to use xPert for computingmetric variations.
- Furthermore, I thank Andrea Campoleoni, Massimo Taronna, and Pan Kessel for their feedback on initial versions of xTras.
Did you find this useful? Give us your feedback
Citations
12 citations
Cites methods from "Design and evaluation of a low-leve..."
...References [3]–[5] use a heterodyne architecture to demodulate the RF signal, and the signal is digitized by ADC at IF....
[...]
...52-MHz clock is used for an ADC to sample a 13-MHz IF signal in [5]....
[...]
10 citations
8 citations
Cites background from "Design and evaluation of a low-leve..."
...There are already quite a few articles to discuss the RF signal detection focusing on the accuracy, precision and latency requirements described above [24-28]....
[...]
8 citations
Cites background from "Design and evaluation of a low-leve..."
...An essential problem in case of complex control systems of HEP machines is a large number of signals which must be supplied to the system from the outside [9], [ 10 ]....
[...]
5 citations
Cites background or methods from "Design and evaluation of a low-leve..."
...F [20] U....
[...]
...Therefore, the digital and RF front-end separation design is adopted [20]....
[...]
...As described in [20], using the LO amplifier directly on the LO port increases the coupling between the channels and the near-center phase noise, thus, the leakage of the active mixer with the internal LO amplifier from the LO port to the RF port increases....
[...]
References
10,459 citations
"Design and evaluation of a low-leve..." refers methods in this paper
...Analog Board: Using equations from Pozar [11] and datasheet data for gains, attenuations and noise figures shown in Fig....
[...]
...Analog Board: Using equations from Pozar [11] and datasheet data for gains, attenuations and noise figures shown in Fig....
[...]
1,372 citations
51 citations
34 citations
Related Papers (5)
Frequently Asked Questions (19)
Q2. What are the contributions in "Design and evaluation of a low-level rf control system analog/digital receiver for the ilc main linacs" ?
In the paper the authors present a balanced design approach to the specifications of each receiver section, the design choices made to fulfill the goals and a description of the prototyped system.
Q3. What are the main parameters that affect the mixer design the most?
The mixer parameters that affect the presented design the most are the mixer linearity, the RF to LO isolation and the input impedance at the mixer ports.
Q4. What is the way to connect the RF connector to the board?
Using the N-type RF connector in the front of the board, allows connection of the rigid cables that come from the cavities directly to the analog board.
Q5. What is the main impact of the high channel count on the design of the LLRF receiver?
The high channel count has a major impact on the design of the LLRF receiver section, where all the incoming signals need to be downconverted and digitized.
Q6. What are the main design techniques used to reduce the coupling between RF channels?
Standard coupling reduction design techniques, like proper shielding of each high frequency section and channelization of ground and power planes, have also been used.
Q7. What are the main parameters that have the biggest impact on the design of the receiver?
The two main parameters that have the biggest impact on the design of the receiver are the performance and the high number of channels.
Q8. Why do the authors need a robust design to fit mean time between failure requirements?
Due to the higher probability of failure, the high number of channels calls for a robust design to fit mean time between failure (MTBF) requirements and a modular design to minimize the mean time to repair (MTTR).
Q9. What is the critical component of the LLRF control system?
Among all the different modules that compose the LLRF control system, the receiver is the most critical in terms of noise contribution.
Q10. Why is the ILC bunch receiver suitable for the ILC main LINACs?
Due to a modular, robust, cost effective and high performance design, this receiver is suitable for machines like the ILC main LINACs and the ILC bunch compressor.
Q11. How much noise is expected at the output of the ADC?
As mentioned in the introduction, the authors expect the NSD at the output of the receiver system to be equal to the NSD of the ADC, which was measured to be -147 dBc/Hz.
Q12. What is the main advantage of using high channel boards?
This minimizes the number of boards needed per one RF station, decreases the group delay, simplifies the interconnections between the boards and reduces the possibility of failure.
Q13. Why were the phase noise measurements not used in Fig. 3?
They were not measured in Fig. 3 because the residual phase noise measurement, adopted for this measurement, cancels out all coherent disturbances.
Q14. How many degrees of phase drift are likely to be in the amplitude and phase?
amplitude and phase drifts are likely to be several percent in amplitudeand several degrees in phase according to measurements in Fig.
Q15. What is the problem associated with the high number of channels?
An additional problem associated with the high number of channels is finding an RF connector with satisfying isolation between channels that is compact and has acceptable return loss at 1.3 GHz.
Q16. What is the advantage of using two amplifiers?
Using two amplifiers that are placed in between three 1:4 power splitters (see Fig. 2 LO distribution module), turns out to have several advantages over the single input amplifier option.
Q17. What is the cause of the coupling between RF channels?
The remainder of the coupling is caused by the transmission lines that connect the IF circuitry and the output mini-coax IF connector.
Q18. What is the simplest way to solve the problem of a high number of channels?
The system with high number of channels also demands a high degree of automation, which would otherwise be impossible to calibrate, reprogram or diagnose in a short time period.
Q19. What is the amplitude and phase uncertainty for the spectra shown in Fig.?
The integrated RMS amplitude and phase uncertainties for the spectra shown in Fig. 4 are 0.0022% and 0.0044º RMS from 100 Hz to 100 kHz.