| 108 | |
| 109 | |
| 110 | void computeDBA(FLOAT_DMEM *x, long blocksize, FLOAT_DMEM F0) |
| 111 | { |
| 112 | FLOAT_DMEM curF = 0.0; |
| 113 | FLOAT_DMEM tmp,cf2; |
| 114 | int i; |
| 115 | |
| 116 | for (i=0; i < blocksize; i++) |
| 117 | { |
| 118 | cf2 = (FLOAT_DMEM)pow(curF,(FLOAT_DMEM)2.0); |
| 119 | tmp = (FLOAT_DMEM)( pow(12200.0,2.0) * pow(cf2,(FLOAT_DMEM)2.0) ) / ( (cf2+(FLOAT_DMEM)pow(20.6,2.0)) * (cf2+(FLOAT_DMEM)pow(12200.0,2.0)) ); |
| 120 | tmp /= (FLOAT_DMEM)( sqrt(cf2+pow(107.7,2.0)) * sqrt(cf2+pow(737.9,2.0)) ); |
| 121 | //obj->db[i] = 10.0*log(ddummy) + 2.0; |
| 122 | *(x++) = (FLOAT_DMEM) pow (10.0,( (10.0*log(tmp) + 2.0) / 10.0)); |
| 123 | //obj->db[i] = fdummy; |
| 124 | curF += F0; |
| 125 | } |
| 126 | } |
| 127 | |
| 128 | // blocksize is size of fft block, _T is period of fft frames |
| 129 | // sampling period is reconstructed by: _T/((blocksize-1)*2) |
no outgoing calls