Hello people!

Does someone in this groups use the RIFFT or CIFFT function? Im using it, but I
cant reach some results. Im doing a FFT of a real signal (using RFFT) anda
after I want to reconstruct the same signal. As the FFT is a complex signal, Im
using the CIFFT function. My original signal has 256 points. The RFFT256 give
only the half of the axis, so it has 128 complex values (256 on the RE-Im
format). To reconstruct, Im padding the other 128 comples values with the same
values rotated. Then, Im using the CIFFT256 function. Before this, Im
bit-reversing the data, with the cbrev function setting nx%6. Is something
wrong?

Im not using #pragma.

Thanks a lot,

Guilherme

_____________________

Guilherme Martinhon

Engenheiro Eletricista

Mestrando em Engenharia Elrica

ea: Instrumentao Eletrica

Laboratio de Ultra-Som

UNESP - Campus de Ilha Solteira

# Using RIFFT and CIFFT

Started by ●June 6, 2006

Reply by ●June 8, 20062006-06-08

Hi Dileepan,

1) Yes, Im using the bit-reverse function cbrev before the RFFT and before

the CIFFT again. When Im using the CIFFT, I put nxT size. Here is the

part of the code:

cbrev(sinal1br,fftinvbr,TAMANHO_FFT/2); /*nx a qtde de valores complexos*/

cifft128(fftinvbr, 0); /*FFT inversa*/

q15tofl(fftinvbr,sinal1rec,TAMANHO_FFT);

My original signal has 256 samples and the FFT has 128 complex values.

2) The imaginary part is not zero.

3) The real part is not the same original signal. Besides this, I have the

doubt if its not necessary to fill the FFT array with zeros before applying

the CIFFT...

Do you think its necessary to introduce the #pragma and section? I have no

experience in it. My FFT dont use this and is correctly.

Thanks,

Guilherme

----- Original Message -----

From: "Dileepan C"

To: "Guilherme Martinhon"

Sent: Wednesday, June 07, 2006 3:58 AM

Subject: Re: [c54x] Using RIFFT and CIFFT

> hi Guilherme,

>

> i have not used these functions before. but some quick

> questions that may help us to find out the problem:

>

> 1) the rfft() expects the input to be in bit reversed

> manner. Are you giving the input that way?

> 2) if yes, what is the result after cifft() ? are the

> imaginary part of the output array all zeros?

> 3) if yes, are the real part of the output array a

> scaled version of your original array?

> origianl array means the array before the bit reversal

> before giving as input to rfft().

>

> other than this, your processing steps seems to be

> ok..

> hope you are using the latest dsplib functions...

>

> regards,

> Dileepan.

>

> --- Guilherme Martinhon

> wrote:

>

>>

>> Hello people!

>>

>> Does someone in this groups use the RIFFT or CIFFT

>> function? Im using it, but I cant reach some

>> results. Im doing a FFT of a real signal (using

>> RFFT) anda after I want to reconstruct the same

>> signal. As the FFT is a complex signal, Im using

>> the CIFFT function. My original signal has 256

>> points. The RFFT256 give only the half of the axis,

>> so it has 128 complex values (256 on the RE-Im

>> format). To reconstruct, Im padding the other 128

>> comples values with the same values rotated. Then,

>> Im using the CIFFT256 function. Before this, Im

>> bit-reversing the data, with the cbrev function

>> setting nx%6. Is something wrong?

>> Im not using #pragma.

>>

>> Thanks a lot,

>>

>> Guilherme

>> _____________________

>> Guilherme Martinhon

>> Engenheiro Eletricista

>> Mestrando em Engenharia Elrica

>> ea: Instrumentao Eletrica

>> Laboratio de Ultra-Som

>> UNESP - Campus de Ilha Solteira

>

1) Yes, Im using the bit-reverse function cbrev before the RFFT and before

the CIFFT again. When Im using the CIFFT, I put nxT size. Here is the

part of the code:

cbrev(sinal1br,fftinvbr,TAMANHO_FFT/2); /*nx a qtde de valores complexos*/

cifft128(fftinvbr, 0); /*FFT inversa*/

q15tofl(fftinvbr,sinal1rec,TAMANHO_FFT);

My original signal has 256 samples and the FFT has 128 complex values.

2) The imaginary part is not zero.

3) The real part is not the same original signal. Besides this, I have the

doubt if its not necessary to fill the FFT array with zeros before applying

the CIFFT...

Do you think its necessary to introduce the #pragma and section? I have no

experience in it. My FFT dont use this and is correctly.

Thanks,

Guilherme

----- Original Message -----

From: "Dileepan C"

To: "Guilherme Martinhon"

Sent: Wednesday, June 07, 2006 3:58 AM

Subject: Re: [c54x] Using RIFFT and CIFFT

> hi Guilherme,

>

> i have not used these functions before. but some quick

> questions that may help us to find out the problem:

>

> 1) the rfft() expects the input to be in bit reversed

> manner. Are you giving the input that way?

> 2) if yes, what is the result after cifft() ? are the

> imaginary part of the output array all zeros?

> 3) if yes, are the real part of the output array a

> scaled version of your original array?

> origianl array means the array before the bit reversal

> before giving as input to rfft().

>

> other than this, your processing steps seems to be

> ok..

> hope you are using the latest dsplib functions...

>

> regards,

> Dileepan.

>

> --- Guilherme Martinhon

> wrote:

>

>>

>> Hello people!

>>

>> Does someone in this groups use the RIFFT or CIFFT

>> function? Im using it, but I cant reach some

>> results. Im doing a FFT of a real signal (using

>> RFFT) anda after I want to reconstruct the same

>> signal. As the FFT is a complex signal, Im using

>> the CIFFT function. My original signal has 256

>> points. The RFFT256 give only the half of the axis,

>> so it has 128 complex values (256 on the RE-Im

>> format). To reconstruct, Im padding the other 128

>> comples values with the same values rotated. Then,

>> Im using the CIFFT256 function. Before this, Im

>> bit-reversing the data, with the cbrev function

>> setting nx%6. Is something wrong?

>> Im not using #pragma.

>>

>> Thanks a lot,

>>

>> Guilherme

>> _____________________

>> Guilherme Martinhon

>> Engenheiro Eletricista

>> Mestrando em Engenharia Elrica

>> ea: Instrumentao Eletrica

>> Laboratio de Ultra-Som

>> UNESP - Campus de Ilha Solteira

>