lib/TimeDelay.hh
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 
 All Classes Files