From 431692605bc5eb05622a6577f724da91470f6064 Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Sat, 19 Jul 2014 07:44:42 +0000 Subject: [PATCH] Initial import git-svn-id: http://moon:8086/svn/software/trunk/libsrc/cfft@1 b431acfa-c32f-4a4a-93f1-934dc6c82436 --- Cfft.opt | Bin 0 -> 48640 bytes Debug/cfft.pch | Bin 0 -> 234948 bytes Debug/fft.obj | Bin 0 -> 22194 bytes Debug/ffttools.obj | Bin 0 -> 6214 bytes Debug/vc60.idb | Bin 0 -> 41984 bytes Debug/vc60.pdb | Bin 0 -> 53248 bytes Fft.cpp | 755 +++++++++++++++++++++++++++++++++++++++++++ Fft.h | 83 +++++ Release/cfft.pch | Bin 0 -> 235580 bytes Release/fft.obj | Bin 0 -> 9682 bytes Release/ffttools.obj | Bin 0 -> 2313 bytes Release/vc60.idb | Bin 0 -> 33792 bytes cfft.dsp | 100 ++++++ cfft.dsw | 29 ++ cfft.ncb | Bin 0 -> 58368 bytes cfft.plg | 27 ++ 16 files changed, 994 insertions(+) create mode 100755 Cfft.opt create mode 100755 Debug/cfft.pch create mode 100755 Debug/fft.obj create mode 100755 Debug/ffttools.obj create mode 100755 Debug/vc60.idb create mode 100755 Debug/vc60.pdb create mode 100755 Fft.cpp create mode 100755 Fft.h create mode 100755 Release/cfft.pch create mode 100755 Release/fft.obj create mode 100755 Release/ffttools.obj create mode 100755 Release/vc60.idb create mode 100755 cfft.dsp create mode 100755 cfft.dsw create mode 100755 cfft.ncb create mode 100755 cfft.plg diff --git a/Cfft.opt b/Cfft.opt new file mode 100755 index 0000000000000000000000000000000000000000..642a12fc01023d5fbc314cc5becb92b9216373a2 GIT binary patch literal 48640 zcmeI5d303O9mj7-0tq0SDTwPBT#W)ciSfdq}!u_c*2l8_;j&Ll*O3mo?y z6>&wu4Xtgh)-HCnyKQZ?r+Z6Vt=*)1|Lu}~elzoOk{Ch)mXqXsZ_X#b-@Whm-o5Yp z-rPCociw&T`fJnQ*!}#`Z@PYEsmpZ#?ap=Md$nia8_6=wvAw(7eBYW+lgcPk;6IEt zz;(-nEXW4C<`WvxLMevU^W~L$H1|092^fP zfW=i~^I;C01Si8Oa4MVzr^8&Z*m>9jD1`Y?1jSGSrLX`jZV`4doC!;y493 z-K6`kbd9csb2SwXrc9xK`@CA;R)%tnnHH4pKLhn_>{*fZ>pSKyD+_nU;;rG3x5|d~dhCku&{f;a4TjrOyu)l#f;SJ`VUo!{&3jdeH?#2HFu|KE&GwMHupTLi4`w{ks z*dGw{eYU?2ufg}=yR^N^w(nrSjr|s}ui$?Z{~Pdi_!@kb*sm}*eHs5{{4c>5;S0om zp0>}yXQ{u${-44BH1<>2Pr{3|e*#{>e;z*0KF?AA7<`oaN2ou`Ie!@c8F(7@z*8LK zN$eBY$FYy0-EQnIc$9q~VV|A&592=s4^n>sdq45_!49|=w!=MeH?eoYHn@}e9oXC9 zHvC)R7Py)EO>iUr4cP19I=B|LqWKouufe|>u7WFJGkgea9=II3U=!o$#CAXe>|XsK zv_lNqIOmPTMDbf;1N9b;-HhKv`+BSgjSyj518w#A>)-?Mez=VIFzuJZC5+8xPMbmN zh_@N_LhM?s&9pVdtf9UdyNdm6Mz)#RW@wwKmxFz?*bHtnc@(54~2o`hSsvu)r2wMqdgFlH6VBx^t- zDw`9u$C!Nub^wRyIo@D# z){Woq{^AHB4KlPii%kz*`9J0Vl>f62go+f90#ZN$RP!{a>a6caH@ZPP5D1P|Ho~i=l}Hl-(WL{wn+ggAO)m=6p#W^Knh3!DKJ_T zQ2uYUTq%uH3cULY47C2bjyK^KVQTg9(AFQHXa}|Bjg)HEa8|Ph zG{PFu^~v?6srI4%pF#gQ1n0s~*FW1T&Hnvc)4`O9JaXut`%wE|XdR``KggQdde+n? zSmWBl8rd!vV8!dO^dENrw&KUeB}*V=KKcY5j|>D{KS>GYz} zNUYIoOdV&+`Cfga7cb~@*z78nqBp08)!QFRcj>*7=h}C$TK~<>q4nQd|80|miWHCn zQa}nw0VyB_q<|EV0%J)5<$uT0)zrC2f#E5zZeMC4bY3#yR}iRcX)7%W)Ob;^KH=q9 zW9n^>IWCw?)2Fr@g}dMy2INz;1H~rbo@J#iW$5*FL_eS;<3*5bX0auUTAq;zkK5$k*WC9 zf4%=v?|;<$A5))f{g(n#Knh3!DIf);fE17dQefmMp#0y+yCxcu6gXT8`1!w#)Kh?T zn=#O1jP_us@_!rNnJHBMPrv`7-+wt=vz7Xh0#ZNiN!m?OwLi2m31>VKHs4H!P$_dgDJkV9xZl>R3se}daO_aFPTpYEQ# zmv=RG)km5;+nS2|R!jO;OZ!$A_^08o_160Dr;%h2JjH_bC$UdpAICn%kE!p*?t(|T ziyz@loICL!#(xMNr2YW*e&X+g9dIvfhkM{|V()@&a3}RUu(!i)__x9>a5MFr;70r# zu-C(Na4l?gS#AsM*Wh0bSHYFA8T9@~z5kKhKt&2j0VyB_q<|EV0#ZNfbzd% z>T>F2q`S1x9`%nUM3y-RR@@Qmay<@9cR*Zmi#ZgIP&I#=vgGYotC<1G5{ zt>0a4Vc34`CDPu0%I1>t%96$9rNM&Y#Z?Onii<-<1?5%66$M2_aj z=jQYcZTG?}6PqI8>b6L6Fl m?+sZgAO)m=6p#W^Knh3!DIf(#vjWQhjpnPTu}gtNQ{aEq$Cc#( literal 0 HcmV?d00001 diff --git a/Debug/cfft.pch b/Debug/cfft.pch new file mode 100755 index 0000000000000000000000000000000000000000..128ea3219f6084909560100877b1bf578e998925 GIT binary patch literal 234948 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 literal 0 HcmV?d00001 diff --git a/Debug/ffttools.obj b/Debug/ffttools.obj new file mode 100755 index 0000000000000000000000000000000000000000..d8838051cc62f553eae68f3796c3a0fdb6e7cab1 GIT binary patch literal 6214 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 literal 0 HcmV?d00001 diff --git a/Debug/vc60.pdb b/Debug/vc60.pdb new file mode 100755 index 0000000000000000000000000000000000000000..19035dab2a23aaff7837e7c9e3761c512d941cd6 GIT binary patch literal 53248 zcmeI*&2Af26u|K_p1I@C1S>>^Sg0})R7C-tmIXzEN^RUCq6S(uqGe^A#0ddAwrm$# zq@u85TOp8G@(3&t3toUX;0;)}30qWi&WuNPNEU53jmv+e@ywlj=FYjlJ9aejOtP}Q z-fj2VoBi@qWocod-08Nry7g9hqu#Ht)q9Qd**6y#r*fs`_eG>Al9DMoud9UzKT2Mg zOb8%=00IagfB*srAb}z=Qw-2q1s}0tg_000IagfB*u|xWG^Q&v*yv z9s&p;fB*srAbs;BXw;Db1bTy@OveeaRvM`$l z@q$+b5I_I{1Q0*~0R#|0009ILm;`}PlT4oHe_Pi(`dt5My~^L!rA_yAxueUUbvdWY zUv!xlU$Xk!f{fgDXTon?B}}`mu#Vin+VtMVZrU_xJQV{;s>`EeCVnukvR$U--70{P z(b~yryCumMeGAsIZq@q;Jn?jCQ>gpc@^FmiGmM$m7|ZK|wq^6-*p!6B*puRPZP%I{ zo3gdu(nl*-uUxumd1W*rr?pW#+TKxl{U-iQe%2RXW24^vy}xH=Yu$Zg-Hpp>E&E!s zI$IC6wV<(XHWfK&Z(FsUTdk|@?VWyav^^MZzuvEJHHO=>x_?H}t2aKVRl8_jCJ-PP?jK3RQ)Bd>MIRET@9H?Mti zn&*Y6BIq{iP0cedXEgIxeQVGB%zA2U|DufiN=N#-TJQ4Z)#YLPHvWhE?MEJm`>pqs zME%Zpk}j?_tsgErXNqHa6eK>5jp1{;-Nx|f@lHqioUQKfT^!~#6Sd7qA3Ii3e=x?ESB^NA?VrR&?|&6P6&)*6>}#DpW@MiONncOsdeZ)QUtiPh z$!CkjjOsjD_|N_?XxZjbj4y8-D94{GHcl1Y9* +#include +#include +#include +#include +#include "../../include/fft.h" + +#define PI 3.1415926535897932384626433832795 + +//#define FFTMsg + +/***************************************************************************/ +/* Konstruktor FFT-Objekt */ +/* */ +/***************************************************************************/ +cfft::cfft(unsigned N) +{ + if(BiPower(N) != 0) + { + printf("\n%u is not a power of 2!\n",N); + exit(1); + } + + m_numStages = (unsigned) (1e-06 + log((double)N)/log(2.0)); + m_numPoints = (unsigned int)N; + + pTwiddleTbl = new COMPLEX[m_numPoints/2]; + if (!pTwiddleTbl) + { + printf("\nZu wenig Speicher !\n"); + exit(1); + } + + FFTCalcTwiddleTable(pTwiddleTbl, m_numPoints); + +#ifdef FFTMsg + printf("\n%d-Point FFT object created.\n",m_numPoints); +#endif +} +/***************************************************************************/ +/* Destruktor FFT-Objekt */ +/* */ +/***************************************************************************/ +cfft::~cfft() +{ + delete [] pTwiddleTbl; + +#ifdef FFTMsg + printf("\n%d-Point FFT object deleted.\n",m_numPoints); +#endif +} + +/***************************************************************************/ +/* FFT */ +/* FAST-FOURIER-TRANSFORMATION s(t) -> S(f) */ +/***************************************************************************/ +void cfft::fft(double *in_re, double *in_im) +{ +register unsigned stageCnt, k, kk, twf, numNodesPerStage, nodeCnt, opsPerNode, opCnt, i, i2, j; +double tempr, tempi, s, c; + +#ifdef FFTMsg +unsigned numMul, numAdd; +printf ("\nStart %d-Point FFT.\n\n",m_numPoints); +#endif + + // Do the bit reversal + i2 = m_numPoints >> 1; + j = 0; + for (i=0; i>= 1; + } + j = j+k; + } + + // Calculate the FFT + +#ifdef FFTMsg +numMul =0; +numAdd =0; +#endif + numNodesPerStage = m_numPoints; + for (stageCnt=1; stageCnt <= m_numStages; stageCnt++) { + k=0; + numNodesPerStage = numNodesPerStage/2; + opsPerNode = m_numPoints/(2*numNodesPerStage); + +#ifdef FFTMsg +printf ("Processing STAGE # %2d",stageCnt); +#endif + for (nodeCnt=1; nodeCnt <= numNodesPerStage; nodeCnt++) { + twf = 0; + opCnt = opsPerNode; + + while (opCnt) { +#ifdef FFTMsg + numMul++; + numAdd +=2; +#endif + c = pTwiddleTbl[twf].real; + s = - pTwiddleTbl[twf].imag; + kk = k + opsPerNode; + tempr = (c * in_re[kk]) - (s * in_im[kk]); + tempi = (s * in_re[kk]) + (c * in_im[kk]); + in_re[kk] = in_re[k] - tempr; + in_im[kk] = in_im[k] - tempi; + in_re[k] = in_re[k] + tempr; + in_im[k] = in_im[k] + tempi; + k++; + opCnt--; + twf += numNodesPerStage; + } + + k += opsPerNode; + } +#ifdef FFTMsg +printf (" ... finished.\n"); +#endif + } + +#ifdef FFTMsg +printf ("\n%d-Point FFT is completed.\n",m_numPoints); +printf ("Total number of complex additions = %u\n",numAdd); +printf ("Total number of complex multiplications = %u\n",numMul); +#endif +} + +/***************************************************************************/ +/* IFFT */ +/* INVERSE-FAST-FOURIER-TRANSFORMATION S(f) -> s(t) */ +/***************************************************************************/ +void cfft::ifft(double *in_re, double *in_im) +{ +register unsigned stageCnt, k, kk, twf, numNodesPerStage, nodeCnt, opsPerNode, opCnt, i, i2, j; +double tempr, tempi, s, c; + + #ifdef FFTMsg + printf ("\nStart %d-Point IFFT.\n\n",m_numPoints); + #endif + + // Do the bit reversal + i2 = m_numPoints >> 1; + j = 0; + for (i=0; i>= 1; + } + j = j+k; + } + + // Calculate the IFFT + numNodesPerStage = m_numPoints; + for (stageCnt=1; stageCnt <= m_numStages; stageCnt++) { + k=0; + numNodesPerStage = numNodesPerStage/2; + opsPerNode = m_numPoints/(2*numNodesPerStage); + + #ifdef FFTMsg + printf ("Processing STAGE # %2d",stageCnt); + #endif + + for (nodeCnt=1; nodeCnt <= numNodesPerStage; nodeCnt++) { + twf = 0; + opCnt = opsPerNode; + + while (opCnt) { + c = pTwiddleTbl[twf].real; + s = pTwiddleTbl[twf].imag; + kk = k + opsPerNode; + tempr = (c * in_re[kk]) - (s * in_im[kk]); + tempi = (s * in_re[kk]) + (c * in_im[kk]); + in_re[kk] = in_re[k] - tempr; + in_im[kk] = in_im[k] - tempi; + in_re[k] = in_re[k] + tempr; + in_im[k] = in_im[k] + tempi; + k++; + opCnt--; + twf += numNodesPerStage; + } + k += opsPerNode; + } + #ifdef FFTMsg + printf (" ... finished.\n"); + #endif + } +#ifdef FFTMsg +printf ("\n%d-Point IFFT is completed.\n",m_numPoints); +#endif +} + +/***************************************************************************/ +/* Konstruktor FFT-Objekt */ +/* */ +/***************************************************************************/ +void FFTinit(FFT *pFFT, unsigned N) +{ + + pFFT->m_numPoints = 0; + pFFT->m_numStages = 0; + pFFT->pTwiddleTbl = NULL; + + if(BiPower(N) != 0) + { + printf("\n%u is not a power of 2!\n",N); + exit(1); + } + + pFFT->m_numStages = (unsigned) (1e-06 + log((double)N)/log(2.0)); + pFFT->m_numPoints = (unsigned int)N; + + pFFT->pTwiddleTbl = (COMPLEX*)malloc(pFFT->m_numPoints * sizeof(COMPLEX) /2); + if (!pFFT->pTwiddleTbl) + { + printf("\nZu wenig Speicher !"); + exit(1); + } + + FFTCalcTwiddleTable(pFFT->pTwiddleTbl, pFFT->m_numPoints); + +#ifdef FFTMsg + printf("\n%d-Point FFT object created.\n",pFFT->m_numPoints); +#endif +} +/***************************************************************************/ +/* Destruktor FFT-Objekt */ +/* */ +/***************************************************************************/ +void FFTfree(FFT *pFFT) +{ + if (pFFT->pTwiddleTbl != NULL) + { + free(pFFT->pTwiddleTbl); + pFFT->pTwiddleTbl = NULL; + } + + pFFT->m_numPoints = 0; + pFFT->m_numStages = 0; + +#ifdef FFTMsg + printf("\n%d-Point FFT object deleted.\n",pFFT->m_numPoints); +#endif +} + +/***************************************************************************/ +/* FFT */ +/* FAST-FOURIER-TRANSFORMATION s(t) -> S(f) */ +/***************************************************************************/ +void fft(FFT *pFFT, double *in_re, double *in_im) +{ +register unsigned stageCnt, k, kk, twf, numNodesPerStage, nodeCnt, opsPerNode, opCnt, i, i2, j; +double tempr, tempi, s, c; + +#ifdef FFTMsg +unsigned numMul, numAdd; +printf ("\nStart %d-Point FFT.\n\n",pFFT->m_numPoints); +#endif + + // Do the bit reversal + i2 = pFFT->m_numPoints >> 1; + j = 0; + for (i=0; i m_numPoints-1;i++) { + if (i < j) { + tempr = in_re[i]; + tempi = in_im[i]; + in_re[i] = in_re[j]; + in_im[i] = in_im[j]; + in_re[j] = tempr; + in_im[j] = tempi; + } + k = i2; + while (k <= j) { + j = j-k; + k >>= 1; + } + j = j+k; + } + + // Calculate the FFT + +#ifdef FFTMsg +numMul =0; +numAdd =0; +#endif + numNodesPerStage = pFFT->m_numPoints; + for (stageCnt=1; stageCnt <= pFFT->m_numStages; stageCnt++) { + k=0; + numNodesPerStage = numNodesPerStage/2; + opsPerNode = pFFT->m_numPoints/(2*numNodesPerStage); + +#ifdef FFTMsg +printf ("Processing STAGE # %2d",stageCnt); +#endif + for (nodeCnt=1; nodeCnt <= numNodesPerStage; nodeCnt++) { + twf = 0; + opCnt = opsPerNode; + + while (opCnt) { +#ifdef FFTMsg + numMul++; + numAdd +=2; +#endif + c = pFFT->pTwiddleTbl[twf].real; + s = - pFFT->pTwiddleTbl[twf].imag; + kk = k + opsPerNode; + tempr = (c * in_re[kk]) - (s * in_im[kk]); + tempi = (s * in_re[kk]) + (c * in_im[kk]); + in_re[kk] = in_re[k] - tempr; + in_im[kk] = in_im[k] - tempi; + in_re[k] = in_re[k] + tempr; + in_im[k] = in_im[k] + tempi; + k++; + opCnt--; + twf += numNodesPerStage; + } + + k += opsPerNode; + } +#ifdef FFTMsg +printf (" ... finished.\n"); +#endif + } + +#ifdef FFTMsg +printf ("\n%d-Point FFT is completed.\n",pFFT->m_numPoints); +printf ("Total number of complex additions = %u\n",numAdd); +printf ("Total number of complex multiplications = %u\n",numMul); +#endif +} + +/***************************************************************************/ +/* IFFT */ +/* INVERSE-FAST-FOURIER-TRANSFORMATION S(f) -> s(t) */ +/***************************************************************************/ +void ifft(FFT *pFFT, double *in_re, double *in_im) +{ +register unsigned stageCnt, k, kk, twf, numNodesPerStage, nodeCnt, opsPerNode, opCnt, i, i2, j; +double tempr, tempi, s, c; + + #ifdef FFTMsg + printf ("\nStart %d-Point IFFT.\n\n",pFFT->m_numPoints); + #endif + + // Do the bit reversal + i2 = pFFT->m_numPoints >> 1; + j = 0; + for (i=0; i m_numPoints-1;i++) { + if (i < j) { + tempr = in_re[i]; + tempi = in_im[i]; + in_re[i] = in_re[j]; + in_im[i] = in_im[j]; + in_re[j] = tempr; + in_im[j] = tempi; + } + k = i2; + while (k <= j) { + j = j-k; + k >>= 1; + } + j = j+k; + } + + // Calculate the IFFT + numNodesPerStage = pFFT->m_numPoints; + for (stageCnt=1; stageCnt <= pFFT->m_numStages; stageCnt++) { + k=0; + numNodesPerStage = numNodesPerStage/2; + opsPerNode = pFFT->m_numPoints/(2*numNodesPerStage); + + #ifdef FFTMsg + printf ("Processing STAGE # %2d",stageCnt); + #endif + + for (nodeCnt=1; nodeCnt <= numNodesPerStage; nodeCnt++) { + twf = 0; + opCnt = opsPerNode; + + while (opCnt) { + c = pFFT->pTwiddleTbl[twf].real; + s = pFFT->pTwiddleTbl[twf].imag; + kk = k + opsPerNode; + tempr = (c * in_re[kk]) - (s * in_im[kk]); + tempi = (s * in_re[kk]) + (c * in_im[kk]); + in_re[kk] = in_re[k] - tempr; + in_im[kk] = in_im[k] - tempi; + in_re[k] = in_re[k] + tempr; + in_im[k] = in_im[k] + tempi; + k++; + opCnt--; + twf += numNodesPerStage; + } + k += opsPerNode; + } + #ifdef FFTMsg + printf (" ... finished.\n"); + #endif + } +#ifdef FFTMsg +printf ("\n%d-Point IFFT is completed.\n",pFFT->m_numPoints); +#endif +} + +/***************************************************************************/ +/* TWIDDLE-FAKTOR-TABLE */ +/* Erstellt Twiddle-Faktor-Tabelle von WN^0 bis WN^N/2 */ +/***************************************************************************/ +void FFTCalcTwiddleTable (COMPLEX *pTwfTbl, unsigned numPoints) +{ +unsigned i, size; +double arg1; + + size = numPoints/2; + arg1 = (2.0 * PI / (double)numPoints ); + + #ifdef FFTMsg + printf ("Calculating and initializing Twiddle-Table (%d kB)...",size*sizeof(COMPLEX)); + #endif + + for (i = 0; i < size; i++) { + pTwfTbl[i].real = cos(arg1* (double)i); + pTwfTbl[i].imag = sin(arg1* (double)i); + } + #ifdef FFTMsg + printf(" completed.\n"); + #endif +} + +/***************************************************************************/ +/* MODULUS */ +/* Berechnet den Betrag einer komplexen Zahl */ +/***************************************************************************/ +void Modulus(double *pRealData, double *pImagData, unsigned N) +{ +unsigned i; +double temp; + + for (i = 0; i < N; i++) { + temp = sqrt( pRealData[i] * pRealData[i] + pImagData[i] * pImagData[i]); + pImagData[i] = atan2(pImagData[i],pRealData[i]); + pRealData[i] = temp; + } +} + +/***************************************************************************/ +/* MODULUS2 */ +/* Berechnet den Betrag einer komplexen Zahl */ +/***************************************************************************/ +void Modulus2(double *pRealData, double *pImagData, double *pModulus, unsigned N) +{ +unsigned i; + + for (i = 0; i < N; i++) { + pModulus[i] = sqrt( pRealData[i] * pRealData[i] + pImagData[i] * pImagData[i]); + } +} + +/***************************************************************************/ +/* Hanning */ +/* Legt das Hanningfenster auf die Abtastwerte im Zeitbereich der Groesse N */ +/***************************************************************************/ +void Hanning(double *pRealData, double *pImagData, unsigned N, unsigned maximum) +{ + unsigned n; + double arg; + + for (n=0; n < N; n++) + { + arg = (2*PI*n /(N-1) - 2*PI*maximum/N); + pRealData[n] = pRealData[n] * (1 + cos(arg)) /2; + pImagData[n] = pImagData[n] * (1 + cos(arg)) /2; + } +} + +/***************************************************************************/ +/* HANNING_K */ +/* Gibt einen Faktor k in Abhängigkeit von n bezogen auf N zurück. */ +/***************************************************************************/ +double hanning_k(unsigned n, unsigned N) +{ +double arg; +arg = (2 * PI / (double)N); + +return ((1-cos(arg*(double)n))/2); +} + +/***************************************************************************/ +/* GAUSS_K */ +/* Gibt einen Faktor k in Abhängigkeit von n bezogen auf N zurück. */ +/***************************************************************************/ +double gauss_k(unsigned n, unsigned m, unsigned s) +{ +double arg; +arg = ((n-m)*(n-m)/(2*s*s)); + +return (exp(-arg)); +} + +/***************************************************************************/ +/* Normalize) */ +/* */ +/***************************************************************************/ +void Scale(double *pRealData, double *pImagData, double scaleFactor, unsigned N) +{ + unsigned int k; + + // Scaling Data + for (k=0; k < N; k++) + { + pRealData[k] *= (double)scaleFactor; + pImagData[k] *= (double)scaleFactor; + } +} + +/***************************************************************************/ +/* BiPower() +/* checks if N is power of 2 +/***************************************************************************/ +int BiPower(unsigned int N) +{ + int i, iterations; + iterations = sizeof(int)*8; + + if (N == 0) + return -1; + + for (i=0; i pXfft = NULL; + pFFT->pYfft = NULL; + + pFFT->m_Nx = Nx; + pFFT->m_Ny = Ny; + + pFFT->pXfft = (struct _sFFT*)malloc(sizeof(pFFT->pXfft)); + FFTinit(pFFT->pXfft, Nx); + + if (Nx == Ny) + pFFT->pYfft = pFFT->pXfft; + + else + { + pFFT->pYfft = (struct _sFFT*)malloc(sizeof(pFFT->pYfft)); + FFTinit(pFFT->pYfft, Ny); + } +} + +/***************************************************************************/ +/* FFT2Dfree() +/* +/***************************************************************************/ +void FFT2Dfree(struct _sFFT2D *pFFT) +{ + if (pFFT->pXfft != NULL) + { + FFTfree(pFFT->pXfft); + pFFT->pXfft = NULL; + } + if (pFFT->pYfft != NULL) + { + FFTfree(pFFT->pYfft); + pFFT->pYfft = NULL; + } + + pFFT->m_Nx = 0; + pFFT->m_Ny = 0; +} + +/***************************************************************************/ +/* fft2d() +/* +/***************************************************************************/ +void fft2d(struct _sFFT2D *pFFT, double **ppReal, double **ppImag) +{ + double *pTempr, *pTempi; + unsigned i, row; + + + pTempr = (double*)malloc(pFFT->m_Ny*sizeof(double)); + pTempi = (double*)malloc(pFFT->m_Ny*sizeof(double)); + + /* Transform ROWs */ + for (row=0; row m_Ny; row++) + fft(pFFT->pXfft, ppReal[row], ppImag[row]); + + /* Transform COLs */ + for (row=0; row m_Nx; row++) + { + for(i=0; i m_Ny; i++) + { + pTempr[i] = ppReal[i][row]; + pTempi[i] = ppImag[i][row]; + } + + fft(pFFT->pYfft, pTempr, pTempi); + for(i=0; i m_Ny; i++) + { + ppReal[i][row] = pTempr[i]; + ppImag[i][row] = pTempi[i]; + } + } + free(pTempr); + free(pTempi); + +} + +/***************************************************************************/ +/* ifft2d() +/* +/***************************************************************************/ +void ifft2d(struct _sFFT2D *pFFT, double **ppReal, double **ppImag) +{ + double *pTempr, *pTempi; + unsigned i, row; + + + pTempr = (double*)malloc(pFFT->m_Ny*sizeof(double)); + pTempi = (double*)malloc(pFFT->m_Ny*sizeof(double)); + + /* Transform COLs */ + for (row=0; row m_Nx; row++) + { + for(i=0; i m_Ny; i++) + { + pTempr[i] = ppReal[i][row]; + pTempi[i] = ppImag[i][row]; + } + + ifft(pFFT->pYfft, pTempr, pTempi); + for(i=0; i m_Ny; i++) + { + ppReal[i][row] = pTempr[i]; + ppImag[i][row] = pTempi[i]; + } + } + free(pTempr); + free(pTempi); + + /* Transform ROWs */ + for (row=0; row m_Ny; row++) + ifft(pFFT->pXfft, ppReal[row], ppImag[row]); + +} + +/***************************************************************************/ +/* DFT() +/* DISKRETE FOURIER-TRANSFORMATION S(f) -> s(t) */ +/***************************************************************************/ +void DFT(double *pDataR, double *pDataI, unsigned N) +{ + double *a, *b; + double phi, c, s; + unsigned i, j; + + a = (double*)malloc(N * sizeof(double)); + b = (double*)malloc(N * sizeof(double)); + + memcpy((double*)a,(double*)pDataR,N * sizeof(double)); + memcpy((double*)b,(double*)pDataI,N * sizeof(double)); + + for (i = 0; i < N; i++) + { + pDataR[i] = 0; + pDataI[i] = 0; + + for (j = 0; j < N; j++) + { + phi = 2*i*j*PI/N; + c = 0.5*cos(phi); + s = 0.5*sin(phi); + + pDataR[i] += c*a[j] - s*b[j]; + pDataI[i] += s*a[j] + c*b[j]; + } + } + free(a); + free(b); + +} + +/***************************************************************************/ +/* IDFT() +/* INVERSE DISKRETE FOURIER-TRANSFORMATION S(f) -> s(t) */ +/***************************************************************************/ +void IDFT(double *pDataR, double *pDataI, unsigned N) +{ + double *a, *b; + double phi, c, s; + unsigned i, j; + + a = (double*)malloc(N * sizeof(double)); + b = (double*)malloc(N * sizeof(double)); + + memcpy((double*)a,(double*)pDataR,N * sizeof(double)); + memcpy((double*)b,(double*)pDataI,N * sizeof(double)); + + for (i = 0; i < N; i++) + { + pDataR[i] = 0; + pDataI[i] = 0; + + for (j = 0; j < N; j++) + { + phi = 2*i*j*PI/N; + c = 0.5*cos(phi); + s = -0.5*sin(phi); + + pDataR[i] += c*a[j] - s*b[j]; + pDataI[i] += s*a[j] + c*b[j]; + } + } + free(a); + free(b); + +} \ No newline at end of file diff --git a/Fft.h b/Fft.h new file mode 100755 index 0000000..b93ff1a --- /dev/null +++ b/Fft.h @@ -0,0 +1,83 @@ +/***************************************************************************/ +/* FFT.H */ +/* Fast-Fourier-Transformation +/* Author: Jens Ahrensfeld */ +/* Datum : 24.06.1999 */ +/* letzte Änderung: 09.06.2000 */ +/***************************************************************************/ +/* Tabellen und Funktionen für die FFT */ +/***************************************************************************/ +#ifndef FFT_H +#define FFT_H + +#define PI 3.1415926535897932384626433832795 +typedef struct _sCOMPLEX +{ + double real, imag; +} COMPLEX; + + +#ifdef __cplusplus +class cfft + { + public: + cfft(unsigned); + ~cfft(); + void fft (double*, double*); + void ifft (double*, double*); + COMPLEX *pTwiddleTbl; + + protected: + unsigned m_numPoints, m_numStages; + +}; +#endif /* __cplusplus */ + +typedef struct _sFFT +{ + unsigned m_numPoints, m_numStages; + COMPLEX *pTwiddleTbl; +} FFT; + +typedef struct _sFFT2D +{ + struct _sFFT *pXfft, *pYfft; + unsigned m_Nx, m_Ny; +} FFT2D; + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/* DFT functions */ +extern void DFT(double *pDataR, double *pDataI, unsigned N); +extern void IDFT(double *pDataR, double *pDataI, unsigned N); + +/* FFT functions */ +extern void FFTinit(FFT *pFFT, unsigned N); +extern void FFTfree(FFT *pFFT); +extern void fft (FFT *pFFT, double*, double*); +extern void ifft (FFT *pFFT, double*, double*); +extern void FFTCalcTwiddleTable (COMPLEX *pTwfTbl, unsigned numPoints); + +/* 2D FFT functions */ +extern void FFT2Dinit(struct _sFFT2D *pFFT, unsigned Nx, unsigned Ny); +extern void FFT2Dfree(struct _sFFT2D *pFFT); +extern void fft2d(struct _sFFT2D *pFFT, double **ppReal, double **ppImag); +extern void ifft2d(struct _sFFT2D *pFFT, double **ppReal, double **ppImag); + +/* Helper functions */ +extern void Scale(double *pRealData, double *pImagData , double scaleFactor, unsigned N); +extern void Modulus(double *pRealData, double *pImagData, unsigned N); +extern void Modulus2(double *pRealData, double *pImagData, double *pModulus, unsigned N); +extern void Hanning (double *pRealData, double *pImagData, unsigned N, unsigned maximum); +extern double hanning_k (unsigned, unsigned); +extern double gauss_k(unsigned, unsigned, unsigned); +extern int BiPower(unsigned int N); + + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* FFT_H */ diff --git a/Release/cfft.pch b/Release/cfft.pch new file mode 100755 index 0000000000000000000000000000000000000000..a1bffd59d5d24d90e89a47d89dc67e5d5182f4cc GIT binary patch literal 235580 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⇔(Ag;iFaRqXhwtrFk?=05Uq<<|R)d%*! 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 literal 0 HcmV?d00001 diff --git a/Release/fft.obj b/Release/fft.obj new file mode 100755 index 0000000000000000000000000000000000000000..a9de1797de497b91d8f423dd40e4b8981bda787e GIT binary patch literal 9682 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 B_MQL$ literal 0 HcmV?d00001 diff --git a/Release/ffttools.obj b/Release/ffttools.obj new file mode 100755 index 0000000000000000000000000000000000000000..6a56975af0963e95efdda8d07d8e90c45b480a34 GIT binary patch literal 2313 zcma)6-%ndr96y<x*3UBL?Gxbyi)5G_WocM$8Iy6G^KG9W16&N_)%5u9UR5Y!8bu zX)tMSmMr@N%;KvL^T`JjmkLXyx@?a5&}(`b8h@Z6ahu83>1O?W&%LEBg}85W&iUSR zKHtyx$NApl6I$7)$#cE(6O45-LtN2>6j2r=^OL;{MQ$j6nXA>#T#9r?soI``eqkHV zVIP^=j=KolUEnTQpg`c7aaFLXPa@_kCZ@dWv3oqO9dK746Zid2xTrLpnsFX0 z`>;bP0Jmvk1$+NQFoznUKnTwB*nuwqOw`2f#y0}{ITJ&CB)jol2JYJb z@O8mH|CoFtE}@++0c-!ZF ztKWZg%yC@ZO#fU=Z;I-1`}pGO#6qunR8;-8juoBhje?fV=d`8#x9O}ny!Ms$w;ptg zT2A{*Rh*)F)@jp&LNPO6%$#|cx*nQTe|c~De64`lof`+deZpPpyWjdz8fmBjr{mnQ zQpW2PGa$JoV+~Yv)$42rq%8v{bY6Ix@+VZscWVzaz6!D*arIp@&hvNkKWe1{uY#5> z_!^4Fz8-`&RQ@_wP+oRODS-*Zx2RS?!^gLosh_8@TgFx@MH>JfZy<wb)8=8DbA5^Y2NEipD@dE;>KbUbk? z=#>^EIX*81{bS>ULHrwIql3X%Oi|)-Ik}~{B8IIe5`TZ*H5=V{-pWegv9RhFn|xXX zdb3Hs46N@nwCdN3*Grf(4w(ARZ=*)6A%8rYl2b`KXh0Kan~7Qw^M7;`;Zny8>p zVwXfTa<5{361x_mnpv!4wsOn}5kNjacF1Mzwj+x$!T4q}vGu@j-C^MI$g>jR4V0I*aTA~MxwbU`U)-ktmW@^At zC?+eZq!fjgkixR3$K#I0q@J!?sX2}9etNL0t2@%$6^n+$2M%-}>WP4cg-#lMikkih Dde^{j literal 0 HcmV?d00001 diff --git a/Release/vc60.idb b/Release/vc60.idb new file mode 100755 index 0000000000000000000000000000000000000000..ee95057cd0bb733e12976b5c30889122187467e2 GIT binary patch literal 33792 zcmeI4O=uKJ6vt~^KcYs(bv1r~j0Zm;OJ;T#LB+$85wl7JF|MZ;ob>cKtv%C2_aq)Y zdiR6f%Yxv=qel^hIf+LPd+;K9Q1BLWPy}7$|KHO!wm~72g_y|y!Ry!6{i>$=*Y&#V z^+28Q-6)L1YAatVlm-X$%_uw{mFxLRxm6x7$6o%|p<;2}n(fC&j4{iN$(dcIhTUg- z{oDYoLu~Q|dboA)yZrk1=CtZc4jvjQ^ zCzyCE$?P6FTq=N7J3D`AB92KCTttF4=NFXxe_>XYAj#F*m;kKA?x&~6|vM$BCD`n z59OHKxhFZ4?6dp>i|be3nOfG)-QxN{sc<~n`rOZ!t&g>A$NF+CQ}^-Yoy!lN{&hb$ zz2ACvEd41Q@6^OM?ZcZ{gWvixPN>;-hflMWPhx%BI7H3*{zCv6vA&E;YS#D3P{t9v z*7x(HDv7}2Ai(%9qAQ#Wu}3!kv%SlX;o#bZ9Q})L{N(WOsXdw6bFhzaz6ra-{Af0s z&1ReVsTmvTCpR)m{s^K`(2^1tAlno43ASepZE>h2i*c)38nB`!JkmhHAbMT zp%i|DQ2yUxp{)qamB3m!GVZya_e0p{uRD4DVdVL2V-)sZ>^ZQUC-jp4Z$jkS{GV+} zL_h=<7lHqiUoWmJQEx;*1bQXVYy5wn4s_@G-+cbx>vhXt1Vq3XoByu^jHR6a>t2e0 z2=q?C=KuY#ZW!kOf5TF4r}i!^^Z$pi%>N(5^8f#r>G`**?VIk@+X~D76ZgRmnC;5{ p2~#2hA|L`HAOa#F0wN#+A|L`HAOa#F0wN#+A|L`HAOZ_a;3Ic))EfW* literal 0 HcmV?d00001 diff --git a/cfft.dsp b/cfft.dsp new file mode 100755 index 0000000..d75524b --- /dev/null +++ b/cfft.dsp @@ -0,0 +1,100 @@ +# Microsoft Developer Studio Project File - Name="cfft" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** NICHT BEARBEITEN ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=cfft - Win32 Debug +!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE +!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl +!MESSAGE +!MESSAGE NMAKE /f "cfft.mak". +!MESSAGE +!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben +!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel: +!MESSAGE +!MESSAGE NMAKE /f "cfft.mak" CFG="cfft - Win32 Debug" +!MESSAGE +!MESSAGE Für die Konfiguration stehen zur Auswahl: +!MESSAGE +!MESSAGE "cfft - Win32 Release" (basierend auf "Win32 (x86) Static Library") +!MESSAGE "cfft - Win32 Debug" (basierend auf "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "cfft - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c +# ADD CPP /nologo /W3 /GX /O2 /I "../../include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c +# ADD BASE RSC /l 0x407 /d "NDEBUG" +# ADD RSC /l 0x407 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\..\lib\release\fft.lib" + +!ELSEIF "$(CFG)" == "cfft - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c +# ADD BASE RSC /l 0x407 /d "_DEBUG" +# ADD RSC /l 0x407 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\..\lib\debug\fft.lib" + +!ENDIF + +# Begin Target + +# Name "cfft - Win32 Release" +# Name "cfft - Win32 Debug" +# Begin Group "Quellcodedateien" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\fft.cpp +# End Source File +# End Group +# Begin Group "Header-Dateien" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=..\..\Include\Fft.h +# End Source File +# End Group +# End Target +# End Project diff --git a/cfft.dsw b/cfft.dsw new file mode 100755 index 0000000..1946c86 --- /dev/null +++ b/cfft.dsw @@ -0,0 +1,29 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00 +# WARNUNG: DIESE ARBEITSBEREICHSDATEI DARF NICHT BEARBEITET ODER GELÖSCHT WERDEN! + +############################################################################### + +Project: "cfft"=.\cfft.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/cfft.ncb b/cfft.ncb new file mode 100755 index 0000000000000000000000000000000000000000..5878a5316b3c81140d8b3644b70605e13ad31d73 GIT binary patch literal 58368 zcmeHQ3v3+6dH#3#rbzKlq(n-V%@t$Gq9l`)+z2wA+LTFAVxtEo%CZx%l}_Z5yy|#& zwtB-a>=%(z5lbGFm*B0ran`yIt}zAygTP8gphh0azH5v@z#w1{ zFbEg~3<3rLgMdN6AYc$M2p9wm0tNwtfI+|@U=T0}7z7Lg1_6VBLBJqj5HJWB1PlTz z7y*&%%~vxk_y$bT4FU!MgMdN6AYc$M2p9wm0tNwtfI+|@U=T0}7z7Lg1_6VBLBJqj z5HJWB1PlTO0fT@+z#w1{csFi~tPyc|g25{MZL&Z=;?b2-DNUqzdvt|V$PUt$M^{Oe z>?WP{=xV8!1IW+1pLCi0R4S}*AsqjptK>)WW2t4hqF2jitKHfOI-=-0`A7MoY$2`k zkIGuPSNagyqZ?$m{JP{wtN4xboAP%ejDM8*H%Y5>$P~gYm42hFx0to=j)rgNFuAbPpyIr?V47gF_=Dxk1>rp-d)x&2|Pj_dAa# zQV;BMdg7-iM`sT{7Ei`;Qjr(oYiW7Ixca5*OIOARF_hvS1x**2D!ps;+iUTF~taUE4U-dwR_ z7Qd=4W{_whSJa7m)vck4mW{A%^`_piE8xh>u(hx@n5*IP_$UT^A2dXeG~)HEhf9N# zrsNCY^R;Y*Er)#ywi@<#VOPQKhOLBU9%Zl(A$}d)7h!8)lb~6SeXv!q#uP!I0X%)4 z*XwuyJ8-TSqgCGY+$OktfZkTP1bYwMujA<)fZGK63An#kA~FV-fS-rUc%Ss$=i%~U zei82T$o~plkn$4T&%^gmKK(B=|GT3Zpn3GPn39@}KQw95z3BiJmCY{iSQ zNm?NBo25bSmV20`F$MvHz#lL1|-=#2qgCR^~=9?<2Ael(yfARz7&e|*qX zi>AIAfA^pRu@TbNLc2}epBB2p~YP=w%SIc_*squmekIDx8{RHKQP(k`N zXgBVb8s?|ydPS@8gi7Cl5k(V(Rk_%WWnzE70&XROtKinajf!1T3wO2Hhw8*0jKIGN zwp#uG_waF8_Wf!971yNQfopLbL6>6%@<`u=OB?po^{F$nYd4_rf!OY|6|*qCHy z+(o`VCi)6Tpw%z`8Mtf%z66WcN10&!kNQr=tmA(*-e%{lT7D7lvGp~^w`GIfYX1c9 zp{2r0_qt-(`3c=_>heskGGmfx6ym`JVM(-u%I@Fno>tz4aYy zdj6nMs_h1Qdj6nE{uwh2sy+BE#@~SXgI2#iAbqzyB+rEA4;=Z7e9N0ZP}kceZSp~R zljT{@_?u;e^~;u;Pf+2l@{Uz%tN8>)?~pgFx2&6t|53*8kc{RS zfaPku<JSXFg-ukuGn*AQ9J(jA=hkx1vAch;*?>fz07uv>8r+>OrP`0DWn$Pjb>% z|IU+HxLgHMd9SKmaGiqC`5B-6hF7ix%EfWcaxoj<`728-SAH91I*&02dnMJJwJBoo zgb>3s7RFoJKf`tGkBQUeDz5iXXGB;CdF5pfuie2F7n17s$MNuzqn|*z_#C-_;4L%E zd+jh@t{*#i?}L{r9IJSiPBHc${;h}C3-2RdoU4Bgmi5egW0qI_zloKf4QveL;X=qF zdn++__cQ_=zSVp2J{P>KU4_XM$CXw$9EAH9kHP$C3ZA0-Kc7|Y(sHifVine-~Q+frYOB)5#CGVn6M=(~P-&_OE_g;brQ70ZvW<2aG#W|BIDlChtS-9e`=i)@muX*pY zssF|CnaMTve53uYHam|nGe3T_>J{)y^3U(5<8J2VU zoX6+fJ?F;RK~fu9)Af8*E%wO&B~b@+LYEaz4Di52tVyddwN{7c|7A>&_! zpI9+YC4Pwu{p<1jFMirpNK5@m#&;2)STdhe@T+wa_^T10Sd!lbKA#oicfilJO!^)8 z_aZIx$3Q?mOY$S&^O=!ffnPpT@&$aZ%hG@2=mq&RKTZ{5@!9cO*TCmmE#q8;pX;jh zUxxn;zx*|b&-a4)uf;F>ko41VU6t`KA--DUfqxZ3xjsYwMew;+Ouq|1*MaHJz>g(Y zl}|bHXRnWZs`!+E%l>K|+*P2W2rq?O2A9{h@oR%F0bPaPI=H--Qt&OrD#tGsht|NQ z0#Z46jVgp`%b+x5DaE0BxF|k2z+Sm!vJQTZ6H38d4Znv{1+Gzod*}68I$o~?aVn5^ z3Cc>BG0TvT7g`G*$Fot;5rnJ*P35ErXx<^$*ec1~Q z|NC?6n|bShYpnHo>wj-zMKHYn_wUxty!F3VtncNm|JB*+^Va`fl^ZkG|90f9|2-_v z=B@udC$FfN3w;*c?=F|UUKerD0JM5!ugNBUO2c%+lSRc^q z&rItBLOV|B1F|ni{lF;tG;R1}pD&8_|0sG%Vg0};dOxJu7p4AS6g{W=@yEVd z|2A|9fq{J#dW7qtV^9KJ!}4metJi?v2wM+5!v?r(k!BrSq8thI4J&{Z+ecchKlq=x ze_Bm1RR?jIysoAg?=b?Ze)A=Q>9V_QjwAK{zFOaGS@j$sp&#Dht;)MtLfGWK$ z+wD$UjYn;Um&!-%F| ziv;5ZRbJ>O>+yo>A8nWI)>D=m53Bs!C1pQrEB!$g{{gA9*LvdzMei1lC)B)#ir*<8 zv%YSrc>;C)hvhl@Pwa4iX%zLFx_xx_!#?iQ%SF#nm+dns*XLm8>Z{GvQJk5U@0&5V z9|2GQHzA(>PpPl}o4EZKHdinR7zFM(0-Rgr%;a*_|KWUu>YT`?g1WK9(1aNTRuTfb{x4VkAFhL~Re*LB!unq7{}kq4z%lFp zuF?OQek)wx8_1VHs6f8VW1M2)cVhjYMWz1lTqdmlvz+wHb}Rj|nfgCmxeb}FkU#95 zss9%ao5g?nNu&Q`Kkd4+z*E3}?wry8D*(k~IK}vPqW&BGU;jz4BjhUo(>|x56*v07 zM*jQn1|8S;uW0%2-@}|vSpF|Z{a;p8>V2uR2H>Zj7uWg7ryiKr?TcKTn%3?6->E>i zFZ1cCK)25YU+eQZ@N>F=O~ZBgwXR;~@>HO!=fJOZ^{54=b@fiYGNp9&yha3N^YkjP zx(A&vziiYQqfQ>-m56 zkWk+Fe@)Pu;kiC{LGxuDG-5VFXU9ALPs@JFr(&|dtJKr$XY)yE#dE>f8oF6eub=+Q ze>A1`&oU0>F`G;BuY*qy{Tam9{ea6)c{=;#Uqu|<4`Ba;%{cj8AD^06_Va3#_lzI; zLUDPY$y|`XK-12$@x7&pVEk)aE)Z$7>=xbsbG6Y8_W!uOZqfZemsh*VtwlWId@U}e@?A(gE57Rp`~t1!ux+NRlC9dpHp|a!Tz62om+JOPscX5 z=>8wac7y#t*Kv=<_W$%h;s*PFB2{iM?#OI*7q$QA`UW=`kA(OCWN^P6j}R+&t2@2_ z$8pX6AGFc$=l-Ah1-M&hM!1eCu2!x zAU8RjNDp?W$H&tt4j$uYIe1K@217%)g&$1*q48L5tZnRJfhUI!~mv5679) z+kzf*+gOY6^zzP5{K(mKVpxXLlc$q$XImn5av~n4661c<1mljzCbQX-XZ#2+ihI z3i%d0YJ4c0|9ew#jiGBr8gpN722hB*Vd*eE^;;x+ciAMfkwIk-CT4pWix%Xw^RRGTGe3 zuF21moID`-q)H+cpAORb&3)s&>N^}Nqg_2-@ptufc4nU7{VFz|ogWPLM|>C%H(Umg zD8#NF02g>vuSRooa__)SosXkX&F_Jn&l5S$;U|O0-ZM}cDWFk;UBkL)Dkt4>+Llq> zmY~Z5nw=J%6CX?1fB1Ze3VBZ+&Lf^w&mWh3h8%xj&4{3EY#yJtUui)$*VFfQ37-z8YC@_#9!jpAgcXwxEwqKzgj+B}XY+LXVDXwz}% z-VV{me6?t!pN1>p+^)V8<)Qk8Uj61)LvFh)W|H7@<(+C7+$znbo)W{F~f$d_}Xygo}Yr5Y52Jp9+AZD>NGsMimJ6VT;}0+?XY2%{H!ED9}!m9h0!!_IulUzKf`}@*`|U~PUWEHP7IQAa<^11e zxCG`ZT%P514elje=sH}^|J{Jgc=C$pM&Kg4IB+@t*8!KoU2r+S*YDG(;PU%l8J~9H z)??1E6)S%&>bqaf_##JC9NC1~zm3?NkG=H97z7Lgw}e2kMshdC1-g;^9Q>`YG~92_ zedn_^l3Yike&9kIN$wM;Sx6(f4smrO$+5~p8p&_?`7gAQ^KdLMCn1M^+dArO}0ajnn@`DN0x{Uo!tyi_D!YJW;Rt{^!hhXgSkb|BriY z&G&zU&k!%ZR+{hsdfzrS^?x~6_kyym4E?_jU;od1|F_@)8iql@AYc$M2p9wm0tNwt vfI+|@U=T0}7z7Lg1_6VBLBJqj5HJWB1PlTO0fT@+z#w1{FbEg~fWZF&=CaYE literal 0 HcmV?d00001 diff --git a/cfft.plg b/cfft.plg new file mode 100755 index 0000000..3287df1 --- /dev/null +++ b/cfft.plg @@ -0,0 +1,27 @@ + + +
+

Erstellungsprotokoll

+

+--------------------Konfiguration: cfft - Win32 Release-------------------- +

+

Befehlszeilen

+Erstellen der temporären Datei "E:\WIN95\TEMP\RSPD363.TMP" mit Inhalten +[ +/nologo /ML /W3 /GX /O2 /I "../../include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Fp"Release/cfft.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c +"G:\work\Develope\MSVC\LIBSRC\CFFT\fft.cpp" +] +Creating command line "cl.exe @E:\WIN95\TEMP\RSPD363.TMP" +Erstellen der Befehlzeile "link.exe -lib /nologo /out:"..\..\lib\release\fft.lib" .\Release\fft.obj " +

Ausgabefenster

+Kompilierung läuft... +fft.cpp +Bibliothek wird erstellt... + + + +

Ergebnisse

+fft.lib - 0 Fehler, 0 Warnung(en) +
+ +