pull/6/merge
Dsplib 2018-12-12 23:45:42 +03:00
rodzic 2a26f8aa4f
commit 3217aed2af
2 zmienionych plików z 9 dodań i 5 usunięć

Wyświetl plik

@ -119,7 +119,7 @@ int fft_krn(complex_t* t0, complex_t* t1, fft_t* p, int n, int addr)
complex_t *pw = p->w+addr;
n1 = 1;
//if(n%16== 0) { n1 = 16; goto label_size; }
if(n%16== 0) { n1 = 16; goto label_size; }
if(n%7 == 0) { n1 = 7; goto label_size; }
if(n%5 == 0) { n1 = 5; goto label_size; }
if(n%4 == 0) { n1 = 4; goto label_size; }
@ -197,10 +197,13 @@ int DSPL_API fft_create(fft_t *pfft, int n)
s = n;
nw = addr = 0;
if(pfft->n == n)
return RES_OK;
while(s > 1)
{
n2 = 1;
//if(s%16== 0) { n2 = 16; goto label_size; }
if(s%16== 0) { n2 = 16; goto label_size; }
if(s%7 == 0) { n2 = 7; goto label_size; }
if(s%5 == 0) { n2 = 5; goto label_size; }
if(s%4 == 0) { n2 = 4; goto label_size; }
@ -211,7 +214,6 @@ int DSPL_API fft_create(fft_t *pfft, int n)
label_size:
if(n2 == 1)
return ERROR_FFT_SIZE;
n1 = s / n2;
nw += s;
pfft->w = pfft->w ? (complex_t*) realloc(pfft->w, nw*sizeof(complex_t)):
@ -236,6 +238,8 @@ label_size:
pfft->t1 = pfft->t1 ? (complex_t*) realloc(pfft->t1, n*sizeof(complex_t)):
(complex_t*) malloc( n*sizeof(complex_t));
pfft->n = n;
return RES_OK;
}

Wyświetl plik

@ -366,8 +366,8 @@ void dft16 (complex_t *x, complex_t* y)
// 0.382683432365090 - 0.923879532511287i
tmp = RE(t1[13]) * DFT16_W2 + IM(t1[13]) * DFT16_W1;
IM(t1[7]) = -RE(t1[13]) * DFT16_W1 + IM(t1[13]) * DFT16_W2;
RE(t1[7]) = tmp;
IM(t1[13]) = -RE(t1[13]) * DFT16_W1 + IM(t1[13]) * DFT16_W2;
RE(t1[13]) = tmp;
//-0.707106781186547 - 0.707106781186548i
tmp = (-RE(t1[14]) + IM(t1[14])) * DFT16_W3;