00001 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 00018 #ifndef TDSPSTFT_H 00019 #define TDSPSTFT_H 00020 00021 #include <TDSPfft.h> 00022 00035 class TDSPStft : public TDSPfft { 00036 00037 protected: 00038 00039 TDSPSignal *fSTFT_Signal; 00040 TDSPSignal *fISTFT_Signal; 00041 00042 TDSPSignal *fWindow; // The Window-Vector 00043 TDSPSignal *fDualWindow; // The Dual-Window-Vector 00044 00045 Int_t fMulti; 00046 Int_t fBlockLen; 00047 00048 public: 00049 TDSPStft(char *name); 00050 ~TDSPStft(); 00051 00052 // Set/Get the Blocklen (in NOFDM thats is the Number of 00053 // carriers Nc ) 00054 00055 void SetBlockLen(Int_t b) { fBlockLen = b; }; 00056 Int_t GetBlockLen() { return fBlockLen; }; 00057 00058 // Set/Get the Multiplikator Lambda 00059 // This defines in NOFDM the symbol length N0 = Nc/Lambda 00060 // and the frequency spacing M0 = TF/N0 because TF is 00061 // defined as TF=Ng/Lambda and Ng is the number samples of the 00062 // window atom function g() 00063 // 00064 void SetMultiplikator(Int_t b) { fMulti = b;}; 00065 Int_t GetMultiplikator() { return fMulti; }; 00066 00067 00068 // The Slots 00069 00070 // Connect a window function 00071 // 00072 void Window(TDSPSignal *input) {fWindow = input;}; 00073 00074 // Connect the dual window function 00075 // 00076 void DualWindow(TDSPSignal *input) {fDualWindow = input;}; 00077 00078 #ifdef HUHU 00079 TDSPSignal* FFT(TDSPSignal *input); 00080 TDSPSignal* IFFT(TDSPSignal *input); 00081 #endif 00082 00083 ClassDef(TDSPStft,1) 00084 00085 }; 00086 00087 #endif
1.3.2