#include "getfile.h" #include #include #include #include extern qint16 id[2*60*96000]; void getfile(QString fname, bool xpol, int dbDgrd) { // int npts=2*56*96000; int npts=2*60*96000; if(xpol) npts=2*npts; // Degrade S/N by dbDgrd dB -- for tests only!! float dgrd=0.0; if(dbDgrd<0) dgrd = 23.0*sqrt(pow(10.0,-0.1*(double)dbDgrd) - 1.0); float fac=23.0/sqrt(dgrd*dgrd + 23.0*23.0); memset(id,0,2*npts); char name[80]; strcpy(name,fname.toLocal8Bit()); FILE* fp=fopen(name,"rb"); if(fp != NULL) { auto n = fread(&datcom_.fcenter,sizeof(datcom_.fcenter),1,fp); n = fread(id,2,npts,fp); int j=0; if(dbDgrd<0) { for(int i=0; i0) qDebug() << "bb" << datcom_.mygrid << one; fclose(fp); datcom_.ndiskdat=1; int nfreq=(int)datcom_.fcenter; if(nfreq!=144 and nfreq != 432 and nfreq != 1296) datcom_.fcenter=1296.080; int i0=fname.indexOf(".iq"); datcom_.nutc=0; if(i0>0) { datcom_.nutc=100*fname.mid(i0-4,2).toInt() + fname.mid(i0-2,2).toInt(); } } } void save_iq(QString fname, bool bCFOM) { int npts=2*60*96000; if(bCFOM) npts=2*npts; qint16* buf=(qint16*)malloc(2*npts); char name[80]; strcpy(name,fname.toLocal8Bit()); FILE* fp=fopen(name,"wb"); if(fp != NULL) { fwrite(&datcom_.fcenter,sizeof(datcom_.fcenter),1,fp); int j=0; for(int i=0; i= 1.0 || rsq == 0.0); fac = sqrt(-2.0*log(rsq)/rsq); gset = v1*fac; iset++; return v2*fac; }