Logo Coherent WaveBurst  
Reference Guide
Logo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TestNormalization.C
Go to the documentation of this file.
1 //
2 // Display Spetrogram (Test)
3 // Author : Gabriele Vedovato
4 
5 {
6 
7  #define SAMPLERATE 4096
8 
9  #define IFILE_NAME "data/noiseH1_968654512_S6_online_1_848615060_D.dat"
10  //#define IFILE_NAME "data/noiseL1_968654512_S6_online_1_848615060_D.dat"
11  //#define IFILE_NAME "data/noiseV1_968654512_S6_online_1_848615060_D.dat"
12 
13  using namespace CWB;
14 
17  x.rate(SAMPLERATE);
18  x.start(100);
19 
20  int nscratch=8*x.rate();
21  double dt=1./x.rate();
22 
23 /*
24  wavearray<double> t;
25  t.resize(x.size());
26  for(int i=0;i<t.size();i++) t.data[i]=i*dt;
27 
28  TGraph gr(t.size()-2*nscratch,&t.data[nscratch],&x.data[nscratch]);
29  gr.Draw("ALP");
30  return;
31 */
32 /*
33  //for(int i=0;i<x.size();i++) x.data[i]+=100;
34  x.FFT(1);
35  double df=x.rate()/x.size();
36  for(int i=0;i<x.size();i++) {
37  double f=i*df/2;
38  if(f<1) x.data[i]=0;
39  }
40  x.FFT(-1);
41 */
42 
43  //for(int i=0;i<x.size();i++) x.data[i]*=sqrt(x.rate());
44 
45  int N=0;
46  double avr=0;
47  for(int i=nscratch;i<x.size()-nscratch;i++) {avr+=x.data[i];N++;}
48  avr/=N;
49  cout << "avr : " << avr << endl;
50  N=0;
51  double rms=0;
52  for(int i=nscratch;i<x.size()-nscratch;i++) {rms+=dt*pow(x.data[i]-avr,2);N++;}
53  rms/=N;
54  rms=sqrt(rms);
55  cout << "rms : " << rms << endl;
56  //exit(0);
57 
58  int nfact=4;
59  int nfft=nfact*512;
60  int noverlap=nfft-10;
61  double fparm=nfact*6;
62  //STFT stft(x,nfft,noverlap,"amplitude","gauss",fparm);
63  STFT stft(x,nfft,noverlap,"energy","gauss",fparm);
64  //STFT stft(x,nfft,"energy","hamming");
65  //STFT stft(x,nfft,"energy","hann");
66  double Tmin=53.5+100;
67  double Tmax=54.5+100;
68  double Fmin=64.0;
69  double Fmax=2048.0;
70  //double Fmin=1.0;
71  //double Fmax=1024.0+512.0;
72  double Zmin=0.0;
73  double Zmax=0.0;
74  char title[256];
75  //sprintf(title,"Spectrogram : %s",IFILE_NAME);
76  //stft.SetTitle(title);
77  TH2D* h2 = stft.GetHistogram();
78  stft.Draw(Tmin,Tmax,Fmin,Fmax,Zmin,Zmax,1);
79  TCanvas* canvas = stft.GetCanvas();
80  //canvas->SetLogy(true);
81  //canvas->SetWindowSize(800,600);
82 
83  //stft.Print("plots/H1_BD_amplitude_spectrogram.png");
84  //stft.Print("plots/H1_BD_energy_spectrogram.png");
85 }
virtual size_t size() const
Definition: wavearray.hh:127
int noverlap
Definition: TestDelta.C:20
int nscratch
Definition: ced.hh:24
virtual void rate(double r)
Definition: wavearray.hh:123
#define IFILE_NAME
int nfact
Definition: TestDelta.C:18
int nfft
Definition: TestDelta.C:19
virtual void ReadBinary(const char *, int=0)
Definition: wavearray.cc:392
return wmap canvas
double Fmin
Definition: TestDelta.C:27
virtual void start(double s)
Definition: wavearray.hh:119
i drho i
void Draw(double t1=0.0, double t2=0.0, double f1=0.0, double f2=0.0, double z1=0.0, double z2=0.0, int dpaletteId=DUMMY_PALETTE_ID, Option_t *option="colfz")
Definition: STFT.cc:76
#define SAMPLERATE
double dt
double Zmin
Definition: TestDelta.C:29
double Tmax
Definition: TestDelta.C:26
double Tmin
Definition: TestDelta.C:25
TH2D * GetHistogram()
Definition: STFT.hh:53
wavearray< double > x
int N
double Zmax
Definition: TestDelta.C:30
char title[256]
Definition: SSeriesExample.C:1
double Fmax
Definition: TestDelta.C:28
TCanvas * GetCanvas()
Definition: STFT.hh:52
DataType_t * data
Definition: wavearray.hh:301
double fparm
Definition: TestDelta.C:22
CWB::STFT * stft
Definition: ChirpMass.C:117
double avr