Lines Matching refs:nfft
70 void check(kiss_fft_scalar * in,kiss_fft_scalar * out,int nfft,int isinverse)
75 for (bin=0;bin<nfft/2;++bin) {
79 for (k=0;k<nfft;++k) {
80 double phase = 2*M_PI*(k+.5+.25*nfft)*(bin+.5)/nfft;
83 re /= nfft/4;
93 printf("nfft=%d inverse=%d,snr = %f\n",nfft,isinverse,snr );
100 void check_inv(kiss_fft_scalar * in,kiss_fft_scalar * out,int nfft,int isinverse)
105 for (bin=0;bin<nfft;++bin) {
109 for (k=0;k<nfft/2;++k) {
110 double phase = 2*M_PI*(bin+.5+.25*nfft)*(k+.5)/nfft;
123 printf("nfft=%d inverse=%d,snr = %f\n",nfft,isinverse,snr );
131 void test1d(int nfft,int isinverse,int arch)
134 size_t buflen = sizeof(kiss_fft_scalar)*nfft;
139 opus_val16 * window= (opus_val16*)malloc(sizeof(opus_val16)*nfft/2);
142 clt_mdct_init(&cfg, nfft, 0, arch);
143 for (k=0;k<nfft;++k) {
147 for (k=0;k<nfft/2;++k) {
150 for (k=0;k<nfft;++k) {
156 for (k=0;k<nfft;++k) {
157 in[k] /= nfft;
161 for (k=0;k<nfft;++k)
163 /*for (k=0;k<nfft;++k) printf("%d %d ", in[k].r, in[k].i);printf("\n");*/
167 for (k=0;k<nfft;++k)
169 clt_mdct_backward(&cfg,in,out, window, nfft/2, 0, 1, arch);
171 for (k=0;k<nfft/4;++k)
172 out[nfft-k-1] = out[nfft/2+k];
173 check_inv(in,out,nfft,isinverse);
175 clt_mdct_forward(&cfg,in,out,window, nfft/2, 0, 1, arch);
176 check(in_copy,out,nfft,isinverse);
178 /*for (k=0;k<nfft;++k) printf("%d %d ", out[k].r, out[k].i);printf("\n");*/