root/doc/html/classitpp_1_1FIR__Fading__Generator.html @ 354

Revision 353, 27.3 kB (checked in by smidl, 16 years ago)

doc

Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mixpp: itpp::FIR_Fading_Generator Class Reference</title>
4<link href="tabs.css" rel="stylesheet" type="text/css">
5<link href="doxygen.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.8 -->
8<script type="text/javascript">
9<!--
10function changeDisplayState (e){
11  var num=this.id.replace(/[^[0-9]/g,'');
12  var button=this.firstChild;
13  var sectionDiv=document.getElementById('dynsection'+num);
14  if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
15    sectionDiv.style.display='block';
16    button.src='open.gif';
17  }else{
18    sectionDiv.style.display='none';
19    button.src='closed.gif';
20  }
21}
22function initDynSections(){
23  var divs=document.getElementsByTagName('div');
24  var sectionCounter=1;
25  for(var i=0;i<divs.length-1;i++){
26    if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
27      var header=divs[i];
28      var section=divs[i+1];
29      var button=header.firstChild;
30      if (button!='IMG'){
31        divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
32        button=document.createElement('img');
33        divs[i].insertBefore(button,divs[i].firstChild);
34      }
35      header.style.cursor='pointer';
36      header.onclick=changeDisplayState;
37      header.id='dynheader'+sectionCounter;
38      button.src='closed.gif';
39      section.id='dynsection'+sectionCounter;
40      section.style.display='none';
41      section.style.marginLeft='14px';
42      sectionCounter++;
43    }
44  }
45}
46window.onload = initDynSections;
47-->
48</script>
49<div class="navigation" id="top">
50  <div class="tabs">
51    <ul>
52      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
53      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
54      <li><a href="modules.html"><span>Modules</span></a></li>
55      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
56      <li><a href="files.html"><span>Files</span></a></li>
57    </ul>
58  </div>
59  <div class="tabs">
60    <ul>
61      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
62      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
63      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
64      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
65    </ul>
66  </div>
67  <div class="navpath"><b>itpp</b>::<a class="el" href="classitpp_1_1FIR__Fading__Generator.html">FIR_Fading_Generator</a>
68  </div>
69</div>
70<div class="contents">
71<h1>itpp::FIR_Fading_Generator Class Reference<br>
72<small>
73[<a class="el" href="group__channels.html">Channel Modeling</a>]</small>
74</h1><!-- doxytag: class="itpp::FIR_Fading_Generator" --><!-- doxytag: inherits="itpp::Correlated_Fading_Generator" -->FIR type Fading generator class. 
75<a href="#_details">More...</a>
76<p>
77<code>#include &lt;<a class="el" href="channel_8h-source.html">channel.h</a>&gt;</code>
78<p>
79
80<p>
81<a href="classitpp_1_1FIR__Fading__Generator-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
82<tr><td></td></tr>
83<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
84<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0f30646df5d316a17f0af73b4584d9bf"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::FIR_Fading_Generator" ref="0f30646df5d316a17f0af73b4584d9bf" args="(double norm_doppler, int filter_length=500)" -->
85&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1FIR__Fading__Generator.html#0f30646df5d316a17f0af73b4584d9bf">FIR_Fading_Generator</a> (double norm_doppler, int filter_length=500)</td></tr>
86
87<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <br></td></tr>
88<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="12d2a073a37f1fa4e77900d1b4c93e41"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::~FIR_Fading_Generator" ref="12d2a073a37f1fa4e77900d1b4c93e41" args="()" -->
89virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1FIR__Fading__Generator.html#12d2a073a37f1fa4e77900d1b4c93e41">~FIR_Fading_Generator</a> ()</td></tr>
90
91<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor. <br></td></tr>
92<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="367a3544e74251285d08644e0da0b255"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::set_filter_length" ref="367a3544e74251285d08644e0da0b255" args="(int filter_length)" -->
93virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1FIR__Fading__Generator.html#367a3544e74251285d08644e0da0b255">set_filter_length</a> (int filter_length)</td></tr>
94
95<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set FIR filter length. <br></td></tr>
96<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6682992e50d22a1966b280ac68844f76"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::get_filter_length" ref="6682992e50d22a1966b280ac68844f76" args="() const " -->
97virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1FIR__Fading__Generator.html#6682992e50d22a1966b280ac68844f76">get_filter_length</a> () const </td></tr>
98
99<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get filter length. <br></td></tr>
100<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="02a41d78b0c669468101d1cc19a8db22"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::init" ref="02a41d78b0c669468101d1cc19a8db22" args="()" -->
101virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1FIR__Fading__Generator.html#02a41d78b0c669468101d1cc19a8db22">init</a> ()</td></tr>
102
103<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the generator. <br></td></tr>
104<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7e75822c2898663bcabf504ad0d8f3be"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::generate" ref="7e75822c2898663bcabf504ad0d8f3be" args="(int no_samples, cvec &amp;output)" -->
105virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1FIR__Fading__Generator.html#7e75822c2898663bcabf504ad0d8f3be">generate</a> (int no_samples, cvec &amp;output)</td></tr>
106
107<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate <em>no_samples</em> values from the fading process. <br></td></tr>
108<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1ce922b7a4584ff96aad0cb1e804a805"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::set_norm_doppler" ref="1ce922b7a4584ff96aad0cb1e804a805" args="(double norm_doppler)" -->
109virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Correlated__Fading__Generator.html#1ce922b7a4584ff96aad0cb1e804a805">set_norm_doppler</a> (double norm_doppler)</td></tr>
110
111<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set normalized Doppler. <br></td></tr>
112<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f25e8ce62c4da500a45da98f9ab6709f"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::set_LOS_doppler" ref="f25e8ce62c4da500a45da98f9ab6709f" args="(double relative_doppler)" -->
113virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Correlated__Fading__Generator.html#f25e8ce62c4da500a45da98f9ab6709f">set_LOS_doppler</a> (double relative_doppler)</td></tr>
114
115<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set relative Doppler (compared to the maximum Doppler) for the LOS component. <br></td></tr>
116<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b4be548769b72b5b2cf14be1d0deceab"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::set_time_offset" ref="b4be548769b72b5b2cf14be1d0deceab" args="(int offset)" -->
117virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Correlated__Fading__Generator.html#b4be548769b72b5b2cf14be1d0deceab">set_time_offset</a> (int offset)</td></tr>
118
119<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set time offset in samples. <br></td></tr>
120<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9557ac876ae32b89d4652f761a4f20b0"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::get_norm_doppler" ref="9557ac876ae32b89d4652f761a4f20b0" args="() const " -->
121virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Correlated__Fading__Generator.html#9557ac876ae32b89d4652f761a4f20b0">get_norm_doppler</a> () const </td></tr>
122
123<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return normalized Doppler. <br></td></tr>
124<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="67f6da3c7ce1d462d09778b913b8c5ee"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::get_LOS_doppler" ref="67f6da3c7ce1d462d09778b913b8c5ee" args="() const " -->
125virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Correlated__Fading__Generator.html#67f6da3c7ce1d462d09778b913b8c5ee">get_LOS_doppler</a> () const </td></tr>
126
127<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get relative Doppler (compared to the maximum doppler) for the LOS component. <br></td></tr>
128<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e8a07728aa2d86124ab4aee8e56fb536"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::get_time_offset" ref="e8a07728aa2d86124ab4aee8e56fb536" args="() const " -->
129virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Correlated__Fading__Generator.html#e8a07728aa2d86124ab4aee8e56fb536">get_time_offset</a> () const </td></tr>
130
131<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get time offset in samples. <br></td></tr>
132<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c230a87eec2a53dadd8e8706baa7d51c"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::shift_time_offset" ref="c230a87eec2a53dadd8e8706baa7d51c" args="(int no_samples)" -->
133virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Correlated__Fading__Generator.html#c230a87eec2a53dadd8e8706baa7d51c">shift_time_offset</a> (int no_samples)</td></tr>
134
135<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shift generator time offset by a number of samples. <br></td></tr>
136<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b6bc7379a25d5adc4d9d2eddf92cfb9c"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::generate" ref="b6bc7379a25d5adc4d9d2eddf92cfb9c" args="(int no_samples)" -->
137cvec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Fading__Generator.html#b6bc7379a25d5adc4d9d2eddf92cfb9c">generate</a> (int no_samples)</td></tr>
138
139<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate <em>no_samples</em> values from the fading process. <br></td></tr>
140<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="303d2454c55a32ea459b2986bc103d31"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::set_LOS_power" ref="303d2454c55a32ea459b2986bc103d31" args="(double relative_power)" -->
141void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Fading__Generator.html#303d2454c55a32ea459b2986bc103d31">set_LOS_power</a> (double relative_power)</td></tr>
142
143<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set relative LOS power. <br></td></tr>
144<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e03abc2611e2658ecbfa809a571545dc"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::set_doppler_spectrum" ref="e03abc2611e2658ecbfa809a571545dc" args="(DOPPLER_SPECTRUM spectrum)" -->
145virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Fading__Generator.html#e03abc2611e2658ecbfa809a571545dc">set_doppler_spectrum</a> (<a class="el" href="group__channels.html#gfd030225d513c962191cbce565337fd8">DOPPLER_SPECTRUM</a> spectrum)</td></tr>
146
147<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set Doppler spectrum (for Rice fading generator). <br></td></tr>
148<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fb48831a6883828cc2f176e00dacf916"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::set_no_frequencies" ref="fb48831a6883828cc2f176e00dacf916" args="(int no_freq)" -->
149virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Fading__Generator.html#fb48831a6883828cc2f176e00dacf916">set_no_frequencies</a> (int no_freq)</td></tr>
150
151<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set number of sine frequencies (for Rice fading generator). <br></td></tr>
152<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="14efae5d9a4b08d00b7952877f3f74ef"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::set_rice_method" ref="14efae5d9a4b08d00b7952877f3f74ef" args="(RICE_METHOD method)" -->
153virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Fading__Generator.html#14efae5d9a4b08d00b7952877f3f74ef">set_rice_method</a> (<a class="el" href="group__channels.html#g5909a344554fcfbc9d5c87dcd206974b">RICE_METHOD</a> method)</td></tr>
154
155<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set calculation method of Doppler frequencies and amplitudes (for Rice fading generator). <br></td></tr>
156<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="25a4f2666677dd154219eee76e27a648"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::get_LOS_power" ref="25a4f2666677dd154219eee76e27a648" args="() const " -->
157double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Fading__Generator.html#25a4f2666677dd154219eee76e27a648">get_LOS_power</a> () const </td></tr>
158
159<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get relative power of LOS component (Rice factor). <br></td></tr>
160<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dfc80efcd94edf481d0b631b9eabb8ec"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::get_doppler_spectrum" ref="dfc80efcd94edf481d0b631b9eabb8ec" args="() const " -->
161virtual <a class="el" href="group__channels.html#gfd030225d513c962191cbce565337fd8">DOPPLER_SPECTRUM</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Fading__Generator.html#dfc80efcd94edf481d0b631b9eabb8ec">get_doppler_spectrum</a> () const </td></tr>
162
163<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return Doppler spectrum (for Rice fading generator). <br></td></tr>
164<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c0463428de18bb3fc78a879ef7d5e6c5"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::get_no_frequencies" ref="c0463428de18bb3fc78a879ef7d5e6c5" args="() const " -->
165virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Fading__Generator.html#c0463428de18bb3fc78a879ef7d5e6c5">get_no_frequencies</a> () const </td></tr>
166
167<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get number of sine frequencies (for Rice fading generator). <br></td></tr>
168<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="29db45399c53169186ce3bcf66474e68"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::get_rice_method" ref="29db45399c53169186ce3bcf66474e68" args="() const " -->
169virtual <a class="el" href="group__channels.html#g5909a344554fcfbc9d5c87dcd206974b">RICE_METHOD</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Fading__Generator.html#29db45399c53169186ce3bcf66474e68">get_rice_method</a> () const </td></tr>
170
171<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get calculation method of Doppler frequencies and amplitudes (for Rice fading generator). <br></td></tr>
172<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
173<tr><td class="memItemLeft" nowrap align="right" valign="top">vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1FIR__Fading__Generator.html#4645a615b7e2ad51e5e497124f219769">Jakes_filter</a> (double norm_dopp, int order=100)</td></tr>
174
175<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Jakes spectrum filter.  <a href="#4645a615b7e2ad51e5e497124f219769"></a><br></td></tr>
176<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c9eee8d72cf7d8fbbb0a646cd5dfbc11"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::add_LOS" ref="c9eee8d72cf7d8fbbb0a646cd5dfbc11" args="(int idx, std::complex&lt; double &gt; &amp;sample)" -->
177void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Correlated__Fading__Generator.html#c9eee8d72cf7d8fbbb0a646cd5dfbc11">add_LOS</a> (int idx, std::complex&lt; double &gt; &amp;sample)</td></tr>
178
179<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">add LOS component to the <em>sample</em> with index <em>idx</em> <br></td></tr>
180<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
181<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3c458ce594b4a8f5ec08ec6398d7e27e"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::fir_length" ref="3c458ce594b4a8f5ec08ec6398d7e27e" args="" -->
182int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1FIR__Fading__Generator.html#3c458ce594b4a8f5ec08ec6398d7e27e">fir_length</a></td></tr>
183
184<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Size of FIR filter. <br></td></tr>
185<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1FIR__Fading__Generator.html#472cc85b224b60321166a1ee59f4ed44">upsample_rate</a></td></tr>
186
187<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="18976f1b425e290230d629c48fba7098"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::fir_filter" ref="18976f1b425e290230d629c48fba7098" args="" -->
188<a class="el" href="classitpp_1_1MA__Filter.html">MA_Filter</a>&lt; std::complex<br class="typebreak">
189&lt; double &gt;, double, <br class="typebreak">
190std::complex&lt; double &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1FIR__Fading__Generator.html#18976f1b425e290230d629c48fba7098">fir_filter</a></td></tr>
191
192<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classitpp_1_1Filter.html" title="Virtual Filter Base Class.The class is templated as follows:.">Filter</a> used for fading generation. <br></td></tr>
193<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="332a0608a1a29362b5d69d9286afdced"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::left_overs" ref="332a0608a1a29362b5d69d9286afdced" args="" -->
194cvec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1FIR__Fading__Generator.html#332a0608a1a29362b5d69d9286afdced">left_overs</a></td></tr>
195
196<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Left-overs from upsampling. <br></td></tr>
197<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3da170feb1b6985aeb23097e284b292e"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::n_dopp" ref="3da170feb1b6985aeb23097e284b292e" args="" -->
198double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Correlated__Fading__Generator.html#3da170feb1b6985aeb23097e284b292e">n_dopp</a></td></tr>
199
200<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Normalized maximum Doppler frequency. <br></td></tr>
201<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="30a9693666fe55bfdda432a8abb3d2b6"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::los_dopp" ref="30a9693666fe55bfdda432a8abb3d2b6" args="" -->
202double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Correlated__Fading__Generator.html#30a9693666fe55bfdda432a8abb3d2b6">los_dopp</a></td></tr>
203
204<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Relative Doppler on LOS component (0.7 by default). <br></td></tr>
205<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4da6e42de65ea4580dcc378aaab9f82f"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::time_offset" ref="4da6e42de65ea4580dcc378aaab9f82f" args="" -->
206double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Correlated__Fading__Generator.html#4da6e42de65ea4580dcc378aaab9f82f">time_offset</a></td></tr>
207
208<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Time offset in samples (time state in the generator). <br></td></tr>
209<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6fc31470215eda975bbefa15f9638504"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::init_flag" ref="6fc31470215eda975bbefa15f9638504" args="" -->
210bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Fading__Generator.html#6fc31470215eda975bbefa15f9638504">init_flag</a></td></tr>
211
212<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">signals if generator is initialized or not <br></td></tr>
213<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d5512a1606e0e89476ff8554081aeafe"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::los_power" ref="d5512a1606e0e89476ff8554081aeafe" args="" -->
214double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Fading__Generator.html#d5512a1606e0e89476ff8554081aeafe">los_power</a></td></tr>
215
216<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Relative power of LOS component compared to diffuse component (K factor). <br></td></tr>
217<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6b92dcea4661469227e558ece50975c6"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::los_diffuse" ref="6b92dcea4661469227e558ece50975c6" args="" -->
218double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Fading__Generator.html#6b92dcea4661469227e558ece50975c6">los_diffuse</a></td></tr>
219
220<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Diffuse component: sqrt(1 / (1 + los_power)). <br></td></tr>
221<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c8d8f76a8d3965731972137c5d95b8d2"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::los_direct" ref="c8d8f76a8d3965731972137c5d95b8d2" args="" -->
222double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Fading__Generator.html#c8d8f76a8d3965731972137c5d95b8d2">los_direct</a></td></tr>
223
224<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Direct component: sqrt(los_power / (1 + los_power)). <br></td></tr>
225</table>
226<hr><a name="_details"></a><h2>Detailed Description</h2>
227FIR type Fading generator class.
228<p>
229<dl class="author" compact><dt><b>Author:</b></dt><dd>Tony Ottosson and Adam Piatyszek</dd></dl>
230A FIR generator is a linear finite impulse response (FIR) filter implementation of a filter method for generation of a fading process. Parameters that define the generator are the normalized Doppler and length of the FIR filter. The default value of filter length is 500. If the normalized Doppler frequency is lower than 0.1 an equivalent process of a higher normalized Doppler is generated and linearly interpolated.<p>
231References:<ul>
232<li>[Stu01] Gordon L. Stuber, Principles of mobile communication, 2nd. ed., Kluwer, 2001.</li><li>[Rap96] Theodore S. Rappaport, Wireless communications: principles and practise, Prentice Hall, 1996. </li></ul>
233<hr><h2>Member Function Documentation</h2>
234<a class="anchor" name="4645a615b7e2ad51e5e497124f219769"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::Jakes_filter" ref="4645a615b7e2ad51e5e497124f219769" args="(double norm_dopp, int order=100)" -->
235<div class="memitem">
236<div class="memproto">
237      <table class="memname">
238        <tr>
239          <td class="memname">vec itpp::FIR_Fading_Generator::Jakes_filter           </td>
240          <td>(</td>
241          <td class="paramtype">double&nbsp;</td>
242          <td class="paramname"> <em>norm_dopp</em>, </td>
243        </tr>
244        <tr>
245          <td class="paramkey"></td>
246          <td></td>
247          <td class="paramtype">int&nbsp;</td>
248          <td class="paramname"> <em>order</em> = <code>100</code></td><td>&nbsp;</td>
249        </tr>
250        <tr>
251          <td></td>
252          <td>)</td>
253          <td></td><td></td><td><code> [protected]</code></td>
254        </tr>
255      </table>
256</div>
257<div class="memdoc">
258
259<p>
260Jakes spectrum filter.
261<p>
262Function that generates the taps in the Jakes filter. <dl compact><dt><b>Parameters:</b></dt><dd>
263  <table border="0" cellspacing="2" cellpadding="0">
264    <tr><td valign="top"></td><td valign="top"><em>order</em>&nbsp;</td><td>Number of taps in the filter </td></tr>
265    <tr><td valign="top"></td><td valign="top"><em>norm_dopp</em>&nbsp;</td><td>Normalized Doppler frequency, i.e. <img class="formulaInl" alt="$ f_{norm} = f_{max} T_{s} $" src="form_234.png">, where <img class="formulaInl" alt="$ f_{max} $" src="form_235.png"> is the actual Doppler frequency and <img class="formulaInl" alt="$ T_{s} $" src="form_236.png"> is the sampling interval. </td></tr>
266  </table>
267</dl>
268<dl class="return" compact><dt><b>Returns:</b></dt><dd>A vector containing the filter taps of the Jakes filter. </dd></dl>
269
270<p>References <a class="el" href="bessel_8cpp-source.html#l00057">itpp::besselj()</a>, <a class="el" href="window_8cpp-source.html#l00043">itpp::hamming()</a>, <a class="el" href="misc__stat_8h-source.html#l00193">itpp::norm()</a>, <a class="el" href="log__exp_8h-source.html#l00193">itpp::pow()</a>, and <a class="el" href="matfunc_8h-source.html#l00777">itpp::reverse()</a>.</p>
271
272<p>Referenced by <a class="el" href="channel_8cpp-source.html#l00402">init()</a>.</p>
273
274</div>
275</div><p>
276<hr><h2>Member Data Documentation</h2>
277<a class="anchor" name="472cc85b224b60321166a1ee59f4ed44"></a><!-- doxytag: member="itpp::FIR_Fading_Generator::upsample_rate" ref="472cc85b224b60321166a1ee59f4ed44" args="" -->
278<div class="memitem">
279<div class="memproto">
280      <table class="memname">
281        <tr>
282          <td class="memname">int <a class="el" href="classitpp_1_1FIR__Fading__Generator.html#472cc85b224b60321166a1ee59f4ed44">itpp::FIR_Fading_Generator::upsample_rate</a><code> [protected]</code>          </td>
283        </tr>
284      </table>
285</div>
286<div class="memdoc">
287
288<p>
289Upsampling rate for linear interpolation
290<p>Referenced by <a class="el" href="channel_8cpp-source.html#l00421">generate()</a>, and <a class="el" href="channel_8cpp-source.html#l00402">init()</a>.</p>
291
292</div>
293</div><p>
294<hr>The documentation for this class was generated from the following files:<ul>
295<li><a class="el" href="channel_8h-source.html">channel.h</a><li><a class="el" href="channel_8cpp.html">channel.cpp</a></ul>
296</div>
297<hr size="1"><address style="text-align: right;"><small>Generated on Tue Jun 2 10:02:19 2009 for mixpp by&nbsp;
298<a href="http://www.doxygen.org/index.html">
299<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
300</body>
301</html>
Note: See TracBrowser for help on using the browser.