Apparatus for extracting periodic pattern from signal and method thereof, electronic device
By extracting periodic codes from high-speed digital chips during the chip design phase, the problem of electromagnetic interference can be detected and resolved at an early stage, reducing costs and shortening product delivery cycles.
Patent Information
- Application Number
- CN202310252824.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-04
- Publication Date
- 2026-02-17
- Estimated Expiration
- 2042-11-04
AI Technical Summary
In existing technologies, electromagnetic interference (EMI) problems in high-speed digital chips can only be discovered after manufacturing is complete. This results in high costs for resolving EMI problems and extended product delivery cycles, making it impossible to detect and resolve EMI problems in advance during the chip design phase.
An apparatus and method for extracting periodic codes from a signal are provided. The method extracts periodic codes from digital pulses through a data stream generation unit and a symbol analysis unit. The data stream generation unit extracts symbols from a time-domain waveform and generates an original data stream, and the symbol analysis unit extracts periodic codes from the original data stream.
It can accurately extract periodic patterns that cause electromagnetic interference during the chip design stage, thereby facilitating early resolution of EMI issues, reducing costs, and shortening product delivery cycles.
Smart Images

Figure CN116304630B_ABST
Abstract
Description
[0001] This application is a divisional application of the application with the application number "202211373428.1", the application date "2022-11-04", and the invention name "Apparatus for extracting periodic code pattern from signal and method thereof, and electronic device". TECHNICAL FIELD
[0002] The present application relates to the chip design technical field, and in particular to an apparatus for extracting a periodic code pattern from a signal and a method thereof, and an electronic device. BACKGROUND
[0003] Each country has corresponding limit requirements for electromagnetic interference (EMI) of electronic products. Only electronic products that meet the corresponding limit requirements can be marketed in the local market. Therefore, before the chip in the electronic product is marketed, it needs to be analyzed for electromagnetic interference.
[0004] In the prior art, after the circuit board design is completed, the chip is installed, and then electromagnetic interference testing is performed. If electromagnetic interference problems are found, the electromagnetic interference problems are solved from the board level or system level. The earlier the electromagnetic interference problem is considered and solved, the smaller the cost, the better the effect, and the lower the cost. And the chip end is often the source of electromagnetic interference, especially high-speed digital chips. As long as the EMI problem is found early in the chip design and analyzed and suppressed, the product design cost and delivery cycle will be greatly reduced, and the product reliability will be improved.
[0005] In the prior art, electromagnetic interference problems can only be found after the chip is manufactured, and the electromagnetic interference problems existing in the chip cannot be found at the chip design stage. Therefore, the electromagnetic interference problem is often solved from the board level or system level, which increases the product cost. For example, increasing the cost of grounding shielding filtering and other means is required; in addition, when the electromagnetic interference problem is serious, the board is washed, which delays the delivery of the product and further increases the cost.
[0006] It should be noted that the above introduction to the technical background is only to facilitate the clear and complete description of the technical solutions of the present application, and to facilitate the understanding of those skilled in the art. The above technical solutions cannot be considered as known to those skilled in the art merely because they are described in the background section of the present application. SUMMARY
[0007] The inventors of the present application find that in a digital chip, especially in a high-speed digital chip, a periodic pattern existing in a digital pulse transmitted by an interface is a main cause of EMI problems, and if the periodic pattern can be extracted from the digital pulse, it is possible to make a corresponding strategy for the periodic pattern to cope with the EMI problems; however, how to extract the periodic pattern from the digital pulse is a problem to be solved.
[0008] In order to solve at least the above technical problems or similar technical problems, the embodiments of the present application provide a device for extracting a periodic pattern from a signal and a method thereof, and an electronic device. The device can accurately extract the periodic pattern in the signal, thereby facilitating coping with the EMI problems of the chip.
[0009] The embodiments of the present application provide a device for extracting a periodic pattern from a signal, which comprises:
[0010] a data stream generation unit configured to extract a symbol from a time domain waveform of the signal in a predetermined time period, and generate an original data stream; and
[0011] a symbol analysis unit comprising a periodic pattern extraction unit configured to extract a periodic pattern from the original data stream, the periodic pattern being a same pattern appearing in a cycle period after an interval of n bits, wherein n is 0 or a natural number.
[0012] The embodiments of the present application also provide a method for extracting a periodic pattern from a signal, which comprises:
[0013] extracting a symbol from a time domain waveform of the signal in a predetermined time period, and generating an original data stream; and
[0014] extracting a periodic pattern from the original data stream, the periodic pattern being a same pattern appearing in a cycle period after an interval of n bits, wherein n is 0 or a natural number.
[0015] The embodiments of the present application have the beneficial effect that the device can accurately extract the periodic pattern in the signal, thereby facilitating coping with the EMI problems of the chip.
[0016] Specific embodiments of the present application are disclosed in detail in the following description and claims, indicating the ways in which the principles of the present application can be employed. It should be understood that the embodiments of the present application are not limited in scope to the specific embodiments described herein. In the claims, the term comprising comprises the meaning of a non-hindering inclusion, such that any listed steps can be insubstituted by alternative steps in order to achieve the same or similar result.
[0017] Features described and / or illustrated with respect to one implementation can be used in the same or similar manner in one or more other implementations, in combination with or in place of features in other implementations, or in place of other features.
[0018] It should be emphasized that the term "comprises / comprising" when used in this specification is taken to specify the presence of stated features, integers, steps or components but does not preclude the presence or addition of one or more other features, integers, steps, components or groups thereof. BRIEF DESCRIPTION OF DRAWINGS
[0019] In order to more clearly illustrate the technical solutions of the embodiments of the present application or the prior art, the drawings needed to be used in the embodiments or prior art description will be briefly introduced as follows. Obviously, the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can also be obtained without creative labor on the basis of these drawings. In the drawings:
[0020] Figure 1 is a schematic diagram of a device for extracting a periodic pattern from a signal, which is an embodiment of the first aspect of the present application;
[0021] Figure 2 is a schematic diagram of waveform data in a waveform file;
[0022] Figure 3 is a schematic diagram of converting a signal in a predetermined time period into a digital stream;
[0023] Figure 4 is a schematic diagram of a method for extracting a periodic pattern from an output signal by a periodic pattern extraction unit;
[0024] Figure 5 is a schematic diagram of the first interface;
[0025] Figure 6 is a schematic diagram of a method for extracting a periodic pattern from a signal, which is an embodiment of the second aspect of the present application;
[0026] Figure 7 is a schematic diagram of a method for generating an original data stream;
[0027] Figure 8 is a schematic diagram of an electronic device. DETAILED DESCRIPTION
[0028] The foregoing and other features of the present application will become apparent to those skilled in the art from the following description with reference to the accompanying drawings. In the description and drawings, particular embodiments of the present application are disclosed in detail which show, by way of illustration, some embodiments in which principles of the present application can be employed, it being understood that this application is not limited to the embodiments described but instead can be employed in a multitude of different embodiments including modifications, variations, and equivalents of the described embodiments. Various embodiments of the present application will now be described with reference to the accompanying drawings. These embodiments are example only, and are not limiting of the present application.
[0029] In the embodiments of this application, the terms "first," "second," "upper," "lower," etc., are used to distinguish different elements by their names, but do not indicate the spatial arrangement or temporal order of these elements, and these elements should not be limited by these terms. The term "and / or" includes any one or more of the terms listed in connection with the application and all combinations thereof. The terms "comprising," "including," "having," etc., refer to the presence of the stated features, elements, components, or assemblies, but do not exclude the presence or addition of one or more other features, elements, components, or assemblies.
[0030] In the embodiments of this application, the singular forms "a," "the," etc., including the plural forms, should be broadly understood as "a kind" or "a class" rather than limited to the meaning of "an." Furthermore, the term "the" should be understood to include both the singular and plural forms, unless the context explicitly indicates otherwise. Additionally, the term "according to" should be understood as "at least partially based on…," and the term "based on" should be understood as "at least partially based on…," unless the context explicitly indicates otherwise.
[0031] First aspect of the embodiments
[0032] An embodiment of the first aspect of this application provides an apparatus for extracting periodic patterns from a signal, which helps to address electromagnetic interference (EMI) problems in chips.
[0033] Figure 1 This is a schematic diagram of the apparatus for extracting periodic codes from a signal according to this application. Figure 1 As shown, the apparatus 100 for extracting periodic codes from a signal includes a data stream generation unit 14 and a symbol analysis unit 15.
[0034] The data stream generation unit 14 can extract symbols from the time-domain waveform of the signal within a predetermined time period, thereby converting the signal within the predetermined time period into the original data stream.
[0035] The signal within the predetermined time period can originate from the output signal generated by the simulation module during the chip design and verification phase, where an excitation signal is input to the simulation module; alternatively, the signal within the predetermined time period can also originate from the output signal generated by the actual chip. Therefore, this application is applicable to both the chip design and verification phases and the chip testing phase after chip fabrication.
[0036] The symbol analysis unit 15 includes a periodic code pattern extraction unit 151, which is used to extract periodic codes from the original data stream.
[0037] In digital chips, periodic patterns in digital signals can generate electromagnetic interference with high power density. Therefore, the periodic pattern extraction unit 151 extracts periodic patterns from the output signal to identify the main factors generating electromagnetic interference in the output signal.
[0038] A bit pattern refers to the combination of data bits in a signal. In this application, the periodic bit pattern extracted by the periodic bit pattern extraction unit 151 refers to the same bit pattern that appears cyclically after an interval of n bits, where n is 0 or a natural number.
[0039] For example, if the data of each bit in a signal (i.e., the data stream) is 01010101, the code pattern 01 appears periodically, and there is no interval between consecutive 01s (i.e., the interval is 0 bits; that is, n = 0). Therefore, this signal has a periodic code pattern.
[0040] For example, the data of each bit in a signal is xy01xy01xy01xy01, where x is 0 or 1, y is 0 or 1, 0 and 1 appear periodically, and there is a 2-bit interval between adjacent 0 and 1 (that is, n=2). Therefore, this signal has a periodic code pattern.
[0041] For example, if the data of each bit in a signal is 001000101110, there is no periodic code stream, so the signal does not have a periodic code pattern.
[0042] According to the embodiments of the first aspect of this application, various types of periodic codes can be extracted, thereby finding the periodic codes that cause EMI problems in the chip, which facilitates the handling of EMI problems in the chip.
[0043] like Figure 1 As shown, the apparatus 100 for extracting periodic patterns from a signal further includes a signal input unit 11. The signal input unit 11 receives waveform files and outputs waveform data from the waveform files. For example, the signal input unit 11 receives multiple waveform files, namely file 1, file 2, ..., file 5. The signal input unit 11 can output waveform data from a selected waveform file based on a file selection signal. The file selection signal can be generated based on user input.
[0044] Figure 2 This is a schematic diagram of waveform data in a waveform file. The waveform data includes a time column (e.g., Figure 2 Column A) and at least one digital signal column (e.g., Figure 2The different rows of the waveform data represent the signal amplitudes at different time points. Different columns of the digital signals can correspond to different signal lines, for example, the source of the signals can be a clock signal line, a bit line of a data line, a bit line of an address line, etc.
[0045] As shown in Figure 1 The device 100 for extracting a periodic pattern from a signal further includes a preprocessing unit 12. The preprocessing unit 12 receives the waveform data output by the signal input unit 11 as an input signal, and extracts a predetermined time period of the input signal to generate a signal within the predetermined time period.
[0046] In at least one embodiment, the preprocessing unit 12 can include a waveform preprocessing unit 121.
[0047] When the number of columns of the digital signals in the waveform data is more than 2, the waveform preprocessing unit 121 can further select a column of the digital signals in the waveform data according to a column selection signal, so as to select the signal on the corresponding signal line. The column selection signal can be generated based on the input of a user.
[0048] The waveform preprocessing unit 121 can select a corresponding row of the digital signals according to a row selection signal, so as to extract a time period of the input signal, thereby generating a signal within the predetermined time period. In this way, redundant data caused by repeated excitation of the source end can be removed, and the processing speed can be accelerated. The row selection signal can be generated based on the input of a user.
[0049] The signal within the predetermined time period generated by the preprocessing unit 12 can be output to a data stream generation unit 14 and a spectrum extraction unit 13 described below.
[0050] In the present application, the signal within the predetermined time period can be digital pulse waveform data, i.e., each point in the waveform data represents a digital pulse. The digital pulse waveform data can contain distorted signals, for example, at least one of overcharge, undershoot, and jitter. If the digital pulse waveform data is directly input to a symbol analysis unit 15, it is difficult to extract a periodic pattern. Therefore, in the present application, the data stream generation unit 14 converts the digital pulse waveform data into an original data stream, which can be a code stream (or bit stream) containing 0 and 1, so as to facilitate the extraction of the periodic pattern by the symbol analysis unit 15.
[0051] As shown in Figure 1 The data stream generation unit 14 includes a level judgment unit 141 and a symbol extraction unit 142.
[0052] The level judging unit 141 converts each pulse in the signal in the predetermined time period into a digital value, such as 0 or 1, based on the amplitude threshold Ta, so that the signal in the predetermined time period is converted into a digital stream, which is a series of digital values arranged in time sequence.
[0053] For example, if the amplitude of a pulse is less than the amplitude threshold Ta, the digital value corresponding to the pulse is 0, and if the amplitude of a pulse is greater than or equal to the amplitude threshold Ta, the digital value corresponding to the pulse is 1. The amplitude of a pulse can correspond to the level of the signal.
[0054] In at least one embodiment, the amplitude threshold Ta can be set according to the pulse amplitudes of the signal in the predetermined time period. For example, the amplitude threshold Ta can be calculated based on the pulse amplitude corresponding to a high level with the largest probability of occurrence and the pulse amplitude corresponding to a low level with the largest probability of occurrence, so that the digital values 0 and 1 can be accurately judged. Specifically, the probability distribution (e.g., the probability of occurrence of different amplitudes) of the pulse amplitudes of the signal at each time point in the predetermined time period can be counted, such as a normal distribution, and then based on the probability distribution, the amplitude with the largest probability in the larger amplitudes is found as the first amplitude, and the amplitude with the largest probability in the smaller amplitudes is found as the second amplitude; the average of the first amplitude and the second amplitude is calculated as the amplitude threshold Ta.
[0055] For example, the top 5 amplitudes arranged in descending order of probability are 3, 3.1, 2.9, 0, and 0.1, where 3, 3.1, and 2.9 are larger amplitudes, and 0 and 0.1 are smaller amplitudes; the amplitude with the largest probability in the larger amplitudes is 3, so 3 is the first amplitude; the amplitude with the largest probability in the smaller amplitudes is 0, so 0 is the first amplitude; thus, the average of 3 and 0 is calculated as the amplitude threshold Ta, rather than the average of 3 and 3.1 as the amplitude threshold.
[0056] Figure 3 is a schematic diagram of converting the signal in the predetermined time period into a digital stream. In Figure 3 , the horizontal axis represents time, and the vertical axis represents the amplitude of the signal.
[0057] As shown in Figure 3 , the digital pulse waveform data 301 is used to represent the signal in the predetermined time period, and each point on the digital pulse waveform data 301 represents a digital pulse signal, corresponding to a sampling point. For each point on the digital pulse waveform data 301, if the amplitude of the point is less than the amplitude threshold Ta, the point is converted into a digital value 0, and if the amplitude of the point is greater than or equal to the amplitude threshold Ta, the point is converted into a digital value 1. Thus, as shown in Figure 3 , the digital pulse waveform data 301 is converted into a digital stream containing 0 and 1.
[0058] Further, it is to be noted that, in the Figure 3 corresponding to one (i.e., one bit) code element 1; and for example, in the portion of the number stream corresponding to the time period t2, there are a plurality of number values 0, which correspond to a plurality (i.e., multiple bits) of code elements 0.
[0059] In the present application, for the number stream extracted by the level judging unit 141, the code element extracting unit 142 can extract code elements having corresponding number values from the number stream based on each number value in the number stream and the number of number values corresponding to one code element, to form an original data stream. Wherein, the value of a code element is 0 or 1, and the code element is the smallest unit of the original data stream, i.e., the code elements are arranged in time sequence to form the original data stream. One code element occupies time that can correspond to time occupied by a plurality of number values in the number stream, therefore, by the code element extracting unit 142 converting the number stream extracted by the level judging unit 141 into the original data stream, the repeated code elements caused by the sampling points are filtered out, so as to be analyzed by the code element analyzing unit 15.
[0060] In at least one embodiment, the code element extracting unit 142 can take the same number values in the number stream as a group, divide the number of the same number values in the group by the number of number values corresponding to one code element, and take the result of the division (e.g., the quotient can be rounded up, rounded down, or rounded, etc.) as the number of code elements having the number value corresponding to the group in the original data stream.
[0061] For example, one code element corresponds to 5 number values, in the number stream, the 11 consecutive number values 1 contained in the time period t1 are taken as a group, so the group corresponds to 2 code elements (i.e., the result of the division is rounded down) having the value 1. That is, the 11 consecutive number values 1 in the number stream are converted into 2 consecutive code elements 1 in the original data stream. For example, one code element corresponds to 5 number values, in the number stream, the 11 consecutive number values 1 contained in the time period t1 are taken as a group, so the group corresponds to 2 code elements (i.e., the result of the division is rounded down) having the value 1. That is, the 11 consecutive number values 1 in the number stream are converted into 2 consecutive code elements 1 in the original data stream.
[0062] For example, one code element corresponds to 5 number values, in the number stream, the 61 consecutive number values 0 contained in the time period t2 are taken as a group, so the group corresponds to 12 code elements (i.e., the result of the division is rounded down) having the value 0. That is, the 61 consecutive number values 0 in the number stream are converted into 12 consecutive code elements 0 in the original data stream. For example, one code element corresponds to 5 number values, in the number stream, the 61 consecutive number values 0 contained in the time period t2 are taken as a group, so the group corresponds to 12 code elements (i.e., the result of the division is rounded down) having the value 0. That is, the 61 consecutive number values 0 in the number stream are converted into 12 consecutive code elements 0 in the original data stream.
[0063] In at least one embodiment, the number of the same number codes in the number code stream can be calculated to obtain the number of the number codes corresponding to one symbol. For example, the number codes in a predetermined time period in the number code stream can be extracted, the same number codes in succession are taken as a group, the number of the same number codes in each group is counted, the set of the minimum number of the same number codes is obtained, and the average of the number of the same number codes in the set is taken as the number of the number codes corresponding to one symbol. Since the number of the symbols is an integer, the group with the smaller number of the same number codes in the number code stream can correspond to one symbol, and the average of the number of the same number codes can accurately obtain the corresponding relationship between one symbol and the number of the number codes. The average can be an arithmetic average, a weighted average with the frequency of the number of the same number codes as the weight, or the like.
[0064] In the method, the number of the same number codes in each group can be calculated to obtain a first set, the first set has a plurality of values, and each value represents the number of the same number codes in each group. Then, for each value in the first set, if the value divided by other values in the set is greater than a threshold, the value is included in the set of the minimum number of the same number codes. Thus, the set of the minimum number of the same number codes can be determined.
[0065] In a specific example, if one symbol occupies (i.e., corresponds to) 10 number codes, the first set of the number of the same number codes in succession is {10, 20, 30, 10, 20, 10} in an ideal case, that is, the number of the same number codes in each group is an integer multiple of 10. In an actual case, the first set can be {11, 21, 28, 9, 22, 9}. In the present application, the values in the first set can be divided by each other, if the quotient is greater than a threshold (the threshold is less than or equal to 1, for example, 0.8), the quotient is marked as a first mark (for example, True), and if the quotient is less than the threshold, the quotient is marked as a second mark (for example, False). For example, 11 is divided by the other 5 numbers in the first set, and the quotient is marked as {True, True, True, True, True}, and no False is found, so the number 11 is included in the set of the minimum number of the same number codes as a value in the set of the minimum number of the same number codes. For example, 21 is divided by the other 5 numbers in the first set, and the result is {False, True, False, True, False}, and False exists, so the number 21 is not a value in the set of the minimum number of the same number codes. The above judgment is sequentially performed on each number in the first set to obtain the set of the minimum number of the same number codes as {11, 9, 9}, and the average of the values in the set of the minimum number of the same number codes is taken as the number of the number codes occupied (i.e., corresponding) by one symbol. In the method, if the values in the first set are sufficient, the final average will be infinitely close to 10.
[0066] In the present application, as shown in Figure 1 The data stream generating unit 14 can further include a symbol display output unit 143. The symbol display output unit 143 can control a display (not shown) to display the original data stream generated by the symbol extracting unit 142.
[0067] In the present application, as shown in Figure 1 The original data stream generated by the symbol extracting unit 142 can be input to the periodic pattern extracting unit 151 of the symbol analyzing unit 15, so as to extract the periodic pattern.
[0068] Figure 4 is a schematic diagram of a method for extracting a periodic pattern from an output signal by the periodic pattern extracting unit. As shown in Figure 4 The method for extracting a periodic pattern from an output signal includes:
[0069] Operation 401, shifting the original data stream L times to generate L data streams;
[0070] Operation 402, extracting the periodic pattern in each data stream and calculating the number of times each periodic pattern repeats; and
[0071] Operation 403, determining the periodic pattern extracted from the output signal based on the number of times the periodic pattern extracted from two or more data streams repeats.
[0072] In operation 401, the original data stream can be a digital signal, each bit of which can be 0 or 1, for example, the original data stream is 10110101011000110, etc.
[0073] In operation 401, the output signal in a predetermined time period is shifted L times to generate L data streams. Wherein, L is a natural number greater than 1. The predetermined time period is, for example, 10 seconds or 15 seconds, etc. L is the length of the periodic pattern, that is, the number of bits contained in the periodically appearing pattern, for example, for the data stream 0101010101, the periodic pattern is 01, and the length of the periodic pattern is 2, thus in operation 401, the output signal in the predetermined time period is shifted 2 times to generate 2 data streams.
[0074] In operation 401, when performing L shifts, the shifts can be performed sequentially in the same direction. The k-th shift moves the output signal within the predetermined time period k positions to the left or right, where k is a natural number and is less than or equal to L. For example, the first shift moves the output signal within the predetermined time period one position to the left or right, the second shift moves the output signal within the predetermined time period two positions to the left or right, and so on.
[0075] like Figure 4 As shown, before operation 401, the initial value of L can be set through operation 404. After operation 402, operation 405 can be used to determine whether L is greater than 1. If it is, then operation 406 is entered, the result of L-1 is assigned to L, and then operation 401 is returned. In this way, it is possible to traverse the cases where L changes from its maximum value to 1.
[0076] Furthermore, in operation 405, when the judgment is negative (i.e., L is less than or equal to 1), it means that L becomes the minimum value. That is, for each value of L from the maximum to the minimum, the extraction of the same code pattern in each data stream is completed.
[0077] In operation 402, for each of the L data streams generated in operation 401, the periodic code pattern in that data stream is extracted, and the number of times each periodic code pattern repeats is calculated. That is, operation 402 is performed for each of the L data streams generated in operation 401.
[0078] like Figure 4 As shown, operation 402 may include the following operations:
[0079] Operation 4021: Calculate the number of occurrences of the same code pattern with an interval of n bits and a length of L in the data stream, where n is 0 or a natural number; and
[0080] Operation 4022: When the number of occurrences of the same code pattern is greater than a predetermined value (i), the same code pattern is determined to be a periodic code pattern.
[0081] In operation 4021, for this data stream, a code pattern of length L can be extracted at n-bit intervals. When the code patterns are identical, the number of consecutive occurrences of the same code pattern is determined. Consecutive occurrences of the same code pattern mean that there is an n-bit interval between identical code patterns. For example, in the code stream 010010000111001, 001 is a identical code pattern, there is a 2-bit interval between these identical code patterns, and the number of consecutive occurrences of this identical code pattern is 3.
[0082] By setting n, the extraction range of periodic codes can be expanded, which facilitates the improvement of the chip's electromagnetic interference performance. For example, if the code pattern xy01 appears repeatedly in the data stream, where x and y are arbitrary values, this code pattern will also generate high electromagnetic radiation energy. Therefore, in operation 4021, by setting n to 2, the same code pattern 01 can be extracted, thereby avoiding the omission of important codes that have a significant impact on electromagnetic radiation. As another example, when n is 3, if xyz01 appears repeatedly in the data stream, where x, y, and z are arbitrary values, in operation 4021, by setting n to 3, the same code pattern 01 can be extracted.
[0083] In operation 4021, for a data stream, one or more identical code patterns can be extracted, and the number of consecutive occurrences of each identical code pattern can be recorded.
[0084] In operation 4022, for each of the extracted identical code patterns, it is determined whether the number of consecutive occurrences of the identical code pattern is greater than a predetermined value i, where i can be a natural number. If the determination is negative, the record information for that identical code pattern is discarded. If the determination is positive, operation 4023 is initiated, recording the identical code pattern and its cumulative occurrence count. For example, if a code pattern appears consecutively a certain number of times and then interrupts, and then appears consecutively again after a period of time, operation 4023 requires accumulating the consecutive occurrence counts of the code pattern across multiple consecutive occurrence time periods to obtain its cumulative occurrence count.
[0085] like Figure 4 As shown, operation 402 also includes:
[0086] Operation 4024: Determine if n is equal to 0. If not, proceed to operation 4025, assign the value of n-1 to n, and return to operation 4021 to extract the same code pattern again for the updated n. If yes, end operation 402 and proceed to the next operation, for example, to operation 405.
[0087] Furthermore, in at least one embodiment, such as Figure 4 As shown, before operation 4021, the initial value of n can be set through operation 4026, and n can be less than L.
[0088] like Figure 4 As shown, in operation 403, all the same code patterns extracted in operation 402 can be sorted in descending order of the number of repetitions, and the first T code patterns can be used as the periodic code patterns extracted from the output signal within the predetermined time period.
[0089] For example, such as Figure 4 As shown, operation 403 may include:
[0090] Operation 4031: Sort all identical code patterns extracted in operation 402 in descending order of the number of times they appear;
[0091] Operation 4032: The number T of code patterns to be extracted is specified, for example, the user can input T through an input device to specify the number T of code patterns to be extracted; and
[0092] Operation 4033: Determine T code patterns. For example, extract the first T code patterns as periodic code patterns according to the order of repetition frequency obtained in operation 4031 from most to least.
[0093] In operation 4031, when calculating the number of times the same code pattern repeats, to prevent identical code patterns from affecting the calculation result, it can be determined whether there are identical code patterns. If multiple identical code patterns appear, the code pattern with the most recurring frequency among the multiple identical code patterns is taken as a single identical code pattern, and the other code patterns among the multiple identical code patterns are discarded. For example, the recurrence frequency of the discarded code patterns can be no longer recorded. In this way, in operation 4031, after excluding identical code patterns, the remaining identical code patterns can be sorted.
[0094] In one specific implementation, the method for determining whether there are identical code patterns is as follows: For example, M (M is a natural number) identical code patterns extracted by operation 402, perform a self-loop or self-addition on each identical code pattern and then perform a self-loop to obtain a looped code pattern. Determine whether the looped code pattern is the same as at least one other identical code pattern. If they are the same, it is determined to be an identical code pattern. For example: the kth identical code pattern is 0011, which appears 100 times; the lth identical code pattern is 0110, which appears 90 times; the mth identical code pattern is 1001, which appears 98 times. After looping through the kth identical code pattern, we get three code patterns: 0110, 1100, and 1001. Among them, 0110 is the same as the lth identical code pattern, and 1001 is the same as the mth identical code pattern. Therefore, the kth identical code pattern, the lth identical code pattern, and the mth identical code pattern are identical. Thus, we keep the kth identical code pattern with the most repetitions and discard the lth and mth identical code patterns.
[0095] In addition, Figure 4 The system can also include operation 407. In operation 407, consecutive 0 or 1 bits of length greater than w can be removed from the output signal during the predetermined time period, thereby reducing computational complexity. For example, a user can... Figure 5 The value of w is input into the first interface 200 shown, and bit removal is selected, so that the symbol analysis unit 15 can perform operation 407.
[0096] likeFigure 1 As shown, the symbol analysis unit 15 can further include a periodic pattern display output unit 152, which controls the display so that the display displays the T periodic patterns extracted by the periodic pattern extraction unit 151.
[0097] As shown, the symbol analysis unit 15 can further include a periodic pattern display output unit 152, which controls the display so that the display displays the T periodic patterns extracted by the periodic pattern extraction unit 151. Figure 1 As shown, the symbol analysis unit 15 can further include a risk pattern analysis unit 153, which analyzes which periodic pattern or patterns among the T periodic patterns extracted by the periodic pattern extraction unit 151 is the cause of the EMI problem of the signal in the predetermined time period.
[0098] As shown, the symbol analysis unit 15 can further include a periodic pattern display output unit 152, which controls the display so that the display displays the T periodic patterns extracted by the periodic pattern extraction unit 151. Figure 1 As shown, the device 100 for extracting periodic patterns from a signal further includes a spectrum extraction unit 13. The spectrum extraction unit 13 includes a Fourier transform unit 131 and a frequency domain information display output unit 132.
[0099] The Fourier transform unit 131 receives the signal in the predetermined time period and performs time-frequency analysis on the signal to obtain the spectrum information of the signal. The time-frequency analysis is, for example, a Fourier transform, by which the signal in the time domain can be converted to the frequency domain. The spectrum information of the signal includes, for example, the power spectral density (PSD) in the frequency domain, which is used to represent the power density of the signal at different frequency points. In addition, the spectrum information can also be other information used to reflect the degree of electromagnetic interference, and the present application is not limited to the power spectral density.
[0100] Before performing the time-frequency analysis on the signal, the Fourier transform unit 131 first determines whether the sampling rate of the signal in the predetermined time period is lower than the required sampling rate: if the sampling rate of the signal in the predetermined time period is higher than or equal to the required sampling rate, the signal is directly subjected to the time-frequency analysis; if the sampling rate of the signal in the predetermined time period is lower than the required sampling rate, the signal is resampled based on the specified sampling rate to obtain a signal meeting the sampling rate requirement, and then the Fourier transform unit 131 performs the time-frequency analysis on the signal meeting the sampling rate requirement. The specified sampling rate satisfies the Nyquist sampling theorem, and is determined based on the requirement of the maximum frequency range and the minimum frequency interval expected to be obtained.
[0101] In at least one embodiment, resampling the signal includes:
[0102] Operation S1, calculating the time interval N1 of the sampling points of the signal A;
[0103] Operation S2, calculating the expected time interval N2 of the sampling points according to the specified sampling rate;
[0104] Operation S3, according to the expected time interval N2 calculated in operation S2, and the time interval N1 calculated in operation S1, the signal is reshaped, for example: according to the result of N1 / N2 to determine the multiple M, and, in the signal A between the p-th sampling point and the p+1-th sampling point, add (M-1) sampling points, the amplitude of the added (M-1) sampling points is the same as the p-th sampling point, thereby reshaping the signal A into signal B. Wherein, p is a natural number, p is less than or equal to the total number of sampling points in signal A.
[0105] Through operation S3, the number of sampling points of signal B becomes A*M, signal B can meet the requirement of the specified sampling rate, and the Fourier transform unit 131 can perform time-frequency analysis on signal B.
[0106] In at least one embodiment, the Fourier transform unit 131 can also perform time-frequency analysis on the periodic code pattern extracted by the symbol analysis unit 15 to obtain the frequency spectrum information of the periodic code pattern.
[0107] The frequency domain information display output unit 132 causes the display to display the frequency spectrum information obtained by the Fourier transform unit 131, for example, to display the frequency spectrum information of the signal in the predetermined time period, and / or to display the frequency spectrum information of the periodic code pattern.
[0108] As shown in Figure 1 The frequency spectrum extraction unit 13 also includes a database 133. The database 133 stores reference frequency spectrum information. The reference frequency spectrum information is, for example, the frequency spectrum information of the output signal of the last generation chip, or the frequency spectrum information of the output signal that meets the electromagnetic interference requirement, etc.
[0109] The frequency domain information display output unit 132 can compare the reference frequency spectrum information with the frequency spectrum information of the signal in the predetermined time period obtained by the Fourier transform unit 131 and / or the frequency spectrum information of the periodic code pattern, for example, to display the reference frequency spectrum information and the frequency spectrum information obtained by the Fourier transform unit 131 on the display together, or to compare the amplitude (i.e. power density) of the discrete peak frequency radiation point in the frequency spectrum information obtained by the Fourier transform unit 131 with the amplitude of the discrete peak frequency radiation point in the reference frequency spectrum information, thereby facilitating the judgment of whether the signal in the predetermined time period has EMI problem, or whether the periodic code pattern will cause EMI problem.
[0110] In at least one embodiment, the frequency domain information display output unit 132 may also send the comparison results described above to the symbol analysis unit 15. Furthermore, the frequency domain information display output unit 132 may also send the spectrum information obtained by the Fourier transform unit 131 (i.e., the spectrum information of the signal within the predetermined time period and / or the spectrum information of the periodic code pattern) to the symbol analysis unit 15, for example, sending the frequency information and amplitude information of the peak frequency radiation points in the spectrum information of the signal within the predetermined time period to the symbol analysis unit.
[0111] In at least one embodiment, when the comparison results indicate that there is an EMI problem with the signal within the predetermined time period, the risk pattern analysis unit 153 can analyze which periodic patterns will cause the EMI problem.
[0112] For example, Figure 4 The dashed box 408 illustrates the operation of analyzing periodic code patterns.
[0113] like Figure 4 As shown, in operation 4081, the Fourier transform unit 131 first performs a Fourier transform on the signal within the predetermined time period to obtain information about the peak frequency radiation points in the spectrum, such as the frequency of the peak frequency radiation points. The spectrum information of the signal within the predetermined time period can be fed back to the symbol analysis unit 15 through operation 4083.
[0114] In operation 4082, the risk code pattern analysis unit 153 sends the periodic code pattern extracted by the periodic code pattern extraction unit 151 to the Fourier transform unit 131 to perform operation 4081, thereby analyzing the spectral information of the periodic code pattern.
[0115] In operation 4083, the spectral information of the periodic code pattern obtained in operation 4081 is fed back to the symbol analysis unit 15 through the frequency domain information display output unit 132.
[0116] In operation 4084, the risk pattern analysis unit 153 compares the spectral information of the feedback periodic pattern with the spectral information of the signal within the predetermined time period. For example, it determines whether the frequency of the peak frequency radiation point in the spectral information of the periodic pattern at least partially overlaps with the frequency of the peak frequency radiation point in the spectral information of the signal within the predetermined time period. If they at least partially overlap, it is determined that the periodic pattern has an impact on the EMI of the signal within the predetermined time period, and the periodic pattern is output or displayed in operation 4085. If they do not overlap, the periodic pattern is discarded.
[0117] In operation 4086, it is determined whether the verification of the T periodic codes has been completed. If yes, operation 408 ends. If no, operation 4082 is performed, and one of the unverified codes in the T periodic codes is output to the processing and transformation unit 131, and operation 4081 is performed again.
[0118] Therefore, the risk pattern analysis unit 153 can determine which periodic patterns(s) extracted by the periodic pattern extraction unit 151 affect the EMI problem of the signal within the predetermined time period. Furthermore, it can formulate measures to address the EMI problem based on the determined periodic patterns(s).
[0119] like Figure 1 As shown, the apparatus 100 for extracting periodic codes from a signal also includes a display control unit 16. The display control unit 16 can be connected to at least one of the signal input unit 11, the preprocessing unit 12, the spectrum extraction unit 13, the data stream generation unit 14, and the symbol analysis unit 15, and enables the display to show information corresponding to the respective unit.
[0120] In at least one embodiment, the display control unit 16 can control the display to display the first interface on the display screen. Figure 5 This is a schematic diagram of the first interface, such as... Figure 5 As shown, the first interface 200 includes at least one of the following: a source waveform loading window 210, a waveform preprocessing window 212, a Fourier transform configuration window 214, a symbol extraction configuration window 216, a specified code pattern search configuration window 218, a search for all periodic code patterns configuration window 220, and a main display window 222.
[0121] The source waveform loading window 210 corresponds to the information of the signal input unit 11 and can display a list of received waveform files; the waveform preprocessing window 212 corresponds to the preprocessing unit 12 and can display information of the row selected by the row selection signal and / or the data column selected by the column selection signal; the Fourier transform configuration window 214 corresponds to the spectrum extraction unit 13; the symbol extraction configuration window 216 corresponds to the data stream generation unit 14; the specified code pattern search configuration window 218 and the all periodic code pattern search configuration window 220 correspond to the symbol analysis unit 15. For example, the user can input a code pattern in window 218, and when the user selects window 220, the periodic code pattern extracted by the symbol analysis unit 15 will be displayed in the main display window 222; the main display window 222 is used to display the processing results from window 214 to window 220.
[0122] In at least one embodiment, each of the windows 214-220 displays some information, for example, configuration information to be input by the user, information of a row in a waveform file, information of a column in a waveform file, filtering of display information, and the like. For example, the parameters w, L, n, i, and the like described above can be displayed.
[0123] The display control unit 16 can switch the display content of the main display window 222 based on the selection of the windows 214-220 by the window selection signal. For example, the user can perform a window selection operation by a key or a touch screen to generate the window selection signal.
[0124] According to the embodiments of the first aspect, the periodic pattern can be extracted from the signal, thereby providing strong technical support for analyzing and solving the EMI problem, and reducing the EMI risk of the chip.
[0125] Embodiments of the second aspect
[0126] The embodiments of the second aspect of the present application provide a method for extracting a periodic pattern from a signal, which corresponds to the device 100 for extracting a periodic pattern from a signal according to the embodiments of the first aspect.
[0127] Figure 6 is a schematic diagram of the method for extracting a periodic pattern from a signal according to the embodiments of the second aspect. As shown in Figure 6 the method for extracting a periodic pattern from a signal includes:
[0128] Operation 61, extracting a symbol from a time-domain waveform of a signal in a predetermined time period to generate an original data stream; and
[0129] Operation 62, extracting a periodic pattern from the original data stream, the periodic pattern being a same pattern appearing in a cycle period after an interval of n bits, where n is 0 or a natural number.
[0130] Figure 7 is a schematic diagram of the method for generating an original data stream, which is used to implement operation 61. The method for generating an original data stream includes:
[0131] Operation 71, converting each pulse signal in the signal in the predetermined time period into a digital value based on an amplitude threshold, thereby converting the signal in the predetermined time period into a digital stream; and
[0132] Operation 72, extracting a symbol having a corresponding digital value from the digital stream based on the digital value and a number of digital values corresponding to one symbol to form the original data stream.
[0133] In operation 71, the amplitude threshold is set based on the amplitudes of a predetermined number of pulses in the signal within the predetermined time period. For example, the amplitude threshold is equal to the average of the pulse amplitudes corresponding to the high level with the highest probability of occurrence and the pulse amplitudes corresponding to the low level with the highest probability of occurrence in the signal within the predetermined time period.
[0134] In operation 72, consecutive identical code values in the code stream are taken as a group, and the number of identical code values in the group is divided by the number of code values corresponding to one symbol to obtain the number of the symbols with the code value in the original data stream corresponding to the group.
[0135] In this application, the implementation of operation 62 can refer to operations 401, 402 and 403 of Figure 4 .
[0136] As shown in Figure 6 , the method of extracting periodic code patterns from a signal further comprises:
[0137] Operation 60, intercepting a predetermined time period of the input signal to generate a signal within the predetermined time period.
[0138] As shown in Figure 6 , the method of extracting periodic code patterns from a signal further comprises:
[0139] Operation 63, performing time-frequency analysis on the signal to obtain the spectral information of the signal; and
[0140] Operation 64, causing the display to display the spectral information of the signal.
[0141] As shown in Figure 6 , the method of extracting periodic code patterns from a signal further comprises:
[0142] Operation 65, when it is determined that the sampling rate of the signal is lower than the required sampling rate, resampling the signal based on the specified sampling rate to obtain a signal meeting the sampling rate requirement.
[0143] Operation 65 can be performed before operation 63, so that in the case of operation 65, in operation 63, time-frequency analysis can be performed on the signal meeting the sampling rate requirement.
[0144] As shown in Figure 6 , the method of extracting periodic code patterns from a signal further comprises:
[0145] Operation 66, performing time-frequency analysis on the extracted periodic code pattern to obtain the spectral information of the periodic code pattern, and causing the display to display the spectral information of the periodic code pattern.
[0146] As shown in Figure 6As shown, the method of extracting the periodic pattern from the signal further comprises:
[0147] Operation 67, comparing at least two of the reference spectral information, the spectral information of the periodic pattern, and the spectral information of the signal in the predetermined time period.
[0148] In embodiments of the second aspect, the detailed description of the operations of the method of extracting the periodic pattern from the signal can refer to the description of the units of the apparatus 100 for extracting the periodic pattern from the signal in embodiments of the first aspect.
[0149] Embodiments of the third aspect
[0150] Embodiments of the third aspect provide an electronic device having the apparatus 100 for extracting the periodic pattern from the signal as described in embodiments of the first aspect.
[0151] The electronic device may, for example, be a computer, a server, a workstation, a laptop, a smartphone, etc., but embodiments of the present application are not limited thereto.
[0152] Figure 8 is a schematic diagram of an electronic device. As Figure 1 shown, the electronic device 800 can include a processor (for example, a central processing unit CPU) 810 and a memory 820; the memory 820 is coupled to the central processing unit 810. The memory 820 can store various data; in addition, it also stores a program 821 for information processing, and executes the program 821 under the control of the processor 810.
[0153] In some embodiments, the functions of the apparatus 100 for extracting the periodic pattern from the signal are integrated into the processor 810 for implementation. The processor 810 is configured to implement the method as described in embodiments of the second aspect.
[0154] In some embodiments, the apparatus 100 for extracting the periodic pattern from the signal is configured separately from the processor 810, for example, the apparatus 100 for extracting the periodic pattern from the signal can be configured as a chip connected to the processor 810, and the functions of the apparatus 100 for extracting the periodic pattern from the signal are implemented through the control of the processor 810.
[0155] In addition, as Figure 8 shown, the electronic device 800 can further include an input / output (I / O) device 830 and a display 840, etc.; the functions of the above-mentioned components are similar to those of the prior art, and will not be described here. It is worth noting that the host 800 does not necessarily include all the components shown in Figure 8 ; in addition, the host 800 can also include components not shown in Figure 8 , which can be referred to related technologies.
[0156] An embodiment of the present application further provides a computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the method in the embodiment of the second aspect when executing the computer program.
[0157] An embodiment of the present application further provides a computer readable storage medium, which stores a computer program, wherein the computer program is executable by a processor to implement the method in the embodiment of the second aspect.
[0158] An embodiment of the present application further provides a computer program product, which comprises a computer program, wherein the computer program is executable by a processor to implement the method in the embodiment of the second aspect.
[0159] The acquisition, storage, use, processing, etc. of data in the technical solutions of the embodiments of the present application comply with relevant provisions of national laws and regulations.
[0160] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROMs, optical storage media, etc.) containing computer-usable program code.
[0161] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, and the combination of flows and / or blocks in the flowcharts and / or block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing apparatus to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing apparatus produce a device implemented in accordance with the flowcharts and / or block diagrams. Figure 1 The function specified in one flow or multiple flows and / or blocks. Figure 1 The device that implements the function specified in one flow or multiple flows and / or blocks.
[0162] These computer program instructions can also be stored in a computer readable storage medium that can direct the computer or other programmable data processing apparatus to work in a specific manner, so that the instructions stored in the computer readable storage medium produce a manufactured product including instruction devices that implement the flowcharts and / or block diagrams. Figure 1 The function specified in one flow or multiple flows and / or blocks. Figure 1the function specified in the one or more blocks.
[0163] These computer program instructions can also be loaded into computer or other programmable data processing devices, so that a series of operation steps are performed on the computer or other programmable data processing devices to generate computer-implemented processes, so that the instructions executed on the computer or other programmable devices provide processes for implementing the flow Figure 1 the flow or flows and / or blocks Figure 1 the function specified in the one or more blocks.
[0164] The above-described specific embodiments, for the purpose of the present application, technical solutions and beneficial effects are further detailed, it should be understood that the above-described is only a specific embodiment of the present application, and is not used to limit the protection scope of the present application, any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims
1. A data stream generating unit configured to extract symbols from a time domain waveform of a signal in a predetermined time period to generate a data stream, the data stream generating unit comprising: a level judging unit configured to convert each pulse signal in the signal in the predetermined time period into a digital value based on an amplitude threshold, thereby converting the signal in the predetermined time period into a digital stream; and a symbol extracting unit configured to extract, from the digital stream, symbols having corresponding digital values based on the digital values and a number of digital values corresponding to one symbol, thereby forming the data stream, wherein the symbol extracting unit groups consecutive identical digital values in the digital stream as a group, counts a number of identical digital values in each of the groups to obtain the number of digital values corresponding to one symbol, divides the number of identical digital values in the group by the number of digital values corresponding to one symbol to obtain a number of the symbols having the digital value corresponding to the group in the data stream, and wherein all identical symbol patterns extracted from the data stream are sorted in an order of a number of repeated appearances from more to less, and a first T symbol patterns are regarded as periodic symbol patterns extracted from the signal in the predetermined time period. 2.The data stream generating unit of claim 1, wherein the amplitude threshold is set based on amplitudes of a predetermined number of pulse signals in the signal in the predetermined time period. 3.The data stream generating unit of claim 2, wherein the amplitude threshold is equal to an average of a pulse amplitude corresponding to a high level having a largest probability of appearance and a pulse amplitude corresponding to a low level having a largest probability of appearance in the signal in the predetermined time period. 4.A method of extracting symbols, the method configured to extract symbols from a time domain waveform of a signal in a predetermined time period to generate a data stream, the method comprising: converting each pulse signal in the signal in the predetermined time period into a digital value based on an amplitude threshold, thereby converting the signal in the predetermined time period into a digital stream; and extracting, from the digital stream, symbols having corresponding digital values based on the digital values and a number of digital values corresponding to one symbol, thereby forming the data stream, wherein consecutive identical digital values in the digital stream are grouped as a group, a number of identical digital values in each of the groups is counted to obtain the number of digital values corresponding to one symbol, the number of identical digital values in the group is divided by the number of digital values corresponding to one symbol to obtain a number of the symbols having the digital value corresponding to the group in the data stream, and wherein all identical symbol patterns extracted from the data stream are sorted in an order of a number of repeated appearances from more to less, and a first T symbol patterns are regarded as periodic symbol patterns extracted from the signal in the predetermined time period. 5.The method of claim 4, wherein the amplitude threshold is set based on amplitudes of a predetermined number of pulse signals in the signal in the predetermined time period. 6.The method of claim 5, wherein the amplitude threshold is equal to an average of a pulse amplitude corresponding to a high level having a largest probability of appearance and a pulse amplitude corresponding to a low level having a largest probability of appearance in the signal in the predetermined time period. characterized in that The amplitude threshold is equal to an average of a pulse amplitude corresponding to a high level with a highest occurrence probability and a pulse amplitude corresponding to a low level with a highest occurrence probability in the signal within the predetermined time period.
7. An electronic device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, The processor, when executing the computer program, implements the method of any one of claims 4-6.
8. A computer-readable storage medium, characterized in that, The computer readable storage medium stores a computer program, and the computer program, when executed by a processor, implements the method of any one of claims 4-6.
9. A computer program product, characterised in that, The computer program product comprises a computer program, and the computer program, when executed by a processor, implements the method of any one of claims 4-6.
Citation Information
Patent Citations
Encoding method,decoding method,encoder apparatus,decoder apparatus,program and recording medium
CN102687199A
Symbol alignment in high speed optical orthogonal frequency division multiplexing transmission systems
CN103621031A