Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Coherent Integration in VHDL

Status
Not open for further replies.

ravics

Advanced Member level 4
Joined
Sep 1, 2010
Messages
116
Helped
4
Reputation
8
Reaction score
4
Trophy points
1,298
Location
Shangri-la
Activity points
1,852
How to perform time-series averaging using VHDL?
 

Do you mean something like a moving average code? Give an example.
 

Time Domain Averaging of Several Pulses. Its for radar signal processing.
 

ravics,
So you get an array of data from your IFFT?
You will need to store the array of information in an internal RAM. As new blocks of data arrive you will have to read the RAM and do your math with that and the new value and write it back.
I could say more, am I close?

Sckoarn
 

I'm getting the raw captured data from a RT signal acquisition card. I have to perform time domain averaging so (imho) there is no question of IFFT. Provision of storage is there (FIFO, RAMs) but how can I go about the algorithm?

Need to perform coherent integration (pulse integration) for N pulses to improve SNR by N times.
 

ravics,
You can get an FFT core from Home :: OpenCores . That should help with the conversion from time to frequency. With that done all you have to do is store the FFT output into a RAM or two, and perform the averaging as per your requirements. I am not a math guy, so I can not make any further suggestions.

Sckoarn
 

Thanks for your inputs. I don't have to do it in spectral domain so no FFT core required.
 

How can a FIR filter be used for averaging?
 

How can a FIR filter be used for averaging?

If you have a FIR filter of length N and set all the coefficients to 1/N, it will generate the moving average over N samples.

It works, but it is probably a waste of resources, since you don't need all the multiplicators. It is much more efficient to first calculate the sum and then multiply with 1/N.
 

You need to save the data for each pulse repitition frequency to a buffer..do it N times and form a NxM matrix and sum the values for each range cell.
If you want to do it using vhdl, simulating it in simulink and getting the same simulation using xilinx blocksets in simulink will be an easy start.
Then you get the bit stream of your xilinx blocks you simulated using system generation property of xilinx blocksets..
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top