IP Library Granted Patent US 9,477,386
Granted Patent B2
US 9,477,386 · App. 14/257,944 · Granted Oct 25, 2016

Systems and methods for high throughput signal processing using interleaved data converters

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,477,386
App. No.
14/257,944
Granted
Oct 25, 2016
Kind
B2
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.

Claims (57)

1. A method for processing a signal, the method comprising:

configuring a programmable hardware element of a device to comprise a plurality N of processing portions, wherein the number N of processing portions is based on a processing rate of the programmable hardware element and an effective sampling rate K;

receiving, at the device, an input signal;

sampling, by an analog to digital converter (ADC) of the device, the input signal, wherein said sampling is performed in an interleaved fashion on a per sample basis at the effective sampling rate K and wherein said sampling produces a plurality N of parallel data streams, wherein the effective rate K is greater than the processing rate of the programmable hardware element, wherein each of the N data streams has a rate K/N, wherein the rate K/N is not greater than the processing rate of the programmable hardware element;

each of the N processing portions processing a respective one of the N parallel data streams in parallel, wherein said processing produces a plurality of intermediate data streams; and

combining the plurality of intermediate data streams to produce output data.

2. The method of claim 1 ,

wherein each of the N processing portions produces an intermediate data stream at rate K/N; and

wherein the output data is output at rate K.

3. The method of claim 1 ,

wherein each of the N processing portions produces an intermediate data stream at output rate O, wherein output rate O is a different rate than K/N; and

wherein the output data is output at rate O*N.

4. The method of claim 1 , further comprising

receiving user input indicating the effective sampling rate K;

determining the maximum rate R of the programmable hardware element, wherein the processing rate of the programmable hardware element is the maximum rate R;

determining the number N of the parallel data streams and the number N of the processing portions based on the maximum rate R and the received effective sampling rate K.

5. The method of claim 1 , further comprising

determining the effective sampling rate K;

receiving user input indicating a desired clock rate of the programmable hardware element, wherein the processing rate of the programmable hardware element is the received desired clock rate;

determining the number N of the parallel data streams and the number N of the processing portions based on the desired clock rate and the effective sampling rate K, such that the rate K/N is not greater than the desired clock rate.

6. The method of claim 1 , wherein the effective rate K is based on a bandwidth of the input signal.

7. A device that processes a signal, the device comprising:

an analog to digital converter (ADC) configured to:

receive in an input signal to the device; and

sample the input signal in an interleaved fashion on a per sample basis at an effective rate K, wherein said sampling produces a plurality N of parallel data streams; and

a programmable hardware element having a maximum clock rate R that is less than K, the programmable hardware element comprising:

a plurality N of processing portions, each of the N processing portions configured to process one of the N parallel data streams at a rate K/N, wherein the N parallel data streams are processed in parallel by the N processing portions; and

a combining portion configured to combine the plurality of intermediate data streams to produce output data;

wherein the number N is determined based on the maximum clock rate R and the effective rate K.

8. The device of claim 7 , wherein the effective rate K is based on a bandwidth of the input signal.

9. A method for configuring a device that includes a programmable hardware element, the method comprising:

displaying a plurality of symbols representing signal processing blocks, wherein each of the signal processing blocks is useable to configure the programmable hardware element;

receiving user input selecting a first signal processing block, wherein the first signal processing block specifies a plurality of parallel function blocks and a combiner block;

determine a sampling rate K at which to sample an input signal to be provided to the device;

determining a maximum clock rate R of the programmable hardware element;

determining a number N of the parallel function blocks to instantiate on the programmable hardware element, such that N≧K/R; and

instantiating, on the programmable hardware element, the first signal processing block comprising the N parallel function blocks and the combiner block.

10. The method of claim 9 , wherein the device includes an interleaved analog to digital converter (ADC), the method further comprising:

configuring the interleaved ADC to sample the input signal provided to the device in an interleaved fashion on a per sample basis at the sampling rate K, wherein said sampling produces N parallel outputs; and

connecting the N parallel outputs of the ADC to respective inputs of the N parallel function blocks.

11. The method of claim 10 , wherein, after said instantiating, the programmable hardware element is configured to:

process the N parallel outputs of the ADC, each of the N parallel function blocks processing a respective one of the N parallel outputs of the ADC, wherein said processing produces a plurality of intermediate data streams at rate K/N; and

combine the plurality of intermediate data streams to produce output data.

12. The method of claim 9 , wherein the determining a number N of the parallel function blocks is further based on a number of programmable resources available in the programmable hardware element for instantiating the first signal processing block.

13. The method of claim 9 , wherein each of the parallel function blocks comprises an instantiation of a signal processing function, wherein the signal processing function comprises at least one of a finite impulse response (FIR) filter, a FFT (fast Fourier transform), an IFFT (inverse FFT), a complex auto-correlation, a complex cross-correlation, a digital mixer, a matrix inverter, a matrix multiplier, and a frequency domain equalizer.

14. The method of claim 9 , wherein the determining the sampling rate K comprises receiving user input specifying the sample rate K.

15. The method of claim 9 , wherein the determining the number N of the parallel function blocks comprises receiving user input specifying the number N.

16. The method of claim 9 , further comprising

receiving user input indicating a desired clock rate C of the programmable hardware element;

wherein the determining the number N of the parallel function blocks comprises automatically selecting the number N such that N≧K/C.

17. A method for processing a signal by a device comprising a programmable hardware element, the method comprising:

processing a digital signal using a plurality of processing portions of the programmable hardware element, wherein the digital signal comprises a plurality of parallel intermediate data streams, wherein each of the processing portions processes a respective one of the parallel data streams in parallel and outputs a respective intermediate data stream at a clock rate O, wherein the clock rate O is not greater than a maximum clock rate R of the programmable hardware element;

combining the intermediate data streams to produce a plurality M of output data streams, wherein the M output data streams represent a time-interleaved signal;

converting the plurality M of output data streams to a single analog signal, wherein the converting comprises interleaving the M output data streams on a per sample basis at a rate of O*M that is greater than the maximum clock rate R of the programmable hardware element.

18. The method of claim 1 , wherein the processing rate of the programmable hardware element is a maximum rate R at which each of the processing portions is able to process data.

19. The method of claim 1 , further comprising:

configuring the N processing portions to operate at a clock rate C that is less than a maximum clock rate of the programmable hardware element, wherein the processing rate of the programmable hardware element is the clock rate C.

Assignments (5)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 057280/0028) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 065231/0466 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 052935/0001) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
Reel/Frame 065653/0463 →
SECURITY INTEREST Recorded Jun 18, 2021
From: NATIONAL INSTRUMENTS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 057280/0028 →
SECURITY INTEREST Recorded Jun 14, 2020
From: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 052935/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2014
From: RAO, YONG; AZIZ, AHSAN; MCCOY, JAMES W.
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 032790/0471 →