Patents by Inventor Robert Bahary
Robert Bahary has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 11575389Abstract: A wireless receiving device comprises a low-density parity check (LDPC) decoding circuit, comprising a circular shifter constructed and arranged to simultaneously process multiple code words of a parity check matrix configured for different wireless communication standards, including performing a cyclic shift operation of the multiple code words to align with one or more requisite check nodes of a decoder and a logic circuit at an output of the circular shifter constructed and arranged for a matrix larger than the parity check matrix and that includes components having excess hardware due to the construction and arrangement for the larger matrix to decode the multiple code words of the smaller parity check matrix for output to the one or more requisite check nodes.Type: GrantFiled: December 8, 2020Date of Patent: February 7, 2023Assignee: NXP USA, Inc.Inventor: Robert Bahary
-
Publication number: 20220182075Abstract: A wireless receiving device comprises a low-density parity check (LDPC) decoding circuit, comprising a circular shifter constructed and arranged to simultaneously process multiple code words of a parity check matrix configured for different wireless communication standards, including performing a cyclic shift operation of the multiple code words to align with one or more requisite check nodes of a decoder and a logic circuit at an output of the circular shifter constructed and arranged for a matrix larger than the parity check matrix and that includes components having excess hardware due to the construction and arrangement for the larger matrix to decode the multiple code words of the smaller parity check matrix for output to the one or more requisite check nodes.Type: ApplicationFiled: December 8, 2020Publication date: June 9, 2022Inventor: Robert Bahary
-
Patent number: 10270473Abstract: A turbo decoder decodes encoded data using a regenerated interleaver sequence. An addressable column index memory stores column indexes of the encoded data during an input phase of a turbo decode operation. An address generator generates the regenerated interleaver sequence based on the column indexes and computed data. In embodiments the address generator can read column indexes from the addressable column index memory, compute the computed data by permuting row indexes in a same row permuting order as an encoder that encoded the encoded data, combine the column indexes so read and the row indexes so permuted, use a row counter, and identify out of bounds addresses using the regenerated interleaver sequence.Type: GrantFiled: November 26, 2014Date of Patent: April 23, 2019Assignee: NXP USA, Inc.Inventors: Robert Bahary, Eric J Jackowski
-
Patent number: 9641464Abstract: A first-in first-out (FIFO) buffer system includes FIFO control logic and first and second storage partitions. Each storage partition includes a corresponding single-port memory bank and a prefetch buffer. The FIFO control logic alternates processing of PUSH commands between the first and second storage partitions. Additionally, the FIFO control logic anticipates POP commands based on the FIFO order and the alternating PUSH arrangement by initiating prefetches of data so that data to be accessed by a POP command is available at either the prefetch buffer (if the prefetch has completed) or the output of the single-port memory bank (if the prefetch has not yet completed) of the corresponding storage partition at the time the POP command is received, thereby enabling the output of the data for the POP command in the same clock cycle in which the POP command is received.Type: GrantFiled: April 30, 2012Date of Patent: May 2, 2017Assignee: NXP USA, Inc.Inventors: Robert T. Greenwood, Robert Bahary
-
Patent number: 9473177Abstract: A turbo decoder stores received data in words in systematic memory and parity memory in a way that is known that it will be used for later iterations by turbo decoder engines arranged to operate in parallel. A loader receives and separates LLRs into systematic and parity data and stores them into a portion of a word per cycle until a word is full in a corresponding one of the systematic memory and parity memory. The turbo decoder engines read the LLRs from one word of the systematic memory and one word of the parity memory in a single cycle. The data can be rearranged within the words in an order format for the turbo decoder engines to later read them by providing sub-words corresponding to respective ones of the plurality of turbo decoder engines.Type: GrantFiled: November 26, 2014Date of Patent: October 18, 2016Assignee: FREESCALE SEMICONDUCTOR, INC.Inventors: Robert Bahary, Eric J Jackowski
-
Patent number: 9467252Abstract: A plurality of turbo decoder engines store extrinsic values when concurrently decoding a received signal encoded within rows and columns of an interleaving matrix where interleaved values stay in a same re-ordered row during interleaving. An extrinsic reader and extrinsic writer accesses extrinsic memories using extrinsic addresses. A deinterleaver accesses the extrinsic addressable memories by arranging storage of the extrinsic values by the same rows of the same interleaving matrix that was used to encode the received signal, each of the rows corresponding to one of the plurality of turbo decoder engines, and, in embodiments, can group the extrinsic values such that all the extrinsic values in each one of the rows of the interleaving matrix go in a same one of the plurality of the extrinsic addressable memory. The deinterleaver can skip read of extrinsic values corresponding to dummy entries in the interleaving matrix.Type: GrantFiled: November 26, 2014Date of Patent: October 11, 2016Assignee: FREESCALE SEMICONDUCTOR, INC.Inventors: Robert Bahary, Eric J Jackowski
-
Publication number: 20160149596Abstract: A turbo decoder stores received data in words in systematic memory and parity memory in a way that is known that it will be used for later iterations by turbo decoder engines arranged to operate in parallel. A loader receives and separates LLRs into systematic and parity data and stores them into a portion of a word per cycle until a word is full in a corresponding one of the systematic memory and parity memory. The turbo decoder engines read the LLRs from one word of the systematic memory and one word of the parity memory in a single cycle. The data can be rearranged within the words in an order format for the turbo decoder engines to later read them by providing sub-words corresponding to respective ones of the plurality of turbo decoder engines.Type: ApplicationFiled: November 26, 2014Publication date: May 26, 2016Applicant: FREESCALE SEMICONDUCTOR, INC.Inventors: Robert Bahary, Eric J. Jackowski
-
Publication number: 20160149668Abstract: A plurality of turbo decoder engines store extrinsic values when concurrently decoding a received signal encoded within rows and columns of an interleaving matrix where interleaved values stay in a same re-ordered row during interleaving. An extrinsic reader and extrinsic writer accesses extrinsic memories using extrinsic addresses. A deinterleaver accesses the extrinsic addressable memories by arranging storage of the extrinsic values by the same rows of the same interleaving matrix that was used to encode the received signal, each of the rows corresponding to one of the plurality of turbo decoder engines, and, in embodiments, can group the extrinsic values such that all the extrinsic values in each one of the rows of the interleaving matrix go in a same one of the plurality of the extrinsic addressable memory. The deinterleaver can skip read of extrinsic values corresponding to dummy entries in the interleaving matrix.Type: ApplicationFiled: November 26, 2014Publication date: May 26, 2016Applicant: Freescale Semiconductor, Inc.Inventors: Robert Bahary, Eric J Jackowski
-
Publication number: 20160149591Abstract: A turbo decoder decodes encoded data using a regenerated interleaver sequence. An addressable column index memory stores column indexes of the encoded data during an input phase of a turbo decode operation. An address generator generates the regenerated interleaver sequence based on the column indexes and computed data. In embodiments the address generator can read column indexes from the addressable column index memory, compute the computed data by permuting row indexes in a same row permuting order as an encoder that encoded the encoded data, combine the column indexes so read and the row indexes so permuted, use a row counter, and identify out of bounds addresses using the regenerated interleaver sequence.Type: ApplicationFiled: November 26, 2014Publication date: May 26, 2016Applicant: Freescale Semiconductor, Inc.Inventors: Robert Bahary, Eric J. Jackowski
-
Patent number: 9043378Abstract: A method and apparatus may be used to evaluate a polynomial by initializing a multiply and accumulate feedback apparatus (260) comprising a multiplier stage (264) having an output coupled to an input of an accumulator stage (267) having an accumulator feedback output (269) selectively coupled to an input of the multiplier stage over a plurality of clock cycles; iteratively calculating a final working loop variable z over an additional plurality of clock cycles; multiplying the final working loop variable z and a complex input vector x to compute a final multiplier value; and adding a least significant complex polynomial coefficient to the final multiplier value using the multiplier stage of the multiply and accumulate feedback apparatus to yield a result of the polynomial evaluation.Type: GrantFiled: October 1, 2012Date of Patent: May 26, 2015Assignee: Freescale Semiconductor, Inc.Inventors: Robert Bahary, Eric J. Jackowski, Leo G. Dehner, Jayakrishnan C. Mundarath
-
Publication number: 20140281367Abstract: A method of address generation and corresponding index generator for one or more locations in a buffer with received data, determining an offset address for a specific data element in the buffer; calculating a correction factor in parallel with the determining an offset address; and providing an address for the specific data element in the buffer by combining the offset address and the correction factor, the correction factor adjusting for any impact on the offset address resulting from null elements.Type: ApplicationFiled: March 14, 2013Publication date: September 18, 2014Inventors: Mark W. Johnson, Robert Bahary
-
Publication number: 20140095572Abstract: A method and apparatus may be used to evaluate a polynomial by initializing a multiply and accumulate feedback apparatus (260) comprising a multiplier stage (264) having an output coupled to an input of an accumulator stage (267) having an accumulator feedback output (269) selectively coupled to an input of the multiplier stage over a plurality of clock cycles; iteratively calculating a final working loop variable over an additional plurality of clock cycles; multiplying the final working loop variable z and a complex input vector x to compute a final multiplier value; and adding a least significant complex polynomial coefficient to the final multiplier value using the multiplier stage of the multiply and accumulate feedback apparatus to yield a result of the polynomial evaluation.Type: ApplicationFiled: October 1, 2012Publication date: April 3, 2014Applicant: FREESCALE SEMICONDUCTOR, INC.Inventors: Robert Bahary, Eric J. Jackowski, Leo G. Dehner, Jayakrishnan C. Mundarath
-
Publication number: 20130290646Abstract: A first-in first-out (FIFO) buffer system includes FIFO control logic and first and second storage partitions. Each storage partition includes a corresponding single-port memory bank and a prefetch buffer. The FIFO control logic alternates processing of PUSH commands between the first and second storage partitions. Additionally, the FIFO control logic anticipates POP commands based on the FIFO order and the alternating PUSH arrangement by initiating prefetches of data so that data to be accessed by a POP command is available at either the prefetch buffer (if the prefetch has completed) or the output of the single-port memory bank (if the prefetch has not yet completed) of the corresponding storage partition at the time the POP command is received, thereby enabling the output of the data for the POP command in the same clock cycle in which the POP command is received.Type: ApplicationFiled: April 30, 2012Publication date: October 31, 2013Applicant: FREESCALE SEMICONDUCTOR, INC.Inventors: Robert T. Greenwood, Robert Bahary