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 | <!-- |
---|
10 | function 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 | } |
---|
22 | function 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 | } |
---|
46 | window.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 Page</span></a></li> |
---|
53 | <li><a href="pages.html"><span>Related 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 List</span></a></li> |
---|
62 | <li><a href="classes.html"><span>Class Index</span></a></li> |
---|
63 | <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> |
---|
64 | <li><a href="functions.html"><span>Class 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 <<a class="el" href="channel_8h-source.html">channel.h</a>></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 | </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"> </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="()" --> |
---|
89 | virtual </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"> </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)" --> |
---|
93 | virtual void </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"> </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 " --> |
---|
97 | virtual int </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"> </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="()" --> |
---|
101 | virtual void </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"> </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 &output)" --> |
---|
105 | virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1FIR__Fading__Generator.html#7e75822c2898663bcabf504ad0d8f3be">generate</a> (int no_samples, cvec &output)</td></tr> |
---|
106 | |
---|
107 | <tr><td class="mdescLeft"> </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)" --> |
---|
109 | virtual void </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"> </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)" --> |
---|
113 | virtual void </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"> </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)" --> |
---|
117 | virtual void </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"> </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 " --> |
---|
121 | virtual double </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"> </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 " --> |
---|
125 | virtual double </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"> </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 " --> |
---|
129 | virtual double </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"> </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)" --> |
---|
133 | virtual void </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"> </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)" --> |
---|
137 | cvec </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"> </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)" --> |
---|
141 | void </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"> </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)" --> |
---|
145 | virtual void </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"> </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)" --> |
---|
149 | virtual void </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"> </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)" --> |
---|
153 | virtual void </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"> </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 " --> |
---|
157 | double </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"> </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 " --> |
---|
161 | virtual <a class="el" href="group__channels.html#gfd030225d513c962191cbce565337fd8">DOPPLER_SPECTRUM</a> </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"> </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 " --> |
---|
165 | virtual int </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"> </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 " --> |
---|
169 | virtual <a class="el" href="group__channels.html#g5909a344554fcfbc9d5c87dcd206974b">RICE_METHOD</a> </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"> </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 </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"> </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< double > &sample)" --> |
---|
177 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Correlated__Fading__Generator.html#c9eee8d72cf7d8fbbb0a646cd5dfbc11">add_LOS</a> (int idx, std::complex< double > &sample)</td></tr> |
---|
178 | |
---|
179 | <tr><td class="mdescLeft"> </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="" --> |
---|
182 | int </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"> </td><td class="mdescRight">Size of FIR filter. <br></td></tr> |
---|
185 | <tr><td class="memItemLeft" nowrap align="right" valign="top">int </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>< std::complex<br class="typebreak"> |
---|
189 | < double >, double, <br class="typebreak"> |
---|
190 | std::complex< double > > </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"> </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="" --> |
---|
194 | cvec </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"> </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="" --> |
---|
198 | double </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"> </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="" --> |
---|
202 | double </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"> </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="" --> |
---|
206 | double </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"> </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="" --> |
---|
210 | bool </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"> </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="" --> |
---|
214 | double </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"> </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="" --> |
---|
218 | double </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"> </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="" --> |
---|
222 | double </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"> </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> |
---|
227 | FIR type Fading generator class. |
---|
228 | <p> |
---|
229 | <dl class="author" compact><dt><b>Author:</b></dt><dd>Tony Ottosson and Adam Piatyszek</dd></dl> |
---|
230 | A 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> |
---|
231 | References:<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 </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 </td> |
---|
248 | <td class="paramname"> <em>order</em> = <code>100</code></td><td> </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> |
---|
260 | Jakes spectrum filter. |
---|
261 | <p> |
---|
262 | Function 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> </td><td>Number of taps in the filter </td></tr> |
---|
265 | <tr><td valign="top"></td><td valign="top"><em>norm_dopp</em> </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> |
---|
289 | Upsampling 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 |
---|
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> |
---|