![]() |
RTXI 1.3
|
00001 // 00002 // File = con_tngl.cpp 00003 // 00004 00005 #include <math.h> 00006 #include <iostream> 00007 #include "con_tngl.h" 00008 #include "misdefs.h" 00009 #include "typedefs.h" 00010 #include "sincsqrd.h" 00011 00012 ContTriangularMagResp::ContTriangularMagResp( istream& uin, 00013 ostream& uout ) 00014 :ContinWindowResponse( uin, uout ) 00015 { 00016 double amp0, x, value; 00017 double tau, freq, freq_exp, freq_cyc; 00018 00019 tau = 1.0; 00020 freq_cyc = 2.0; 00021 00022 for(int n=0; n<Num_Resp_Pts; n++) 00023 { 00024 freq_exp = 1.0 + freq_cyc*(n-Num_Resp_Pts)/((double)Num_Resp_Pts); 00025 freq = pow( (double)10.0, freq_exp); 00026 amp0 = 0.5 * tau; 00027 x = PI * freq * tau /2.0; 00028 value = 0.5 * tau * sinc_sqrd(x) / amp0; 00029 if(Db_Scale_Enab) value = 20.0*log10(value); 00030 (*Response_File) << freq << ", " << value << std::endl; 00031 } 00032 00033 }