範例18-2
void TransformDemo(void)
{
unsigned k;
for (k=0; k<NUM_SAMPS; k++)
{
fft_in[k].real = fft_in_real[k];
fft_in[k].imag = 0;
}
TwidFactorInit (4, &twiddle_factors[0], 0);
/* compute the FFT */
FFTComplex (4, &fft_out[0], &fft_in[0], &twiddle_factors[0], COEFFS_IN_DATA);
以上是fft轉換部分程式core,
請問(1)
TwidFactorInit (4, &twiddle_factors[0], 0);
4是指Log2(16)=4的意思嗎?
假如我做128點,那4改成7? 這樣對嗎?
(2)
另外前面的部分我改成這樣:(不知是否可行?)
unsigned k;
for (k=0; k<NUM_SAMPS; k++)
{
while ( !ADCON1bits.DONE );
ADCON1bits.DONE = 0;
fft_in_real[k] = ADCBUF0;
fft_in[k].real = fft_in_real[k];
fft_in[k].imag = 0;