Method for determining error vector magnitude, automatic test equipment, and non-transitory machine-readable storage medium - Patents.com
Patent Information
- Application Number
- JP2022532087
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-12-03
- Filing Date
- 2020-11-24
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2040-11-24
AI Technical Summary
【0014】 1つ又は複数の実装形態の詳細は、添付の図面及び以下の説明に記載されている。他の特徴及び利点は、説明、図面及び請求項から明らかになる。
Smart Images

Figure 0007645885000001 
Figure 0007645885000002 
Figure 0007645885000003
Abstract
Description
[Technical field]
[0001] Described herein is an example system for determining error vector magnitude using cross-correlation. [Background technology]
[0002] Test systems are configured to test the operation of electronic devices such as microprocessors and memory chips. The testing may include sending signals to the devices and determining how the devices reacted to those signals based on the responses. For example, the testing may include sending test signals to a device such as an integrated circuit (IC) and receiving radio frequency (RF) signals returning from the device. The RF signals are processed to determine if the device exhibits acceptable performance. Error vector magnitude (EVM) is a measure of the signal quality of a test system. Summary of the Invention [Means for solving the problem]
[0003] An exemplary method determines an error vector magnitude using automatic test equipment (ATE). The operations include receiving data from a device under test (DUT) at a first receiver of the ATE and demodulating the data received at the first receiver to generate first symbol error vectors, each first symbol error vector representing a difference between a predefined point on the constellation diagram and a first measurement point on the constellation diagram generated based at least in part on the data received by the first receiver. The operations also include receiving data from the DUT at a second receiver of the ATE, the second receiver being different from the first receiver and demodulating the data received at the second receiver to generate second symbol error vectors, each second symbol error vector representing a difference between a predefined point on the constellation diagram and a second measurement point on the constellation diagram generated based at least in part on the data received by the second receiver. An error vector magnitude is determined for the data based on the first symbol error vector and the second symbol error vector.
[0004] The method may be performed using an ATE including a first receiver, a second receiver, and one or more processing devices for performing exemplary operations included in the method. The exemplary operations included in the method may be implemented using instructions executable by one or more processing devices stored on one or more non-transitory machine-readable storage media.
[0005] The method, the ATE, or the instructions stored on the machine-readable storage medium may include one or more of the following features, either alone or in combination.
[0006] The received data may include a modulated signal. Determining an error vector magnitude of the data may include cross-correlating the first symbol error vector and the second symbol error vector. The cross-correlating removes at least some error contributions to the data generated by at least one of the first receiver or the second receiver. The at least some error contributions may include uncorrelated noise. At least some of the uncorrelated noise may be due to one or more components of the ATE that are not common to both the first receiver and the second receiver. Cross-correlating the first symbol error vector and the second symbol error vector may include multiplying the first symbol error vector by a conjugate vector of the second symbol error vector for each pair of the first symbol error vector and the second symbol error vector.
[0007] Determining the error vector magnitude of the data may include performing operations including: (a) cross-correlating a first symbol error vector of the first symbol error vectors and a second error vector of the second symbol error vectors for a point on the constellation diagram corresponding to the symbol to generate a result; (b) adding the result of the cross-correlation to a total sum; (c) repeating operations (a) and (b) for a plurality of bursts of data, thereby increasing the total sum following each of the plurality of bursts; (d) dividing the total sum by the number of the plurality of bursts to generate an average of the point on the constellation diagram; (e) determining a square root of the average to obtain a component error vector magnitude of the point on the constellation diagram; and (f) determining a root mean square of the component error vector magnitude and other component error vector magnitudes of other points on the constellation diagram to obtain an error vector magnitude of the data. The first symbol error vector may include a symbol error vector generated for a point based on the first burst of data, and the second symbol error vector may include a symbol error vector generated for a point based on the first burst of data.
[0008] The one or more processing units may include a digital signal processor. Different cross-correlation operations may be performed simultaneously in different asynchronous threads running on the digital signal processor. The received data may include one or more complete or partial data packets. The one or more complete or partial data packets may be generated by the DUT simultaneously with triggering of the first receiver and the second receiver.
[0009] The received data may include a digitally modulated signal having a plurality of carrier signals. An error vector magnitude may be determined for each of the plurality of carrier signals. The data received at the first receiver and the second receiver may be from subcarriers of an orthogonal frequency-division multiplexing (OFDM) modulated data stream. An error vector magnitude may be determined for each subcarrier of the OFDM modulated data stream.
[0010] Data from the DUT may be received at the first and second receivers via a splitter that receives data from the test channel and transmits the data to the first and second receivers, respectively. An error vector magnitude of the data may be based, at least in part, on uncorrelated noise from at least one of the components or signals of the ATE. At least one of the components or signals may not be common to the first and second receivers.
[0011] The predefined points on the signal space diagram may include ideal points on the signal space diagram. The predefined points on the signal space diagram may include estimated points on the signal space diagram.
[0012] Two or more of the features described in this specification, including in the Summary of the Invention section, may be combined to form implementations not specifically described herein.
[0013] At least some of the test systems and processes described herein may be configured or controlled by one or more processing devices executing instructions stored on one or more non-transitory machine-readable storage media. Examples of non-transitory machine-readable storage media include read-only memory, optical disk drives, memory disk drives, and random access memories. At least some of the test systems and processes described herein may be configured or controlled using a computing system consisting of one or more processing devices and a memory storing instructions executable by the one or more processing devices to perform various control operations.
[0014] The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features and advantages will become apparent from the description, drawings, and claims. [Brief description of the drawings]
[0015] [Figure 1] FIG. 1 is a block diagram of components of an example test system in which the techniques described herein can be implemented. [Diagram 2] FIG. 2 is a block diagram of components of an exemplary test instrument. [Diagram 3] 1 is an example of a signal space diagram. [Figure 4] 4 is a flowchart including example operations included in an example process for determining error vector magnitude by cross-correlating error vectors from multiple channels. [Diagram 5] FIG. 1 is a block diagram of components of an example multi-threaded digital signal processor for implementing the techniques described herein. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0016] Like reference numbers in the different drawings indicate like elements.
[0017] Described herein is an exemplary implementation of a test system, such as an automatic test equipment (ATE), configured to determine a measurement of error vector magnitude using cross-correlation (Xcorr). In this regard, among the tests performed by the ATE on a device under test (DUT), such as an integrated circuit (IC) or other chip-level component, are tests of signal characteristics of the DUT. In one implementation, the ATE includes multiple channels, one each for testing a corresponding DUT. However, an individual channel of the ATE cannot be used to make accurate noise measurements on a DUT that has a noise level below the noise floor of the channel. Noise includes unwanted irregularities, disturbances, signals, or other interference on the channel. Each channel includes noise from various sources, such as power supplies, clocks, and other circuitry connected to the channel. If the noise level of a signal, such as a radio frequency (RF) signal received from a DUT on a channel is below the noise floor of the channel, the signal from the DUT cannot be accurately measured and therefore cannot be used for testing or other purposes. Thus, the test system described herein is configured to receive the same signal on two different channels of the ATE and cross-correlate the signals.
[0018] With respect to the noise levels of the two channels, the noise includes a combination of correlated and uncorrelated noise. Correlated noise includes noise that is common to both channels, e.g., noise originating from a common power supply, noise originating from a common clock, etc. Uncorrelated noise includes random noise, e.g., but not limited to, noise that is not common to both channels. In some examples, uncorrelated noise includes noise generated from sources unique to an individual channel, such as an amplifier, a synthesizer clock, etc. In general, correlated and uncorrelated noise cannot be distinguished from each other or from the noise contribution of the DUT signal on a single channel. However, performing a cross-correlation of the signals from the two channels over a number of data bursts reduces the level of uncorrelated noise, leaving only the correlated noise of the two channels. The more data bursts used, the greater the reduction in uncorrelated noise on the channels. By reducing the noise level of the channels, tests can be performed using channels where the noise originating from the DUT cannot be distinguished from the noise of the channels individually without cross-correlation.
[0019] Error Vector Magnitude (EVM) is a measure of how accurately a DUT transmits symbols that align to a reference constellation, and is therefore a figure of merit that represents the modulation quality of the DUT. The EVM measurement indicates the quality of a signal. In the techniques described herein, the EVM measurement is based on the cross-correlation of signals from two different ATE channels, so that the EVM can be determined for error contributions below the noise floor of the individual ATE channels.
[0020] In an exemplary implementation, the ATE includes a first receiver for receiving data from the DUT and a second receiver for receiving the same data from the DUT. For example, the data may be transmitted using an RF signal. For example, the DUT transmits an RF signal. The signal is a modulated signal that includes a full or partial modulated data packet. An RF signal splitter may precede the two channels and provide the same signal to each channel. One or more processing devices, such as a digital signal processor (DSP), may be configured to execute instructions to perform operations including: demodulating data received at a first receiver to generate first symbol error vectors, each first symbol error vector representing a difference between a predefined point, such as an ideal point on a constellation diagram, and a first measurement point on the constellation diagram generated based at least in part on the data received by the first receiver, and demodulating data received at a second receiver to generate second symbol error vectors, each second symbol error vector representing a difference between a predefined point, such as an ideal point on the constellation diagram, and a second measurement point on the constellation diagram generated based at least in part on the data received by the second receiver. The one or more processing devices determine an EVM of the data based on the first symbol error vector and the second symbol error vector by cross-correlating the first symbol error vector and the second symbol error vector. The cross-correlating removes at least some error contributions, such as uncorrelated noise, to the data received by at least one of the first receiver or the second receiver.
[0021] 1 illustrates components of an exemplary ATE 10 that can be used to implement the techniques described herein. In FIG. 1, dashed lines conceptually represent potential signal paths between components of the system.
[0022] ATE 10 includes a test head 12 and a control system 13. The control system may include a computing system comprised of one or more microprocessors or other suitable processing devices as described herein. A device interface board (DIB) 15 is connected to test head 12 and includes a printed circuit board (PCB) that includes mechanical and electrical interfaces to one or more DUTs, such as DUT 11, that are being or will be tested by the ATE. Power, including voltage, may be applied to the DUTs connected to the DIB through one or more conduits in the DIB.
[0023] 1, the DIB 15 electrically and mechanically connects to the test head 12. The DIB includes sites 19, which may include pins, conductive traces, or other points of electrical and mechanical connection to which a DUT may be connected. Test signals and response signals, such as RF signals, and other signals pass across the sites between the DUT and the test instruments via test channels. The DIB 15 may also include connectors, conductive traces, and circuitry for routing signals between the test instruments, the DUTs connected to the sites 19, and other circuitry, among other things.
[0024] The control system 13 communicates with components included in the test head to control the testing. For example, the control system 13 can download a test program set to test the instruments 16A-16N in the test head. The test instruments include hardware devices that may include one or more processors and other circuitry. The test instruments 16A-16N can execute the test program set to test DUTs that communicate with the test instruments. The control system 13 can also send instructions, test data, and / or other information usable by the test instruments to the test instruments in the test head to perform appropriate tests on the DUTs interfaced to the DIB. In some implementations, this information can be sent over a computer or other type of network, or directly over an electrical path. In some implementations, this information can be sent over a local area network (LAN) or a wide area network (WAN).
[0025] In one example, the test program generates a test flow that is provided to the DUT. The test flow is written, for example, to output test signals to elicit a response from the DUT. As previously mentioned, the test signals and responses from the DUT may include RF signals.
[0026] In the example of FIG. 1, the ATE 10 includes multiple test instruments 16A-16N, each of which may be configured to perform one or more of the tests and / or other functions, as desired. Although only four test instruments are shown, the system may include any suitable number of test instruments, including those external to the test head 12. In some implementations, each test instrument may be configured to output digital or RF signals, for example, to test the DUT based on data provided by a control system, and to receive digital or RF response signals from the DUT. Different test instruments may be configured to perform different types of tests and / or test different DUTs. For example, the test instruments may include an RF test instrument 16B for transmitting RF test signals to the DUT and receiving RF response signals from the DUT. The received signals may include RF response signals based on the test signals, and / or signals originating from the DUT that are not prompted by (e.g., not in response to) the test signals. In some implementations, electrical conductors, such as coaxial wires, may be present between the DUT, the DIB, and the test instrument interface through which the test signals and response signals are transmitted.
[0027] Signals, including RF signals, may be transmitted to and from the DUT via multiple test channels or other conductive media. In some examples, a test channel may include one or more physical transmission media over which signals are transmitted from the test instrument to the DUT and signals are received from the DUT. Physical transmission media may include, but are not limited to, electrical conductors only or in combination with optical conductors, wireless transmission media, or both optical conductors and wireless transmission media. In some examples, a test channel may include a range of frequencies over which signals are transmitted over one or more physical transmission media. A test channel may include or be electrically connected to conductive traces on a DIB. A test channel may also include hardware on the test instrument to receive and digitize signals.
[0028] In some examples, the ATE 10 includes a connection interface 18 that connects a test instrument test channel 21 to the DIB 15. The connection interface 18 may include connectors 20 or other devices for routing signals between the test instrument and the DIB 15. For example, the connection interface may include one or more circuit boards or other substrates to which such connectors are attached. Conductors included in the test channels may be routed through the connection interface and the DIB.
[0029] 2 is a block diagram illustrating an example implementation of components of a test system 25, such as ATE 10, focusing on RF test instrument 26. RF test instrument 26 may be an implementation of RF test instrument 16B. In this example, RF test instrument 26 includes an RF splitter 28 configured to receive an RF signal from a DUT 29 on a DIB 30 via a channel of the test system and output two identical RF signals to different channels 32 and 33 included in RF test instrument 26. Channel 32 includes a receiver 35 and a digitizer 36, and channel 33 includes a receiver 39 and a digitizer 40. In this example, a receiver may be part of a channel and includes any hardware capable of receiving an RF signal. Each receiver 35 and 39 receives the same RF signal and outputs the RF signal to a respective digitizer 36 and 40. Each digitizer 36 and 40 generates and outputs digital data representative of the RF signal, including both correlated and uncorrelated noise introduced by the channel, including noise introduced by each receiver.
[0030] In this example, the test system 25 includes a DSP 42, also shown in FIG. 1. In this example, the DSP 42 is multi-threaded. The DSP 42 receives data from each channel and demodulates the digital data. Demodulating the data includes calculating ideal and actual points in a constellation from the data and generating a symbol error vector that represents the difference between the ideal point on the constellation diagram and the actual measured point on the constellation diagram. The exemplary constellation diagram includes a graphical representation of symbols transmitted using an RF signal. In this regard, a digitally modulated signal encodes information using a sinusoidal carrier signal by mixing the sinusoidal carrier with a data signal. The data signal modulates the amplitude, phase angle, or both the amplitude and phase angle of the carrier signal to generate a modulated signal. The modulated signal includes a combination of amplitude and phase values. This combination of amplitude and phase values can represent symbols that represent one or more bits of data. These symbols correspond to points on the constellation diagram. The location of each point on the constellation diagram is based on the amplitude and phase angle associated with its corresponding symbol. For example, as shown in example constellation diagram 45 of Figure 3, points representing 4-bit symbols are placed on a two-dimensional graph representing in-phase (I) and quadrature (Q) complex planes. In this example, each point represents an ideal location of a symbol within that plane. However, in other examples, each point may represent an estimated location of an ideal point within the plane.
[0031] When the DSP 42 demodulates the received data, the DSP identifies the location of a symbol, such as "0001," represented by the data on the constellation diagram. In some cases, the location of the symbol represented by the data does not match the location of that symbol on the ideal reference constellation diagram. For example, the symbol (0001) represented by the data may be located at point 46 on the constellation diagram. The difference between the ideal point 47 and the measured point 46 constitutes an error, which may be due to noise in the RF signal on which the data is based. This error may be determined relative to the nearest predetermined point on the constellation diagram. An error vector 49 represents this difference in location between the predetermined point and the measured point. Thus, using the constellation diagram, the error vector represents the error in the measured signal.
[0032] As described above, sources of error in a measured signal include correlated noise and uncorrelated noise. To reduce errors generated by uncorrelated noise, error vectors from the same signal of the same symbol can be cross-correlated. In one example, cross-correlating the error vectors includes multiplying the first symbol error vector by the conjugate vector of the second symbol error vector for each pair of the first and second symbol error vectors. The cross-correlating reduces the effect of uncorrelated noise on the EVM. As described below, error vectors of multiple data bursts representing the same symbol, e.g., 10, 100, or 1000, can be processed in this manner. In general, the more error vectors that are cross-correlated, the greater the error reduction. However, in some examples, exponentially more error vectors are required to continuously reduce noise. In one example, 10 bursts of data may be required to achieve 5 dB of noise reduction. Then, 100 bursts of data may be required to achieve another 5 dB of noise reduction. Then, to achieve another 5 decibels of noise reduction, 1000 bursts of data may be required, etc. In other instances, this may not be the case.
[0033] Cross-correlation separates correlated complex vectors from uncorrelated complex vectors. In this regard, cross-correlation of two signals provides an estimate of the correlated components of the two signals. Cross-correlation of two identical, i.e. correlated, signals gives the squared amplitude of that signal. Cross-correlation of two uncorrelated signals produces another uncorrelated (seemingly random) signal. Averaging the cross-correlation results from a composite signal, e.g. a signal containing a sum of correlated and uncorrelated components, gives an estimate of the amplitude of the correlated component of that signal, since the average of the uncorrelated (random) components of the signal tends to zero. Cross-correlation performed on complex signals returns only the amplitude; phase information is lost.
[0034] The following shows the mathematical principle of EVM cross-correlation: e1: Symbol error vector from signal capture by receiver channel 1 represented in the complex plane e2: Symbol error vector from signal capture by receiver channel 2 represented in the complex plane e DUT : Symbol error vector from the DUT represented in the complex plane e rcv1 : Symbol error vector from receiver channel 1 represented in the complex plane e rcv2 : Symbol error vector from receiver channel 2 represented in the complex plane
[0035] All error vectors e are zero-mean, uncorrelated, randomly constructed. The variance of each error vector amplitude is σ DUT 2 , σ rcv1 2 and σ rcv2 2 "Uncorrelated" means that the cross-correlation of the real and imaginary parts between these error vectors results in zero mean, where "Re" refers to the real component of each vector E of the cross-correlation below, and "Im" refers to the imaginary component: E(Re(e DUT )·Re(e rcv1 ))=E(Im(e DUT)·Im(e rcv1 ))=E(Re(e DUT )·Im(e rcv1 ))=E(Im(e DUT )·Re(e rcv1 ))=0 E(Re(e DUT )·Re(e rcv2 ))=E(Im(e DUT )·Im(e rcv2 ))=E(Re(e DUT )·Im(e rcv2 ))=E(Im(e DUT )·Re(e rcv2 ))=0 E(Re(e rcv1 )·Re(e rcv2 ))=E(Im(e rcv1 )·Im(e rcv2 ))=E(Re(e rcv1 )·Im(e rcv2 ))=E(Im(e rcv1 )·Re(e rcv2 ))=0
[0036] As a corollary, the cross-combination of the conjugate projections between these error vectors also results in a zero vector mean: E(e DUT e rcv1 )=E(e DUT * e rcv1 * )=E(e DUT e rcv1 * )=E(e DUT * e rcv1 )=0 E(e DUT e rcv2 )=E(e DUT * e rcv2 * )=E(e DUT e rcv2 * )=E(e DUT * e rcv2 )=0 E(e rcv1 e rcv2 )=E(ercv1 * e rcv2 * )=E(e rcv1 e rcv2 * )=E(e rcv1 * e rcv2 )=0
[0037] The cross-correlation operation between the error vectors from both captures is: E(e1 e2 * )=E((e DUT +e rcv1 )·(e DUT +e rcv2 ) * ) =E(e DUT e DUT * +e rcv1 e DUT * +e DUT e rcv2 * +e rcv1 e rcv2 * ) =E(e DUT e DUT * )+E(e rcv1 e DUT * )+E(e DUT e rcv2 * )+E(e rcv1 e rcv2 * ) =E(e DUT e DUT * )=σ DUT 2
[0038] Thus, the cross-correlation operation asymptotically removes uncorrelated error contributions, including uncorrelated noise, from each receiver channel.
[0039] In the systems described herein, the output of the demodulation process is one or more signal space points that, when subtracted from the ideal signal space point or points, produce a complex value. When two receivers are used to measure a common DUT signal, cross-correlation estimation can be used to remove uncorrelated noise errors from the DUT error measurements.
[0040] FIG. 4 is a flow chart illustrating an exemplary process 50 for determining EVM based on signals received from a DUT via multiple ATE channels. Process 50 includes configuring and controlling (51) a DUT to provide a modulated RF signal to the ATE. The signal may be transmitted via a channel of the ATE and may be in response to a stimulus or test signal transmitted to the DUT. In this example, two receivers are configured to receive the same signal from the DUT (52). As previously described, the signal from the DUT may be duplicated using an RF splitter located before the receivers in the channel. Data of the RF signal is digitized (53) and the resulting digital data is provided to and received by the DSP at (54). The data represented by the RF signal may include one or more complete or partial data packets. The one or more complete or partial data packets may be generated by the DUT simultaneously with the triggering operations of the first and second receivers. The DSP is configured to perform operations 55 through 63 to generate an EVM result for the signal.
[0041] The operations include demodulating (55) the data received at the first receiver to generate a first symbol error vector. As previously described, each first symbol error vector represents a difference between a predefined point on the constellation diagram and a first measurement point on the constellation diagram generated based at least in part on the data received by the first receiver. The operations also include demodulating (56) the data received at the second receiver to generate a second symbol error vector. As previously described, each second symbol error vector represents a difference between a predefined point on the constellation diagram and a second measurement point on the constellation diagram generated based at least in part on the data received by the second receiver. The data received by the first and second receivers is the same data representing the same one or more symbols on the constellation diagram. The data includes both correlated and uncorrelated noise. Cross-correlation is performed to reduce or remove the uncorrelated noise component from the EVM result.
[0042] Operation 57 includes cross-correlating a first symbol error vector generated based on data from the first receiver with a second symbol error vector generated based on data from the first receiver. In this regard, the first symbol error vector includes a symbol error vector generated for a point based on a first burst of data, and the second symbol error vector includes a symbol error vector generated for a point based on the first burst of data. The cross-correlation is for a point on the constellation diagram since the symbol error vector is referenced to that point. The cross-correlation result is added (59) to a total sum stored in the computer memory. The total sum represents a sum of the cross-correlation values of multiple data bursts representing the same symbol. For example, as part of process 50, the DUT may serially output multiple data bursts each representing the same symbol or symbols. Each data burst may be processed according to operations 52-59, with the cross-correlation result therefor being added to a total sum stored in the computer memory.
[0043] If all data bursts of the same symbol or symbols have not been processed (58), flow returns to operation 52. Data representing the next burst is then received by the first and second receivers as described above. In some examples, operations 52-59 may be repeated tens, hundreds, thousands, or more times. Each time operations 52-59 are repeated, the total value increases. As previously described, the more error vectors that are cross-correlated and processed as described herein, the more uncorrelated noise can be removed from the EVM result.
[0044] After all data bursts of the same symbol or symbols have been processed (58), flow proceeds to operation 60, which divides the sum by the number of bursts to produce an average symbol error. For example, if the number of bursts in a series representing the same symbol is 100, then the sum is divided by 100 to produce the average. Operation 61 determines the square root of the average symbol error. The square root of the average constitutes the average estimated EVM of the symbols. To obtain the EVM of the system, the estimated EVM of each symbol is taken into account.
[0045] More specifically, to obtain the EVM of the system, operation 62 determines the root-mean-square (RMS) of the component error vector magnitudes and the other component error vector magnitudes of the other symbols on the constellation diagram. In other words, operation 62 determines the root-mean-square of the average estimated EVM of a symbol, such as point 47 of constellation diagram 45, and the root-mean-square of the average estimated EVM of all other symbols or sets of other symbols, such as points 64, 65. The EVM results are then output (63). For example, the EVM results can be displayed on a monitor of a computing system, such as the control system of FIG. 1. In one example, the EVM results are compared to limits specified by the ATE software to determine whether the DUT passes or fails the test.
[0046] In some implementations, the data received by the first and second receivers includes a modulated signal having a plurality of carrier signals. For example, the data received at the first and second receivers may be from subcarriers of an Orthogonal Frequency Division Multiplexing (OFDM) modulated data stream. In these implementations, an error vector magnitude is determined for each of the plurality of subcarrier signals. For example, an error vector magnitude may be determined for each subcarrier of the OFDM modulated data stream.
[0047] In some implementations, the DSP 42 is configured to execute different threads contemporaneously, e.g., simultaneously. In one example, different cross-correlation operations may be executed simultaneously on different asynchronous threads executing on the DSP. This is conceptually illustrated in FIG. 5. There, digital data is received from digitizers 66 and 67, which may be the same as the DSP of FIG. 2, at a DSP 65, which may be the same as the DSP of FIG. 2. The data is distributed via module 69 to multiple threads 70 executing on the DSP. In some implementations, the number of threads executing on the DSP 65 may be equal to the number of multiple bursts. That is, data from each burst may be processed by a separate thread. In some implementations, this may not be the case. For example, the number of data bursts may be a multiple of the number of threads. At least some of the processing performed by two or more threads may be simultaneous. As shown, each thread includes a demodulator 71 and 72 for a corresponding receiver and a cross-correlation module 74. The results of each cross-correlation are added and stored to generate a total (75). The total sum is divided by the number of bursts to produce an average (76). In this example, the averages for each signal space point are summed (77) and the square root of the resulting sum is determined (78) to obtain the EVM (79).
[0048] In some implementations, the cross-correlation may be performed on two receiver channels that are on a common channel card, or on two receiver channels that are on separate (e.g., individual) channel cards. Depending on the architecture of the tester, the latter (receivers on separate channel cards) may have less correlated noise than the former. For example, referring to FIG. 2, channel 32 may be on one channel card and channel 33 may be on a different, separate channel card. The channel cards in this example are implemented using different and / or separate hardware, which may increase the amount of uncorrelated noise compared to the same channels implemented on the same channel card. Thus, the techniques described herein may be used to provide additional noise reduction compared to the corresponding noise reduction produced using two channels on the same channel card.
[0049] The techniques described herein may be implemented in chip-level devices, as described above. The techniques described herein may also be implemented when performing system-level testing, i.e. testing at the system level.
[0050] All or part of the testing system and processes described herein, and various modifications thereof, may be configured or controlled at least in part by one or more computers, such as the control system 13, using one or more computer programs tangibly embodied in one or more information carriers, such as in one or more non-transitory machine-readable storage media. The computer programs may be written in any form of programming language, including compiled or interpreted languages, and may be deployed in any form, including as a stand-alone program or as a module, part, subroutine, or other unit suitable for use in a computing environment. The computer programs may be deployed to run on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a network.
[0051] Actions relating to configuring or controlling the test systems and processes described herein may be performed by one or more programmable processors executing one or more computer programs to control or perform all or a portion of the operations described herein. All or a portion of the test systems and processes may be configured or controlled by special purpose logic circuitry such as FPGAs (field programmable gate arrays) and / or ASICs (application specific integrated circuits) or embedded microprocessor(s) localized in the hardware of the instrument.
[0052] Processors suitable for the execution of a computer program include, by way of example, both general purpose and special purpose microprocessors, and any one or more processors of any kind of digital computer. Typically, a processor receives instructions and data from a read-only or random access storage area, or both. Elements of a computer include one or more processors for executing instructions and one or more storage devices for storing instructions and data. Typically, a computer also includes, or is operatively coupled to receive data from, or transfer data to, one or more machine-readable storage media, such as a mass storage device for storing data, such as a magnetic, magneto-optical, or optical disk. Non-transitory machine-readable storage media suitable for embodying computer program instructions and data include all forms of non-volatile storage including, for example, semiconductor storage devices such as EPROM (erasable programmable read-only memory), EEPROM (electrically erasable programmable read-only memory), and flash storage devices, magnetic disks such as internal hard disks or removable disks, magneto-optical disks, and CD-ROMs (compact disc-read-only memory) and DVD-ROMs (digital versatile disc-read-only memory).
[0053] Elements of different implementations described may be combined to form other implementations not specifically described above. Elements may be removed from the systems described without adversely affecting their operation or the operation of the system in general. Additionally, various separate elements may be combined into one or more individual elements to perform the functions described herein.
[0054] Other implementations not specifically described herein are within the scope of the following claims.
Claims
1. 1. A method for determining error vector magnitude performed using automatic test equipment (ATE), comprising: a first receiver of the ATE receiving data from a device under test (DUT); one or more processing devices demodulating the data received at the first receiver to generate first symbol error vectors, each first symbol error vector representing a difference between a predefined point on a constellation diagram and a first measurement point on the constellation diagram generated based at least in part on the data received by the first receiver; a second receiver of the ATE receiving the data from the DUT, the second receiver being different from the first receiver; demodulating, by the one or more processing devices, the data received at the second receiver to generate second symbol error vectors, each second symbol error vector representing a difference between the predefined point on the constellation diagram and a second measurement point on the constellation diagram generated based at least in part on the data received by the second receiver; the one or more processing devices determining the error vector magnitude of the data based on the first symbol error vector and the second symbol error vector; Including, the data comprises a modulated signal; A method according to claim 1, wherein determining the error vector magnitude of the data comprises cross-correlating the first symbol error vector and the second symbol error vector.
2. The method of claim 1, wherein the cross-correlation removes at least some error contributions to the data generated by at least one of the first receiver or the second receiver.
3. at least some of the error contributions include uncorrelated noise; The method of claim 2 , wherein at least a portion of the uncorrelated noise is due to one or more components of the ATE that are not common to both a first receiver and a second receiver.
4. 3. The method of claim 2, wherein cross-correlating the first symbol error vector and the second symbol error vector comprises, for each pair of a first symbol error vector and a second symbol error vector, multiplying one of the first symbol error vectors by a conjugate vector of a corresponding second symbol error vector.
5. Determining the error vector magnitude of the data comprises: (a) cross-correlating a first one of the first symbol error vectors with a second one of the second symbol error vectors for a point on the constellation diagram corresponding to a symbol to generate a result; (b) adding the results of said cross-correlating to a total sum; (c) repeating operations (a) and (b) for a plurality of bursts of said data, thereby incrementing said total following each of said plurality of bursts; and (d) dividing the sum by the number of bursts in the plurality of bursts to generate an average of the points on the constellation diagram; and (e) determining the square root of the average to obtain a component error vector magnitude for the point on the constellation diagram; (f) determining the root mean square of the component error vector magnitude and other component error vector magnitudes of other points on the constellation diagram to obtain the error vector magnitude of the data; The method of claim 1 , comprising performing the actions including:
6. the first symbol error vector comprises a symbol error vector generated for the point based on a first burst of the data; 6. The method of claim 5, wherein the second symbol error vector comprises a symbol error vector generated for the point based on the first burst of the data.
7. the one or more processing devices include a digital signal processor; The method of claim 5 , wherein different cross-correlation operations are performed simultaneously in different asynchronous threads running on the digital signal processor.
8. the data includes one or more complete or partial data packets; The method of claim 5 , wherein the one or more complete or partial data packets are generated by the DUT simultaneously upon triggering of the first receiver and the second receiver.
9. The method of claim 1 , wherein the data comprises a digitally modulated signal having a plurality of carrier signals, and an error vector magnitude is determined for each of the plurality of carrier signals.
10. 2. The method of claim 1 , wherein the data received at the first receiver and the second receiver is from subcarriers of an orthogonal frequency-division multiplexing (OFDM) modulated data stream.
11. The method of claim 10 , wherein the error vector magnitude is determined for each subcarrier of the OFDM modulated data stream.
12. 2. The method of claim 1 , wherein the data from the DUT is received at the first receiver and the second receiver via a splitter that receives the data from a test channel and transmits the data to each of the first receiver and the second receiver.
13. the error vector magnitude of the data is based at least in part on uncorrelated noise from at least one of the components or signals of the ATE; The method of claim 1 , wherein at least one of the components or signals is not common to the first receiver and the second receiver.
14. The method of claim 1 , wherein the predefined points on the signal space diagram comprise ideal points on the signal space diagram.
15. The method of claim 1 , wherein the predefined points on the signal space diagram include estimated points on the signal space diagram.
16. 1. An automatic test equipment (ATE) comprising: a first receiver for receiving data from a device under test (DUT); a second receiver for receiving the data from the DUT; one or more processing devices; Including, The one or more processing devices include: demodulating the data received at the first receiver to generate first symbol error vectors, each first symbol error vector representing a difference between a predefined point on a constellation diagram and a first measurement point on the constellation diagram generated based on at least a portion of the data received by the first receiver; demodulating the data received at the second receiver to generate second symbol error vectors, each second symbol error vector representing a difference between the predefined points on the constellation diagram and a second measurement point on the constellation diagram generated based at least in part on the data received by the second receiver; determining an error vector magnitude of the data based on the first symbol error vector and the second symbol error vector; Performing an action including the data includes a modulated signal; The determining the error vector magnitude of the data includes cross-correlating the first symbol error vector and the second symbol error vector.
17. The ATE of claim 16, wherein the cross-correlation removes at least some error contributions to the data generated by at least one of the first receiver or the second receiver.
18. at least some of the error contributions include uncorrelated noise; 20. The ATE of claim 17, wherein at least a portion of the uncorrelated noise is due to one or more components of the ATE that are not common to both a first receiver and a second receiver.
19. 20. The ATE of claim 17, wherein cross-correlating the first symbol error vector and the second symbol error vector includes, for each pair of first and second symbol error vectors, multiplying one of the first symbol error vectors by a conjugate vector of a corresponding second symbol error vector.
20. Determining the error vector magnitude of the data comprises: (a) cross-correlating a first one of the first symbol error vectors and a second one of the second symbol error vectors with respect to a point on the constellation diagram corresponding to a symbol to generate a result; (b) adding the results of said cross-correlating to a total sum; (c) repeating operations (a) and (b) for a plurality of bursts of said data, thereby incrementing said total following each of said plurality of bursts; and (d) dividing the sum by the number of bursts in the plurality of bursts to generate an average of the points on the constellation diagram; and (e) determining the square root of the average to obtain a component error vector magnitude for the point on the constellation diagram; (f) determining the root mean square of the component error vector magnitude and other component error vector magnitudes of other points on the constellation diagram to obtain the error vector magnitude of the data; The ATE of claim 16 , further comprising:
21. the first symbol error vector comprises a symbol error vector generated for the point based on a first burst of the data; 21. The ATE of claim 20, wherein the second symbol error vector comprises a symbol error vector generated for the point based on the first burst of the data.
22. the one or more processing devices include a digital signal processor; 21. The ATE of claim 20, wherein different cross-correlation operations are performed simultaneously in different asynchronous threads running on the digital signal processor.
23. the data comprises one or more complete or partial data packets; 17. The ATE of claim 16, wherein the one or more complete or partial data packets are generated by the DUT upon triggering of the first receiver and the second receiver.
24. 20. The ATE of claim 16, wherein the data comprises a digitally modulated signal having a plurality of carrier signals, and an error vector magnitude is determined for each of the plurality of carrier signals.
25. 17. The ATE of claim 16, wherein the data received at the first receiver and the second receiver is from subcarriers of an orthogonal frequency-division multiplexing (OFDM) modulated data stream.
26. 26. The ATE of claim 25, wherein the error vector magnitude is determined for each subcarrier of the OFDM modulated data stream.
27. 17. The ATE of claim 16, wherein the data from the DUT is received at the first receiver and the second receiver via a splitter that receives the data from a test channel and transmits the data to each of the first receiver and the second receiver.
28. the error vector magnitude of the data is based at least in part on uncorrelated noise from at least one of the components or signals of the ATE; The ATE of claim 16 , wherein at least one of the components or signals is not common to the first receiver and the second receiver.
29. The ATE of claim 16 , wherein the predefined points on the signal space diagram comprise ideal points on the signal space diagram.
30. The ATE of claim 16 , wherein the predefined points on the signal space diagram comprise estimated points on the signal space diagram.
31. One or more non-transitory machine-readable storage media storing instructions executable by one or more processing devices, the instructions comprising: demodulating data received from a device under test (DUT) with a first receiver of automatic test equipment (ATE) to generate first symbol error vectors, each first symbol error vector representing a difference between a predefined point on a constellation diagram and a first measurement point on the constellation diagram generated based at least in part on the data received by the first receiver; demodulating the data received at a second receiver of the ATE from the DUT to generate second symbol error vectors, each second symbol error vector representing a difference between the predefined point on the constellation diagram and a second measurement point on the constellation diagram generated based at least in part on the data received by the second receiver; determining an error vector magnitude of the data based on the first symbol error vector and the second symbol error vector; Performing an action including the data comprises a modulated signal; 4. One or more non-transitory machine-readable storage media, wherein determining the error vector magnitude of the data includes cross-correlating the first symbol error vector and the second symbol error vector.
Citation Information
Patent Citations
Signal measuring device and semiconductor testing device
JP2008122079A
Mobile communication terminal test apparatus, and test result display method
JP2011130086A
ATE for detecting DUT signal characteristics
JP2014521090A