World Ocean Simulation System (WOSS) library
uw-woss-bpsk.h
Go to the documentation of this file.
1/* WOSS - World Ocean Simulation System -
2 *
3 * Copyright (C) 2009 Federico Guerra
4 * and regents of the SIGNET lab, University of Padova
5 *
6 * Author: Federico Guerra - federico@guerra-tlc.com
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation;
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 */
21
22/*
23 * This software has been developed by Federico Guerra and SIGNET lab,
24 * University of Padova, in collaboration with the NATO Centre for
25 * Maritime Research and Experimentation (http://www.cmre.nato.int ;
26 * E-mail: pao@cmre.nato.int), whose support is gratefully acknowledged.
27 */
28
29
30#ifndef UNDERWATER_WOSS_BPSK_H
31#define UNDERWATER_WOSS_BPSK_H
32
33
44#include <underwater-bpsk.h>
45
46
47#define UWWOSSMPHYBPSK_MODNAME "UWWOSSBPSK"
48
49
50namespace woss {
51
52 class Transducer;
53
54}
55
56
62class UwMPhyBpskTransducer : public UnderwaterMPhyBpsk {
63
64
65 public:
66
67
69
70
71 virtual ~UwMPhyBpskTransducer() { }
72
73
74 virtual int command( int argc, const char*const* argv );
75
76
77 protected:
78
79
80 virtual double consumedEnergyTx( double Ptx, double duration );
81
82
83 virtual const woss::Transducer* const getTransducer( double frequency ) const;
84
85
86 typedef ::std::map< ::std::pair< double, double >, const woss::Transducer* > FreqTransducerMap;
87 typedef FreqTransducerMap::iterator FTMIter;
88 typedef FreqTransducerMap::const_iterator FTMCIter;
89 typedef FreqTransducerMap::reverse_iterator FTMRIter;
90 typedef FreqTransducerMap::const_reverse_iterator FTMRCIter;
91
92
93 FreqTransducerMap freq_transd_map;
94
95
96};
97
98
105
106
107 public:
108
109
110 WossMPhyBpsk();
111
112
113 virtual ~WossMPhyBpsk() { }
114
115
116 protected:
117
118
126 virtual double getTxPower( Packet* p );
127
128
129};
130
131
132#endif /* UNDERWATER_WOSS_BPSK_H */
133
134
135
BPSK modulation class with woss::Transducer tx power control.
Definition uw-woss-bpsk.h:62
BPSK modulation class with woss::Transducer power control.
Definition uw-woss-bpsk.h:104
virtual double getTxPower(Packet *p)
Definition uw-woss-bpsk.cpp:144
Transducer class.
Definition transducer-definitions.h:70