High-resolution time-domain reflectivity method

The high-resolution time-domain reflectometry method using differential curves addresses the resolution limitations of current systems by transmitting controlled pulses to accurately detect and measure short discontinuities in transmission lines.

JP2026522839APending Publication Date: 2026-07-09INTERNATIONAL BUSINESS MACHINE CORPORATION

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
INTERNATIONAL BUSINESS MACHINE CORPORATION
Filing Date
2024-03-24
Publication Date
2026-07-09

AI Technical Summary

Technical Problem

Current time-domain reflectometry systems have limited resolution, unable to detect discontinuities shorter than the rise time of their pulses, particularly in printed circuit boards, due to rise times of 5-15 picoseconds and increased dispersion, making it difficult to resolve discontinuities shorter than 30 mils.

Method used

A high-resolution time-domain reflectometry method involving the transmission of two separate pulses with controlled delays, capturing and analyzing waveforms to generate differential curves, specifically third-order derivative curves, to identify and calculate the length of discontinuities in transmission lines.

Benefits of technology

Enables the precise detection and measurement of discontinuities in transmission lines shorter than the rise time of conventional pulses by analyzing third-order derivative curves, overcoming the limitations of current TDR systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026522839000001_ABST
    Figure 2026522839000001_ABST
Patent Text Reader

Abstract

A computer implementation method for performing a high-resolution time-domain reflectivity method is provided. The embodiment includes the steps of: transmitting a first pulse in a transmission line; transmitting a second pulse in the transmission line, wherein the second pulse is transmitted after the first pulse by a delay; and acquiring a plurality of waveforms by capturing and measuring the reflection of the transmitted pulses, wherein the delays corresponding to each of the plurality of waveforms are different. The embodiment also includes the step of identifying a discontinuity in the transmission line based at least partially on the plurality of waveforms. Based on the determination that the transmission line contains a discontinuity, the embodiment also includes the steps of calculating a third-order derivative curve for each of the plurality of waveforms; and calculating the length of the discontinuity in the transmission line based on the third-order derivative curve. The embodiment also includes the step of creating a notification indicating the location and length of the discontinuity in the transmission line.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to methods and systems for performing time domain reflectometry, more specifically, high-resolution time domain reflectometry.

[0002] Time domain reflectometry is a technique used in electronics and telecommunications to measure and analyze the characteristics of transmission lines, cables, and other electrical components. It is particularly useful for determining the location and nature of faults or disruptions in these components. The underlying principle of time domain reflectometry is based on the measurement of reflections that occur when an electrical pulse is transmitted along a conductor or transmission line. When the pulse encounters a change in impedance, such as a fault, open circuit, or termination, a portion of the pulse is reflected back towards the source. By analyzing the time delay and magnitude of these reflections, useful information about the electrical characteristics of the transmission line can be obtained.

[0003] Generally, time domain reflectometry involves transmitting a short electrical pulse along the conductor or transmission line being tested. The reflected pulse is then captured and measured using a high-speed sampling system. By analyzing the time difference between the transmitted and reflected pulses, the distance to a fault or impedance change can be calculated. In addition, the amplitude and shape of the reflected pulse can provide insight into the nature and severity of impedance discontinuities.

[0004] Time domain reflectometry is generally used in a variety of applications, including the testing and troubleshooting of cables, connectors, printed circuit boards, and other components used in electrical communication, networking, power distribution, and industrial systems. It enables the rapid and accurate identification of faults such as open circuits, short circuits, impedance, mismatches, cable breaks, or water ingress.

[0005] While time-domain reflectivity is a useful tool for characterizing and diagnosing the integrity and performance of electrical systems, currently available time-domain reflectivity systems have limited resolution, which restricts their ability to detect discontinuities shorter than the rise time (in propagation time) of the TDR pulse. [Overview of the project]

[0006] Embodiments of the present disclosure relate to a computer implementation method for performing a high-resolution time-domain reflectance method. In one embodiment, the computer implementation method includes the steps of: transmitting a first pulse in a transmission line; transmitting a second pulse in the transmission line, wherein the second pulse is transmitted after the first pulse by a delay; and acquiring a plurality of waveforms by capturing and measuring the reflection of the transmitted pulse, wherein the delays corresponding to each of the plurality of waveforms are different. The method also includes the step of identifying a discontinuity in the transmission line based at least partially on the plurality of waveforms. Based on the determination that the transmission line contains the discontinuity, the method also includes the steps of: calculating a third-order derivative curve for each of the plurality of waveforms; and calculating the length of the discontinuity in the transmission line based on the third-order derivative curve. The method further includes the step of creating a notification indicating the location and length of the discontinuity in the transmission line.

[0007] In addition to one or more of the features described herein, the length of a transmission line discontinuity includes the step of identifying a third derivative curve from a third derivative curve having the smallest interpeak amplitude at the location of the discontinuity, wherein the length of the discontinuity is calculated based on the associated delay of the identified third derivative curve.

[0008] In addition to one or more of the features described herein, the length of the discontinuity is calculated by dividing the associated delay of the identified third derivative curve by 2 and multiplying it by the propagation velocity of the first pulse.

[0009] In addition to one or more of the features described herein, the trained machine learning system is configured to identify the third derivative curve from the third derivative curve having the smallest interpeak amplitude at the location of the discontinuity.

[0010] Embodiments of the present disclosure relate to a computing system having a memory having computer-readable instructions, and one or more processors for executing computer-readable instructions. Computer-readable instructions controlling one or more processors to perform operations including a procedure for transmitting a first pulse in a transmission line, a procedure for transmitting a second pulse in the transmission line, wherein the second pulse is transmitted after the first pulse by a delay, and a procedure for acquiring a plurality of waveforms by capturing and measuring the reflection of the transmitted pulses, wherein the delays corresponding to each of the plurality of waveforms are different. The operations also include a procedure for identifying a discontinuity in the transmission line based at least partially on the plurality of waveforms. Based on the determination that the transmission line contains a discontinuity, the operations include a step of calculating a third-order derivative curve for each of the plurality of waveforms, and a step of calculating the length of the discontinuity in the transmission line based on the third-order derivative curve. The operations also include a step of creating a notification indicating the location and length of the discontinuity in the transmission line.

[0011] In addition to one or more of the features described herein, the determination that the transmission line includes the discontinuity is based on the determination that the plurality of waveforms have a point where the waveform transitions from flat to having a positive slope.

[0012] In addition to one or more of the features described herein, the step of calculating the length of the discontinuity in the transmission line includes identifying a third derivative curve having the smallest interpeak amplitude at the location of the discontinuity, wherein the length of the discontinuity is calculated based on the associated delay of the identified third derivative curve.

[0013] In addition to one or more of the features described herein, the length of the discontinuity is calculated by dividing the associated delay of the identified third-order differential curve by 2 and multiplying it by the propagation velocity of the first pulse.

[0014] Embodiments of the present disclosure relate to a computer program product comprising a computer-readable storage medium in which program instructions are embodied. A program instruction executable by a processor causes the processor to perform an operation which includes a procedure for transmitting a first pulse in a transmission line, a procedure for transmitting a second pulse in the transmission line, wherein the second pulse is transmitted after the first pulse by a delay, and a procedure for acquiring a plurality of waveforms by capturing and measuring the reflection of the transmitted pulses, wherein the delays corresponding to each of the plurality of waveforms are different. The operation also includes a procedure for identifying a discontinuity in the transmission line based at least partially on the plurality of waveforms. Based on the determination that the transmission line contains a discontinuity, the operation includes a step of calculating a third-order derivative curve for each of the plurality of waveforms, and a step of calculating the length of the discontinuity in the transmission line based on the third-order derivative curve. The operation also includes a step of creating a notification indicating the location and length of the discontinuity in the transmission line.

[0015] In addition to one or more of the features described herein, the step of calculating the length of a transmission line discontinuity includes identifying a third derivative curve from which the third derivative curve has the smallest interpeak amplitude at the location of the discontinuity, wherein the length of the discontinuity is calculated based on the associated delay of the identified third derivative curve.

[0016] In addition to one or more of the features described herein, the length of the discontinuity is calculated by dividing the associated delay of the identified third-order differential curve by 2 and multiplying it by the propagation velocity of the first pulse.

[0017] Embodiments of the present disclosure relate to a computer implementation method for performing a high-resolution time-domain reflectance method. In one embodiment, the computer implementation method includes the steps of: transmitting a first pulse in a transmission line; transmitting a second pulse in the transmission line, wherein the second pulse is transmitted after the first pulse by a delay; and acquiring a plurality of waveforms by capturing and measuring the reflection of the transmitted pulses, wherein each of the plurality of waveforms has a different delay. The method also includes the steps of: calculating a differential curve for each of the plurality of waveforms; calculating the length of the discontinuity in the transmission line based at least in part on the differential curve; and creating a notification indicating the location and length of the discontinuity in the transmission line.

[0018] In addition to one or more of the features described herein, the differential curve comprises a third-order differential curve.

[0019] Embodiments of the present disclosure relate to a computer implementation method for performing a high-resolution time-domain reflectance method. In one embodiment, the computer implementation method includes the steps of: a) transmitting a first pulse on a transmission line; b) transmitting a second pulse on the transmission line, wherein the second pulse is transmitted after the first pulse by a delay; and c) capturing and measuring the reflection of the transmitted pulses, in order to create a plurality of waveforms, including the waveform. The method further includes the step of iterating through steps a, b, and c using a plurality of different values ​​for the delay to create a plurality of waveforms, including the waveform. The method further includes the step of identifying a discontinuity in the transmission line based at least partially on the plurality of waveforms. Based on the determination that the transmission line contains a discontinuity, the method includes the steps of calculating a third-order derivative curve for each of the plurality of waveforms, and calculating the length of the discontinuity in the transmission line based at least partially on the third-order derivative curve. The method also includes the step of creating a notification indicating the location and length of the discontinuity in the transmission line.

[0020] In addition to one or more of the features described herein, the determination that a transmission line contains discontinuities is based on the determination that multiple waveforms have points where the waveforms transition from flat to having a positive slope.

[0021] In addition to one or more of the features described herein, the step of calculating the length of the discontinuity of the transmission line includes identifying a third-order differential curve from a third-order differential curve having a minimum peak-to-peak amplitude at the position of the discontinuity, where the length of the discontinuity is calculated based on the associated delay of the identified third-order differential curve.

[0022] In addition to one or more of the features described herein, the length of the discontinuity is calculated by dividing the associated delay of the identified third-order differential curve by 2 and multiplying the result by the propagation speed of the first pulse.

[0023] Additional technical features and advantages are realized through the techniques of the present disclosure. Embodiments and aspects of the present disclosure are described in detail herein and are considered to be part of the claimed subject matter. For a better understanding, please refer to the detailed description and the drawings.

Brief Description of the Drawings

[0024] The details of the exclusive rights described herein are particularly pointed out and are clearly claimed in the claims at the conclusion of the specification. The above and other features and advantages of the embodiments of the present disclosure will become apparent from the following detailed description when read in conjunction with the accompanying drawings.

[0025] [Figure 1] FIG. is a block diagram of an exemplary computer system for use in conjunction with one or more embodiments of the present disclosure.

[0026] [Figure 2] FIG. shows a block diagram of components of a machine learning training and inference system according to one or more embodiments of the present disclosure.

[0027] [Figure 3] FIG. shows a block diagram of a system for performing a high-resolution time-domain reflectometry method according to one or more embodiments of the present disclosure.

[0028] [Figure 4] According to one or more embodiments of the present disclosure, a schematic diagram of a system for performing high-resolution time-domain reflectometry is shown.

[0029] [Figure 5] According to one or more embodiments of the present disclosure, it is a graph showing a plurality of reflected waveforms of a transmission line having discontinuities.

[0030] [Figure 6] According to one or more embodiments of the present disclosure, it is a graph showing a plurality of first derivative curves of the reflected waveforms in FIG. 5.

[0031] [Figure 7] According to one or more embodiments of the present disclosure, it is a graph showing a plurality of second derivative curves of the reflected waveforms in FIG. 5.

[0032] [Figure 8] According to one or more embodiments of the present disclosure, it is a graph showing a plurality of third derivative curves of the reflected waveforms in FIG. 5.

[0033] [Figure 9] According to one or more embodiments of the present disclosure, a flowchart of a method for performing high-resolution time-domain reflectometry is shown.

[0034] [Figure 10] According to one or more embodiments of the present disclosure, a flowchart of a method for performing high-resolution time-domain reflectometry is shown.

Embodiments for Carrying Out the Invention

[0035] As described above, time-domain reflectometry (TDR) is used to characterize the impedance of a signal path from source to load. TDR involves transmitting short electrical pulses along the conductor or transmission line being tested. The reflected pulses are then captured and measured using a high-speed sampling system. By analyzing the time difference between the transmitted and reflected pulses, the distance to a fault or the change in impedance can be calculated. In general, time-domain reflectometers are limited in their resolution by the rise time of their pulse generators. That is, discontinuities in a transmission line where the electrical length is shorter than the rise time cannot be reliably detected by current time-domain reflectometers.

[0036] Current state-of-the-art pulse generators used in TDRs have rise times of approximately 5–15 picoseconds (ps). In addition, due to dispersion along the transmission line, the length of the rise time increases along the transmission line. In some printed circuit boards (PCBs), the typical propagation speed is approximately 6.67 mils (169.418 micrometers) / ps (i.e., one-thousandth of an inch (25.4 micrometers) per picosecond). As a result, discontinuities in PCBs shorter than 30 mils (762 micrometers) are difficult to resolve because the length of the discontinuity (30 mils (762 micrometers)) divided by the propagation speed (6.67 mils (169.418 micrometers) / ps) is 4.5 ps, which is smaller than the rise time of 5 ps.

[0037] In exemplary embodiments, a system and method for performing a high-resolution time-domain reflectivity method are provided. In exemplary embodiments, the high-resolution time-domain reflectivity method includes transmitting two separate pulses to a transmission line having a controlled delay between pulses. The reflected pulses are then captured and measured using a high-speed sampling system to create waveforms. In exemplary embodiments, a plurality of waveforms are generated, each having a different delay time between pulses. In exemplary embodiments, the location of a discontinuity in the transmission line can be identified based on an analysis of the plurality of waveforms. In one embodiment, the determination that the transmission line contains a discontinuity is based on the determination that the plurality of waveforms have a point where the waveform transitions from flat to having a positive slope.

[0038] In exemplary embodiments, a differential curve is generated for each of several waveforms and analyzed to identify the location and length of a discontinuity in the transmission line. In one embodiment, the differential curves include first, second, and third-order differential curves. In one embodiment, the analysis of the third-order differential curve is used to determine the length of the discontinuity in the transmission line. Once the location and length of the discontinuity in the transmission line are determined, a notification containing the location and length of the discontinuity is generated.

[0039] In an exemplary embodiment, a time-domain reflectometer is provided that overcomes the current limitations on identifying discontinuities whose electrical length is shorter than the rise time of the generated pulse. The time-domain reflectometer overcomes this limitation by transmitting two separate pulses to a transmission line having a controllable delay between the two pulses. The delay may be controlled by digital or analog means. The time-domain reflectometer is configured to use a high-speed sampling system to capture and measure the reflected waveform generated by the interaction of the transmitted pulse and the discontinuity in the transmission line. By analyzing the time difference between the transmitted pulse and the reflected pulse, the distance to the discontinuity or impedance change can be calculated. In addition, the time-domain reflectometer is configured to calculate the length of the discontinuity based on the differential curve of the reflected waveform.

[0040] Various aspects of this disclosure are described by explanatory text, flowcharts, block diagrams of computer systems, and / or block diagrams of machine logic included in embodiments of computer program products (CPPs). With respect to any flowchart, depending on the technology involved, operations may be performed in a different order than those shown in a given flowchart. For example, also depending on the technology involved, two operations shown in consecutive blocks of a flowchart may be performed in reverse order, as a single integrated step, simultaneously, or with at least partial time overlap.

[0041] Embodiments of a computer program product ("CPP Embodiment" or "CPP") are terms used in this disclosure to describe any set of one or more storage media ("mediums") that are collectively comprised of one or more storage devices that collectively contain machine-readable code corresponding to instructions and / or data for performing computer operations specified in a given CPP claim. "Storage device" is any tangible device capable of holding and storing instructions for use by a computer processor. Computer-readable storage media may, but are not limited to, electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, mechanical storage media, or any preferred combination thereof. Some known types of storage devices, including these media, include diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), compact disk read-only memory (CD-ROM), digital purpose disks (DVDs), memory sticks, floppy disks, mechanically encoded devices (such as pits / lands formed on the main surface of punch cards or disks), or any suitable combination of those described above. When the term "computer-readable storage medium" is used in this disclosure, it shall not be interpreted as storage in the form of a transient signal itself, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides, optical pulses passing through optical fiber cables, electrical signals communicated through wires, and / or other transmission media. As those skilled in the art will understand, data is moved at several intermittent points during the normal operation of the storage device, such as during access, defragmentation, or garbage collection; however, data is not transient while it is stored, so the foregoing does not make the storage device transient.

[0042] The computing environment 100 includes an example of an environment for executing at least some of the computer code that is involved in performing the method of the invention, such as performing a high-resolution time-domain reflectivity method 150. In addition to block 150, the computing environment 100 includes, for example, a computer 101, a wide area network (WAN) 102, an end-user device (EUD) 103, a remote server 104, a public cloud 105, and a private cloud 106. In this embodiment, the computer 101 has a processor set 110 (including processing circuits 120 and a cache 121), a communication fabric 111, volatile memory 112, persistent storage 113 (including an operating system 122 and block 150 as identified above), a peripheral device set 114 (including a user interface (UI), a device set 123, storage 124, and an Internet of Things (IoT) sensor set 125), and a network module 115. The remote server 104 includes a remote database 132. The public cloud 105 includes a gateway 130, a cloud orchestration module 131, a host physical machine set 142 [Tachibana 1], a virtual machine set 143, and a container set 144.

[0043] Computer 101 may take the form of a desktop computer, laptop computer, tablet computer, smartphone, smartwatch or other wearable computer, mainframe computer, quantum computer, or any other form of computer or mobile device that is currently known or may be developed in the future and capable of running programs, accessing networks, or querying databases such as remote database 132. As is well understood in the field of computer technology, and depending on the technology, the execution of a computer implementation may be distributed among multiple computers and / or multiple locations. On the other hand, in this description of the computing environment 100, in order to make the explanation as concise as possible, the detailed discussion focuses on a single computer, specifically computer 101. Although computer 101 is not shown in the cloud in Figure 1, it may be located in the cloud. On the other hand, computer 101 is not required to be located in the cloud, except to any extent that may be definitively shown.

[0044] The processor set 110 includes one or more computer processors of any kind currently known or to be developed in the future. The processing circuitry 120 may be distributed across multiple packages, for example, multiple interconnected integrated circuit chips. The processing circuitry 120 may implement multiple processor threads and / or multiple processor cores. The cache 121 is memory located within the processor chip package and is typically used for data or code that should be available for high-speed access by threads or cores running on the processor set 110. The cache memory is typically organized into multiple levels depending on its relative proximity to the processing circuitry. Alternatively, some or all of the cache for the processor set may be located "off-chip". In some computing environments, the processor set 110 may operate using qubits and be designed to perform quantum computing.

[0045] Computer-readable program instructions are typically loaded onto computer 101 and cause the processor set 110 of computer 101 to execute a series of operational steps, thereby realizing the computer implementation method. As a result, the instructions executed in this manner instantiate the methods specified in the flowcharts and / or descriptions of the computer implementation methods included in this document (collectively referred to as the "Methods of the Invention"). These computer-readable program instructions are stored in various types of computer-readable storage media, such as cache 121 and other storage media discussed below. The program instructions and associated data are accessed by the processor set 110 to control and direct the execution of the Methods of the Invention. In computing environment 100, at least some of the instructions for executing the Methods of the Invention may be stored in block 150 in persistent storage 113.

[0046] The communication fabric 111 is a signal conduction path that enables various components of the computer 101 to communicate with one another. Typically, this fabric is made up of switches and conductive paths, such as buses, bridges, physical input / output ports, and similar components. Other types of signal communication paths, such as optical fiber communication paths and / or wireless communication paths, may be used.

[0047] Volatile memory 112 is any type of volatile memory currently known or to be developed in the future. Examples include dynamic random-access memory (RAM) or static RAM. Volatile memory is typically characterized by random access, but this is not mandatory unless explicitly stated. In computer 101, volatile memory 112 is located in a single package and resides inside computer 101, but alternatively or additionally, volatile memory may be distributed across multiple packages and / or located externally to computer 101.

[0048] The persistent storage 113 is any form of non-volatile storage for a computer, currently known or to be developed in the future. The non-volatility of this storage means that the stored data is maintained regardless of whether power is supplied to the computer 101 and / or directly to the persistent storage 113. The persistent storage 113 may be read-only memory (ROM), but typically at least a portion of the persistent storage allows for writing, deleting, and rewriting of data. Some well-known forms of persistent storage include magnetic disks and solid-state storage devices. The operating system 122 may take several forms, such as various known proprietary operating systems or open-source portable operating system interface type operating systems that utilize a kernel. The code contained in block 150 typically includes at least some computer code involved in performing the method of the present invention.

[0049] The peripheral device set 114 includes a set of peripheral devices for the computer 101. Data communication connections between the computer 101's peripheral devices and other components may be implemented in various ways, such as Bluetooth® connections, near-field communication (NFC) connections, connections formed by cables (such as Universal Serial Bus (USB) type cables), insert-type connections (e.g., Secure Digital (SD) cards), connections formed through local area communication networks, and even connections formed through wide area networks such as the Internet. In various embodiments, the UI device set 123 may include components such as a display screen, speaker, microphone, wearable devices (such as goggles and smartwatches), keyboard, mouse, printer, touchpad, game controller, and haptic devices. Storage 124 is external storage such as an external hard drive, or insertable storage such as an SD card. Storage 124 may be persistent and / or volatile. In some embodiments, storage 124 may take the form of a quantum computing memory device for storing data in the form of qubits. In embodiments where computer 101 requires a large amount of storage (for example, when computer 101 locally stores and manages a large database), this storage may be provided by peripheral storage devices designed to store very large amounts of data, such as a storage area network (SAN) shared by multiple geographically distributed computers. The IoT sensor set 125 consists of sensors that can be used in Internet of Things applications. For example, one sensor may be a thermometer, and another may be a motion detector.

[0050] The network module 115 is a collection of computer software, hardware, and firmware that enables computer 101 to communicate with other computers via the WAN 102. The network module 115 may include hardware such as a modem or Wi-Fi signal transceiver, software for packetizing and / or depacketizing data for communication network transmission, and / or web browser software for transmitting data over the internet. In some embodiments, the network control and network forwarding functions of the network module 115 are performed on the same physical hardware device. In other embodiments (e.g., embodiments utilizing Software-Defined Networking (SDN)), the control and forwarding functions of the network module 115 are performed on physically separate devices, such that the control function manages several different network hardware devices. Computer-readable program instructions for performing the method of the present invention can typically be downloaded from an external computer or external storage device to computer 101 via a network adapter card or network interface included in the network module 115.

[0051] WAN102 is any wide area network (e.g., the Internet) that can transmit computer data over non-local distances using any technology currently known or to be developed for transmitting computer data. In some embodiments, the WAN may be replaced and / or supplemented by a local area network (LAN), such as a Wi-Fi network, designed to transmit data between devices located in a local area. The WAN and / or LAN typically include computer hardware such as copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and edge servers.

[0052] An end-user device (EUD) 103 is any computer system used and controlled by an end-user (e.g., a customer of the company operating computer 101) and can take any of the forms considered above in relation to computer 101. EUD 103 typically receives useful and valuable data from the operation of computer 101. For example, in a hypothetical case where computer 101 is designed to provide recommendations to an end-user, these recommendations would typically be transmitted from computer 101's network module 115 to EUD 103 via WAN 102. Thus, EUD 103 can display or otherwise present recommendations to the end-user. In some embodiments, EUD 103 may be a client device such as a thin client, heavy client, mainframe computer, or desktop computer.

[0053] The remote server 104 is any computer system that provides at least some data and / or functionality to computer 101. The remote server 104 may be controlled and used by the same entity that operates computer 101. The remote server 104 represents a machine that collects and stores useful data for use by other computers, such as computer 101. For example, in a hypothetical case where computer 101 is designed and programmed to provide recommendations based on historical data, this historical data may be provided to computer 101 from the remote database 132 of the remote server 104.

[0054] The public cloud 105 is any computer system available for use by multiple entities, providing on-demand availability of computer system resources and / or other computing capabilities, particularly data storage (cloud storage) and computing capabilities, without requiring direct and active management by the user. Cloud computing typically leverages resource sharing to achieve coherence and economies of scale. Direct and active management of the computing resources of the public cloud 105 is performed by the computer hardware and / or software of the cloud orchestration module 131. The computing resources provided by the public cloud 105 are typically implemented by virtual computing environments running on various computers that make up the host physical machine set 132, which is a universe of physical computers located within and / or available to the public cloud 105. The virtual computing environment (VCE) typically takes the form of virtual machines from the virtual machine set 143 and / or containers from the container set 144. These VCEs can be stored as images and transferred between and between various physical machine hosts, either as images or after VCE instantiation. The cloud orchestration module 131 manages the transfer and storage of images, deploys new VCE instantiations, and manages the active instantiation of VCE deployments. The gateway 130 is a collection of computer software, hardware, and firmware that enables the public cloud 105 to communicate over the WAN 102.

[0055] Here, some further explanation of virtualized computing environments (VCEs) is provided. A VCE can be stored as an "image." A new active instance of a VCE can be instantiated from an image. Two well-known types of VCEs are virtual machines and containers. A container is a VCE that uses operating system-level virtualization. This refers to an operating system feature where the kernel allows for the existence of multiple isolated user-space instances called containers. These isolated user-space instances typically behave like actual computers in terms of the programs running within them. Computer programs running on a normal operating system can utilize all of that computer's resources, including connected devices, files and folders, network shares, CPU power, and quantifiable hardware capabilities. However, programs running inside a container can only use the contents of the container and the devices allocated to the container; this feature is known as containerization.

[0056] The private cloud 106 is similar to the public cloud 105, except that its computing resources are available for use by a single enterprise only. While the private cloud 106 is shown as being in communication with the WAN 102, in other embodiments, the private cloud may be completely isolated from the internet and accessible only via a local / private network. A hybrid cloud is a combination of multiple clouds of different types (e.g., private, community, or public cloud types), often implemented by different vendors. Each of the multiple clouds remains a separate discrete entity, but the larger hybrid cloud architecture is bound together by standardized or proprietary technologies that enable orchestration, management, and / or data / application portability between the multiple configuration clouds. In this embodiment, both the public cloud 105 and the private cloud 106 are part of a larger hybrid cloud.

[0057] One or more embodiments described herein may utilize machine learning techniques to perform, for example, prediction and / or classification tasks. In one or more embodiments, the machine learning function may be implemented using an artificial neural network (ANN) that has the ability to be trained to perform the function. In machine learning and cognitive science, an ANN is a lineage of statistical learning models inspired by animal biological neural networks, particularly the brain. ANNs can be used to estimate or approximate systems and functions that depend on a large number of inputs. Convolutional neural networks (CNNs) are a class of deep feedforward ANNs that are particularly useful in tasks such as visual image analysis and natural language processing (NLP), but are not limited to these. Recurrent neural networks (RNNs) are another type of deep feedforward ANN and are particularly useful in tasks such as unsegmented connected handwriting recognition and speech recognition, but are not limited to these. Other types of neural networks are also known and may be used according to one or more embodiments described herein.

[0058] An ANN can be embodied as a so-called "neuromorphic" system of interconnected processor elements that act as simulated "neurons" and exchange messages with each other in the form of electronic signals. Similar to the so-called "plasticity" of synaptic neurotransmitter connections that carry messages between biological neurons, connections in an ANN that carry electronic messages between simulated neurons are provided with numerical weights corresponding to the strength or weakness of a given connection. These weights can be adjusted and tuned based on experience to enable the ANN to adapt to inputs and learn. For example, an ANN for handwritten character recognition is defined by a set of input neurons that can be activated by pixels in an input image. After being weighted and transformed according to a function determined by the network designer, the activation of these input neurons is passed on to other downstream neurons, which are often referred to as "hidden" neurons. This process is repeated until an output neuron is activated. The activated output neuron determines which character was input.

[0059] A container is a VCE that uses operating system-level virtualization. This refers to an operating system feature where the kernel allows for the existence of multiple isolated user space instances called containers. These isolated user space instances typically behave like actual computers in terms of the programs running within them. Computer programs running on a normal operating system can utilize all of that computer's resources, including connected devices, files and folders, network shares, CPU power, and quantifiable hardware capabilities. However, programs running inside a container can only use the contents of the container and the devices allocated to the container; this feature is known as containerization.

[0060] A system for training and using machine learning models is described in more detail here with reference to Figure 2. Specifically, Figure 2 shows a block diagram of the components of a machine learning training and inference system 200 according to one or more embodiments described herein. System 200 performs training 202 and inference 204. During training 202, the training engine 216 trains a model (e.g., a trained model 218) to perform tasks such as identifying curves from a given set of curves. Inference 204 is the process of implementing the trained model 218 to perform tasks such as identifying curves from a given set of curves in the context of a larger system (e.g., system 226). All or part of system 200 shown in Figure 2 may be implemented by all or a subset of the computing environment 100 in Figure 1, for example.

[0061] Training 202 begins with training data 212, which may be structured or unstructured data. According to one or more embodiments described herein, the training data 212 includes multiple sets of curves having desired properties and curves from each set. The training engine 216 receives the training data 212 and a model format 214. The model format 214 represents an untrained base model. The model format 214 may have preset weights and biases that can be adjusted during training. It should be understood that the model format 214 can be selected from many different model formats depending on the task being performed. For example, if training 202 is training a model to perform image classification, the model format 214 may be a CNN model format. Training 202 may be supervised learning, semi-supervised learning, unsupervised learning, reinforcement learning, and / or combinations thereof and / or a combination thereof. For example, supervised learning can be used to train a machine learning model to classify objects of interest in an image. To do this, the training data 212 includes labeled images containing images of objects of interest with associated labels (ground truth), and other images that do not contain objects of interest with associated labels. In this example, the training engine 216 takes training images from the training data 212 as input, makes predictions to classify the images, and compares the predictions to known labels. The training engine 216 then adjusts the model weights and / or biases based on the results of this comparison, for example, by using backpropagation. Training 202 can be run multiple times (referred to as "epochs") until a suitable model is trained (e.g., trained model 218).

[0062] Once trained, the trained model 218 can be used to perform inference 204 to perform tasks such as identifying curves from a given set of curves. The inference engine 220 applies the trained model 218 to new data 222 (e.g., real-world, non-training data). For example, if the trained model 218 is trained to classify images of a specific object, such as a chair, the new data 222 could be images of chairs that are not part of the training data 212. Thus, the new data 222 represents data that the model 218 has not touched. The inference engine 220 makes a prediction 224 (e.g., classifying an object in the images of the new data 222) and passes the prediction 224 to the system 226. Based on the prediction 224, the system 226 may perform actions, perform operations, perform analyses, and / or similar actions, including combinations and / or multiple thereof. In some embodiments, the system 226 may add and / or modify new data 222 based on the prediction 224.

[0063] According to one or more embodiments, the predictions 224 generated by the inference engine 220 are periodically monitored and validated to ensure that the inference engine 220 operates as expected. Based on the validation, additional training 202 may occur using the trained model 218 as a starting point. Additional training 202 may include all or a subset of the original training data 212 and / or new training data 212. According to one or more embodiments, training 202 includes updating the trained model 218 to account for expected changes in the input data.

[0064] Referring here to Figure 3, a block diagram of a system 300 for performing a high-resolution time-domain reflectivity method according to one or more embodiments of the present disclosure is shown. As shown, the system 300 includes a time-domain reflectometer 302 connected to a transmission line 320. The time-domain reflectometer 302 is configured to perform measurements and analyze the characteristics of the transmission line or electrical components. The transmission line 320 may be any type of conductor, such as a coaxial cable, twisted pair, or printed circuit board traces.

[0065] In an exemplary embodiment, the time-domain reflectometer 302 includes a pulse generator 304, a sampling system 306, a processing device 308, and a user interface 310. The pulse generator 304 is configured to generate short-duration electrical pulses that serve as test signals transmitted down in the transmission line 322. The pulse generator 304 generates pulses with a fast rise time and a clearly defined shape for accurate measurement. In an exemplary embodiment, the sampling system 306 is configured to capture and measure the reflection of the transmitted pulse. The sampling system 306 includes a high-speed analog-to-digital converter (ADC) and associated circuitry to rapidly sample the reflected waveform to obtain accurate time-domain measurements.

[0066] In exemplary embodiments, the user interface 310 includes a user input device that enables an operator to control the time-domain reflectometer 302, and a display that enables the user to interpret the results of the time-domain reflectometer 302. In one embodiment, the display presents the measured data to the user via one of the following: a digital display showing a time-domain waveform, a graphical representation of the reflection, or a numerical readout indicating the distance to an obstacle. In one embodiment, the user interface 310 includes a pulse-to-pulse delay selector 312 that enables an operator to control the delay between pulses. The user input device of the user interface 310, including the pulse-to-pulse delay selector 312, may take the form of buttons, knobs, a touchscreen, or a computer-based interface, depending on the particular time-domain reflectometer 302.

[0067] In an exemplary embodiment, a particular time-domain reflectometer 302 includes a processing device 308 configured to provide analytical functions such as automatic fault detection or waveform processing capabilities. In one embodiment, the processing device 308 controls the operation of a pulse generator 304 based on inputs received from a user interface 310. The processing device 308 is configured to acquire waveforms from a sampling system 306 and to calculate a differential curve for each of the waveforms. The differential curves may include first, second, and third-order differential curves. The processing device 308 is further configured to analyze the differential curves and calculate the location and / or length of discontinuities in the transmission line 320.

[0068] In an exemplary embodiment, the processing device 308 for the time-domain reflectometer 302 may be implemented in a computer 101, as shown in Figure 1. The processing device 308 may also include, or alternatively communicate with, a machine learning training and inference system 200, such as the one shown in Figure 2, which is used to perform analysis on differential curves.

[0069] Referring here to Figure 4, a schematic diagram of a system 400 for performing a high-resolution time-domain reflectance method according to one or more embodiments of the present disclosure is shown. As shown, the system 400 includes a time-domain reflectometer 402 configured to transmit pulses 401 to a transmission line 420. The transmission line 420 includes a discontinuity 422 that affects the impedance of the transmission line 420. In one embodiment, the time-domain reflectometer 402 is configured to create and optionally display a waveform 430 of the pulses 401 reflected to a display 411. In addition, the time-domain reflectometer 402 is configured to create and optionally display first-order derivative curves 440 and second-order derivative curves 450 of the waveform 430 on the display 411. In addition, the time-domain reflectometer 402 may create and display a third-order derivative curve (not shown) of the waveform 430 on the display 411.

[0070] In an exemplary embodiment, the time-domain reflectometer 402 creates and stores a plurality of reflected waveforms and their derivative curves, where each waveform and associated derivative curve corresponds to a different period of delay between the transmissions of pulses 401. In an exemplary embodiment, the time-domain reflectometer 402 is configured to calculate the location and length of the discontinuity 422 of the transmission line 420 based on the analysis of the plurality of reflected waveforms and their derivative curves.

[0071] Referring here to Figure 5, a graph 500 is shown illustrating multiple reflected waveforms of a transmission line having a discontinuity, according to one or more embodiments of the present disclosure. Each of the multiple reflected waveforms corresponds to a different delay time between transmitted pulses. As shown in graph 500, all curves generally have a flat slope up to a time of approximately 0.3265 nanoseconds (ns). Based on this data point, the location or start point of the discontinuity can be calculated by dividing 0.3265 ns by 2 (to account for the round-trip time of the pulse and its reflection) and multiplying the result by the propagation speed of the pulse transmitted in the transmission line.

[0072] In exemplary embodiments, the delay between the first and second pulses will create a destructive interference between the reflections of the first and second pulses. In one embodiment, the duration of the delay, referred herein to as the identified delay, which causes a reflection of the first pulse to completely cancel out the second pulse, can be used to calculate the length of the discontinuity in the transmission line. The length of the discontinuity in the transmission line can be calculated by dividing the identified delay by 2 and multiplying it by the propagation speed of the first pulse.

[0073] Referring here to Figure 6, a graph 600 is shown showing multiple first-order derivative curves of the reflected waveform in Figure 5, according to one or more embodiments of the present disclosure. Each of the multiple first-order derivative curves corresponds to a different delay time between transmitted pulses. As shown in graph 600, all curves generally have a flat slope up to a time of about 0.3265 nanoseconds (ns). Based on this data point, the location or start point of the discontinuity can be calculated by dividing 0.3265 ns by 2 (to account for the round-trip time of the pulse and its reflection) and multiplying the result by the propagation speed of the pulse transmitted in the transmission line. As shown in graph 600, the identified delay is approached and then surpassed (in the circled portion of the graph), and the curve changes from an increasing slope to a decreasing slope. In one embodiment, a curve with an accurately identified delay would not have any change in slope within the circled region.

[0074] Referring here to Figure 7, a graph is shown illustrating multiple second-order derivative curves of the reflected waveform in Figure 5, according to one or more embodiments of the present disclosure. Each of the multiple first-order derivative curves corresponds to a different delay time between transmitted pulses. As shown in Graph 700, the curve changes from a positive spike to a negative spike as the identified delay is approached and then surpassed (in the circled portion of the graph). In one embodiment, the curve with the identified delay will not have a spike in the circled region.

[0075] Referring here to Figure 8, a graph is shown illustrating multiple third-order derivative curves of the reflected waveform in Figure 5, according to one or more embodiments of the present disclosure. Each of the multiple first-order derivative curves corresponds to a different delay time between transmitted pulses. As the identified delay is approached and then surpassed (as shown in the circled portion of the graph), the magnitude between the peaks of the curve decreases to a minimum and then begins to increase again. In one embodiment, the identified delay is determined to be the delay corresponding to the curve that results in the smallest peak-to-peak change in amplitude.

[0076] In an exemplary embodiment, the identification of the curve that yields the smallest inter-peak change in amplitude, i.e., the determination of the identified delay, may be performed using a trained machine learning system configured to select the appropriate curve from a provided set of third-order derivative curves of the reflected waveform.

[0077] In another embodiment, the third derivative curve is displayed on the user interface of the time-domain reflectometer, and the user manually adjusts the delay using an input device such as a dial. Once the user determines that the displayed third derivative curve has the smallest inter-peak amplitude change, the corresponding delay of the third derivative curve is determined to be the identified delay.

[0078] Referring here to Figure 9, a flowchart of Method 900 for performing a high-resolution time-domain reflectance method according to one or more embodiments of the present disclosure is shown. In exemplary embodiments, Method 900 is performed by a time-domain reflectometer, such as the one shown in Figure 3.

[0079] In block 902, method 900 includes the steps of acquiring a plurality of waveforms by transmitting a first pulse on a transmission line, transmitting a second pulse on the transmission line after a delay, and capturing and measuring the reflection of the transmitted pulses. In an exemplary embodiment, each of the plurality of waveforms corresponds to a different delay value selected from a range of delay values. The range of delay values ​​is specified by the user of the time-domain reflectometer. In an exemplary embodiment, the user may also specify the step size of the delay value to be tested. In one embodiment, the delay value between transmitted pulses is controlled digitally by the time-domain reflectometer. In another embodiment, the time-domain reflectometer may use an analog device to control the delay value between transmitted pulses.

[0080] In block 904, method 900 includes the step of identifying a discontinuity in a transmission line based at least partially on a plurality of waveforms. In one embodiment, the determination that a transmission line contains a discontinuity is based on the determination that the plurality of waveforms have a point where the waveform transitions from flat to having a positive slope. In an exemplary embodiment, the location of the discontinuity is calculated by dividing the time associated with the point on the curve by 2 and multiplying it by the propagation speed of the first pulse. As used herein, the location of the discontinuity refers to the starting point of the discontinuity in the transmission line.

[0081] In block 906, method 900 includes the step of calculating a third derivative curve for each of a plurality of waveforms. Next, in block 908, method 900 includes the step of calculating the length of the discontinuity in the transmission line based at least partially on the third derivative curves. In one embodiment, the step of calculating the length of the discontinuity in the transmission line includes the step of identifying a third derivative curve from which the third derivative curve has the smallest inter-peak amplitude at the location of the discontinuity, where the length of the discontinuity is calculated based on the delay associated with the identified third derivative curve. In one embodiment, the length of the discontinuity is calculated by dividing the associated delay of the identified third derivative curve by 2 and multiplying it by the propagation speed of the first pulse. In an exemplary embodiment, a trained machine learning system is configured to identify a third derivative curve from which the third derivative curve has the smallest inter-peak amplitude at the location of the discontinuity. In block 910, method 900 includes the step of creating a notification indicating the location and length of the discontinuity in the transmission line.

[0082] Referring here to Figure 10, a flowchart of Method 1000 for performing a high-resolution time-domain reflectance method according to one or more embodiments of the present disclosure is shown. In exemplary embodiments, Method 1000 is performed by a time-domain reflectometer, such as the one shown in Figure 3.

[0083] In block 1002, method 1000 includes the steps of acquiring a plurality of waveforms by transmitting a first pulse on a transmission line, transmitting a second pulse on the transmission line after a delay, and capturing and measuring the reflection of the transmitted pulses. In an exemplary embodiment, each of the plurality of waveforms corresponds to a different delay value selected from a range of delay values. The range of delay values ​​is specified by the user of the time-domain reflectometer. In an exemplary embodiment, the user may also specify the step size of the delay value to be tested. In one embodiment, the delay value between transmitted pulses is controlled digitally by the time-domain reflectometer. In another embodiment, the time-domain reflectometer may use an analog device to control the delay value between transmitted pulses.

[0084] In block 1004, method 1000 includes the step of calculating a third derivative curve for each of a plurality of waveforms. Next, in block 1006, method 1000 includes the step of calculating the length of the discontinuity in the transmission line based at least in part on the third derivative curves. In one embodiment, the step of calculating the length of the discontinuity in the transmission line includes the step of identifying a third derivative curve from which the smallest interpeak amplitude is located at the location of the discontinuity, where the length of the discontinuity is calculated based on the delay associated with the identified third derivative curve. In one embodiment, the length of the discontinuity is calculated by dividing the associated delay of the identified third derivative curve by 2 and multiplying it by the propagation speed of the first pulse. Method 1000 also includes the step of creating a notification indicating the location and length of the discontinuity in the transmission line, as shown in block 1008.

[0085] Methods 900 and 1000 shown in Figures 9 and 10 respectively illustrate embodiments in which the length of a transmission line discontinuity is calculated at least partially on a third-order derivative curve. However, this disclosure is not intended to be limited to relying on a third-order derivative curve for calculating the length of a transmission line discontinuity. Rather, one or more first-order and second-order derivative curves of multiple waveforms may also be used to calculate the length of a transmission line discontinuity.

[0086] Various embodiments are described herein with reference to the relevant drawings. Alternative embodiments may be devised without departing from the scope of this disclosure. Various connections and positional relationships (e.g., above, below, adjacent, etc.) are described between elements in the following description and drawings. These connections and / or positional relationships may be direct or indirect unless otherwise specified, and this disclosure is not intended to limit them in this respect. Thus, connections between entities may refer to either direct or indirect connections, and positional relationships between entities may be direct or indirect positional relationships. Furthermore, various tasks and process steps described herein may be incorporated into additional steps or more comprehensive procedures or processes having functions not described in detail herein.

[0087] One or more of the methods described herein can be implemented using any or a combination of the following technologies: discrete logic circuits having logic gates for performing logic functions on data signals, application-specific integrated circuits (ASICs) having appropriate combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc., each of which is well known in the art.

[0088] For the sake of brevity, prior art techniques relating to the creation and use of embodiments of this disclosure may or may not be described in detail herein. In particular, various embodiments of computing systems and specific computer programs for implementing the various technical features described herein are well known. Therefore, for the sake of brevity, many prior art implementation details are mentioned only briefly herein, or are omitted entirely without providing details of well known systems and / or processes.

[0089] In some embodiments, various functions or operations may be performed at a given location and / or in connection with the operation of one or more devices or systems. In some embodiments, a portion of a given function or operation may be performed on a first device or location, and the remainder of the function or operation may be performed on one or more additional devices or locations.

[0090] The technical terms used herein are intended solely to describe specific embodiments and are not intended to limit them. Where used herein, the singular forms "a," "an," and "the" are intended to include the plural forms unless otherwise clearly indicated by the context. Where used herein, the terms "comprises" and / or "comprising" specify the presence of the described features, integers, steps, actions, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, actions, element components, and / or groups thereof.

[0091] In the following claims, the corresponding structures, materials, actions, and equivalents of any means-plus-function element or step-plus-function element are intended to include any structures, materials, or actions for performing a function in combination with other specifically claimed elements. This disclosure is presented for illustrative and explanatory purposes, but is not intended to be comprehensive or to limit oneself to the disclosed forms. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of this disclosure. The embodiments have been selected and described to best illustrate the principles and practical applications of this disclosure and to enable those skilled in the art to understand this disclosure in terms of various embodiments with various modifications suited to specific intended uses.

[0092] The diagrams shown herein are illustrative. Many modifications can be made to the diagrams or the steps (or actions) described herein without departing from the spirit of this disclosure. For example, actions can be performed in a different order, or actions can be added, deleted, or modified. Also, the term “coupled” means that there is a signal path between two elements, and does not imply a direct connection between elements that do not have an intervening element / connection between them. All of these variations are considered part of this disclosure.

[0093] The following definitions and abbreviations are used for the purposes of the claims and interpretation of this specification. Where used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having,” “contains,” or “containing,” or any other variation thereof, are intended to cover non-exclusive inclusion. For example, a composition, mixture, process, method, article, or apparatus containing a list of elements is not necessarily limited to those elements alone, and may include other elements not expressly listed or that are inherent to such composition, mixture, process, method, article, or apparatus.

[0094] Furthermore, the term “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment or design described herein as “exemplary” is not necessarily construed to be preferable or advantageous to other embodiments or designs. The terms “at least one” and “one or more” are understood to include any integer greater than or equal to 1, i.e., 1, 2, 3, 4, etc. The term “multiple” is understood to include any integer greater than or equal to 2, i.e., 2, 3, 4, 5, etc. The term “connection” may include both indirect and direct “connections.”

[0095] The terms “about,” “substantially,” and “approximately,” and their variations, are intended to include the degree of error associated with measurements of a particular quantity based on equipment available at the time of filing this application. For example, “about” may include a range of ±8%, 5%, or 2% of a given value.

[0096] This disclosure may be a system, method, or computer program product, or combination thereof, with any possible level of integration of technical details. A computer program product may include a computer-readable storage medium (or more mediums) having computer-readable program instructions thereon for causing a processor to perform aspects of this disclosure.

[0097] A computer-readable storage medium can be a tangible device capable of holding and storing instructions for use by an instruction execution device. A computer-readable storage medium may be, but is not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination thereof. A non-exclusive list of more specific examples of computer-readable storage media includes, namely, portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital multipurpose disks (DVDs), memory sticks, floppy disks, mechanically encoded devices such as punch cards or grooved raised structures on which instructions are recorded, and any suitable combination thereof. When used herein, computer-readable storage media should not be interpreted as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses passing through optical fiber cables), or electrical signals transmitted through electric wires.

[0098] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to each computing / processing device, or to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface within each computing / processing device receives computer-readable program instructions from the network and transfers them for storage in a computer-readable storage medium within each computing / processing device.

[0099] The computer-readable program instructions for performing the operations of the Disclosure may be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuits, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk® or C++, and procedural programming languages ​​such as the C programming language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or wide area network (WAN), and the connection may be made to an external computer (for example, via the Internet using an Internet service provider). In some embodiments, for example, an electronic circuit including a programmable logic circuit, a field-programmable gate array (FPGA), or a programmable logic array (PLA) may execute computer-readable program instructions by personalizing the electronic circuit using state information of computer-readable program instructions in order to perform an aspect of the present disclosure.

[0100] Aspects of the present disclosure are described herein with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present disclosure. It will be understood that each block in the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.

[0101] These computer-readable program instructions may be provided to the processor of a general-purpose computer, a dedicated computer, or other programmable data processing device to generate a machine, and as a result, instructions executed via the processor of the computer or other programmable data processing device create means for implementing functions / operations specified in one or more blocks of a flowchart and / or block diagram. These computer-readable program instructions may also be stored in a computer-readable storage medium on which the instructions are stored, which can instruct computers, programmable data processing devices, and / or other devices to function in a particular manner, such that the storage medium on which the instructions are stored has a product containing instructions that implements modes of functions / operations specified in one or more blocks of a flowchart and / or block diagram.

[0102] Computer-readable program instructions may also be loaded into a computer, other programmable data processing device, or other device to perform a series of operational steps on the computer, other programmable device, or other device, thereby generating a computer implementation process in which the instructions executed on the computer, other programmable device, or other device implement the functions / operations specified in one or more blocks of a flowchart and / or block diagram.

[0103] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, segment, or portion of instructions containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions described in the blocks may occur in an order different from the order shown in the drawings. For example, two blocks shown consecutively may actually be executed substantially simultaneously, or blocks may, in some cases, be executed in reverse order depending on the functions involved. You will also notice that each block in the block diagram and / or flowchart diagram, and combinations of blocks in the block diagram and / or flowchart diagram, may be implemented by a dedicated hardware-based system that performs a specified function or operation, or implements a combination of dedicated hardware and computer instructions.

[0104] The descriptions of the various embodiments of this disclosure have been presented for illustrative purposes only and are not intended to be comprehensive or limitless to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the embodiments described. The terminology used herein has been selected to best describe the principles, practical applications, or technical improvements to the technologies available on the market, or to enable other persons skilled in the art to understand the embodiments described herein.

Claims

1. In the step of acquiring multiple waveforms, each of the multiple waveforms is: The stage of transmitting the first pulse on the transmission line; The step of transmitting a second pulse in the transmission line, wherein the second pulse is transmitted after the first pulse by a delay; and The step of capturing and measuring the reflection of the transmitted pulse, wherein the delay corresponding to each of the plurality of waveforms is different Obtained by; A step of identifying discontinuities in the transmission line based at least partially on the plurality of waveforms; Based on the determination that the transmission line includes the discontinuity: A step of calculating a third-order differential curve for each of the aforementioned plurality of waveforms; and A step of calculating the length of the discontinuity in the transmission line based at least partially on the third differential curve. The stage of performing; and Steps to create a notification indicating the location and length of the discontinuity in the transmission line. A method for performing a high-resolution time-domain reflectivity method, comprising the following features.

2. The method according to claim 1, wherein the plurality of waveforms correspond to a range of delay values, where the range is specified by the user.

3. The method according to claim 2, wherein the value of the delay is controlled digitally.

4. The method according to claim 1, wherein the determination that the transmission line includes the discontinuity is based on the determination that the plurality of waveforms have a point where the waveform transitions from flat to having a positive slope.

5. The method according to claim 1, wherein the step of calculating the length of the discontinuity in the transmission line includes the step of identifying a third derivative curve having the smallest interpeak amplitude at the location of the discontinuity, wherein the length of the discontinuity is calculated based on the associated delay of the identified third derivative curve.

6. The method according to claim 5, wherein the length of the discontinuity is calculated by dividing the associated delay of the identified third derivative curve by 2 and multiplying it by the propagation speed of the first pulse.

7. The method according to claim 5, wherein the trained machine learning system is configured to identify the third derivative curve from the third derivative curve having the smallest interpeak amplitude at the location of the discontinuity.

8. A computing system comprising memory having computer-readable instructions, and one or more processors for executing said computer-readable instructions, wherein the computer-readable instructions are: A procedure for acquiring multiple waveforms, where each of the multiple waveforms is: Procedure for transmitting the first pulse on a transmission line; A procedure for transmitting a second pulse in the transmission line, wherein the second pulse is transmitted after the first pulse with a delay; and A procedure for capturing and measuring the reflection of the transmitted pulse, wherein the delay corresponding to each of the plurality of waveforms is different Obtained by; A procedure for identifying discontinuities in the transmission line based at least partially on the plurality of waveforms; Based on the determination that the transmission line includes the discontinuity: A procedure for calculating a third-order differential curve for each of the aforementioned plurality of waveforms; and A procedure for calculating the length of the discontinuity in the transmission line based at least partially on the third differential curve. Procedure for performing the following; and Procedure for creating a notification indicating the location and length of the discontinuity in the transmission line. A computing system that controls one or more processors in order to perform operations including the above.

9. The computing system according to claim 8, wherein the plurality of waveforms correspond to a range of delay values, where the range is specified by the user.

10. The computing system according to claim 9, wherein the value of the delay is controlled digitally.

11. The computing system according to claim 9, wherein the determination that the transmission line includes the discontinuity is based on the determination that the plurality of waveforms have a point where the waveform transitions from flat to having a positive slope.

12. The computing system according to claim 9, wherein the procedure for calculating the length of the discontinuity in the transmission line includes the procedure for identifying a third derivative curve having the smallest interpeak amplitude at the location of the discontinuity, wherein the length of the discontinuity is calculated based on the associated delay of the identified third derivative curve.

13. The computing system according to claim 12, wherein the length of the discontinuity is calculated by dividing the associated delay of the identified third derivative curve by 2 and multiplying it by the propagation speed of the first pulse.

14. The computing system according to claim 12, wherein the trained machine learning system is configured to identify the third derivative curve from the third derivative curve having the smallest interpeak amplitude at the location of the discontinuity.

15. A computer program product comprising a computer-readable storage medium in which program instructions are embodied, wherein the program instructions are A procedure for acquiring multiple waveforms, where each of the multiple waveforms is: Procedure for transmitting the first pulse on a transmission line; A procedure for transmitting a second pulse in the transmission line, wherein the second pulse is transmitted after the first pulse with a delay; and A procedure for capturing and measuring the reflection of the transmitted pulse, wherein the delay corresponding to each of the plurality of waveforms is different Obtained by; A procedure for identifying discontinuities in the transmission line based at least partially on the plurality of waveforms; Based on the determination that the transmission line includes the discontinuity: A procedure for calculating a third-order differential curve for each of the aforementioned plurality of waveforms; and A procedure for calculating the length of the discontinuity in the transmission line based at least partially on the third differential curve. Procedure for performing the following; and Procedure for creating a notification indicating the location and length of the discontinuity in the transmission line. A computer program product that is executable by a processor in order to cause the processor to perform an operation including the following.

16. The computer program product according to claim 15, wherein the procedure for calculating the length of the discontinuity in the transmission line includes a procedure for identifying a third derivative curve from the third derivative curve having the smallest interpeak amplitude at the location of the discontinuity, wherein the length of the discontinuity is calculated based on the associated delay of the identified third derivative curve.

17. The computer program product according to claim 16, wherein the length of the discontinuity is calculated by dividing the associated delay of the identified third derivative curve by 2 and multiplying it by the propagation speed of the first pulse.

18. The computer program product according to claim 16, wherein the trained machine learning system is configured to identify the third derivative curve from the third derivative curve having the smallest interpeak amplitude at the location of the discontinuity.

19. In the step of acquiring multiple waveforms, each of the multiple waveforms is: The stage of transmitting the first pulse on the transmission line; The step of transmitting a second pulse in the transmission line, wherein the second pulse is transmitted after the first pulse by a delay; and The step of capturing and measuring the reflection of the transmitted pulse, wherein the delay corresponding to each of the plurality of waveforms is different Obtained by; A step of calculating a differential curve for each of the aforementioned plurality of waveforms; A step of calculating the length of the discontinuity in the transmission line based at least partially on the differential curve; and Steps to create a notification indicating the location and length of the discontinuity in the transmission line. A method for performing a high-resolution time-domain reflectivity method.

20. The method according to claim 19, wherein the differential curve includes a third-order differential curve.

21. a) The step of transmitting the first pulse on the transmission line; b) The step of transmitting a second pulse in the transmission line, wherein the second pulse is transmitted after the first pulse by a delay; c) The step of capturing and measuring the reflection of the transmitted pulse in order to create a waveform; A step of repeatedly performing steps a, b, and c using a plurality of different values ​​for the delay in order to create a plurality of waveforms including the aforementioned waveform; A step of identifying discontinuities in the transmission line based at least partially on the plurality of waveforms; Based on the determination that the transmission line includes the discontinuity: A step of calculating a third-order differential curve for each of the aforementioned plurality of waveforms; and A step of calculating the length of the discontinuity in the transmission line based at least partially on the third differential curve. The stage of performing; and Steps to create a notification indicating the location and length of the discontinuity in the transmission line. A method for performing a high-resolution time-domain reflectivity method, comprising the following features.

22. The method according to claim 21, wherein the determination that the transmission line includes the discontinuity is based on the determination that the plurality of waveforms have a point where the waveform transitions from flat to having a positive slope.

23. The method according to claim 21, wherein the step of calculating the length of the discontinuity in the transmission line includes identifying a third derivative curve having the smallest interpeak amplitude at the location of the discontinuity, wherein the length of the discontinuity is calculated based on the associated delay of the identified third derivative curve.

24. The method according to claim 23, wherein the length of the discontinuity is calculated by dividing the associated delay of the identified third derivative curve by 2 and multiplying it by the propagation speed of the first pulse.

25. The method according to claim 23, wherein the trained machine learning system is configured to identify the third derivative curve from the third derivative curve having the smallest interpeak amplitude at the location of the discontinuity.