00001 // 驕�蟒カ蝎ィ繧ッ繝ゥ繧ケ 00002 // 2011/02/16 Yuki YOKOKURA 00003 // 00004 // 驕�蟒カ蝎ィ G(s)=e^(-s*T*n) -> G(z)=z^(-n) 00005 // (菴�縺� T 縺ッ蛻カ蠕。蜻ィ譛溘〒�シ悟宛蠕。蜻ィ譛溷腰菴阪〒縺励°驕�蟒カ譎る俣繧定ィュ螳壹〒縺阪↑縺�縺薙→縺ォ豕ィ諢�) 00006 // 00007 // Copyright (C) 2011 Yuki YOKOKURA 00008 // This program is free software; 00009 // you can redistribute it and/or modify it under the terms of the GNU General Public License 00010 // as published by the Free Software Foundation; either version 3 of the License, or any later version. 00011 // This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 00012 // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00013 // See the GNU General Public License for more details <http://www.gnu.org/licenses/>. 00014 // Besides, you can negotiate about other options of licenses instead of GPL. 00015 // If you would like to get other licenses, please contact us<yuki@katsura.sd.keio.ac.jp>. 00016 00017 #ifndef TIMEDELAY 00018 #define TIMEDELAY 00019 00020 namespace ARCS { // ARCS蜷榊燕遨コ髢� 00021 class TimeDelay { 00022 private: 00023 TimeDelay(const TimeDelay&); // 繧ウ繝斐�シ繧ウ繝ウ繧ケ繝医Λ繧ッ繧ソ菴ソ逕ィ遖∵ュ「 00024 const TimeDelay& operator=(const TimeDelay&); // 莉」蜈・貍皮ョ怜ュ蝉スソ逕ィ遖∵ュ「 00025 long dmem_max; // 譛�螟ァ驕�蟒カ譎る俣 00026 long num; // 驕�蟒カ譎る俣 00027 long Wcount; // 譖ク縺崎セシ縺ソ繧ォ繧ヲ繝ウ繧ソ 00028 long Rcount; // 隱ュ縺ソ蜃コ縺励き繧ヲ繝ウ繧ソ 00029 double* dmem; // 驕�蟒カ繝。繝「繝ェ 00030 00031 public: 00032 TimeDelay(const long MaxDelay); // 繧ウ繝ウ繧ケ繝医Λ繧ッ繧ソ MaxDelay�シ帶怙螟ァ驕�蟒カ譎る俣 00033 ~TimeDelay(); // 繝�繧ケ繝医Λ繧ッ繧ソ 00034 double GetSignal(const double u); // 蜃コ蜉帑ソ。蜿キ縺ョ蜿門セ� u�シ帛�・蜉帑ソ。蜿キ 00035 void SetDelayTime(const long DelayTime);//驕�蟒カ譎る俣縺ョ險ュ螳� DelayTime�シ幃≦蟒カ譎る俣 (譛�螟ァ驕�蟒カ譎る俣繧定カ翫∴縺ェ縺�縺薙→) 00036 void ClearDelayMemory(void); // 驕�蟒カ繝。繝「繝ェ縺ョ繧シ繝ュ繧ッ繝ェ繧「 00037 }; 00038 } 00039 00040 #endif 00041 00042 00043