The presently disclosed subject matter relates generally to methods and devices for input signal conversion simulation and, more particularly, to methods and devices for generating a representation of a digital signal or an analog signal from an input signal.
Electronic converters such as Analog to Digital Converters (ADCs) and Digital to Analog Converters (DACs) have enabled seamless transitions between the analog and digital domain. Owing to developments of these devices, sophisticated digital signal processing (DSP) techniques can be implemented to improve the performance of many systems. These techniques have proven to be crucial to meet the increasing data rate requirement in optical networks. In the coming years, line rates in excess of 400 Gbps are expected to be deployed to meet the growing traffic requirements.
As these bandwidths increase, new impairments arise that may severely limit the performance of high-speed systems. Therefore, new models are required to simulate such devices in the presence of these new impairments, some of which maybe frequency dependent. These impairments include quantization, timing jitter, bandwidth limitations and noise. Accordingly, there is a need for an improved method and device for accurately simulating a high-speed signal into a representation of an analog or a digital signal.
Aspects of the disclosed technology include methods and devices for input signal conversion simulation. Consistent with the disclosed embodiments, the methods can include one or more processors, devices, or databases. One exemplary method may include simulating and optimizing a digital to analog converter. The method may include a virtual digital analog converter (VDAC) receiving a representation of a digital signal from a first device. The representation of the digital signal may include a plurality of digital words. The method may also include determining an effective number of bits (ENoBDC) of the VDAC based on a noise associated with the VDAC. The noise may be related to a bandwidth of the VDAC. Next, the method may include determining a respective amplitude for each digital word. Further, for each digital word, a first amplitude correction amount according to the ENoBDC of the VDAC may be determined. The first amplitude correction amount may be applied to each respective amplitude to generate respective first corrected amplitudes. Also, the method may include determining a sampling rate of the VDAC. Next, for each digital word, a second amplitude correction amount may be determined based on the timing uncertainty of the VDAC, which may then be applied to each of the respective first corrected amplitudes to generate respective second corrected amplitudes. Further, a representation of an analog signal may be generated based at least in part on the second corrected amplitudes. Then, a filter may be applied to the representation of the analog signal, which may be outputted by the VDAC.
In some embodiments, each of the plurality of digital words has a resolution about equal to a resolution of the hardware bit architecture of the VDAC.
In some embodiments, the representation of the digital signal may include a representation of an electrical signal, an optical signal, a high-resolution digital signal, or a wireless signal.
In some embodiments, the sampling rate is a positive number.
In some embodiments, determining the second amplitude correction amount further may involve determining a time derivative of the representation of the digital signal, and multiplying the sample timing uncertainty and the time derivative of the representation of the digital signal to compute the second amplitude correction amount.
According to some embodiments, the ENoBDC of the VDAC is a positive number.
In some embodiments, ENoB of the VDAC is characterized by the formula:
wherein:
ENoBDC is the ENoB due to the first amplitude correction amount,
½ log2(1+6(2ENoB
log2|H(f)| represents a decrease in the ENoB due to the low-pass filter, and
represents an increase in the ENoB due to the suppression of noise and distortions by the low-pass filter.
Another exemplary method may include simulating and optimizing an analog to digital converter. The method may include a virtual analog digital converter (VADC) receiving a representation of an analog signal from a first device. The method may also include applying a filter to the representation of the analog signal. Next, the method may determine a sample timing uncertainty of the VADC. Further, the method may determine, for the representation of the analog signal, a first amplitude correction amount based on the sample timing uncertainty of the VADC. The first amplitude correction amount may be applied to the representation of the analog signal. Also, the method may sample the representation of the analog signal at a predetermined sampling rate, to obtain a plurality of digital samples. Each sample may have an amplitude. The method may also include determining an effective number of bits (ENoBDC) of the VADC based on a noise associated with the VADC. The noise may be related to a bandwidth of the VADC. Further, the method may determine, for each digital sample, a second amplitude correction amount according to the ENoBDC of the VADC, which may be applied to the plurality of digital samples. Finally, the method may include outputting, by the VADC, the plurality of digital samples as a representation of a digital signal.
According to some embodiments, each of the plurality of digital samples is a respective digital word having a resolution about equal to a resolution of a hardware bit architecture of the ADC.
In some embodiments, the representation of the analog signal may be an optical signal, a wireless signal, a high-resolution digital signal, or an electrical signal.
In some embodiments, the predetermined sampling rate is a positive number.
According to some embodiments, determining the first amplitude correction amount may involve: (i) determining a derivative of the representation of the analog signal; and (ii) multiplying the timing uncertainty and the derivative of the representation of the analog signal to compute the first amplitude correction amount.
In some embodiments, the ENoBDC of the VADC is a positive number.
In some embodiments, the representation of the input signal is described by an oversampled digital signal having an oversampling factor of at least 2.
In some embodiments, the ENoB of the VADC is characterized by the formula:
ENoB=ENoBDC+log2|H(f)|−½ log2(1+6(2ENoB
wherein:
ENoBDC is the ENoB characterized by the second amplitude correction,
½ log2(1+6(2ENoB
log2|H(f)| represents a decrease in the ENoB due to the low-pass filter.
Further features of the disclosed design, and the advantages offered thereby, are explained in greater detail hereinafter with reference to specific embodiments illustrated in the accompanying drawings, wherein like elements are indicated be like reference designators.
Reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, are incorporated into and constitute a portion of this disclosure, illustrate various implementations and aspects of the disclosed technology, and, together with the description, serve to explain the principles of the disclosed technology. In the drawings:
Some implementations of the disclosed technology will be described more fully with reference to the accompanying drawings. This disclosed technology can be embodied in many different forms, however, and should not be construed as limited to the implementations set forth herein. The components described hereinafter as making up various elements of the disclosed technology are intended to be illustrative and not restrictive. Many suitable components that would perform the same or similar functions as components described herein are intended to be embraced within the scope of the disclosed electronic devices and methods. Such other components not described herein can include, but are not limited to, for example, components developed after development of the disclosed technology.
It is also to be understood that the mention of one or more method steps does not imply that the methods steps must be performed in a particular order or preclude the presence of additional method steps or intervening method steps between the steps expressly identified.
Reference will now be made in detail to exemplary embodiments of the disclosed technology, examples of which are illustrated in the accompanying drawings and disclosed herein. Wherever convenient, the same references numbers will be used throughout the drawings to refer to the same or like parts.
The DAC device 130 may simulate and optimize a representation of a digital signal. The DAC device 130 may begin by receiving a representation of a digital signal from the first device 110. The representation of the digital signal may include a plurality of digital words. Each of the plurality of digital words may have a resolution about equal to a resolution of the hardware bit architecture of the DAC device 130. Further, the representation of the digital signal may be a representation of an electrical signal, an optical signal, a high-resolution digital signal, and/or a wireless signal. Also, the representation of the digital signal may be a representation of an oversampled digital signal having an oversampling factor of at least 2. The DAC device 130 may determine an effective number of bits (ENoBDC) of the DAC based on a noise associated with the DAC device 130 and/or a hardware bit architecture of the DAC device 130. The ENoBDC of the DAC device 130 may be a positive number. Also, the noise may be related to a bandwidth of the DAC device 130. Also, the DAC device 130 may determine a respective amplitude for each digital word and also determine, for each digital word, a first amplitude correction amount according to the ENoBDC of the DAC device 130.
Moreover, the DAC device 130 may apply the first amplitude correction amount to each respective amplitude to generate respective first corrected amplitudes. Also, the DAC device 130 may determine a sampling rate of the DAC device 130 and apply a multiple of the sampling rate of the DAC device 130 to each of the first corrected amplitudes. The sampling rate may a positive number. The DAC device 130 may further determine a timing uncertainty of the DAC device 130 and determine, for each digital word, a second amplitude correction amount based on the timing uncertainty of the DAC device 130. Also, the DAC device 130 may apply the second amplitude correction amount to each of the respective first corrected amplitudes to generate respective second corrected amplitudes. The second amplitude correction may be determined by: (i) determining a time derivative of the representation of the digital signal; and (ii) multiplying the sample timing uncertainty and the time derivative of the representation of the digital signal to compute the second amplitude correction amount.
Further, the DAC device 130 may generate a representation of an analog signal based at least in part on the second corrected amplitudes and apply a filter to the representation of the analog signal. The DAC device 130 may output the representation of the analog signal to the first device 110, the second device 120, and/or to another device.
Turning to the ADC device 140, the ADC device 140 may simulate and optimize a representation of an analog signal. The ADC device 140 may receive the representation of an analog signal from the first device 110. The representation of the analog signal may include a representation of an optical signal, a wireless signal, a high-resolution digital signal, and/or an electrical signal. Further, the representation of the analog signal may be described by an oversampled digital signal having an oversampling factor of at least 2. Next, the ADC device 140 apply a filter to the representation of the analog signal. The filter may be a low-pass filter. Also, the ADC device 140 may determine a sample timing uncertainty of the ADC device 140. Further, the ADC device 140 may determine, for the representation of the analog signal, a first amplitude correction amount based on the sample timing uncertainty of the ADC device 140. The ADC device 140 may apply the first amplitude correction amount to the representation of the analog signal. The ADC device 140 may further sample the representation of the analog signal at a predetermined sampling rate, to obtain a plurality of digital samples. Each sample may have an amplitude. The predetermined sampling rate may be a positive number.
Moreover, each of the plurality of digital samples may be a respective digital word having a resolution about equal to a resolution of the hardware bit architecture of the ADC device 140. Also, the ADC device 140 may determine an effective number of bits (ENoBDC) of the ADC device 140 based on a noise associated with the ADC device 140 and/or a hardware bit architecture of the ADC device 140. The ENoBDC of the ADC device 140 may be a positive number. The noise may be related to a bandwidth of the ADC device 140. The ADC device 140 may further determine, for each digital sample, a second amplitude correction amount according to the ENoBDc of the ADC device 140. The second amplitude correction may be determined by: (i) determining a time derivative of the representation of the analog signal; and (ii) multiplying the sample timing uncertainty and the time derivative of the representation of the analog signal to compute the second amplitude correction amount. The ADC device 140 may apply the second amplitude correction amount to the plurality of digital samples. Further, the ADC device 140 may output the plurality of digital samples as a representation of a digital signal to the first device 110, the second device 120, and/or another device.
In some embodiments, the ADC and/or DAC disclosed herein can be a virtual ADC (VADC) and/or virtual DAC (VDAC). In other words, the ADC and/or DAC can be simulated in a virtual environment on one or more CPUs. Such embodiments can assist in determining characteristics for a physical ADC and/or DAC for a particular application.
At 225, the first amplitude correction amount may be applied to each respective amplitude to generate respective first corrected amplitudes. Further, at 230, the sampling rate of the VDAC may be determined. At 235, a multiple of the sampling rate of the VDAC may be applied to each of the first corrected amplitudes. The multiple of the sampling rate may be an associated time scale based on the sampling rate of the VDAC. At 240, the timing uncertainty of the VDAC may be determined. For each digital word, based on the timing uncertainty of the VDAC, a second amplitude correction amount may be determined at 245. As an example, the second amplitude correction amount may be in the range of about 0 fs to 800 fs. At 250, the second amplitude correction amount may be applied to each of the respective first corrected amplitudes to generate respective second corrected amplitudes. At 255, the representation of the analog signal may be generated based at least in part on the second corrected amplitudes.
At 260, a filter is applied to the representation of the analog signal. The filter may be a low pass filter having the following values: 5th-order Gaussian; and 20 GHz bandwidth. Finally, at 265, the VDAC may output the representation of the digital signal to the first device 110, second device 120, and/or another device.
At 330, the VADC may sample the representation of the analog signal at a predetermined sampling rate, to obtain a plurality of digital samples. Of course, each sample may have an amplitude. At 335, the VDAC may determine an effective number of bits (ENoBDC) of the VADC based on a noise associated with the VADC and/or a hardware bit architecture of the VADC. Similar to the ENOBDC of VDAC mentioned above, the ENOBDC of the VADC may be, at most, the hardware bit architecture. Further, the ENOBDC of the VADC may be reduced by the effects of the noise. The noise may be related to a bandwidth of the VADC, which may be a bandwidth of about 15 to 30 GHz. As a result, the ENOBDC of the VADC may be within the range of about 0 to 8 bits, assuming a maximum bit architecture of 8 bits.
Next, at 340, the method may include determining, for each digital sample, a second amplitude correction amount according to the ENoBDC of the VADC. Further, at 345, the second amplitude correction amount to may be applied to each of the digital samples. At 350, the VADC may output the plurality of digital samples as a representation of a digital signal to the first device 110, the second device 120, and/or another device.
The computer system 500 includes a processing device 502, a main memory 504 (e.g., read-only memory (ROM), flash memory, dynamic random-access memory (DRAM) such as synchronous DRAM (SDRAM), etc.), a static memory 506 (e.g., flash memory, static random-access memory (SRAM), etc.), and a secondary memory 516 (e.g., a data storage device), which communicate with each other via a bus 508.
The processing device 502 represents one or more general-purpose processing devices such as a microprocessor, a microcontroller, a central processing unit, or the like. As non-limiting examples, the processing device 502 can be a reduced instruction set computing (RISC) microcontroller, a complex instruction set computing (CISC) microprocessor, a RISC microprocessor, very long instruction word (VLIW) microprocessor, a processor implementing other instruction sets, or one or more processors implementing a combination of instruction sets. The processing device 502 can also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. The processing device 502 is configured to execute the operations for electronically creating and trading derivative products based on one or more indices relating to volatility.
The computer system 500 can further include a network interface device 522, which is connectable to a network 130. The computer system 500 also can include a video display unit 510, i.e., a display (e.g., a liquid crystal display (LCD), a touch screen, or a cathode ray tube (CRT)), an alphanumeric input device 512 (e.g., a keyboard), a cursor control device 514 (e.g., a mouse), and a signal generation device 520 (e.g., a speaker).
The secondary memory 516 can include a non-transitory storage medium 524 on which is stored one or more sets of instructions 526 for the computer system 500 representing any one or more of the methodologies or functions described herein. For example, the instructions 526 can include instructions for implementing an asset tracking device including a power source and power management system or subsystem for a container or a trailer. The instructions 526 for the computer system 500 can also reside, completely or at least partially, within the main memory 504 and/or within the processing device 502 during execution thereof by the computer system 500, the main memory 504 and the processing device 502 also constituting computer-readable storage media.
While the storage medium 524 is shown in an example to be a single medium, the term “storage medium” should be taken to include a single medium or multiple media that store the one or more sets of instructions for a processing device. The term “storage medium” shall also be taken to include any medium that is capable of storing or encoding a set of instructions for execution by the machine that cause the machine to perform any one or more of the methodologies of the disclosure. The term “storage medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media.
ΔX may then be added to the representation of the analog signal to simulate timing jitter.
Throughout the specification and the claims, the following terms take at least the meanings explicitly associated herein, unless the context clearly dictates otherwise. The term “or” is intended to mean an inclusive “or.” Further, the terms “a,” “an,” and “the” are intended to mean one or more unless specified otherwise or clear from the context to be directed to a singular form.
In this description, numerous specific details have been set forth. It is to be understood, however, that implementations of the disclosed technology can be practiced without these specific details. In other instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description. References to “one embodiment,” “an embodiment,” “some embodiments,” “example embodiment,” “various embodiments,” “one implementation,” “an implementation,” “example implementation,” “various implementations,” “some implementations,” etc., indicate that the implementation(s) of the disclosed technology so described can include a particular feature, structure, or characteristic, but not every implementation necessarily includes the particular feature, structure, or characteristic. Further, repeated use of the phrase “in one implementation” does not necessarily refer to the same implementation, although it can.
As used herein, unless otherwise specified the use of the ordinal adjectives “first,” “second,” “third,” etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.
While certain implementations of the disclosed technology have been described in connection with what is presently considered to be the most practical and various implementations, it is to be understood that the disclosed technology is not to be limited to the disclosed implementations, but on the contrary, is intended to cover various modifications and equivalent arrangements included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
This written description uses examples to disclose certain implementations of the disclosed technology, including the best mode, and also to enable any person skilled in the art to practice certain implementations of the disclosed technology, including making and using any devices or systems and performing any incorporated methods. The patentable scope of certain implementations of the disclosed technology is defined in the claims, and can include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal language of the claims.
This application claims the benefit of, and priority under 35 U.S.C. § 119(e) to, U.S. Provisional Patent Application No. 62/701,869, entitled “Digital-to-Analog Converter Model for High Speed Optical Link Simulations,” filed Jul. 23, 2018, the contents of which are hereby incorporated by reference herein in their entirety as if fully set forth below.
Number | Name | Date | Kind |
---|---|---|---|
7173551 | Vrazel | Feb 2007 | B2 |
7307569 | Vrazel | Dec 2007 | B2 |
7323945 | Cyr | Jan 2008 | B2 |
7482887 | Cyr | Jan 2009 | B2 |
7580684 | Cyr | Aug 2009 | B2 |
8352232 | Han | Jan 2013 | B2 |
9088293 | D'Souza | Jul 2015 | B1 |
9130586 | Raz | Sep 2015 | B1 |
9654128 | Pagnanelli | May 2017 | B2 |
9837990 | Pagnanelli | Dec 2017 | B1 |
9945901 | Otte | Apr 2018 | B1 |
10014836 | Gorecki | Jul 2018 | B1 |
10277210 | Rhew | Apr 2019 | B1 |
10284145 | Sun | May 2019 | B2 |
10355706 | Stein | Jul 2019 | B1 |
10409934 | Grant | Sep 2019 | B1 |
10461764 | Paro Filho | Oct 2019 | B1 |
20020041247 | Steensgaard-Madsen | Apr 2002 | A1 |
20020167693 | Vrazel | Nov 2002 | A1 |
20040105462 | Kim | Jun 2004 | A1 |
20040247042 | Sahlman | Dec 2004 | A1 |
20050212604 | Cyr | Sep 2005 | A1 |
20050227627 | Cyr | Oct 2005 | A1 |
20050261797 | Cyr | Nov 2005 | A1 |
20070222285 | Ribbens | Sep 2007 | A1 |
20070222654 | Vrazel | Sep 2007 | A1 |
20090079524 | Cyr | Mar 2009 | A1 |
20090091958 | Kao | Apr 2009 | A1 |
20120280844 | Abe | Nov 2012 | A1 |
20140043177 | Pagnanelli | Feb 2014 | A1 |
20140159931 | Redfern | Jun 2014 | A1 |
20140369451 | Wu | Dec 2014 | A1 |
20150091745 | Pagnanelli | Apr 2015 | A1 |
20150171890 | Pagnanelli | Jun 2015 | A1 |
20160072520 | Pagnanelli | Mar 2016 | A1 |
20160147920 | Goulkhah | May 2016 | A1 |
20160322982 | Pagnanelli | Nov 2016 | A1 |
20160373125 | Pagnanelli | Dec 2016 | A1 |
20170170838 | Pagnanelli | Jun 2017 | A1 |
20170201268 | Sharma | Jul 2017 | A1 |
20170353337 | Chakraborty | Dec 2017 | A1 |
20180198661 | Palmers | Jul 2018 | A1 |
20180309408 | Sun | Oct 2018 | A1 |
20180323798 | Liu | Nov 2018 | A1 |
Number | Date | Country | |
---|---|---|---|
20200028517 A1 | Jan 2020 | US |
Number | Date | Country | |
---|---|---|---|
62701869 | Jul 2018 | US |