A Josephson array driving method and system based on bidirectional successive approximation algorithm

Through the Josephson array driving method based on the bidirectional successive approximation algorithm, the difficulty of large-scale array driving and freezing flux problems in the existing technology are solved, and a high-precision, fast and universal array driving effect is achieved.

CN119397158BActive Publication Date: 2025-06-06NATIONAL INSTITUTE OF METROLOGY CHINA
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411487124.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-24
Publication Date
2025-06-06
Estimated Expiration
2044-10-24

AI Technical Summary

Technical Problem

The existing technology lacks a unified, fast and highly adaptable Josephson array driving method, especially when there is a frozen magnetic flux in large-scale arrays, traditional methods cannot effectively solve the driving problem.

Method used

The Josephson junction driving method based on the bidirectional successive approximation algorithm is adopted. By analyzing the characteristics of the junction array arrangement, a greedy strategy based on single-step optimal selection is adopted to improve the bidirectional successive approximation method, which can quickly output the appropriate bias state and realize high-precision synthesis of AC/DC quantum voltages.

Benefits of technology

This method has high versatility, reduces the average computing complexity, and can achieve fast and high-precision array driving without modifying the algorithm when a frozen magnetic flux occurs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119397158B_ABST
    Figure CN119397158B_ABST
Patent Text Reader

Abstract

The present invention discloses a Josephson junction array driving method and system based on a bidirectional successive approximation algorithm, which relates to the field of metering technology, including: pre-processing data; judging whether frozen flux occurs, and performing graded processing according to the severity of the frozen flux; calculating the junction bias state array B based on the bidirectional successive approximation method according to the graded processing result, and making the generated summary number as close as possible to the target junction number N; outputting the adjusted bias state array and the generated summary number. The present invention reduces the computational complexity, has high computational efficiency, and is suitable for processing large-scale junction array data; has a simple structure, strong versatility, and a simple algorithm structure that is easy to maintain and very convenient to improve, and is suitable for Josephson junctions with arbitrary junction arrangements; when frozen flux occurs, there is no need to switch to other algorithms, and only the input needs to be modified to continue using.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of measurement technology, and more particularly to a Josephson array driving method and system based on a bidirectional successive approximation algorithm. Background Art

[0002] The programmable Josephson quantum voltage reference (PJVS) uses a bias current source to drive a programmable Josephson junction array to generate DC quantum voltage and AC quantum voltage. It mostly uses a programmable Josephson junction array driving method based on analog-to-digital conversion, that is, the analog-to-digital conversion and buffer amplifier circuits are controlled through software programming to provide bias current drive for multiple sub-arrays of the junction array, thereby outputting the corresponding quantum voltage steps to finally synthesize the required DC voltage value.

[0003] Large-scale programmable Josephson junction arrays usually contain tens of thousands or even hundreds of thousands of serial Josephson junctions. According to a certain method, the large-scale serial Josephson junctions are divided into multiple sub-arrays. According to the number of Josephson junctions contained in each sub-array after the division, the Josephson junction array is divided into binary type, ternary type, non-binary type, etc. For example, a large-scale binary programmable Josephson junction array contains 8191 Josephson junctions, which are divided into 13 sub-arrays. The number of Josephson junctions contained in each of its sub-arrays is divided into 1, 2, 4, 8, 16, 32, 64, ..., 1024, 2048, 4096 in binary mode. A large-scale ternary programmable Josephson node array contains multiple Josephson junctions, which are divided into 14 sub-arrays. The number of Josephson junctions contained in some of the sub-arrays is divided according to the ternary method, namely 4, 12, 36, 108, 324, 972, 2916, 8474, 8472, 8474, 8474, 8474, 8742, 8744. At present, the commonly used programmable node arrays in the world are binary and ternary. Due to the limitation of manufacturing process, the number of Josephson junctions contained in the sub-array of the domestic programmable Josephson node array cannot be arranged strictly according to a certain number system. It is defined here as a non-number-based programmable Josephson node array.

[0004] For different types of Josephson arrays, traditional array driving methods include binary segmented driving methods and balanced ternary driving methods, and the two types of algorithms are not universal. At the same time, due to possible interference from external signals, the PJVS array may freeze the magnetic flux when in use, and some array segments will fail at this time. The traditional driving method cannot solve the Josephson array driving in this case well. Invention patent CN 110673523 A discloses a Josephson array driving method combining a balanced ternary and indexing algorithm, which has good driving ability for ternary-arranged Josephson arrays, but cannot be applied to driving binary and non-arranged arrays, and customized programs are required for different arrays, so the versatility is not strong. If the magnetic flux freezes when driving a large-scale array such as a 10V array, the method cannot be executed due to excessive calculation. At present, there is a lack of a unified, fast, and adaptable array driving method.

[0005] Therefore, how to propose a Josephson array driving method and system based on a bidirectional successive approximation algorithm, by analyzing the characteristics of the array arrangement, and adopting a bidirectional successive approximation method improved by a greedy strategy based on single-step optimal selection, which can quickly output a suitable bias state to achieve high-precision synthesis of AC / DC quantum voltages, has high versatility, reduces the average calculation complexity, and does not require modification of the algorithm when frozen flux occurs is a problem that technical personnel in this field urgently need to solve. Summary of the invention

[0006] In view of this, the present invention provides a Josephson array driving method and system based on a bidirectional successive approximation algorithm. By analyzing the characteristics of the array arrangement, a bidirectional successive approximation method based on a greedy strategy based on single-step optimal selection is adopted to quickly output a suitable bias state to achieve high-precision synthesis of AC / DC quantum voltages. It has high versatility, reduces the average calculation complexity, and does not need to modify the algorithm when frozen flux occurs.

[0007] In order to achieve the above object, the present invention adopts the following technical solution:

[0008] A Josephson array driving method based on a bidirectional successive approximation algorithm, comprising:

[0009] Preprocess the data;

[0010] Determine whether frozen flux occurs and perform graded treatment according to the severity of frozen flux;

[0011] According to the hierarchical processing results, the junction bias state array B is calculated based on the bidirectional successive approximation method, and the number of generated summaries is made as close as possible to the target number of junctions N;

[0012] Outputs the adjusted bias state array and the number of summaries generated.

[0013] Optionally, the data preprocessing includes: arranging the number of knots in descending order, and saving the sorting result as a descending number of knots array A; recording the ordinal number of elements before sorting, initializing the knot bias state array B, and setting the target number of knots N.

[0014] Optionally, also include:

[0015] Read all the knot arrays without frozen flux, including the knot number array, and obtain the descending knot number array A by arranging in descending order. At the same time, establish an array with the same size as A to save the position of each element before sorting;

[0016] Initialize the junction bias state array B, set the junction bias state array B to zero, the array dimension is 1×m, where m is the number of the Josephson junction array, the value range of each element of the junction bias state array B is {-1, 0, 1}, and all elements of the matrix are set to zero during initialization;

[0017] The target number of knots N is input by the user. Under the optimal bias state of the knot array, the total number of knots output by the knot array is the number of knots closest to the target number of knots N among all the combinations that the current knot array can output.

[0018] Optionally, the freezing magnetic flux includes:

[0019] The width of the positive and negative steps or the 0 step of one or several knots becomes narrower;

[0020] One or more sections have no positive or negative steps or 0 steps;

[0021] A certain quantum voltage step of the output has a slope.

[0022] Optionally, the step of performing graded processing according to the severity of the frozen magnetic flux includes:

[0023] When the array has severe frozen flux, the experiment is stopped; otherwise, the array knot number elements with frozen flux are deleted from the descending knot number array A, and the remaining normal array knot numbers are saved in the original order as a new descending knot number array A.

[0024] Among them, the method for judging the occurrence of severe freezing of magnetic flux is:

[0025] Count the total number Na of all available arrays without frozen flux;

[0026] The minimum number of knots in the knot array used is recorded as Nm;

[0027] The user inputs the target number of knots N;

[0028] If abs(Na)+abs(Nm)<abs(N) or the number of junction arrays with frozen magnetic flux in all small segments is greater than 2, at this time, no matter how the junction array is biased, it cannot correctly output the target number of junctions N within the minimum error range. Therefore, it is considered that the junction array has serious frozen magnetic flux at this time, and the experiment needs to be stopped.

[0029] Optionally, the calculation of the junction bias state array B using the bidirectional successive approximation method according to the hierarchical processing result includes:

[0030] S11: Create a new temporary variable p and initialize p = N;

[0031] S12: Starting from the first element in the descending order junction number array A, calculate p - A(i) and p + A(i), where A(i) is the i-th element of the descending order junction number array A;

[0032] S13: Compare the absolute values of p, p - A(i), and p + A(i), and update the value of p to the one with the smallest absolute value among the three values;

[0033] S14: Update the output bias state array B. In S13, if the value with the smallest absolute value is p - A(i), record B(i) as 1. If the value with the smallest absolute value is p + A(i), record B(i) as -1. Otherwise, record B(i) as 0;

[0034] S15: Starting from S12, loop until the last element in the descending order junction number array A ends.

[0035] Optionally, the output of the adjusted bias state array and the generated total number of junctions includes: Rearrange the obtained output bias state array B according to the original element ordinal number, and fill zeros at the positions of the elements with frozen magnetic flux to obtain the bias state array B arranged in the original order. Then, multiply the bias state array B arranged in the original order by the corresponding elements of the array of the number of junctions in all junction arrays before sorting and sum them to obtain the generated total number of junctions.

[0036] Optionally, it also includes improving the bidirectional successive approximation method.

[0037] S21: Start searching backward from the first element in the descending order junction number array A until an element not equal to A(1) is found. A(1) is the first element of the descending order junction number array A, and the number of elements in the array A equal to A(1) is denoted as m. Save the first m - 1 elements of the descending order junction number array A as array A1, and save the remaining elements in the original descending order as array A2;

[0038] S22: Create a new temporary variable p and initialize p = N;

[0039] S23: Use a bidirectional successive approximation algorithm on the temporary variable p and array A1, and after the calculation is completed, obtain the remaining p and the bias state array B1 of the first m-1 values;

[0040] S24: Continue the following operations for the remaining p in S23:

[0041] S241: swap the first and second elements of array A2, and keep the positions of other elements unchanged and save them as A3;

[0042] S242: Create a 6-element array pv, whose element initial values ​​are initialized to p, p-A2(1), p+A2(1), p, p-A3(1), p+A3(1), that is, pv=[p, p-A2(1), p+A2(1), p, p-A3(1), p+A3(1)], where A2(1) is the first element of array A2, and A3(1) is the first element of array A3;

[0043] S243: Create a new array B2 with a size of 6×n, where n is the number of elements remaining in array A after removing m-1 elements, and initialize the 6 values ​​in the first column to [0, 1, -1, 0, 1, -1], and the remaining elements to zero;

[0044] S244: The first three elements of pv are calculated using the bidirectional successive approximation algorithm starting from the second item of array A2, i.e., the second element of array A2, respectively. The remaining p value obtained in each cycle is updated to the corresponding position of pv, and the current value of the bias state B obtained in each cycle is updated to the corresponding position of the row of B2;

[0045] The last three elements of pv are calculated using the bidirectional successive approximation algorithm starting from the second item, i.e., the second element of array A3, in combination with array A3. The remaining p value obtained in each cycle is updated to the corresponding position of pv, and the current value of the bias state B obtained in each cycle is updated to the corresponding position of the row of B2.

[0046] The loop continues until the last element in arrays A2 and A3 ends;

[0047] S245: Compare the absolute values ​​of the last remaining values ​​in pv, record the position of the element with the smallest absolute value as j, take out the j-th row in array B2, if j ≥ 3, then swap the first and second elements of this row, and concatenate them after the bias state array B1 obtained in S23 to obtain the bias state array B.

[0048] Optionally, the bias state array after adjustment and the number of summaries generated are outputted based on the obtained bias state array B.

[0049] Optionally, a Josephson array driving system based on a bidirectional successive approximation algorithm comprises:

[0050] Preprocessing module: used to preprocess data;

[0051] Grading processing module: used to determine whether frozen flux occurs and perform graded processing according to the severity of frozen flux;

[0052] Calculation module: used to calculate the junction bias state array based on the bidirectional successive approximation method according to the hierarchical processing results, and make the generated summary number as close as possible to the target junction number;

[0053] Result output module: used to output the adjusted bias state array and the generated summary number.

[0054] It can be seen from the above technical solutions that, compared with the prior art, the present invention discloses a Josephson array driving method and system based on a bidirectional successive approximation algorithm, which has the following beneficial effects:

[0055] The present invention proposes a Josephson junction array driving method based on a bidirectional successive approximation algorithm, including: preprocessing data; judging whether frozen flux occurs, and performing graded processing according to the severity of frozen flux; calculating the junction bias state array B based on the bidirectional successive approximation method according to the graded processing result, and making the generated summary number as close as possible to the target junction number N; outputting the adjusted bias state array and the generated summary number. The present invention reduces the computational complexity, has a reasonable algorithm design, high computational efficiency, and is suitable for processing large-scale junction array data; has a simple structure and strong versatility, and the algorithm structure is simple, easy to maintain, and very convenient to improve, and is suitable for Josephson junctions with arbitrary junction arrangement, not only suitable for driving binary and ternary programmable Josephson junction arrays, but also suitable for non-binary Josephson junction arrays with arbitrary arrangement; at the same time, when frozen flux occurs, there is no need to switch other algorithms, and only the input needs to be modified to continue using; by analyzing the characteristics of the junction array arrangement, a bidirectional successive approximation method improved by a greedy strategy based on single-step optimal selection is adopted, which can quickly output a suitable bias state to realize high-precision synthesis of AC / DC quantum voltages. BRIEF DESCRIPTION OF THE DRAWINGS

[0056] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying creative work.

[0057] Figure 1 A schematic flow chart of a Josephson array driving method based on a bidirectional successive approximation algorithm provided by the present invention.

[0058] Figure 2 A structural framework diagram of a Josephson array drive system based on a bidirectional successive approximation algorithm provided by the present invention.

[0059] Figure 3 The present invention provides a flow chart of a bidirectional successive approximation algorithm.

[0060] Figure 4 A flow chart of an improved bidirectional successive approximation algorithm provided by the present invention.

[0061] Figure 5 The present invention provides error distribution diagrams of solutions given by three algorithms for a foreign-made 10V Josephson array arranged strictly in ternary system.

[0062] Figure 6 The present invention provides a domestic 2V Josephson array that is not strictly arranged in ternary system, and the error distribution diagram of the solutions given by three algorithms under the assumption that frozen flux occurs. DETAILED DESCRIPTION

[0063] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0064] The embodiment of the present invention discloses a Josephson array driving method based on a bidirectional successive approximation algorithm, such as Figure 1 As shown, including:

[0065] Preprocess the data;

[0066] Determine whether frozen flux occurs and perform graded treatment according to the severity of frozen flux;

[0067] According to the hierarchical processing results, the junction bias state array B is calculated based on the bidirectional successive approximation method, and the number of generated summaries is made as close as possible to the target number of junctions N;

[0068] Outputs the adjusted bias state array and the number of summaries generated.

[0069] Furthermore, the data preprocessing includes: arranging the number of knots in descending order, and saving the sorting result as a descending number of knots array A; recording the ordinal number of elements before sorting, initializing the knot bias state array B, and setting the target number of knots N.

[0070] Furthermore, it also includes:

[0071] The array containing the number of junctions in the junction array where no frozen magnetic flux has occurred is read, and the descending-order junction number array A is obtained through descending-order arrangement. At the same time, an array of the same size as A is established to save the positions of each element before sorting;

[0072] The junction bias state array B is initialized, and the junction bias state array B is set to zero. The array dimension is 1×m, where m is the number of junction arrays of the Josephson junction array. The value range of each element of the junction bias state array B is {-1, 0, 1}. When initializing, all elements of the matrix are set to zero;

[0073] The target number of junctions N is input by the user. Under the optimal bias state of the junction array, the total number of junctions output by the junction array is the number of junctions closest to the target number of junctions N among all combinations that the current junction array can output.

[0074] Furthermore, the frozen magnetic flux includes:

[0075] The width of the positive and negative steps or the 0-step of one or several segments of junctions becomes narrower;

[0076] One or several segments of junctions have no positive and negative steps or 0-steps;

[0077] There is a slope in a certain quantum voltage step output.

[0078] Furthermore, the hierarchical processing according to the severity of the frozen magnetic flux includes:

[0079] When severe frozen magnetic flux occurs in the junction array, the experiment is stopped; otherwise, the element of the number of junctions in the junction array with frozen magnetic flux is deleted from the descending-order junction number array A, and the remaining number of junctions in the normal junction array is saved in the original order as the new descending-order junction number array A.

[0080] Among them, the method for judging the occurrence of severe frozen magnetic flux is:

[0081] The total number of available junction arrays where no frozen magnetic flux has occurred is counted as Na;

[0082] The smallest number of junctions in the junction arrays used is denoted as Nm;

[0083] The user inputs the target number of junctions N;

[0084] If abs(Na)+abs(Nm)<abs(N) or the number of junction arrays with frozen magnetic flux among all small segments of junctions is greater than 2, at this time, since the junction array cannot correctly output the target number of junctions N within the minimum error range no matter how it is biased, it is considered that severe frozen magnetic flux has occurred in the junction array at this time, and the experiment needs to be stopped. Among them, in the finished junctions, there are usually many junction arrays with the largest number of junctions. The junction array with the largest number of junctions is called the large segment of junctions, and other junction arrays with the number of junctions less than the largest number of junctions are called small segments of junctions.

[0085] Further, the calculation of the junction bias state array B based on the bidirectional successive approximation method according to the hierarchical processing results includes: Figure 3 As shown:

[0086] S11: Create a temporary variable p and initialize p=N;

[0087] S12: Starting from the first element in the descending knot number array A, calculate pA(i), p+A(i), where A(i) is the i-th element in the descending knot number array A;

[0088] S13: Compare the absolute values ​​of p, pA(i), and p+A(i), and update the value of p to the value with the smallest absolute value among the three values;

[0089] S14: Update the output bias state array B. In S13, if the value with the smallest absolute value is pA(i), then record B(i) as 1; if the value with the smallest absolute value is p+A(i), then record B(i) as -1; otherwise, record B(i) as 0;

[0090] S15: Starting from S12, loop until the last element in the descending number array A is reached.

[0091] Furthermore, the output adjusted bias state array and the generated summary number include: rearranging the obtained output bias state array B according to the ordinal numbers of the elements before sorting, and filling the positions of the elements where frozen flux occurs with zeros to obtain the bias state array B arranged in the original order, and then multiplying the bias state array B arranged in the original order with the corresponding elements of the knot number array of all knot arrays before sorting, and then summing them up to obtain the generated summary number.

[0092] Furthermore, when the Josephson array experiences the phenomenon of frozen flux, the binary arrangement of the number of array nodes may be destroyed, which may cause the error of the bias state array B solution found by the two-way successive approximation algorithm to be too large. In some cases where a higher precision specific Josephson voltage is required, as an improvement to the two-way successive approximation algorithm, the probability of the algorithm finding the optimal solution can be greatly improved while sacrificing some computational complexity. At the same time, this algorithm is also compatible with the problem of solving the bias state array B when the phenomenon of frozen flux does not occur, and the two-way successive approximation method is improved, such as Figure 4 As shown,

[0093] S21: Search backward from the first element in the descending knot number array A until an element that is not equal to A(1) is found. The number of elements in array A that are equal to A(1) is recorded as m. The first m-1 elements of the descending knot number array A are saved as array A1, and the remaining elements are saved in the original descending order as array A2;

[0094] S22: Create a temporary variable p and initialize p=N;

[0095] S23: Use a bidirectional successive approximation algorithm on the temporary variable p and array A1, and after the calculation is completed, obtain the remaining p and the bias state array B1 of the first m-1 values;

[0096] S24: Continue the following operations for the remaining p in S23:

[0097] S241: swap the first and second elements of array A2, and keep the positions of other elements unchanged and save them as A3;

[0098] S242: Create a 6-element array pv, whose element initial values ​​are initialized to p, p-A2(1), p+A2(1), p, p-A3(1), p+A3(1), that is, pv=[p, p-A2(1), p+A2(1), p, p-A3(1), p+A3(1)];

[0099] S243: Create a new array B2 with a size of 6×n, where n is the number of elements remaining in array A after removing m-1 elements, and initialize the 6 values ​​in the first column to [0, 1, -1, 0, 1, -1], and the remaining elements to zero;

[0100] S244: The first three elements of pv are calculated using the bidirectional successive approximation algorithm starting from the second item in the array A2, and the remaining p value obtained in each cycle is updated to the corresponding position of pv, and the current value of the bias state B obtained in each cycle is updated to the corresponding position of the row of B2;

[0101] The last three elements of pv are calculated using the bidirectional successive approximation algorithm starting from the second item in the array A3. The remaining p value obtained in each cycle is updated to the corresponding position of pv, and the current value of the bias state B obtained in each cycle is updated to the corresponding position of the row of B2.

[0102] The loop continues until the last element in arrays A2 and A3 ends;

[0103] S245: Compare the absolute values ​​of the last remaining values ​​in pv, record the position of the element with the smallest absolute value as j, take out the j-th row in array B2, if j ≥ 3, then swap the first and second elements of this row, and concatenate them after the bias state array B1 obtained in S23 to obtain the bias state array B.

[0104] Further, the bias state array B obtained is outputted with the adjusted bias state array and the number of generated summaries.

[0105] In a specific implementation, a Josephson array driving system based on a bidirectional successive approximation algorithm, such as Figure 2As shown, including:

[0106] Preprocessing module: used to preprocess data;

[0107] Grading processing module: used to determine whether frozen flux occurs and perform graded processing according to the severity of frozen flux;

[0108] Calculation module: used to calculate the junction bias state array based on the bidirectional successive approximation method according to the hierarchical processing results, and make the generated summary number as close as possible to the target junction number;

[0109] Result output module: used to output the adjusted bias state array and the generated summary number.

[0110] The present invention adjusts the bias state of the Josephson junction array so that the summary number of the junction array output is as close as possible to the target number of junctions N specified by the user. The algorithm first performs data preprocessing, including sorting the number of junctions contained in the junction array, recording the ordinal number of elements before sorting, initializing the junction bias state array, and setting the target number of junctions N. Then, the algorithm determines whether the frozen flux phenomenon occurs, and decides whether to delete the affected junction array and continue processing or stop the experiment according to the severity of the frozen flux. If severe frozen flux does not occur, the algorithm calculates the junction bias state array based on a method based on bidirectional successive approximation so that the generated summary number is as close as possible to N. Finally, the algorithm outputs the adjusted bias state array and the generated summary number.

[0111] In a specific implementation, a Josephson array driving method based on a bidirectional successive approximation algorithm is provided for a domestically produced 2V Josephson array, wherein the number of nodes of each array is distributed as follows: A=[666, 5760, 5760, 5760, 5758, 5760, 5760, 5760, 5760, 5760, 5760, 5760, 5760, 5760, 162, 6,480, 18, 54, 1434, 3574, 2], with a total of 23 segments. The user specifies any integer N within the range of the total number (-87034 to 87034) that the array can generate, and the algorithm gives a bias state array B, so that the total number output by the array in the bias state is as close as possible to the integer N specified by the user. This Josephson array has only 5 sections of 2, 6, 18, 54, and 162 that conform to the ternary arrangement, so the efficiency is very low when using the balanced ternary method; if the index algorithm is used, an array of 23×94143178827 will be generated, which exceeds the size that an ordinary computer can handle and cannot be processed. The present invention can be applied to this situation, and the specific steps are as follows:

[0112] 1. When the frozen flux phenomenon does not occur:

[0113] (1) Determine whether the frozen flux phenomenon occurs: scan the IV characteristics of the array and observe whether the superconducting quantum steps are normal.

[0114] (2) No frozen flux occurs.

[0115] (3) Preprocess the data, including sorting the number of knots in each knot array in descending order, and save the sorting results as a knot number array in descending order A=[5760, 5760, 5760, 5760, 5760, 5760, 5760, 5760, 5760, 5760, 5760, 5760, 5758, 3574, 1434, 666, 480, 162, 54, 18, 6, 2], And record the ordinal numbers of the elements before sorting [2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 5, 22, 21, 1, 18, 16, 20, 19, 17, 23], set the target number of knots N = 55036, and initialize the knot bias state array B = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0].

[0116] (4) The calculation is based on the bidirectional successive approximation algorithm. The specific algorithm flow is as follows: Figure 3 As shown below:

[0117] (41) Temporary variable p = N, loop index variable i = 1;

[0118] (42) Calculate the values ​​of pA(i) and p+A(i). In the first cycle, pA(1)=49276, p+A(1)=60796;

[0119] (43) Comparing the absolute values ​​of p, pA(i) and p+A(i), in the first cycle, the absolute value of pA(1) = 49276 is the smallest;

[0120] (44) Update the value of p to the result with the smallest absolute value in the previous step, and update B(i) based on the operation performed on the minimum value. In the first loop, p=pA(1)=49276. Since the absolute value of pA(1) is the smallest, B(1)=1.

[0121] (45) Update loop index variable i=i+1;

[0122] (46) Return to step (42) and start the loop until the value of i is greater than the number of elements in array A.

[0123] (5) Output the bias state array B and the number of summaries generated under the bias condition. After completing the above steps, the junction bias state array B = [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, -1, 1, -1, 1, -1, -1, -1, -1, 1] is obtained. According to the ordinal numbers of the elements before sorting recorded in step (3), the order is rearranged, B = [-1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, -1, -1, 1, -1, -1, -1, 1], and the number of summaries generated is B × A. T =55036, output array B and the number of summaries generated under this bias condition.

[0124] Among them, A T Represents the transpose of array A, which is the transpose of array A, which is considered as a row vector. T It becomes a column vector. Now we can apply vector multiplication to complete the process of multiplying the corresponding elements and then adding them.

[0125] In fact, B×A T =55036 represents the process of multiplying the corresponding elements of array B and array A and then adding them together, that is:

[0126] ;

[0127] in, is the sum symbol, A(i) is the i-th element of array A, B(i) is the i-th element of array B, and n is the length of the array.

[0128] 2. Assume that the number of array knots is 2 and all 5760 array segments have frozen flux.

[0129] (1) Determine whether the frozen flux phenomenon occurs:

[0130] Scan the IV characteristics of the array to observe whether the superconducting quantum steps are normal;

[0131] (2) When frozen flux occurs, modify the descending node number array to A = [5758, 3574, 1434, 666, 480, 162, 54, 18, 6], and save it as A0 = [666, 5760, 5760, 5760, 5758, 5760, 5760, 5760, 5760, 5760, 5760, 5760, 5760, 5760, 5760, 162, 6, 480, 18, 54, 1434, 3574, 2];

[0132] (3) Data preprocessing includes sorting the number of knots in each knot array in descending order. The sorting result is saved as a descending knot number array A = [5758, 3574, 1434, 666, 480, 162, 54, 18, 6], and recording the ordinal numbers of the elements before sorting [5, 22, 21, 1, 18, 16, 20, 19, 17], setting the target number of knots N = -7684, and initializing the knot bias state array B = [0, 0, 0, 0, 0, 0, 0, 0].

[0133] (4) Calculating the junction bias state array B based on a bidirectional successive approximation algorithm;

[0134] (41) Temporary variable p = N, loop index variable i = 1.

[0135] (42) Calculate the values ​​of pA(i) and p+A(i). In the first cycle, pA(1) = -13442, p+A(1) = -1926.

[0136] (43) Compare the absolute values ​​of p, pA(i) and p+A(i). In the first cycle, the absolute value of p+A(1)=-1926 is the smallest;

[0137] (44) Update the value of p to the result with the smallest absolute value in the previous step, and update B(i) based on the operation performed on the minimum value. In the first cycle, p = p + A(1) = -1926. Since the absolute value of p + A(1) is the smallest, B(1) = -1.

[0138] (45) Update loop index variable i=i+1;

[0139] (46) Return to step (42) and start the loop until the value of i is greater than the number of elements in array A;

[0140] (5) Output the bias state array B and the number of summaries generated under the bias condition. After completing the above steps, the junction bias state array B = [-1, -1, 1, 0, 0, 1, 1, 0, 0] is obtained. The order is rearranged according to the ordinal numbers of the elements before sorting recorded in step (3), and the positions deleted due to the frozen flux are refilled with zeros, B = [0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, -1, 0]. The number of summaries generated is B × A0 T =-7682, output array B and the number of summaries generated under this bias condition.

[0141] A0 here T Should be A0 T , represents the transpose of array A0, that is, A0 after the transpose of array A0, which was originally regarded as a row vector TIt becomes a column vector. Now we can apply vector multiplication to complete the process of multiplying and adding the corresponding elements.

[0142] The A0 array is the previously saved descending order array A of the number of frozen flux nodes that have not been deleted. In fact, B×A0 T =55036 This expression completes the process of multiplying and adding the corresponding elements of array B and array A, that is:

[0143] ;

[0144] in, is the sum symbol, A0(i) is the i-th element of array A, B(i) is the i-th element of array B, and n is the length of the array.

[0145] In a specific implementation, a Josephson array driving method based on a bidirectional successive approximation algorithm adopts an improved bidirectional successive approximation algorithm, which is as follows:

[0146] Assume that the number of knots in the array is 2 and the ten segments of 5760 knots have frozen flux.

[0147] (1) Determine whether the frozen flux phenomenon occurs: scan the IV characteristics of the array and observe whether the superconducting quantum steps are normal.

[0148] (2) When frozen flux occurs, modify the descending node number array to A=[5760, 5760, 5760, 5758, 3574, 1434, 666, 480, 162, 54, 18, 6] and save it as A0=[666, 5760, 5760, 5760, 5758, 5760, 5760, 5760, 5760, 5760, 5760, 5760, 5760, 5760, 162, 6, 480, 18, 54, 1434, 3574, 2].

[0149] (3) Data preprocessing includes sorting the number of knots in each knot array in descending order. The sorting result is saved as a descending knot number array A = [5760, 5760, 5760, 5758, 3574, 1434, 666, 480, 162, 54, 18, 6], and the ordinal numbers of the elements before sorting are recorded [2, 3, 4, 5, 22, 21, 1, 18, 16, 20, 19, 17].

[0150] (4) The junction bias state array B is calculated using an improved bidirectional successive approximation algorithm:

[0151] (41) Start from the first element in the descending knot number array A and search backward until an element that is not equal to A(1) is found. The number of elements in array A that are equal to A(1) is 3. Save the first two elements of the descending knot number array A as array A1 = [5760, 5760], and save the remaining elements in the original descending order as array A2 = [5760, 5758, 3574, 1434, 666, 480, 162, 54, 18, 6]. Set the target knot number N = -7684, and initialize the knot bias state array B1 = [0, 0].

[0152] (42) The junction bias state array B1 is calculated based on a bidirectional successive approximation algorithm.

[0153] (421) Temporary variable p=N, loop index variable i=1;

[0154] (422) Calculate the values ​​of p-A1(i) and p+A1(i). In the first cycle, p-A1(1)=-13444, p+A1(1)=-1924;

[0155] (423) Compare the absolute values ​​of p, p-A1(i) and p+A1(i). In the first cycle, the absolute value of p+A1(1)=-1924 is the smallest;

[0156] (424) Update the value of p to the result with the smallest absolute value in the previous step, and update B1(i) based on the operation performed on the minimum value. In the first loop, p=p+A1(1)=-1924. Since the absolute value of p+A1(1) is the smallest, B1(1)=-1.

[0157] (425) Update loop index variable i=i+1;

[0158] (43) Return to step (42) and start the loop until the value of i is greater than the number of elements in array A1.

[0159] (5) After the calculation is completed, the remaining p = -1924, B1 = [-1, 0], continue as follows:

[0160] (51) Swap the first and second elements of array A2, and keep the other elements in the same position as A3 = [5758, 5760, 3574, 1434, 666, 480, 162, 54, 18, 6];

[0161] (52) Create a 6-element array pv, and initialize its elements to p, p-A2(1), p+A2(1), p, p-A3(1), p+A3(1), that is, pv = [-1924, -7684, 3836, -1924, -7682, 3834];

[0162] (53) Create an array B2 of size 6×10, and initialize the six values ​​in the first column to [0, 1, -1, 0, 1, -1], and the rest of the elements to zero, that is, B2 = [0, 0, 0, 0, 0, 0, 0, 0, 0; 1, 0, 0, 0, 0, 0, 0, 0, 0; -1, 0, 0, 0, 0, 0, 0, 0, 0; 0, 0, 0, 0, 0, 0, 0, 0; 1, 0, 0, 0, 0, 0, 0, 0, 0; -1, 0, 0, 0, 0, 0, 0, 0, 0];

[0163] (54) The first three elements of pv are calculated using the bidirectional successive approximation algorithm starting from the second item in array A2. The remaining p value obtained in each cycle is updated to the corresponding position of pv, and the current value of the bias state B obtained in each cycle is updated to the corresponding position of the row of B2;

[0164] The last three elements of pv are calculated using the bidirectional successive approximation algorithm starting from the second item in the array A3. The remaining p value obtained in each cycle is updated to the corresponding position of pv, and the current value of the bias state B obtained in each cycle is updated to the corresponding position of the row of B2.

[0165] The loop ends until the last element in arrays A2 and A3 is reached.

[0166] (55) After completing step (54), we have B2 = [0, 0, -1, 1, 0, 0, 1, 1, 0, 0; 1, -1, -1, 1, 0, 0, 1, 1, 0, 0; -1, 1, -1, 1, 0, 0, 1, 1, 0, 0; 0, 0, -1, 1, 0, 0, 1, 1, 0, 0; 1, -1, -1, 1, 0, 0, 1, 1, 0, 0; -1, 1, -1, 1, 0, 0, 1, 1, 0, 0], pv = [0, 2, -2, 0, 2, -2].

[0167] (56) Compare the absolute values ​​of the last remaining values ​​in pv, where the first element with the smallest absolute value is at position 1. Take out the first row of array B2 and append it to the bias state array B1 obtained in step (5) to obtain the bias state array B = [-1, 0, 0, 0, -1, 1, 0, 0, 1, 1, 0, 0].

[0168] (6) Output the bias state array B and the total number of junctions generated under the bias condition. After completing the above steps, the junction bias state array B = [-1, 0, 0, 0, -1, 1, 0, 0, 1, 1, 0, 0] is obtained. The order is rearranged according to the ordinal numbers of the elements before sorting recorded in step (3), and the positions deleted due to the frozen flux are refilled with zeros, B = [0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, -1, 0]. The total number of junctions generated is B × A0 T = -7684. Output array B and the total number of knots generated under this bias condition.

[0169] In a specific embodiment, for a foreign 10V Josephson array arranged strictly in ternary system: [4374, 1458, 486, 162, 54, 18, 6, 8400, 14958, 16800, 16800, 16800, 16800, 16800, 16800, 16800], all integers in the maximum reachable range [-147516, 147516] are traversed, and the three algorithms can give the optimal solution. The error distribution of the solution is as follows: Figure 5 shown.

[0170] The exhaustive method (index algorithm) cannot be calculated due to the large amount of data.

[0171] The balanced ternary algorithm takes a total of 0.9905 seconds, and a single task takes an average of about 3.36 microseconds.

[0172] The bidirectional successive approximation algorithm takes a total of 1.7311 seconds, and a single task takes an average of about 5.87 microseconds.

[0173] The improved bidirectional successive approximation algorithm takes a total of 41.3727 seconds, and a single task takes an average of about 140 microseconds.

[0174] In a specific embodiment, for a domestic 2V Josephson array that is not strictly arranged in ternary, and assuming that frozen flux occurs: [666, 5760, 5760, 5760, 5758, 162, 6, 480, 18, 54, 1434, 3574], all integers in the maximum reachable range [-29432, 29432] are traversed, and the error distribution of the solutions given by the three algorithms is as follows: Figure 6 shown.

[0175] The exhaustive method (index algorithm) takes 0.0709 seconds in the exhaustive phase, and 36.23 seconds in the search phase. The average time for a single search task is about 615 microseconds.

[0176] The balanced ternary algorithm cannot be calculated because it does not meet the usage conditions.

[0177] The bidirectional successive approximation algorithm takes a total of 0.2627 seconds, and a single task takes an average of about 4.46 microseconds.

[0178] The improved two-way successive approximation algorithm takes a total of 1.5422 seconds, and the average time for a single task is about 26.2 microseconds. It can be seen that the improved two-way successive approximation algorithm improves the accuracy of the solution while sacrificing some time complexity, and its speed is better than the index method.

[0179] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.

[0180] The above description of the disclosed embodiments enables one skilled in the art to implement or use the present invention. Various modifications to these embodiments will be apparent to one skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to the embodiments shown herein, but rather to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A Josephson array driving method based on a bidirectional successive approximation algorithm, characterized in that: include: Preprocess the data; The data preprocessing includes: arranging the number of knots in descending order, and saving the sorting result as a descending knot number array A; recording the ordinal number of elements before sorting, initializing the knot bias state array B, and setting the target knot number N; It also includes: reading all the knot arrays without frozen flux including the knot number array, arranging them in descending order to obtain a descending knot number array A, and establishing an array with the same size as A to store the positions of each element before sorting; Initialize the junction bias state array B, set the junction bias state array B to zero, the array dimension is 1×m, where m is the number of the Josephson junction array, the value range of each element of the junction bias state array B is {-1, 0, 1}, and all elements of the matrix are set to zero during initialization; The target number of knots N is input by the user. Under the optimal bias state of the knot array, the total number of knots output by the knot array is the number of knots closest to the target number of knots N among all the combinations that the current knot array can output; Determine whether frozen flux occurs and perform graded treatment according to the severity of frozen flux; According to the hierarchical processing results, the junction bias state array B is calculated based on the bidirectional successive approximation method, and the number of generated summaries is made as close as possible to the target number of junctions N; The step of calculating the junction bias state array B based on the bidirectional successive approximation method according to the hierarchical processing result comprises: S11: Create a temporary variable p and initialize p=N; S12: Starting from the first element in the descending knot number array A, calculate pA(i), p+A(i), where A(i) is the i-th element in the descending knot number array A; S13: Compare the absolute values ​​of p, pA(i), and p+A(i), and update the value of p to the value with the smallest absolute value among the three values; S14: Update the output bias state array B. In S13, if the value with the smallest absolute value is pA(i), then record B(i) as 1; if the value with the smallest absolute value is p+A(i), then record B(i) as -1; otherwise, record B(i) as 0; S15: Starting from S12, loop until the last element in the descending order number array A ends; It also includes improving the bidirectional successive approximation method, S21: Search backward from the first element in the descending knot number array A until an element that is not equal to A(1) is found. The number of elements in array A that are equal to A(1) is recorded as m. The first m-1 elements of the descending knot number array A are saved as array A1, and the remaining elements are saved in the original descending order as array A2; S22: Create a temporary variable p and initialize p=N; S23: Use a bidirectional successive approximation algorithm on the temporary variable p and array A1, and after the calculation is completed, obtain the remaining p and the bias state array B1 of the first m-1 values; S24: Continue the following operations for the remaining p in S23: S241: swap the first and second elements of array A2, and keep the positions of other elements unchanged and save them as A3; S242: Create a 6-element array pv, whose element initial values ​​are initialized to p, p-A2(1), p+A2(1), p, p-A3(1), p+A3(1), that is, pv=[p, p-A2(1), p+A2(1), p, p-A3(1), p+A3(1)]; S243: Create a new array B2 with a size of 6×n, where n is the number of elements remaining in array A after removing m-1 elements, and initialize the 6 values ​​in the first column to [0, 1, -1, 0, 1, -1], and the remaining elements to zero; S244: The first three elements of pv are calculated using the bidirectional successive approximation algorithm starting from the second item in the array A2, and the remaining p value obtained in each cycle is updated to the corresponding position of pv, and the current value of the bias state B obtained in each cycle is updated to the corresponding position of the row of B2; The last three elements of pv are calculated using the bidirectional successive approximation algorithm starting from the second item in the array A3. The remaining p value obtained in each cycle is updated to the corresponding position of pv, and the current value of the bias state B obtained in each cycle is updated to the corresponding position of the row of B2. The loop continues until the last element in arrays A2 and A3 ends; S245: Compare the absolute values ​​of the last remaining values ​​in pv, record the position of the element with the smallest absolute value as j, take out the jth row in array B2, if j≥3, then swap the first and second elements of the row, and concatenate them after the bias state array B1 obtained in S23, to obtain the bias state array B; Output the adjusted bias state array and the generated summary number according to the obtained bias state array B; Output the adjusted bias state array and the number of summaries generated; The output adjusted bias state array and the generated summary number include: rearranging the obtained output bias state array B according to the ordinal numbers of the elements before sorting, and filling the positions of the elements where the frozen magnetic flux occurs with zeros to obtain the bias state array B arranged in the original order, and then multiplying the bias state array B arranged in the original order with the corresponding elements of the knot number array of all knot arrays before sorting, and then summing them up to obtain the generated summary number.

2. The Josephson array driving method based on a bidirectional successive approximation algorithm according to claim 1, characterized in that: The freezing of magnetic flux comprises: The width of the positive and negative steps or the 0 step of one or several knots becomes narrower; One or more sections have no positive or negative steps or 0 steps; A certain quantum voltage step of the output has a slope.

3. The Josephson array driving method based on a bidirectional successive approximation algorithm according to claim 1, characterized in that: The graded treatment according to the severity of the frozen flux includes: When the array has severe frozen flux, the experiment is stopped; otherwise, the array knot number elements with frozen flux are deleted from the descending knot number array A, and the remaining normal array knot numbers are saved in the original order as a new descending knot number array A.

4. A Josephson array driving system based on a bidirectional successive approximation algorithm, characterized in that: include: Preprocessing module: used to preprocess data; The data preprocessing includes: arranging the number of knots in descending order, and saving the sorting result as a descending knot number array A; recording the ordinal number of elements before sorting, initializing the knot bias state array B, and setting the target knot number N; It also includes: reading all the knot arrays without frozen flux including the knot number array, arranging them in descending order to obtain a descending knot number array A, and establishing an array with the same size as A to store the positions of each element before sorting; Initialize the junction bias state array B, set the junction bias state array B to zero, the array dimension is 1×m, where m is the number of the Josephson junction array, the value range of each element of the junction bias state array B is {-1, 0, 1}, and all elements of the matrix are set to zero during initialization; The target number of knots N is input by the user. Under the optimal bias state of the knot array, the total number of knots output by the knot array is the number of knots closest to the target number of knots N among all the combinations that the current knot array can output; Grading processing module: used to determine whether frozen magnetic flux occurs and perform graded processing according to the severity of frozen magnetic flux; Calculation module: used to calculate the junction bias state array based on the bidirectional successive approximation method according to the hierarchical processing results, and make the generated summary number as close as possible to the target junction number; The step of calculating the junction bias state array B based on the bidirectional successive approximation method according to the hierarchical processing result comprises: S11: Create a temporary variable p and initialize p=N; S12: Starting from the first element in the descending knot number array A, calculate pA(i), p+A(i), where A(i) is the i-th element in the descending knot number array A; S13: Compare the absolute values ​​of p, pA(i), and p+A(i), and update the value of p to be the value with the smallest absolute value among the three values; S14: Update the output bias state array B. In S13, if the value with the smallest absolute value is pA(i), then record B(i) as 1; if the value with the smallest absolute value is p+A(i), then record B(i) as -1; otherwise, record B(i) as 0; S15: Starting from S12, loop until the last element in the descending order number array A ends; It also includes improving the bidirectional successive approximation method, S21: Search backward from the first element in the descending knot number array A until an element that is not equal to A(1) is found. The number of elements in array A that are equal to A(1) is recorded as m. The first m-1 elements of the descending knot number array A are saved as array A1, and the remaining elements are saved in the original descending order as array A2; S22: Create a temporary variable p and initialize p=N; S23: Use a bidirectional successive approximation algorithm on the temporary variable p and array A1, and after the calculation is completed, obtain the remaining p and the bias state array B1 of the first m-1 values; S24: Continue the following operations for the remaining p in S23: S241: swap the first and second elements of array A2, and keep the positions of other elements unchanged and save them as A3; S242: Create a 6-element array pv, whose element initial values ​​are initialized to p, p-A2(1), p+A2(1), p, p-A3(1), p+A3(1), that is, pv=[p, p-A2(1), p+A2(1), p, p-A3(1), p+A3(1)]; S243: Create a new array B2 with a size of 6×n, where n is the number of elements remaining in array A after removing m-1 elements, and initialize the 6 values ​​in the first column to [0, 1, -1, 0, 1, -1], and the remaining elements to zero; S244: The first three elements of pv are calculated using the bidirectional successive approximation algorithm starting from the second item in the array A2, and the remaining p value obtained in each cycle is updated to the corresponding position of pv, and the current value of the bias state B obtained in each cycle is updated to the corresponding position of the row of B2; The last three elements of pv are calculated using the bidirectional successive approximation algorithm starting from the second item in the array A3. The remaining p value obtained in each cycle is updated to the corresponding position of pv, and the current value of the bias state B obtained in each cycle is updated to the corresponding position of the row of B2. The loop continues until the last element in arrays A2 and A3 ends; S245: Compare the absolute values ​​of the last remaining values ​​in pv, record the position of the element with the smallest absolute value as j, take out the jth row in array B2, if j≥3, then swap the first and second elements of the row, and concatenate them after the bias state array B1 obtained in S23, to obtain the bias state array B; Output the adjusted bias state array and the generated summary number according to the obtained bias state array B; Result output module: used for outputting the adjusted bias state array and the generated summary number; the outputting the adjusted bias state array and the generated summary number includes: rearranging the obtained output bias state array B according to the ordinal number of elements before sorting, and filling the element position where the frozen flux occurs with zero to obtain the bias state array B arranged in the original order, and then multiplying the bias state array B arranged in the original order with the corresponding elements of the knot number array of all knot arrays before sorting, and then summing them up to obtain the generated summary number.

Citation Information

Patent Citations

  • Josephson formation-based driving method combing balanced ternary and indexing algorithms

    CN110673523A