Hi everybody

Iam using ADSP BF 548 evaluation in my project, iam acquiring samples from ADC in the the real time and i need to perform FFT for the

acquiried samples,my sampling rate is 10KSPS and my FFT computation time interval is 500msec i.e for every 500msec 5000samples will be

acquired from the ADC and i need to perform 4096 point FFT for first 4096 samples.I configured 100microsec timer interrupt to take each

sample at equal interval of time.

our requirement is as follows

1. Sampling rate - 10000Sample/sec

2. Input voltage - 0-7vpp minimum

3. FFT time interval - 500msec

The steps we followed for performing Real point FFT is

1. Generating hamming window using "gen_hamming_fr16" function.

2. Multiplying the hamming window table with ADC samples using "vecvmlt_fr16" function

3. Generating twiddle table using "twidfftrad2_fr16" function.

4. Performing real point FFT using "rfft_fr16" function.

5. Extracting the Magnitude of rfft using "fft_magnitude_fr16" function.

The problem is once the frequency increases above 500hz the peak amplitude of FFT is decreasing gradually(keeping the input voltage constant)

Below table shows how FFT peakamplitude decreases gradually.

Frequency fft peak amplitude(mv)

200 hz 255

500 hz 234

750 hz 224

1000 hz 171

1250 hz 183

1500 hz 169

suggest us if the following sequence for performing real point FFT is correct or it has to be modified?

what will be the Peak amplitude of a real point FFT, if i give 1khz,1Vpp sine wave?

Best regards

Amar TR

Hi Amar,

Regarding "suggest us if the following sequence for performing real point FFT is correct or it has to be modified?"

>> Yes, the sequence you have mentioned for performing real point FFT is correct.

Regarding "what will be the Peak amplitude of a real point FFT, if i give 1khz,1Vpp sine wave?"

>> We would suggest you to refer the example code available in the below Ezone thread.

https://ez.analog.com/thread/4332

Regards,

Jithul