# US 10,142,134 B2 · Multi-rate finite impulse response filter

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,142,134 B2
- Document ID: US10142134B2
- Status: Granted
- Kind: B2
- Application number: 15/456,778
- Filed: 2017-03-13
- Published: 2018-09-13
- Granted: 2018-11-27
- Earliest claimed: 2017-03-13
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Jiangyuan Li; Xun Zhang; Jianghui Su
- Web page: https://patentgrep.com/patent/US10142134B2

## CPC

- H04L 25/03025: {using a two-tap delay line}
- H04L 47/25: with rate being modified by the source upon detecting a change of network conditions
- H04Q 2213/13363: Pulse stuffing, bit stuffing
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04Q: SELECTING (switches, relays, selectors H01H; wireless communication networks H04W)

## Abstract

Embodiments include systems and methods for implementing a multi-rate FIR by using rate-dependent bit stuffing on the cursor, while using rate-independent (e.g., full-rate) spacing on the pre- and post-cursor. For example, in the FIR data path, the cursor bit output is generated using bit stuffing, depending on a selected rate mode (e.g., full-rate, half-rate, quarter-rate, eighth-rate, etc.), but the spacing of the pre-cursor, cursor, and post-cursor are maintained at 1 UI apart (i.e., the full-rate spacing) for all rate modes. Such an approach can appreciably reduce complexity of the logic and can appreciably relieve the critical timing path.

## Claims

### Claim 1

A method for finite impulse response (FIR) output generation, the method comprising:
receiving a stream of input bits;
receiving a rate select signal that indicates a selected rate of 1/N times a full data rate, wherein N is an integer;
in response to the receiving of the stream of input bits and to the receiving of the rate select signal, sequentially repeating each input bit in the stream of input bits N times to generate a stream of output bits bit-stuffed according to the selected rate; and
generating a FIR tap output from the stream of output bits at each full-rate clock unit interval (T) to comprise a pre-cursor bit, a cursor bit, and a post-cursor bit, each spaced apart by one T.

### Claim 2 (depends on 1)

The method of claim 1, wherein:
each output bit B(T) corresponds to the output bit B generated at a respective T; and
at each T, the post-cursor bit corresponds to B(T), the cursor bit corresponds to B(T−1), and the pre-cursor bit corresponds to B(T−2).

### Claim 3 (depends on 2)

The method of claim 2, wherein the generating comprises:
generating the pre-cursor bit at each T by latching the cursor bit generated at T−1 or
generating the cursor bit at each T by latching the post-cursor bit generated at T−1.

### Claim 4 (depends on 1)

The method of claim 1, wherein:
the stream of input bits is received from a first-in-first-out data queue.

### Claim 5 (depends on 1)

The method of claim 1, wherein:
the selected rate is selected from a group consisting of: 1/1 times the full data rate, ½ times the full data rate, ¼ times the full data rate, and ⅛ times the full data rate.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
adjusting a pre-cursor tap weight and a post-cursor tap weight as a function of the selected rate.

### Claim 7 (depends on 6)

The method of claim 6, wherein:
the adjusting comprises increasing the pre-cursor tap weight and the post-cursor tap weight as a function of the selected rate, so that a sub-Nyquist frequency slope profile of an FIR transfer function at the selected rate substantially matches the sub-Nyquist frequency slope profile of an FIR transfer function at the full rate.

### Claim 8

A transmitter system comprising:
a bit stuffer having:
a bit stream input;
a rate select input; and
a bit stream output comprising a stream of output bits generated by sequentially repeating each input bit of the bit stream input N times to bit-stuff the bit stream output according to the rate select input when the rate select input comprises a rate select signal that indicates a selected rate of 1/N times a full data rate, wherein N is 1, 2, 4, or 8; and
a tap generator having:
a bit-stuffed stream input coupled with the bit stream output; and
a tap output comprising, at each full-rate clock unit interval (T), a pre-cursor bit, a cursor bit, and a post-cursor bit, generated from the bit-stuffed stream input and each spaced apart by one T.

### Claim 9 (depends on 8)

The transmitter system of claim 8, wherein:
each output bit B(T) corresponds to the output bit B generated at a respective T; and
the tap output at each T comprises the post-cursor bit generated to correspond to B(T), the cursor bit generated to correspond to B(T−1), and the pre-cursor bit generated to correspond to B(T−2).

### Claim 10 (depends on 9)

The transmitter system of claim 9, wherein:
the pre-cursor bit is generated at each T by latching the cursor bit generated at T−1 or
the cursor bit is generated at each T by latching the post-cursor bit generated at T−1.

### Claim 11 (depends on 8)

The transmitter system of claim 8, further comprising:
a first-in-first-out data queue having a queue output,
wherein the bit stream input is coupled with the queue output.

### Claim 12 (depends on 8)

The transmitter system of claim 8, wherein:
the selected rate is selected from a group consisting of: 1/1 times the full data rate, ½ times the full data rate, ¼ times the full data rate, and ⅛ times the full data rate.

### Claim 13 (depends on 8)

The transmitter system of claim 8, further comprising:
a tap weighter that operates to apply a tap weight to each of a pre-cursor tap weight and a post-cursor tap weight.

### Claim 14 (depends on 13)

The transmitter system of claim 13, wherein:
the tap weighter operates to apply the tap weights by increasing the pre-cursor tap weight and the post-cursor tap weight as a function of the selected rate, so that a sub-Nyquist frequency slope profile of an FIR transfer function at the selected rate substantially matches the sub-Nyquist frequency slope profile of an FIR transfer function at the full rate.

### Claim 15 (depends on 8)

The transmitter system of claim 8, further comprising:
a finite impulse response (FIR) filter comprising the bit stuffer and the tap generator.

### Claim 16 (depends on 15)

The transmitter system of claim 15, further comprising:
a serializer/deserializer (SERDES) circuit comprising the FIR filter.

### Claim 17 (depends on 16)

The transmitter system of claim 16, wherein:
the SERDES circuit is coupled with a data channel.

### Claim 18 (depends on 8)

An integrated circuit comprising a plurality of instances of the transmitter system of claim 8, each coupled with a respective one of a plurality of transmission channel outputs of the integrated circuit.

### Claim 19

A system for finite impulse response (FIR) output generation, the system comprising:
means for bit-stuffing a stream of input bits to generate a stream of output bits according to a selected data rate; and
means for generating a tap output from the stream of output bits at each full-rate clock unit interval (T) to comprise a pre-cursor bit, a cursor bit, and a post-cursor bit, each spaced apart by one T,
wherein the means for bit-stuffing comprises:
means for receiving a stream of input bits;
means for receiving a rate select signal that indicates a selected rate of 1/N times a full data rate, wherein N is 1, 2, 4, or 8; and
means for sequentially repeating each input bit N times to generate a stream of output bits bit-stuffed according to the selected rate.
