RTXI 1.3
plugins/include/DSP/con_hamm.cpp
Go to the documentation of this file.
00001 //
00002 //  File = con_hamm.cpp
00003 //
00004 
00005 #include <math.h>
00006 #include <iostream>
00007 #include "misdefs.h"
00008 #include "typedefs.h"
00009 #include "con_hamm.h"
00010 #include "sinc.h"
00011 
00012 
00013 ContHammingMagResp::ContHammingMagResp( istream& uin,
00014                                         ostream& uout )
00015                    : ContinWindowResponse( uin, uout )
00016 {
00017  double x, amp0, tau, freq, freq_exp, freq_cyc;
00018  
00019  tau = 1.0;
00020  freq_cyc = 2.0;
00021  amp0 = 0.54;
00022  
00023  for(int n=0; n<Num_Resp_Pts; n++)
00024    {
00025     freq_exp = 1.0 + freq_cyc*(n-Num_Resp_Pts)/((double)Num_Resp_Pts);
00026     freq = pow( (double)10.0, freq_exp);
00027     x = 0.54 * tau * sinc(PI * tau * freq);
00028     x += (0.23 * tau * sinc(PI * tau * (freq-tau)));
00029     x += (0.23 * tau * sinc(PI * tau * (freq+tau)));
00030     if(Db_Scale_Enab) x = 20.0*log10(fabs(x/amp0));
00031     (*Response_File) << freq << ", " << x << std::endl;    
00032    }
00033 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines