IP Library › Granted Patent US 12,422,991
Granted Patent B2
US 12,422,991 · App. 18/205,095 · Granted Sep 23, 2025

Memory folding systems and methods for use in frequency based transforms

Inventor: James L. Furgerson (McKinney, TX)
Assignee: RTX BBN TECHNOLOGIES, INC.
G06F3/0613G06F3/064G06F3/0659G06F3/0673
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 12,422,991
App. No.
18/205,095
Granted
Sep 23, 2025
Kind
B2
Abstract

A processing circuit for creating a frequency-based output data from sampled streaming analog input data that is provided in K-deep input data blocks where K is a number of samples per clock cycle. The system includes: a memory unit on the single chip to store data including the sampled streaming analog input data; a processing engine on the single chip that receives the incoming streaming data as a series of K-deep input data blocks and performs a portion a frequency transform on the incoming streaming data to produce processed data. The system also includes a memory controller that causes the processed data to initially be stored by column in the memory unit. The memory controller reads data in the memory out in a rotated manner, provides it to the processing engine so that processing engine creates new processed data and writes the new processed data back into the memory.

Claims (29)

1. A processing circuit on a single chip for creating a frequency-based output data from sampled streaming analog input data that is provided in K-deep input data blocks where K is a number of samples per clock cycle, the system comprising:

a memory unit on the single chip to store data including the sampled streaming analog input data;

a processing engine on the single chip that receives the incoming streaming data as a series of K-deep input data blocks and performs a frequency transform on a portion of the incoming streaming data to produce processed data; and

a memory controller that causes the processed data to initially be stored by column in the memory unit, wherein the memory controller is configured to read data in the memory out in a rotated manner, provide it to the processing engine so that processing engine creates new processed data and write the new processed data back into the memory.

2. The system of claim 1 , wherein the memory unit includes at least MxN memory locations where M is a number of rows in the memory unit and N is the number of columns in the memory unit.

3. The system of claim 2 , the memory includes K K-groups of memory elements, wherein each K-group includes K-rows of 1-D memory, wherein each K-group is divided into N/K portions and wherein a first memory portion (Co) of a first of the K-groups includes M memory locations.

4. The system of claim 3 , wherein the processed data is written into the first memory portion (C 0 ) such that each successive data block is written in a successive location of each of the K−1D memory elements.

5. The system of claim 4 , wherein after the (C 0 ) is full, the processed data is written into a second memory portion (C 1 ) such that each successive data block is written in a successive location of each of the K-1D memory elements in the second memory portion, wherein the second memory portion is a second of the k-groups.

6. The system of claim 5 , wherein the memory unit includes CN portions, wherein after each successive (C 2 . . . C (K−1) ) memory is full, each successive data block is written in a successive location of each of the K−1D memory elements in the successive memory portion until a last memory portion C N is filled.

7. The system of claim 6 , wherein the memory controller is configured to read out stored data from the memory unit as either un-rotated or rotated data.

8. The system of claim 7 , wherein when the data from the memory unit is read out as rotated data, a first read out data block that includes K data elements is formed by reading first locations of each first row of each K-group.

9. The system of claim 8 , wherein when the data from the memory unit is ready out as rotated data, a second read out data block that includes K data elements is formed by reading Mth locations of each first row of each K-group.

10. The system of claim 9 , wherein when the data from the memory unit is ready out as rotated data, it is provided to the processing engine which performs a portion a frequency transform on incoming rotated streaming data to the new processed data.

11. The system of claim 10 , wherein the new processed data is written back into same locations it was taken from the form read out data blocks.

12. The system of claim 1 , in combination with a data acquisition (DAQ) device to produce the sampled streaming analog input data that is provided in K-deep input data blocks.

13. The system of claim 12 , wherein the data acquisition (DAQ) device is an optical sensing array.

14. A method for creating a frequency-based output data on a single chip from sampled streaming analog input data that is provided in K-deep input data blocks where K is a number of samples per clock cycle, the method comprising:

processing with a processing engine on the single chip the incoming streaming data as a series of K-deep input data blocks, wherein processing includes performing a frequency transform on a portion of the incoming streaming data to produce processed data;

storing with a memory controller processed data to initially be stored by column in a memory unit on the single chip;

read data in the memory out in a rotated manner;

provide the rotated data to the processing engine so that processing engine creates new processed data; and

write the new processed data back into the memory.

15. The method of claim 14 , wherein the memory unit includes at least M×N memory locations where M is a number of rows in the memory unit and N is the number of columns in the memory unit.

16. The method of claim 15 , the memory includes K K-groups of memory elements, wherein each K-group includes K-rows of 1-D memory, wherein each K-group is divided into N/K portions and wherein a first memory portion (C 0 ) of a first of the K-groups includes M memory locations.

17. The method of claim 16 , wherein the processed data is written into the first memory portion (C 0 ) such that each successive data block is written in a successive location of each of the K−1D memory elements.

18. The method of claim 17 , wherein after the (C 0 ) is full, the processed data is written into a second memory portion (C 1 ) such that each successive data block is written in a successive location of each of the K-1D memory elements in the second memory portion, wherein the second memory portion is a second the k-groups.

19. The method of claim 18 , wherein the memory unit includes C N/K portions, wherein after each successive (C 2 . . . C (N-K) ) memory is full, each successive data block is written in a successive location of each of the K-1D memory elements in the successive memory portion until a last memory portion C (N) is filled.

20. The method of claim 19 , wherein when the data from the memory unit is ready out as rotated data, a first read out data block that includes K data elements is formed by reading first locations of each first row of each K-group.

21. The method of claim 20 , wherein when the data from the memory unit is ready out as rotated data, a second read out data block that includes K data elements is formed by reading Mth locations of each first row of each K-group.

Assignments (2)
CHANGE OF NAME Recorded Aug 22, 2024
From: RAYTHEON BBN TECHNOLOGIES CORP.
To: RTX BBN TECHNOLOGIES, INC.
Reel/Frame 068748/0419 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2023
From: FURGERSON, JAMES L.
To: BBN TECHNOLOGIES CORP.
Reel/Frame 063882/0257 →
Continuity (1)
Related Publication 20240402911A1 · Dec 5, 2024
References Cited (4)
US 10416284B2 · Addison · 2019 [cited by examiner]
US 20030142764A1 · Keevill · 2003 [cited by examiner]
D. Lau, A. Schneider, M. D. Ercegovac and J. Villasenor, “FPGA-based structures for on-line FFT and DCT,” Seventh Annual IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No. PR00375), Napa Valley, CA… [cited by applicant]
M. Parker, S. Finn and H. S. Neoh, “Multi-GSPS FFTs using FPGAs,” 2016 IEEE National Aerospace and Electronics Conference (NAECON) and Ohio Innovation Summit (OIS), Dayton, OH, USA, 2016, pp. 430-436, doi: 10.1109/NAECO… [cited by applicant]