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.

Advice on usage of Altera FFT IP core

Status
Not open for further replies.

logari84

Newbie level 6
Joined
Jul 15, 2015
Messages
14
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,452
Hi,

I have a data set with timestamps of detected events (e.g 14.2, 14.3, ... 15.2 in seconds but with precision in ns time scale). The detection follows a periodic form. So, I need to find the frequency and consequently the period of the signal (about 695ns). I used python and Fourier Transform in order to find the frequency of the signal. What I do is to take a smaller part of my initial data set, make the histogram of them and then I do Fast Fourier Transform.
More details are presented below:
Number of samples: N = 10^7​
Sample spacing: Ts = 10^(-9)​
Fs = 1/Ts = 10^9​
x integral: x = [Ofs, Ofs+N*T) with N samples​
y : y = numpy.histogram(stmps, bins=x) , where 'stmps' is an array of a smaller part of my data(timestamps) xmin < elements of 'stmps' array < xmax. Then I make the histogram of 'stmps' with bins spacing that is defined by x.​
Fourier: fft = abs(numpy.fft.fft(h)[:N/2]), absolute value of the fft of the histogram h (take only the half part)​
frequency integral: freq = numpy.linspace(0, Fs/2, N/2), from 0 to Fs/2 containing N/2 elements​

The next step is to use the IP core for the FFT from Altera to do the same. The main problem is that I never used the FFT core before and the documentation is not so clear to me. The core provides also a test-bench. So I am working with this to understand how it works. I have some questions and I would be grateful if anyone could help me.

1. Which are the criteria to define the transform length?
2. Can I use the data from the above histogram that contains values like 0, 1, 2, 3 ... 20 (maximum value), as an input in the IP core?
3. The data input precision is the maximum number of the bits for the input signal? (If so, can I use the above data and put 8 bits precision since the maximum value of the data is 20?)
4. Which architecture (streaming, variable streaming, buffered burst, burst) do you suggest and why?
5. In variable streaming architecture there is a choice in data representation: fixed point and floating point. Could you explain it more?
6. The output is the real part, the imaginary part and the exponent. In order to verify the result I have to use the following?
real = r*(2**(-exp))​
imag = i*(2**(-exp))​
fft = sqrt(real**2 + imag**2)​

Thank you for your time!
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top