Radio frequency circuit calibration based on machine learning

The calibration paths of radio frequency circuits are clustered through the clustering model and representative calibration paths are selected to generate calibration codes, which solves the problem of resource-intensive calibration of radio frequency circuits and achieves significant resource reduction and performance maintenance.

CN119366128APending Publication Date: 2025-01-24QUALCOMM INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380042389.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-06-24
Filing Date
2023-05-22
Publication Date
2025-01-24

AI Technical Summary

Technical Problem

As the complexity of radio frequency (RF) circuits increases, the process of calibrating RF circuits becomes increasingly resource-intensive, and prior art is difficult to effectively reduce the computing resources and time required for calibration.

Method used

By using a cluster model, a calibration path with similar performance characteristics is used to form a cluster, and a representative calibration path is selected to generate a calibration code. The search table is used to associate the representative calibration path with other calibration paths. The quantity and computing resources.

Benefits of technology

The computational resources and time used to calibrate RF circuits are significantly reduced while maintaining the performance of the RF circuit, ensuring that the calibrated RF circuit meets a defined set of performance parameters.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119366128A_ABST
    Figure CN119366128A_ABST
Patent Text Reader

Abstract

Certain aspects of the present disclosure provide techniques for identifying a set of minimum or at least reduced representative calibration paths in a radio frequency (RF) circuit and calibrating other calibration paths based on calibration codes for the representative calibration paths. An example method generally includes receiving a set of calibration data including measurements associated with each of a plurality of calibration paths in an RF circuit. A plurality of calibration clusters are generated based on a clustering model and the calibration data set. A respective representative calibration path for each respective calibration cluster of the plurality of calibration clusters is selected from the respective calibration cluster. Generally, calibration codes generated for representative calibration paths are applicable to calibrating other calibration paths in a cluster. A lookup table is generated that associates a respective calibration path with other calibration paths in each respective calibration cluster.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to U.S. patent application serial number 17 / 808,745 filed on June 24, 2022, which is hereby incorporated by reference into this document. Background Art

[0003] Aspects of the present disclosure relate to radio frequency (RF) circuit calibration, and more particularly to using machine learning for data-driven reduction of the number of RF circuit calibrations.

[0004] Radio frequency circuits typically allow signaling to be converted to and from the radio frequency range to be sent to other devices or to process signaling received from other devices. These RF circuits are typically manufactured as a set of electronic circuits that form a complete unit. However, due to variations in the manufacturing process, the characteristics of each RF circuit may vary. Therefore, in order to allow these RF circuits to perform at a similar level and / or within the design specifications, each RF circuit may be calibrated individually, and the parameters used to calibrate each RF circuit may be written to a memory associated with the RF circuit.

[0005] The complexity involved in calibrating RF circuits generally increases as these RF circuits are designed to support new functionality. For example, RF circuits may be calibrated for operation in various frequency bands (e.g., FR1 band between 4.1 GHz and 7.125 GHz, FR2 band between 24.25 GHz and 52.6 GHz, etc.), operation using a single antenna or using multiple antennas in a multiple-input multiple-output (MIMO) system, etc. For RF systems that implement MIMO technology or allow communication using millimeter-wave frequencies, the number of uplinks and downlinks within the system may further increase the number of parameters to be calibrated. Therefore, as RF circuits become more complex, and as the number of configuration parameters for these RF circuits increases, the process of calibrating RF circuits may become increasingly resource-intensive.

[0006] Therefore, there is a need for techniques for effectively calibrating parameters of RF circuits. Summary of the invention

[0007] Certain aspects provide a method for radio frequency (RF) circuit calibration. The method generally includes: receiving a calibration data set, the calibration data set including measurements associated with each calibration path in a plurality of calibration paths for the RF circuit. Generating a plurality of calibration clusters based on a clustering model. Selecting a corresponding representative calibration path of the corresponding calibration cluster from each corresponding calibration cluster in the plurality of calibration clusters. In general, the calibration code generated for the corresponding representative calibration path is applicable to other calibration paths in the corresponding calibration cluster. Generate a lookup table. For each corresponding calibration cluster, the lookup table generally associates the corresponding representative calibration path with other calibration paths associated with the corresponding calibration cluster.

[0008] Other aspects provide a method for calibrating a radio frequency (RF) circuit. The method generally includes: generating a calibration code for a representative calibration path associated with a calibration cluster in the RF circuit. Identifying other calibration paths in the calibration cluster to which the generated code applies from a lookup table that associates the representative calibration path with the calibration cluster. Calibrate the other calibration paths in the calibration cluster based on the generated calibration code for the representative calibration path.

[0009] Other aspects provide: a processing system configured to perform the aforementioned methods and those described herein; a non-transitory computer-readable medium comprising instructions that, when executed by one or more processors of the processing system, cause the processing system to perform the aforementioned methods and those described herein; a computer program product embodied on a computer-readable storage medium, the computer program product comprising code for performing the aforementioned methods and those further described herein; and a processing system comprising components for performing the aforementioned methods and those further described herein.

[0010] The following description and the associated drawings set forth in detail certain illustrative features of one or more implementations. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The drawings depict certain aspects of the one or more embodiments and therefore are not to be considered limiting of the scope of the present disclosure.

[0012] Figure 1 An example pipeline for calibrating radio frequency (RF) circuits is depicted.

[0013] Figure 2 Examples of performance characteristics measured for multiple calibration paths within one or more samples of an RF circuit are illustrated.

[0014] Figure 3An example of clustering calibration paths for an RF circuit such that the calibration paths within a cluster can be calibrated using a representative set of calibration parameters for the cluster of calibration paths is illustrated in accordance with aspects of the present disclosure.

[0015] Figure 4 Example operations that may be performed to use a cluster model to generate a lookup table for calibrating an RF circuit based on calibration codes generated for a representative calibration path associated with each cluster of calibration paths from a plurality of clusters are illustrated in accordance with aspects of the present disclosure.

[0016] Figure 5 Operations that may be performed to calibrate an RF circuit based on a calibration code generated for a representative calibration path associated with a cluster of calibration paths from a plurality of clusters are illustrated in accordance with aspects of the present disclosure.

[0017] Figure 6 An example implementation of a processing system in which a lookup table for calibrating an RF circuit may be generated based on identifying a representative calibration path for each cluster from a plurality of clusters for the calibration path is illustrated in accordance with aspects of the present disclosure.

[0018] Figure 7 An example implementation of a processing system in which an RF circuit can be calibrated based on a calibration code generated for a representative calibration path associated with a cluster of calibration paths from a plurality of clusters is illustrated in accordance with aspects of the present disclosure.

[0019] To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures. It is contemplated that elements and features of one embodiment may be beneficially incorporated in other embodiments without further recitation. DETAILED DESCRIPTION

[0020] Aspects of the present disclosure provide apparatus, methods, processing systems, and computer-readable media for calibrating radio frequency (RF) circuits using machine learning techniques.

[0021] RF circuits are subject to variability in manufacturing and operating parameters that can affect the operation of such integrated circuits. For example, variations in manufacturing (such as variations in etching depth, metal or oxide layer thickness, impurity concentration, etc.) can affect the resistance, threshold voltage, offset, etc. of various components. In addition, as RF circuits become more complex, additional parameters can be configured for each RF circuit. For example, the introduction of additional functionality to support MIMO technology, higher frequency bands (e.g., FR1 or FR2), etc. can introduce new parameters for calibration to account for the increase in uplinks and downlinks within the RF circuit, and more generally consider additional components within the RF circuit to enable support for the additional functionality. As the complexity of these RF circuits increases, the increase in the number of calibrations to be performed on each RF circuit can impose significant computational resource requirements (e.g., processor time, memory, etc.) for calibrating the RF circuits. In addition, the resources used to test these circuits may not only scale linearly, which can make RF circuit calibration an increasingly difficult and non-scalable task.

[0022] Various aspects of the present disclosure provide techniques for calibrating an RF circuit based on a representative set of calibration parameters associated with a cluster of calibration paths having similar properties from a plurality of clusters. In general, a cluster of calibration paths may include one or more calibration paths in an RF circuit that are associated with similar measurements, such as phase imbalance (error) measurements, frequency offset measurements, and / or other measurements, such that a representative set of calibration parameters for an RF circuit calibration path at or near the center of a cluster is applicable to other calibration paths within the cluster. By calibrating a cluster of calibration paths for an RF circuit using a representative set of calibration parameters, computational resources used to calibrate the RF circuit may be reduced relative to performing calibration for each calibration path one by one for any given RF circuit.

[0023] Example Radio Frequency (RF) Circuit Calibration Pipeline

[0024] Figure 1 An example pipeline 100 for calibrating RF circuits is depicted. As illustrated, the calibration pipeline 100 includes an RF parameter calibrator 110, temporary storage 120, an automated test engine 125, a code verifier 130, and a field programmable read-only memory (FPROM) 140.

[0025] The RF circuit being calibrated typically includes several circuits that allow baseband frequency signals or intermediate frequency signals to be up-converted to radio frequency signals for transmission and that allow received radio frequency signals to be down-converted to intermediate frequency signals or baseband frequency signals for processing. These circuits may include, for example, power amplifiers, low noise amplifiers, mixers, filters, frequency synthesizers, phase-locked loops, etc. In general, the number of components within an RF circuit may increase as the complexity of the RF circuit increases, for example to support additional frequency bands (e.g., for carrier aggregation), a larger number of antennas (e.g., diversity reception), etc. As the number of components in an RF circuit increases, the number of circuit parameters to be calibrated may also increase.

[0026] For the N number of parameters to be calibrated, the RF parameter calibrator 110 can test and calibrate each parameter and generate N calibration codes for verification. These calibration codes may include, for example, codes for adjusting power usage parameters, controlling current bias within the RF circuit, measuring and controlling voltage at the RF circuit, etc. In addition, the calibration code or calibration code sets may be associated with different calibration paths within the RF circuit. These calibration paths may include, for example, a sequence of components within the RF circuit through which the signal will be processed (for example, for down-converting from an RF signal to an intermediate frequency signal, which may be further processed to recover data received in an RF signal from another source, or for up-converting from an intermediate frequency signal to an RF signal for transmission to a destination device). In general, as the total number of circuit parameters increases, the total number of calibrations performed by the RF parameter calibrator 110 may increase.

[0027] The N calibration codes may be written to temporary storage 120, and the automated test engine 125 may access the N calibration codes stored in the temporary storage to evaluate the RF circuit being calibrated (e.g., a first pass through the measurement system). In general, the automated test engine 125 may perform various measurements of the RF circuit being calibrated (such as current consumption, voltage, etc.), and may determine whether to perform additional calibrations. In addition, the automated test engine 125 may record the calibration codes generated by the RF parameter calibrator 110 for future use.

[0028] N calibration codes may also be provided to the code verifier 130 for verification. In some aspects, the N calibration codes may be provided to the code verifier 130 so as to be verified based on the instructions generated by the automated test engine 125 to complete the calibration of the RF circuit. In general, when verifying these calibration codes, the code verifier 130 may determine whether the RF circuit configured based on the N calibration codes meets the target set of performance parameters (e.g., by the second pass of the measurement system). In the case of meeting the target set of performance parameters, the code verifier 130 may write the N calibration codes to the FPROM 140 associated with the RF circuit (also referred to as burning the calibration code to the FPROM). The calibration code written to the FPROM 140 may then be used by the RF circuit during normal operation (e.g., in mission mode). In some aspects, the code verifier 130 may calibrate the RF circuit by writing the calibration code to one or more processor registers associated with the RF circuit or by tuning one or more analog components of the RF circuit based on the N calibration codes.

[0029] As discussed, generating and verifying calibration codes for RF circuits can be a resource-intensive process. First, the number of calibration codes to be generated and verified can increase as the complexity of the RF circuit increases. In addition, for each parameter, calibration can be a multi-step process of generating calibration codes, verifying the calibration codes, and refining the generated calibration codes based on the output of the verification process. However, it can also be observed that performance characteristics and other measurements associated with different samples of RF circuits can fall into one of a plurality of groups. For example, due to natural variations in the manufacturing process used to manufacture these RF circuits, RF circuit groups can share similar performance characteristics, and therefore can share similar calibration parameter sets, while having minimal or no performance impact on the performance of RF circuits within the RF circuit group with similar performance characteristics. Therefore, aspects of the present disclosure can utilize these similarities to reduce the amount of resources used to calibrate RF circuits while maintaining the performance of the RF circuits (e.g., so that these RF circuits follow a set of defined performance parameters once calibrated).

[0030] Example Cluster Model-Based Radio Frequency (RF) Circuit Calibration

[0031] In order to exploit the similarities between the performance characteristics of different calibration paths within an RF circuit and / or across multiple RF circuits and the applicability of similar sets of configuration parameters to calibration paths having similar performance characteristics, aspects of the present disclosure use a clustering model to identify groups of calibration paths having similar performance characteristics, and to identify sets of calibration parameters that are applicable to the calibration paths within each group of calibration paths. By doing so, aspects of the present disclosure can minimize or at least reduce the number of calibrations performed (e.g., using Figure 1The number of calibration paths in the RF circuit calibrated by the calibration pipeline 100 illustrated in FIG. 1 is shown in FIG. 2 . Since the calibration parameter set is generated for a single representative calibration path within a cluster of each calibration path, various aspects of the present disclosure can be reduced by using the above-mentioned calibration pipeline 100. Figure 1 The discussed calibration pipeline 100 generates and verifies a number of calibration codes to reduce the computational resources used to calibrate RF circuits.

[0032] Figure 2 An example 200 of performance characteristics measured for multiple calibration paths within one or more samples of an RF circuit is illustrated. A graph 210 illustrates phase imbalance measurements obtained for multiple calibration paths. These phase imbalance measurements may be relative to offsets from a defined center frequency. For example, these defined center frequencies may be frequencies associated with different frequency bands over which the RF circuit may wirelessly communicate. As illustrated, the phase imbalance measurements show phase errors measured for multiple frequency offsets from the defined center frequency (in this example, measurements for 20 MHz below center, 15 MHz below center, 10 MHz below center, 5 MHz below center, center frequency, 5 MHz above center, 10 MHz above center, 15 MHz above center, and 20 MHz above center).

[0033] As can be seen, in graph 210, the calibration paths can be divided into clusters of several calibration paths that exhibit similar performance metrics (e.g., in this example, similar phase imbalance groups) for their RF circuits. For example, the calibration paths can be divided into three clusters illustrated by graphs 220, 230, and 240. As illustrated, graph 220 is associated with a cluster of calibration paths that exhibit a phase imbalance curve for their RF circuits, the phase imbalance curve having a characteristic relationship shape and a range limit between -0.004 radians and 0.004 radians, wherein the peak of the curve is approximately 10 MHz below the center frequency, and the trough of the curve is approximately 10 MHz above the center frequency. Graph 230 is associated with a cluster of calibration paths that exhibit a phase imbalance curve for their RF circuits, the phase imbalance curve having a characteristic relationship shape and a range limit between -0.004 radians and 0.004 radians, wherein the peak of the curve is at 20 MHz above the center frequency, and the trough of the curve is at 20 MHz below the center frequency. Finally, graph 240 is associated with a cluster of calibration paths that exhibit phase imbalance curves for their RF circuits having a characteristic relationship shape and a range limit between -0.013 radians and 0.10 radians, wherein the peak of the curve is at 20 MHz above the center frequency and the trough of the curve is at 20 MHz below the center frequency. Of course, it should be understood that the clusters represented by graphs 220, 230, and 240 illustrate examples of clusters of phase imbalance curves that may be identified from measurements generated on multiple calibration paths (e.g., obtained from one or more samples of the RF circuit), and that other clusters with different phase imbalance curves may also exist. Furthermore, it should be recognized that the phase imbalance measurements illustrated in graphs 210, 220, 230, and 240 are merely examples of measurements that may be used to cluster calibration paths into clusters of calibration paths that exhibit similar performance characteristics for their RF circuits, and that other measurements may also or alternatively be used to cluster calibration paths into clusters of calibration paths that exhibit similar performance characteristics for their RF circuits. These measurements may include, for example, in-phase and quadrature (I / Q) measurements, gain measurements, distortion measurements, and / or other measurements that may characterize the performance of the sample RF circuit.

[0034] Since the calibration paths in each cluster have similar performance characteristics, a representative set of calibration parameters (e.g., as described above with respect to Figure 1 The discussion includes multiple calibration codes) including calibration parameters (codes) applicable to any calibration circuit within the cluster, rather than using Figure 1The calibration pipeline 100 illustrated in FIG. 2 has minimal or no performance impact on the optimal set of calibration parameters determined for each particular calibration path. For example, a first representative set of calibration parameters may be used to calibrate calibration paths within the cluster illustrated by graph 220; a second representative set of calibration parameters may be used to calibrate calibration paths within the cluster illustrated by graph 230; and a third representative set of calibration parameters may be used to calibrate calibration paths within the cluster illustrated by graph 240. By calibrating calibration paths using a representative set of calibration parameters for the cluster in which the calibration paths are located, the amount of time and processing resources used to calibrate samples of RF circuits may be significantly reduced. For example, a small number of measurements may be performed on an RF circuit in order to calibrate a subset of existing calibration paths within the RF circuit. The set of calibration parameters for the subset of calibration paths may be used to calibrate other calibration paths within the RF circuit, which may be advantageous relative to using a plurality of calibration parameters for the calibration paths. Figure 1 The number of calibrations involved in calibrating each path within an RF circuit using the calibration pipeline 100 illustrated in and described above significantly reduces the number of calibrations performed to calibrate the RF circuit.

[0035] Figure 3 Illustrated is an example 300 of clustering calibration paths for an RF circuit so that a representative set of calibration parameters for the cluster of calibration paths can be used to calibrate the calibration paths within the cluster in accordance with aspects of the present disclosure.

[0036] As illustrated in the diagram 310, the calibration path for the RF circuit is plotted on a diagram, wherein each calibration parameter is an axis in the diagram. Although two calibration parameters are illustrated in the diagram 310, resulting in the diagram 310 being illustrated in two dimensions, it should be appreciated that any number of calibration parameters may be used to identify clusters of calibration paths for the RF circuit, wherein the dimensions of the diagram 310 are increased accordingly. For example, three calibration parameters may be used, wherein clusters may be identified in three dimensions. A clustering algorithm that may be an unsupervised machine learning model trained to group calibration parameters into a plurality of clusters may be used to generate the clusters illustrated in the diagram 320. In general, the clustering algorithm may plot the positions associated with each calibration path in a plurality of calibration paths existing in the RF circuit in an n-dimensional space. Similar calibration paths may be closely located to each other in the n-dimensional space, while clusters of different calibration paths may be further located away from each other.

[0037] As illustrated, in the diagram 320, the calibration paths for the RF circuits may be divided into a first cluster 330, a second cluster 340, and a third cluster 350, and each of these clusters may be associated with a respective representative calibration path 332, 342, and 352. Figure 3, but it should be understood that the clusters may take on any shape, such as an ellipse, a square, etc., defined relative to a center point. To identify the members of a cluster, the clustering algorithm may be configured to calculate the distance between each pair of points, each pair of points representing a different calibration path in an n-dimensional space into which the clustering algorithm plots the calibration paths. For example, the clustering algorithm may plot different sets of calibration parameters associated with different calibration paths in the RF circuit to different locations in the n-dimensional space based on various measured performance metrics (e.g., phase imbalance, I / Q imbalance, gain, distortion, etc., which may also be referred to as "impairment" or "defect" metrics), and the distance between different calibration paths may be defined as the residual impairment or measured performance metric that would be experienced when the calibration associated with the first calibration path in a pair of calibration paths is used to calibrate the second calibration path in the pair of calibration paths. That is, with respect to a first RF circuit in a pair of circuits, the distance between two calibration paths may be the difference between the measured performance metric using the calibration generated for the first RF circuit and the performance metric generated by applying the calibration generated for the second RF circuit in the pair to the first RF circuit.

[0038] In general, the calibration paths within a cluster 330, 340, or 350 may be located within a radius from a defined center point in n-dimensional space. The defined center point may be coextensive with a point in n-dimensional space associated with the representative calibration path (and, therefore, the representative calibration parameter set), or may be located at a different location in n-dimensional space than the representative calibration path. In order to identify the representative calibration paths 332, 342, and 352 for each cluster 330, 340, and 350, the distance between each calibration path in the corresponding cluster may be calculated, and the average distance of each calibration path in the corresponding cluster may be calculated. The calibration path associated with the smallest average distance may be selected as the representative calibration path of the calibration paths within the cluster, and the set of configuration parameters associated with the representative calibration path may be used as the set of calibration parameters for calibrating each calibration path in the cluster. Thus, in this example, the calibration path generated (e.g., using the calibration parameter set) for the representative calibration path 332 may be used as the calibration parameter set for calibrating each calibration path in the cluster. Figure 1 The calibration parameter set generated for the representative calibration path 342 can be applied to other calibration paths in cluster 340, and the calibration parameter set generated for the representative calibration path 352 can be applied to other calibration paths in cluster 350.

[0039] In general, clusters 330, 340, and 350 and corresponding representative calibration paths 332, 342, and 352 may be used to generate a lookup table (LUT) that associates representative calibration paths with calibration paths in the corresponding clusters. In some aspects, the lookup table may identify the representative calibration path (e.g., by name, property, etc.) as a key, and the other calibration paths in the cluster may be values ​​associated with the key. The representative calibration path included in the lookup table as a key value may be a calibration path for which a table is to be generated (e.g., using Figure 1 The calibration pipeline 100 illustrated in FIG. 1 is a calibration pipeline 100 (shown in FIG. 100 ) that is used to calibrate the calibration path of the calibration parameter set. Since the key value in the lookup table (i.e., the representative calibration path included as a key in the lookup table structured as a plurality of key-value pairs) is a subset of the existing calibration paths in the RF circuit, and since the calibration code generated for the representative calibration path can be used to calibrate the RF circuit, the number of calibration operations for calibrating the RF circuit can be significantly reduced. Therefore, relative to the RF circuit standard in which the calibration code is generated separately based on each separate measurement for each calibration path in the RF circuit, the RF circuit calibration can be performed faster and using fewer computing resources.

[0040] In some aspects, the calibration paths included in the calibration data set used to generate the graph 320 and the clusters 330, 340, and 350 may include calibration paths from multiple RF devices. In this case, the representative calibration path may represent other calibration paths across the multiple RF devices. While the measurements that form the basis of the calibration code ultimately applied to any RF device will naturally differ due to variations in the design of the RF devices and the manufacturing processes used to build the RF devices, the calibration paths grouped within the cluster of calibration paths may generally remain the same across the multiple RF devices, and therefore, the representative calibration path will also remain the same.

[0041] The number of clusters into which the calibration paths are clustered can be determined in various ways. In some aspects, the number of clusters into which the calibration paths are clustered can be minimized. In some aspects, the number of clusters into which the calibration paths are clustered can be determined based on the number of clusters defined a priori. In general, the number of clusters into which the calibration paths for the RF circuit are clustered can be related to the performance of the RF circuit after calibration. In general, using fewer clusters can allow the RF circuit to be calibrated faster than using more clusters in the lookup table (and accordingly, a more representative calibration path for which calibration codes will be generated); however, using fewer clusters on which calibration codes are generated can result in worse performance than using more clusters.

[0042] In general, the resulting lookup table can be deployed to an RF circuit calibration system to calibrate an example of an RF circuit based on calibration codes generated for a representative calibration path identified in the lookup table. In an example of calibrating an RF circuit, the RF circuit calibration system can generate calibration codes for a representative calibration path (e.g., using Figure 1 ). For each representative calibration path, the RF circuit calibration system may search a lookup table for other calibration paths within the cluster that are associated with the representative calibration path (if any), and use the calibration codes generated for the representative calibration path for the other calibration paths in the cluster. Generally speaking, these calibration codes may include one or more of calibration codes for in-phase and quadrature (I / Q) imbalance compensation, gain calibration, distortion compensation, or other properties for which calibration codes may be generated and applied to compensate for or at least adjust for differences between each instance of the RF circuit.

[0043] Figure 4 The following examples illustrate various aspects of the present disclosure that may be performed (for example, by Figure 6 ) to use a cluster model to generate a lookup table for calibrating an RF circuit based on calibration codes generated for a representative calibration path associated with each cluster of calibration paths from a plurality of clusters.

[0044] As illustrated, operations 400 may begin at block 410 with receiving a calibration data set. The calibration data set typically includes measurements of one or more RF circuit parameters or properties associated with each of a plurality of calibration paths for one or more RF devices. For example, these measurements may include, for example, measurements related to amplitude and phase errors (also referred to as phase imbalance) or gain error measurements at a set of frequency offsets from a defined center frequency, gain measurements, or other measurements that characterize the performance of the RF circuit and may be used to identify a cluster of calibration paths for one or more RF devices.

[0045] At box 420, operation 400 continues by generating multiple calibration clusters based on the cluster model and the calibration data set. In general, each calibration cluster in the multiple calibration clusters may include at least one calibration path. In the case where the calibration cluster includes one calibration path, the calibration code generated for the one calibration path may not be applicable to other calibration paths in the RF device. In the case where the calibration cluster includes multiple calibration paths, the multiple calibration paths may be calibration paths with similar performance characteristics, and for the calibration paths, a single representative calibration code set may be used as the calibration code for the multiple calibration paths in the cluster. For example, each calibration cluster may be associated with a unique set of amplitude values ​​and phase error measurements on a set of frequency offsets from a defined center frequency or other measurements that can be used to identify calibration paths with similar performance characteristics within the RF device.

[0046] To generate multiple calibration clusters, in some aspects, the clustering model may map each calibration path to a point in space based on the measurements associated with each calibration path. The space may have n dimensions, where the n dimensions correspond to n calibration parameters of the RF circuit. For example, the calibration clusters may be generated based on a single calibration parameter so that the space is a 1-dimensional space, or multiple parameters may be used.

[0047] In general, since members of a cluster should have similar performance characteristics, generating multiple calibration clusters typically includes identifying calibration paths having these similar performance characteristics. Similarity scores between different calibration paths can be calculated as the distance from a location in space associated with a first calibration path to a location in space associated with a second calibration path. Within any given cluster, the distance between any pair of members can be less than a threshold distance value from the target RF performance metric.

[0048] In some aspects, the number of clusters generated by the clustering model can be selected by the model based on a minimization strategy. The number of calibration paths to be calibrated can be minimized by minimizing the number of clusters into which the calibration paths are clustered (e.g., using Figure 1). In some aspects, the number of clusters generated by the clustering model may be defined a priori (e.g., according to one or more user-defined configuration parameters, as a hyperparameter of the clustering model, etc.). In general, when the number of clusters is defined a priori, a trade-off may be made between the computational expense for calibrating the RF circuit and the resulting performance of the RF circuit, because the calibration code for a particular calibration path in the RF circuit may not exactly match the optimal set of calibration codes for another calibration path in the RF circuit with similar performance characteristics. An increase in the number of clusters into which the calibration paths are clustered may cause the RF circuit calibration pipeline to expend additional computational resources when calibrating the RF circuit (because an increase in the number of clusters into which the calibration paths are clustered also increases the number of calibration paths for which calibration codes will be generated), but may increase the resulting performance of the calibrated RF circuit relative to an RF circuit calibrated using a smaller number of calibration codes. At the same time, a decrease in the number of calibration clusters into which the calibration codes are clustered may reduce the amount of computational resources used to calibrate the RF circuit, but may reduce the resulting performance of the calibrated circuit relative to an RF circuit calibrated using a larger number of calibration codes.

[0049] In some aspects, the calibration data set may include measurements of one or more circuit parameters or properties associated with calibration paths from multiple devices. The clustering model may generate multiple calibration clusters such that one or more of the multiple calibration clusters include calibration paths from multiple devices. Since the calibration clusters include calibration paths from multiple devices, representative calibration paths for calibration paths within the calibration clusters may be applicable across multiple devices.

[0050] At block 430, operations 400 continue by selecting, from each respective calibration cluster in the plurality of calibration clusters, a respective representative calibration path for the respective calibration cluster. In general, the calibration code generated for the representative calibration path is applicable to other calibration paths in the calibration cluster.

[0051] In some aspects, to select a representative calibration path for a corresponding calibration cluster, an average distance from data points associated with other calibration paths in the corresponding calibration cluster is calculated for each corresponding calibration path. The distance can be, for example, an average distance between points in a space where the calibration path is located, where each point is associated with one or more measurements (e.g., corresponding to an RF performance metric) for the calibration path. The representative calibration path typically includes the calibration path with the smallest average distance in the corresponding calibration cluster, because it can be assumed that the calibration path with the smallest average distance from the other calibration paths is the corresponding calibration cluster. Calibration paths with larger average distances from other calibration paths in the corresponding calibration cluster may not represent the corresponding calibration cluster and the calibration path with the smallest average distance.

[0052] At block 440, operations 400 continue by generating, for each respective calibration cluster, a lookup table that associates the respective representative calibration path with other calibration paths associated with the respective calibration cluster. As discussed, the lookup table may use the representative calibration path for the calibration cluster as a key and the other calibration paths in the calibration cluster as values ​​associated with the key. The system may then deploy the generated lookup table to an RF circuit calibration system (e.g., Figure 1 ) to calibrate the RF circuit, such as with respect to Figure 5 When the RF circuit is to be calibrated, the RF circuit calibration pipeline can retrieve information identifying each representative calibration path from the lookup table and generate a calibration code for each of the representative calibration paths. The calibration code for each respective representative calibration path can then be used to calibrate other calibration paths in the cluster that are associated with the respective representative calibration path.

[0053] Figure 5 The various aspects of the present disclosure may be implemented (for example, by Figure 1 Example operations 500 of calibrating an RF circuit based on a calibration code generated for a representative calibration path associated with a cluster of calibration paths from a plurality of clusters are described below, and a modified version of the RF circuit calibration pipeline 100 illustrated in FIG.

[0054] As illustrated, operations 500 begin at block 510 with generating calibration code for a representative calibration path associated with a cluster of calibration paths in an RF circuit. As discussed, a representative calibration path is typically a calibration path that is used as a key in a lookup table that associates the representative calibration path with other calibration paths in the calibration cluster. A representative calibration path is typically a calibration path for which performance characteristics are representative of performance characteristics of other calibration paths in the calibration cluster with which the representative calibration path is associated.

[0055] At block 520, the operation 500 continues by identifying other calibration paths in the cluster of calibration paths from the lookup table. These other calibration paths typically include the calibration paths to which the generated calibration code applies.

[0056] At block 530 , the operations 500 continue by calibrating other calibration paths in the cluster of calibration paths based on the generated calibration code.

[0057] In some aspects, calibrating the other calibration paths includes writing the generated calibration code for the representative calibration path as the calibration code for each of the other calibration paths to a memory associated with the RF circuit. In some aspects, calibrating the other calibration paths includes writing the generated calibration code for the representative calibration path as a register setting in a digital processor configured to apply adjustments to the output of the RF circuit for the other calibration paths. In some aspects, calibrating the other calibration paths includes configuring analog components of the RF circuit for the other calibration paths based on the generated calibration code for the representative calibration path. In each of these cases, calibrating the other paths is performed without measuring parameters of the other calibration paths.

[0058] In some aspects, the calibration codes for the representative calibration path include one or more of calibration codes for in-phase and quadrature (I / Q) imbalance compensation, calibration codes associated with gain calibration, or calibration codes associated with second-order distortion in RF circuits.

[0059] In some aspects, each cluster of calibration paths in the lookup table is associated with a unique set of amplitude values ​​and phase error measurements over a set of frequency offsets from a defined center frequency. Each calibration cluster may include a cluster in an n-dimensional space, and the n dimensions may correspond to n calibration parameters of the RF circuit.

[0060] Example processing system for calibrating RF circuits using machine learning models

[0061] Figure 6 An example processing system 600 is depicted for generating a lookup table for calibrating an RF circuit based on identifying a representative calibration path for each cluster from a plurality of clusters, such as, for example, described herein with respect to Figure 4 described.

[0062] Processing system 600 includes a central processing unit (CPU) 602, which in some examples may be a multi-core CPU. Instructions executed at CPU 602 may be loaded, for example, from a program memory associated with CPU 602, or may be loaded from memory 624.

[0063] The processing system 600 also includes additional processing components tailored for specific functions, such as a graphics processing unit (GPU) 604 , a digital signal processor (DSP) 606 , a neural processing unit (NPU) 608 , a multimedia processing unit 610 , and a wireless connectivity component 612 .

[0064] An NPU, such as NPU 608, is typically a dedicated circuit configured to implement all necessary control and arithmetic logic for executing machine learning algorithms, such as algorithms for processing artificial neural networks (ANNs), deep neural networks (DNNs), random forests (RFs), etc. An NPU is sometimes alternatively referred to as a neural signal processor (NSP), a tensor processing unit (TPU), a neural network processor (NNP), an intelligence processing unit (IPU), a vision processing unit (VPU), or a graphics processing unit.

[0065] An NPU, such as NPU 608, is configured to accelerate the execution of common machine learning tasks, such as image classification, machine translation, object detection, and various other predictive models. In some examples, multiple NPUs may be instantiated on a single chip, such as a system on a chip (SoC), while in other examples, the NPU may be part of a dedicated neural network accelerator.

[0066] The NPU can be optimized for training or inference, or in some cases configured to balance performance between the two. For NPUs that can perform both training and inference, the two tasks can generally still be performed independently.

[0067] NPUs designed to accelerate training are generally configured to accelerate the optimization of new models, which is a highly computationally intensive operation that involves inputting an existing data set (usually labeled or tagged), iterating on the data set, and then adjusting model parameters (such as weights and biases) to improve model performance. Generally speaking, optimization based on error predictions involves passing back through the layers of the model and determining the gradient to reduce the prediction error.

[0068] NPUs designed to accelerate inference are generally configured to operate on complete models. Thus, such NPUs can be configured to input new data segments and quickly process the data segments through the trained model to generate model outputs (e.g., inferences).

[0069] In one specific implementation, the NPU 608 is part of one or more of the CPU 602 , the GPU 604 , and / or the DSP 606 .

[0070] The processing system 600 may also include one or more input and / or output devices 622, such as a screen, a touch-sensitive surface (including a touch-sensitive display), physical buttons, speakers, microphones, and the like.

[0071] In some examples, one or more of the processors of processing system 600 may be based on the ARM or RISC-V instruction set.

[0072] The processing system 600 also includes a memory 624, which represents one or more static and / or dynamic memories, such as dynamic random access memory, flash-based static memory, etc. In this example, the memory 624 includes computer-executable components that can be executed by one or more of the aforementioned processors of the processing system 600.

[0073] Specifically, in this example, memory 624 includes calibration data set receiving component 624A, calibration cluster generating component 624B, representative calibration path selecting component 624C, and lookup table generating component 624D. The depicted components, as well as other components not depicted, may be configured to perform various aspects of the methods described herein.

[0074] Figure 7 An example processing system 700 is depicted for generating a lookup table for calibrating an RF circuit based on identifying a representative calibration path for each cluster from a plurality of clusters, such as, for example, described herein with respect to Figure 5 As described.

[0075] Processing system 700 includes a central processing unit (CPU) 702, which in some examples may be a multi-core CPU. Instructions executed at CPU 702 may be loaded, for example, from a program memory associated with CPU 702, or may be loaded from memory 724.

[0076] Processing system 700 also includes additional processing components tailored for specific functions, such as a graphics processing unit (GPU) 704 , a digital signal processor (DSP) 706 , a neural processing unit (NPU) 708 , a multimedia processing unit 710 , and wireless connectivity components 712 .

[0077] An NPU, such as NPU 708, is typically a dedicated circuit configured to implement all necessary control and arithmetic logic for executing machine learning algorithms, such as algorithms for processing artificial neural networks (ANNs), deep neural networks (DNNs), random forests (RFs), etc. An NPU is sometimes alternatively referred to as a neural signal processor (NSP), a tensor processing unit (TPU), a neural network processor (NNP), an intelligence processing unit (IPU), a vision processing unit (VPU), or a graphics processing unit.

[0078] NPUs, such as NPU 708, are configured to accelerate the execution of common machine learning tasks, such as image classification, machine translation, object detection, and various other predictive models. In some examples, multiple NPUs may be instantiated on a single chip, such as a system on a chip (SoC), while in other examples, the NPU may be part of a dedicated neural network accelerator.

[0079] The NPU can be optimized for training or inference, or in some cases configured to balance performance between the two. For NPUs that can perform both training and inference, the two tasks can generally still be performed independently.

[0080] NPUs designed to accelerate training are generally configured to accelerate the optimization of new models, which is a highly computationally intensive operation that involves inputting an existing data set (usually labeled or tagged), iterating on the data set, and then adjusting model parameters (such as weights and biases) to improve model performance. Generally speaking, optimization based on error predictions involves passing back through the layers of the model and determining the gradient to reduce the prediction error.

[0081] NPUs designed to accelerate inference are generally configured to operate on complete models. Thus, such NPUs can be configured to input new data segments and quickly process the data segments through the trained model to generate model outputs (e.g., inferences).

[0082] In one specific implementation, the NPU 708 is part of one or more of the CPU 702 , the GPU 704 , and / or the DSP 706 .

[0083] The processing system 700 may also include one or more input and / or output devices 722, such as a screen, a touch-sensitive surface (including a touch-sensitive display), physical buttons, speakers, microphones, and the like.

[0084] In some examples, one or more of the processors of processing system 700 may be based on the ARM or RISC-V instruction set.

[0085] The processing system 700 also includes a memory 724, which represents one or more static and / or dynamic memories, such as dynamic random access memory, flash-based static memory, etc. In this example, the memory 724 includes computer-executable components that can be executed by one or more of the aforementioned processors of the processing system 700.

[0086] Specifically, in this example, memory 724 includes a representative calibration code generation component 724A, a calibration path identification component 724B, and a circuit calibration component 724C, and other components not depicted may be configured to perform various aspects of the methods described herein.

[0087] Sample Clauses

[0088] Specific implementation details for each aspect are described in the following numbered clauses.

[0089] Item 1: A method for identifying a minimum set of calibration paths in a radio frequency (RF) circuit, the method comprising: receiving a calibration data set, the calibration data set including measurements associated with each calibration path in a plurality of calibration paths for the RF circuit; generating a plurality of calibration clusters based on a clustering model and the calibration data set; selecting a respective representative calibration path for each respective calibration cluster in the plurality of calibration clusters, wherein a calibration code generated for the representative calibration path is applicable to other calibration paths in the calibration cluster; and generating, for each respective calibration cluster, a lookup table associating the respective representative calibration path with the other calibration paths associated with the respective calibration cluster.

[0090] Item 2: A method according to Item 1, wherein selecting the corresponding representative calibration path of the corresponding calibration cluster comprises: for each corresponding calibration path in the corresponding calibration cluster, calculating the average distance between measurements of the corresponding calibration path and other calibration paths in the corresponding calibration cluster, wherein selecting the corresponding representative calibration path comprises selecting a calibration path with the smallest average distance in the corresponding calibration cluster.

[0091] Clause 3: A method according to clause 1 or 2, wherein the corresponding calibration cluster includes calibration paths having similar RF performance metrics, such that a distance between the representative calibration path and each calibration path in the corresponding calibration cluster other than the representative calibration path is lower than a threshold distance value from a target RF performance metric.

[0092] Clause 4: A method according to any one of clauses 1 to 3, wherein: the calibration data set includes data points associated with calibration paths from multiple devices; and the clustering model is configured to generate a calibration cluster including calibration paths on the multiple devices, and the representative calibration path includes a calibration path whose calibration code is applicable to other calibration paths across the multiple devices.

[0093] Clause 5: The method of any of clauses 1 to 4, wherein generating the plurality of calibration clusters comprises generating calibration clusters based on minimizing the number of clusters into which the plurality of calibration paths in the calibration data set are classified.

[0094] Clause 6: The method of any one of clauses 1 to 5, wherein generating the plurality of calibration clusters comprises generating the plurality of clusters according to user defined configuration parameters.

[0095] Clause 7: The method of any of clauses 1 to 7, wherein each calibration cluster comprises a cluster in an n-dimensional space, and wherein the n dimensions correspond to n calibration parameters of the RF circuit.

[0096] Clause 8: The method of clause 7, wherein n is greater than two.

[0097] Clause 9: The method of any one of clauses 1 to 8, further comprising deploying the lookup table to an RF circuit calibration system for use in calibrating other instances of the RF circuit based on calibration codes generated for each representative calibration path in the lookup table.

[0098] Clause 10: A method as recited in any of clauses 1 to 9, wherein each calibration cluster of the plurality of calibration clusters is associated with a unique set of amplitude values ​​and phase error measurements over a set of frequency offsets from a defined center frequency.

[0099] Clause 11: According to the method described in any one of clauses 1 to 10, the method further comprises: for each corresponding calibration cluster in the multiple calibration clusters, generating a calibration code for the corresponding representative calibration path associated with the corresponding calibration cluster; identifying other calibration paths in the corresponding calibration cluster from the lookup table; and calibrating the other calibration paths in the calibration cluster based on the generated calibration code for the representative calibration path.

[0100] Item 12: A method for calibrating a radio frequency (RF) circuit, the method comprising: generating a calibration code for a representative calibration path associated with a calibration cluster for the RF circuit; identifying other calibration paths to which a set of calibration parameters generated in the calibration cluster applies from a lookup table that associates the representative calibration path with the calibration cluster; and calibrating the other calibration paths in the calibration cluster based on the calibration code generated for the representative calibration path.

[0101] Clause 13: The method of clause 12, wherein calibrating the other calibration paths comprises writing the generated calibration code for the representative calibration path to a memory associated with the RF circuit as a calibration code for each of the other calibration paths.

[0102] Clause 14: A method according to clause 12 or 13, wherein calibrating the other calibration path comprises writing the generated calibration code for the representative calibration path as register settings in a digital processor, the digital processor being configured to apply adjustments to the output of the RF circuit for the other calibration path.

[0103] Clause 15: The method of any of clauses 12 to 14, wherein calibrating the other calibration path comprises configuring analog components of the RF circuitry for the other calibration path based on the generated calibration code for the representative calibration path.

[0104] Clause 16: A method according to any one of clauses 12 to 15, wherein the calibration code for the representative calibration path includes one or more of a calibration code for in-phase and quadrature (I / Q) imbalance adjustment, a calibration code associated with gain calibration, or a calibration code associated with second-order distortion in the RF circuit.

[0105] Clause 17: A method as described in any of clauses 12 to 16, wherein each calibration cluster in the look-up table is associated with a unique set of amplitude values ​​and phase error measurements over a set of frequency offsets from a defined centre frequency.

[0106] Clause 18: The method of any of clauses 12 to 17, wherein each calibration cluster comprises a cluster in an n-dimensional space, and wherein the n dimensions correspond to n calibration parameters of the RF circuit.

[0107] Clause 19: An apparatus comprising: a memory having executable instructions stored thereon; and a processor configured to execute the executable instructions so that the apparatus performs the method according to any one of clauses 1 to 18.

[0108] Clause 20: An apparatus comprising: means for performing the method according to any one of clauses 1 to 18.

[0109] Clause 21: A non-transitory computer readable medium having stored thereon instructions which, when executed by a processor, perform the method of any one of clauses 1 to 18.

[0110] Clause 22: A computer program product embodied on a computer readable storage medium, the computer program product comprising code for performing the method according to any one of clauses 1 to 18.

[0111] Additional considerations

[0112] The previous description is provided to enable any person skilled in the art to practice the various embodiments described herein. The examples discussed herein are not limitations on the scope, applicability, or embodiments set forth in the claims. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the universal principles defined herein may be applied to other embodiments. For example, without departing from the scope of the present disclosure, the functions and arrangements of the elements discussed may be changed. Each example may ignore, replace, or add various procedures or components as appropriate. For example, the described method may be executed in a different order than described, and various steps may be added, omitted, or combined. In addition, the features described for some examples may be combined in some other examples. For example, any number of aspects set forth herein may be used to implement a device or practice method. In addition, the scope of the present disclosure is intended to cover such devices or methods practiced using other structures, functions, or structures and functions that are supplementary or alternative to the various aspects of the present disclosure set forth herein. It should be understood that any aspect of the disclosure disclosed herein may be embodied by one or more elements of the claims.

[0113] As used herein, the word “exemplary” means “serving as an example, instance, or illustration.” Any aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects.

[0114] As used herein, a phrase referring to "at least one of" a list of items refers to any combination of those items (including single members). For example, "at least one of a, b, or c" is intended to cover a, b, c, ab, ac, bc, and abc, as well as any combination with multiple identical elements (e.g., aa, aaa, aab, aac, abb, acc, bb, bbb, bbc, cc, and ccc, or any other ordering of a, b, and c).

[0115] As used herein, the term "determining" encompasses a wide variety of actions. For example, "determining" may include calculating, computing, processing, deriving, investigating, searching (e.g., searching in a table, a database, or another data structure), ascertaining, and the like. Also, "determining" may include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory), and the like. Furthermore, "determining" may include resolving, selecting, choosing, establishing, and the like.

[0116] The method disclosed herein includes one or more steps or actions for implementing the method. Method steps and / or actions can be interchangeable with each other without departing from the scope of the claims. In other words, unless a specific order of steps or actions is specified, the order and / or use of specific steps and / or actions can be modified without departing from the scope of the claims. In addition, the various operations of the method described above can be performed by any appropriate component that can perform the corresponding function. The component may include various hardware and / or software components and / or modules, including but not limited to circuits, application specific integrated circuits (ASICs) or processors. Typically, in the presence of operations illustrated in the accompanying drawings, those operations may have corresponding corresponding components with similar numbers plus functional components.

[0117] The following claims are not intended to be limited to the embodiments shown herein, but should be granted the full scope consistent with the language of the claims. Within the claims, unless otherwise specified, references to singular elements are not intended to mean "one and only one", but "one or more". Unless otherwise specified, the term "some" refers to one or more. No claim element should be interpreted according to the provisions of 35 U.S.C. § 112 (f), unless the phrase "member for..." is used to explicitly describe the element, or in the case of a method claim, the phrase "step for..." is used to describe the element. All structural and functional equivalents of the elements of various aspects described throughout this disclosure that are known or will be known to a person of ordinary skill in the art are expressly incorporated herein by reference and are intended to be covered by the claims. In addition, nothing disclosed herein is intended to be disclosed to the public, regardless of whether such disclosure is explicitly described in the claims.

Claims

1. A method for calibrating a radio frequency (RF) circuit, the method comprising: receiving a calibration data set including measurements associated with each of a plurality of calibration paths for an RF circuit; generating a plurality of calibration clusters based on the clustering model and the calibration data set; selecting, from each respective calibration cluster of the plurality of calibration clusters, a respective representative calibration path for the respective calibration cluster, wherein a calibration code generated for the respective representative calibration path is applicable to other calibration paths in the respective calibration cluster; as well as A lookup table is generated that, for each respective calibration cluster, relates the respective representative calibration path to other calibration paths associated with the respective calibration cluster.

2. The method of claim 1 , wherein selecting the corresponding representative calibration path of the corresponding calibration cluster comprises: for each respective calibration path in the respective calibration cluster, calculating an average distance between data points of the respective calibration path and other calibration paths in the respective calibration cluster; as well as The calibration path with the smallest average distance in the corresponding calibration cluster is selected.

3. A method according to claim 2, wherein the distance between the data points of the corresponding calibration path and another calibration path in the corresponding calibration cluster includes the difference between the impairment metric measured when the calibration parameters for the corresponding calibration path are used to calibrate the RF circuit and the impairment metric measured when the calibration parameters for the other calibration path are used to calibrate the RF circuit.

4. The method of claim 1 , wherein the corresponding calibration cluster includes calibration paths having similar RF performance metrics, such that a distance between the corresponding representative calibration path and each calibration path in the corresponding calibration cluster other than the corresponding representative calibration path is lower than a threshold distance value from a target RF performance metric.

5. The method according to claim 1, wherein: The calibration data set includes measurements associated with calibration paths from a plurality of devices; and The clustering model is configured to generate calibration clusters comprising calibration paths on the plurality of devices, wherein the respective representative calibration paths include calibration paths whose calibration codes are applicable to other calibration paths within the respective calibration clusters. 6 . The method of claim 1 , wherein generating the plurality of calibration clusters comprises generating calibration clusters based on minimization of a number of clusters into which the plurality of calibration paths in the calibration data set are classified. The method of claim 1 , wherein generating the plurality of calibration clusters comprises generating a plurality of clusters according to user-defined configuration parameters.

8. The method of claim 1, wherein each calibration cluster comprises a cluster in an n-dimensional space, and wherein the n dimensions correspond to n calibration parameters of the RF circuit.

9. The method of claim 8, wherein n is greater than two.

10. The method of claim 1, further comprising deploying the lookup table to an RF circuit calibration system for use in calibrating other instances of the RF circuit based on calibration codes generated for each representative calibration path in the lookup table.

11. The method of claim 1 , wherein each calibration cluster of the plurality of calibration clusters is associated with a unique set of amplitude values ​​and phase error measurements or gain error measurements over a set of frequency offsets from a defined center frequency.

12. The method according to claim 1, further comprising: For each respective calibration cluster in the plurality of calibration clusters: generating a calibration code for the respective representative calibration path associated with the respective calibration cluster; identifying, from the lookup table, other calibration paths in the corresponding calibration cluster; as well as The other calibration paths in the respective calibration cluster are calibrated based on the generated calibration code for the respective representative calibration path.

13. A method for calibrating a radio frequency (RF) circuit, comprising: generating calibration code for a representative calibration path associated with a calibration cluster in the RF circuit; identifying, from a lookup table associating the representative calibration paths with the calibration clusters, other calibration paths to which the generated calibration code in the calibration cluster applies; as well as The other calibration paths in the calibration cluster are calibrated based on the generated calibration code for the representative calibration path.

14. The method of claim 13, wherein calibrating the other calibration paths comprises writing the generated calibration code for the representative calibration path to a memory associated with the RF circuit as a calibration code for each of the other calibration paths.

15. The method of claim 13, wherein calibrating the other calibration paths comprises writing the generated calibration code for the representative calibration path as register settings in a digital processor configured to apply adjustments to the output of the RF circuit for the other calibration paths. 16 . The method of claim 13 , wherein calibrating the other calibration paths comprises configuring analog components of the RF circuitry for the other calibration paths based on the generated calibration code for the representative calibration path.

17. A method according to claim 13, wherein the calibration code for the representative calibration path includes one or more of a calibration code for in-phase and quadrature (I / Q) imbalance adjustment, a calibration code associated with gain calibration, or a calibration code associated with second-order distortion in the RF circuit.

18. The method of claim 13, wherein each calibration cluster in the lookup table is associated with a unique set of amplitude values ​​and phase error measurements or gain error measurements over a set of frequency offsets from a defined center frequency.

19. The method of claim 13, wherein each calibration cluster comprises a cluster in an n-dimensional space, and wherein the n dimensions correspond to n calibration parameters of the RF circuit.

20. A system, comprising: A memory, wherein executable instructions are stored in the memory; and a processor configured to execute the executable instructions so that the system: receiving a calibration data set including measurements associated with each of a plurality of calibration paths in an RF circuit; generating a plurality of calibration clusters based on the clustering model and the calibration data set; selecting, from each respective calibration cluster of the plurality of calibration clusters, a respective representative calibration path for the respective calibration cluster, wherein a calibration code generated for the respective representative calibration path is applicable to other calibration paths in the calibration cluster; as well as For each respective calibration cluster, a lookup table is generated that associates the respective representative calibration path with the other calibration paths associated with the respective calibration cluster.

21. The system of claim 20, wherein: To select the respective representative calibration path of the respective calibration cluster, the processor is configured to cause the system to calculate, for each respective calibration path in the respective calibration cluster, an average distance between data points of the respective calibration path and other calibration paths in the respective calibration cluster; as well as To select the respective representative calibration path, the processor is configured to cause the system to select a calibration path having a minimum average distance in the respective calibration cluster.

22. A system according to claim 20, wherein the corresponding calibration cluster includes calibration paths having similar RF performance metrics, so that the distance between the corresponding representative calibration path and each calibration path in the corresponding calibration cluster except the corresponding representative calibration path is lower than a threshold distance value from a target RF performance metric.

23. The system of claim 20, wherein: The calibration data set includes measurements associated with calibration paths from a plurality of devices; and The clustering model is configured to generate calibration clusters comprising calibration paths on the plurality of devices, wherein the respective representative calibration paths include calibration paths whose calibration codes are applicable to other calibration paths within the respective calibration clusters.

24. The system of claim 20, wherein each calibration cluster comprises a cluster in an n-dimensional space, and wherein the n dimensions correspond to n calibration parameters of the RF circuit.

25. The system of claim 20, wherein the processor is further configured to cause the system to deploy the lookup table to an RF circuit calibration system for use in calibrating other instances of the RF circuit based on calibration codes generated for each representative calibration path in the lookup table.

26. The system of claim 20, wherein each calibration cluster of the plurality of calibration clusters is associated with a unique set of amplitude values ​​and phase error measurements or gain error measurements over a set of frequency offsets from a defined center frequency.

27. The system of claim 20, wherein the processor is further configured to cause the system to, for each respective calibration cluster in the plurality of calibration clusters: generating a calibration code for the respective representative calibration path associated with the respective calibration cluster; identifying, from the lookup table, other calibration paths in the corresponding calibration cluster; as well as The other calibration paths in the respective calibration cluster are calibrated based on the generated calibration code for the respective representative calibration path.

28. A system, comprising: A memory, wherein executable instructions are stored in the memory; and a processor configured to execute the executable instructions so as to cause the system to: generating calibration code for a representative calibration path associated with a calibration cluster in a radio frequency (RF) circuit; identifying, from a lookup table associating the representative calibration paths with the calibration clusters, other calibration paths in the calibration cluster to which the generated calibration code applies; as well as The other calibration paths in the calibration cluster are calibrated based on the generated calibration code for the representative calibration path.

29. The system of claim 28, wherein to calibrate the other calibration paths, the processor is configured to write the generated calibration code for the representative calibration path into a memory associated with the RF circuit as a calibration code for each of the other calibration paths.

30. The system of claim 28, wherein each calibration cluster in the lookup table is associated with a unique set of amplitude values ​​and phase error measurements or gain error measurements over a set of frequency offsets from a defined center frequency.