IP Library Granted Patent US 8,560,592
Granted Patent B2
US 8,560,592 · App. 12/847,717 · Granted Oct 15, 2013

Performing multiplication for a multi-channel notch rejection filter

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 8,560,592
App. No.
12/847,717
Granted
Oct 15, 2013
Kind
B2
Abstract

A system for processing sample sequences, that may include an input, a sequence of coupled registers, including an accumulator register, and first circuitry that may be coupled to the accumulator register and to the input. The input may be configured to receive a first number of sample sequences having two or more samples. To process the first number of sample sequences, the first circuitry may be configured to generate a current effective sample corresponding to the sample for each sample in each sample sequence, write the current effective sample to the accumulator register, and shift the contents of each register into a successive register in the sequence of registers. After processing, each register of at least a subset of the sequence of registers may hold a respective final effective sample that may correspond to a different position in a processed sample sequence.

Claims (58)

1. A system for processing sample sequences, the system comprising:

an input, configured to receive a first number of sample sequences, each sample sequence comprising n samples, wherein n is an integer greater than one;

a sequence of registers coupled together, and comprising an accumulator register; and

first circuitry coupled to the accumulator register and to the input, and configured to process the first number of sample sequences, wherein to process the first number of sample sequences, the first circuitry is configured to:

for each sample sequence of the first number of sample sequences:

for each sample in the respective sample sequence:

generate a current effective sample corresponding to the sample;

write the current effective sample to the accumulator register; and

shift the content of each register in the sequence of registers into a respective successive register in the sequence of registers;

wherein after the first number of sample sequences has been processed, each register of at least a subset of registers of the sequence of n registers holds a respective final effective sample, wherein each final effective sample corresponds to a different sample position in a sample sequence of the first number of sample sequences.

2. The system of claim 1 , wherein the accumulator register is a leading register in the sequence of registers.

3. The system of claim 1 ,

wherein each different sample position in a sample sequence of the first number of sample sequences corresponds to a different data channel of n data channels.

4. The system of claim 1 ,

wherein the first number corresponds to a ratio of a first frequency at which each sample of the first number of sample sequences is obtained, and a second frequency at which each effective sample is produced.

5. The system of claim 1 ,

wherein the first number of sample sequences comprise a first sample, the first sample comprising a plurality of bits;

wherein to generate the current effective sample, the first circuitry is configured to:

for each bit of at least a subset of the plurality of bits:

read data from the accumulator register;

update the data read from the accumulator register; and

write the updated data to the accumulator register.

6. The system of claim 5 ,

wherein, for a last sample bit of the at least a subset of the plurality of sample bits, the updated data is the current effective sample.

7. The system of claim 1 ,

wherein to shift the content of each register, the first circuitry is configured to send a register update signal to each register;

wherein each register in the sequence of registers is configured to load the content of a respective preceding register in the sequence of registers in response to receiving the register update signal.

8. The system of claim 1 , wherein the first circuitry is further configured to store an initial value into one or more registers of the sequence of registers for one or more of:

prior to processing a leading sample of a leading sample sequence of the first number of sample sequences; and

after the first number of sample sequences has been processed.

9. The system of claim 1 , wherein to generate the current effective sample, the first circuitry is configured to:

read a most recent effective sample corresponding to the sample from a specified register of the sequence of registers; and

generate the current effective sample based on the sample and the most recent effective sample.

10. The system of claim 9 ,

wherein the number of registers in the sequence of registers equals “n+1”; and

wherein the specified register is different from the accumulator register.

11. The system of claim 10 , wherein the specified register is the trailing register in the sequence of registers.

12. The system of claim 9 ,

wherein the number of registers in the sequence of registers is n;

wherein the specified register is the accumulator register; and

wherein in shifting the content of each register, the first circuitry is configured to shift the content of the trailing register in the sequence of registers into the leading register in the sequence of registers.

13. The system of claim 1 , wherein to generate the current effective sample, the first circuitry is further configured to:

process the sample; and

add the processed sample to the most recent effective sample to produce the current effective sample.

14. The system of claim 13 ,

wherein the first circuitry is configured to receive a coefficient; and

wherein in processing the sample, the first circuitry is configured to multiply the sample with the coefficient.

15. The system of claim 13 ,

wherein the first circuitry is further configured to:

receive a corresponding coefficient for each sample sequence of the first number of sample sequences; and

multiply the sample with the coefficient corresponding to the sample sequence, to process the sample.

16. The system of claim 15 , wherein at least two of the received coefficients have different values.

17. The system of claim 15 , wherein a sum of all the received coefficients corresponding to samples occupying a same relative position within their respective sample sequences equals to 1.

18. The system of claim 13 ,

wherein the first circuitry is further configured to:

receive a corresponding coefficient for each sample of each sample sequence of the first number of sample sequences; and

multiply the sample with the coefficient corresponding to the sample, to process the sample.

19. The system of claim 18 , wherein at least two of the received coefficients have different values.

Assignments (4)
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 →