Abstract:
A graphical program execution environment that facilitates communication between a producer program and a consumer program is disclosed. The producer program may store data in a memory block allocated by the producer program. A graphical program may communicate with the producer program to obtain a reference to the memory block. The graphical program may asynchronously pass the reference to the consumer program, e.g., may pass the reference without blocking or waiting while the consumer program accesses the data in the memory block. After the consumer program is finished accessing the data, the consumer program may asynchronously notify the graphical program execution environment to release the memory block. The graphical program execution environment may then notify the producer program that the block of memory is no longer in use so that the producer program can de-allocate or re-use the memory block.
Abstract:
An improved quadrature modulator/demodulator (IQMD) may use two-phase quadrature local oscillator (LO) signal generation for generating 0° and 90° LO signals, and an anti-phase combiner/divider (at 0° and 180°) on the RF (radio frequency) port. The IQMD may include mixers (which may be double-balanced passive mixers) that function as downconverters when a signal is incident at their radio frequency (RF) ports, and function as upconverters when signals are incident on their intermediate frequency (IF) ports. Accordingly, the IQMD may function as an I/Q modulator by connecting digital-to-analog converters (DAC) to the differential I and Q ports, and/or it may also function as an I/Q demodulator by connecting analog-to-digital converters (ADC) to the differential I and Q ports.
Abstract:
An improved quadrature modulator/demodulator (IQMD) may use two-phase quadrature local oscillator (LO) signal generation for generating 0° and 90° LO signals, and an anti-phase combiner/divider (at 0° and 180°) on the RF (radio frequency) port. The IQMD may include mixers (which may be double-balanced passive mixers) that function as downconverters when a signal is incident at their radio frequency (RF) ports, and function as upconverters when signals are incident on their intermediate frequency (IF) ports. Accordingly, the IQMD may function as an I/Q modulator by connecting digital-to-analog converters (DAC) to the differential I and Q ports, and/or it may also function as an I/Q demodulator by connecting analog-to-digital converters (ADC) to the differential I and Q ports.
Abstract:
An engine system may include a specified number of injectors and an engine control unit (ECU) having pins to which the injectors may be coupled. The ECU may include a controller implemented in hardware, software, or combination of both, and capable of switching between different multiplexing configurations, where each multiplexing configuration includes a specified number of individual injectors coupled across corresponding pairs of pins. The controller may select one multiplexing configuration from the number of specified multiplexing configurations without requiring any hardware adjustments to be made to the injectors and/or pins. The controller may also operate the individual injectors through the corresponding pairs of pins in an active multiplexing configuration selected by the controller. In at least one multiplexing configuration, the controller may control low-side switches at certain pins of the corresponding pairs of pins, and independent high-side switches at the remaining pins of the corresponding pairs of pins.
Abstract:
Techniques are disclosed relating to use of digital predistortion in the context of full-duplex radio. In some embodiments, an apparatus includes one or more antennas and is configured to simultaneously transmit and receive wireless signals via at least partially overlapping frequency resources using the one or more antennas. In some embodiments, the apparatus includes receive chain circuitry that is configured to process both wireless signals transmitted by the apparatus via the one or more antennas and over-the-air wireless signals from one or more other computing devices. In some embodiments, the apparatus includes one or more processing elements configured to determine one or more digital predistortion parameters based on the wireless signals transmitted by the apparatus via the one or more antennas and processed by the receive chain circuitry and apply predistortion to transmitted wireless signals based on the one or more digital predistortion parameters.
Abstract:
Various embodiments are described of devices and associated methods for processing a signal using a plurality of vector signal analyzers (VSAs). An input signal may be split and provided to a plurality of VSAs, each of which may process a respective frequency band of the signal, where the respective frequency bands have regions of overlap. Each VSA may adjust the gain and phase of its respective signal such that continuity of phase and magnitude is preserved through the regions of overlap. The correction of gain and phase may be accomplished by a complex multiply with a complex calibration constant. A complex calibration constant may be determined for each VSA by comparing the gain and phase of one or more calibration tones generated with each region of overlap, as measured by each of the VSAs.
Abstract:
Various embodiments of methods and associated devices for increasing throughput in a programmable hardware element using interleaved data converters are disclosed. A device comprising a programmable hardware element may be configured to comprise a plurality N of processing portions. The device may receive an input signal, and sample the signal in an interleaved fashion, on a per sample basis, at an effective rate K, to produce N parallel data streams. The N parallel data streams may be processed in parallel by the plurality N of processing portions. Outputs of the plurality N of processing portions may be combined to produce output data. The effective rate K and/or the number N of parallel data streams may be specified by user input. Alternatively, these values may be determined automatically. For example, the effective rate K may be determined automatically based on a bandwidth of the input signal.
Abstract:
A host system may couple to a PCIe subsystem. During setup of the PCIe subsystem, the BIOS in the host system may first be informed that the devices to be coupled are not PCIe devices, and certain amount of memory is required for these devices. The BIOS may therefore not attempt to configure the devices, and may instead allocate the required memory space. When the operating system boots up, it may not attempt to configure the devices, loading a custom driver instead of an existing PCI driver to configure the bus. Once loaded, the custom driver may configure the devices, then inform the OS that there are PCIe devices in the system at the specified addresses, which may cause the OS to load and execute existing PCIe device drivers to operate/use the devices. The proprietary driver may also be used to handle traffic between the PCIe drivers and the OS.
Abstract:
A method and system for scheduling a time critical task. The system may include a processing unit, a hardware assist scheduler, and a memory coupled to both the processing unit and the hardware assist scheduler. The method may include receiving timing information for executing the time critical task, the time critical task executing program instructions via a thread on a core of a processing unit and scheduling the time critical task based on the received timing information. The method may further include programming a lateness timer, waiting for a wakeup time to obtain and notifying the processing unit of the scheduling. Additionally, the method may include executing, on the core of the processing unit, the time critical task in accordance with the scheduling, monitoring the lateness timer, and asserting a thread execution interrupt in response to the lateness timer expiring, thereby suspending execution of the time critical task.
Abstract:
System and method for optimizing a data flow diagram based on access pattern information are described. Access pattern information for a data flow diagram may be received. The data flow diagram may include a plurality of interconnected actors, e.g., functional blocks, visually indicating functionality of the data flow diagram. The access pattern information may include one or more of: input pattern information specifying cycles on which tokens are consumed by at least one of the actors, or output pattern information specifying cycles on which tokens are produced by at least one of the actors. A program that implements the functionality of the data flow diagram may be generated based at least in part on the access pattern information.