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: Channel Modeling</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><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> |
---|
60 | <div class="contents"> |
---|
61 | <h1>Channel Modeling<br> |
---|
62 | <small> |
---|
63 | [<a class="el" href="group__comm.html">Communications Module</a>]</small> |
---|
64 | </h1>Communication Channel Models. |
---|
65 | <a href="#_details">More...</a> |
---|
66 | <p> |
---|
67 | <table border="0" cellpadding="0" cellspacing="0"> |
---|
68 | <tr><td></td></tr> |
---|
69 | <tr><td colspan="2"><br><h2>Classes</h2></td></tr> |
---|
70 | <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Fading__Generator.html">itpp::Fading_Generator</a></td></tr> |
---|
71 | |
---|
72 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Fading generator class. <a href="classitpp_1_1Fading__Generator.html#_details">More...</a><br></td></tr> |
---|
73 | <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Independent__Fading__Generator.html">itpp::Independent_Fading_Generator</a></td></tr> |
---|
74 | |
---|
75 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Independent (random) fading generator class. <a href="classitpp_1_1Independent__Fading__Generator.html#_details">More...</a><br></td></tr> |
---|
76 | <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Static__Fading__Generator.html">itpp::Static_Fading_Generator</a></td></tr> |
---|
77 | |
---|
78 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Static fading generator class. <a href="classitpp_1_1Static__Fading__Generator.html#_details">More...</a><br></td></tr> |
---|
79 | <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Correlated__Fading__Generator.html">itpp::Correlated_Fading_Generator</a></td></tr> |
---|
80 | |
---|
81 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Correlated (random) fading generator class. <a href="classitpp_1_1Correlated__Fading__Generator.html#_details">More...</a><br></td></tr> |
---|
82 | <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Rice__Fading__Generator.html">itpp::Rice_Fading_Generator</a></td></tr> |
---|
83 | |
---|
84 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Rice type fading generator class. <a href="classitpp_1_1Rice__Fading__Generator.html#_details">More...</a><br></td></tr> |
---|
85 | <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1FIR__Fading__Generator.html">itpp::FIR_Fading_Generator</a></td></tr> |
---|
86 | |
---|
87 | <tr><td class="mdescLeft"> </td><td class="mdescRight">FIR type Fading generator class. <a href="classitpp_1_1FIR__Fading__Generator.html#_details">More...</a><br></td></tr> |
---|
88 | <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1IFFT__Fading__Generator.html">itpp::IFFT_Fading_Generator</a></td></tr> |
---|
89 | |
---|
90 | <tr><td class="mdescLeft"> </td><td class="mdescRight">IFFT type Fading generator class. <a href="classitpp_1_1IFFT__Fading__Generator.html#_details">More...</a><br></td></tr> |
---|
91 | <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Channel__Specification.html">itpp::Channel_Specification</a></td></tr> |
---|
92 | |
---|
93 | <tr><td class="mdescLeft"> </td><td class="mdescRight">General specification of a time-domain multipath channel. <a href="classitpp_1_1Channel__Specification.html#_details">More...</a><br></td></tr> |
---|
94 | <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1TDL__Channel.html">itpp::TDL_Channel</a></td></tr> |
---|
95 | |
---|
96 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Tapped Delay Line (TDL) channel model. <a href="classitpp_1_1TDL__Channel.html#_details">More...</a><br></td></tr> |
---|
97 | <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1BSC.html">itpp::BSC</a></td></tr> |
---|
98 | |
---|
99 | <tr><td class="mdescLeft"> </td><td class="mdescRight">A Binary Symetric Channel with crossover probability p. <a href="classitpp_1_1BSC.html#_details">More...</a><br></td></tr> |
---|
100 | <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1AWGN__Channel.html">itpp::AWGN_Channel</a></td></tr> |
---|
101 | |
---|
102 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Ordinary AWGN Channel for cvec or vec inputs and outputs. <a href="classitpp_1_1AWGN__Channel.html#_details">More...</a><br></td></tr> |
---|
103 | <tr><td colspan="2"><br><h2>Enumerations</h2></td></tr> |
---|
104 | <tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__channels.html#gf1d6629952e915c9afe3913b726836ce">itpp::CHANNEL_PROFILE</a> { <br> |
---|
105 | <b>ITU_Vehicular_A</b>, |
---|
106 | <b>ITU_Vehicular_B</b>, |
---|
107 | <b>ITU_Pedestrian_A</b>, |
---|
108 | <b>ITU_Pedestrian_B</b>, |
---|
109 | <br> |
---|
110 | <b>COST207_RA</b>, |
---|
111 | <b>COST207_RA6</b>, |
---|
112 | <b>COST207_TU</b>, |
---|
113 | <b>COST207_TU6alt</b>, |
---|
114 | <br> |
---|
115 | <b>COST207_TU12</b>, |
---|
116 | <b>COST207_TU12alt</b>, |
---|
117 | <b>COST207_BU</b>, |
---|
118 | <b>COST207_BU6alt</b>, |
---|
119 | <br> |
---|
120 | <b>COST207_BU12</b>, |
---|
121 | <b>COST207_BU12alt</b>, |
---|
122 | <b>COST207_HT</b>, |
---|
123 | <b>COST207_HT6alt</b>, |
---|
124 | <br> |
---|
125 | <b>COST207_HT12</b>, |
---|
126 | <b>COST207_HT12alt</b>, |
---|
127 | <b>COST259_TUx</b>, |
---|
128 | <b>COST259_RAx</b>, |
---|
129 | <br> |
---|
130 | <b>COST259_HTx</b> |
---|
131 | <br> |
---|
132 | }</td></tr> |
---|
133 | |
---|
134 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Predefined channel profiles. Includes LOS and Doppler spectrum settings. <br></td></tr> |
---|
135 | <tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__channels.html#gf331f50064dab0a357caba2a0cb02b76">itpp::FADING_TYPE</a> { <b>Independent</b>, |
---|
136 | <b>Static</b>, |
---|
137 | <b>Correlated</b> |
---|
138 | }</td></tr> |
---|
139 | |
---|
140 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Fading generator type: Independent (default), Static or Correlated. <br></td></tr> |
---|
141 | <tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__channels.html#g0875516a69d533c89b49a43c2b1b987d">itpp::CORRELATED_METHOD</a> { <b>Rice_MEDS</b>, |
---|
142 | <b>IFFT</b>, |
---|
143 | <b>FIR</b> |
---|
144 | }</td></tr> |
---|
145 | |
---|
146 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Correlated fading generation methods: Rice_MEDS (default), IFFT or FIR. <br></td></tr> |
---|
147 | <tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__channels.html#g5909a344554fcfbc9d5c87dcd206974b">itpp::RICE_METHOD</a> { <b>MEDS</b> |
---|
148 | }</td></tr> |
---|
149 | |
---|
150 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Rice fading generation methods: MEDS. <br></td></tr> |
---|
151 | <tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__channels.html#gfd030225d513c962191cbce565337fd8">itpp::DOPPLER_SPECTRUM</a> { <br> |
---|
152 | <b>Jakes</b> = 0, |
---|
153 | <b>J</b> = 0, |
---|
154 | <b>Classic</b> = 0, |
---|
155 | <b>C</b> = 0, |
---|
156 | <br> |
---|
157 | <b>GaussI</b> = 1, |
---|
158 | <b>Gauss1</b> = 1, |
---|
159 | <b>GI</b> = 1, |
---|
160 | <b>G1</b> = 1, |
---|
161 | <br> |
---|
162 | <b>GaussII</b> = 2, |
---|
163 | <b>Gauss2</b> = 2, |
---|
164 | <b>GII</b> = 2, |
---|
165 | <b>G2</b> = 2 |
---|
166 | <br> |
---|
167 | }</td></tr> |
---|
168 | |
---|
169 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Predefined Doppler spectra. <br></td></tr> |
---|
170 | </table> |
---|
171 | <hr><a name="_details"></a><h2>Detailed Description</h2> |
---|
172 | Communication Channel Models. |
---|
173 | <p> |
---|
174 | <dl class="author" compact><dt><b>Author:</b></dt><dd>Tony Ottosson, Pal Frenger, Adam Piatyszek and Zbigniew Dlugaszewski</dd></dl> |
---|
175 | <h2><a class="anchor" name="toc"> |
---|
176 | Table of Contents</a></h2> |
---|
177 | <ul> |
---|
178 | <li><a class="el" href="group__channels.html#channel_intro">Introduction</a></li><li><a class="el" href="group__channels.html#channel_doppler">Doppler</a></li><li><a class="el" href="group__channels.html#channel_freq_sel">Frequency-selective Channels</a></li><li><a class="el" href="group__channels.html#channel_los">Line of Sight (LOS) or Rice Fading</a></li><li><a class="el" href="group__channels.html#channel_ref">References</a></li></ul> |
---|
179 | <h2><a class="anchor" name="channel_intro"> |
---|
180 | Introduction</a></h2> |
---|
181 | When simulating a communication link, a model of the channel behaviour is usually needed. Such a model typically consist of three parts: the propagation attenuation, the shadowing (log-normal fading) and the multipath fading (small scale fading). In the following we will focus on the small scale (or multipath) fading.<p> |
---|
182 | Multipath fading is the process where the received signal is a sum of many reflections, each with different propagation time, phase and attenuation. The sum signal will vary in time if the receiver (or transmitter) moves, or if some of the reflectors move. We usually refer to this process as a fading process and try to model it as a stochastic process. The most common model is the Rayleigh fading model where the process is modeled as a sum of infinitely many (in practise it is enough with only a few) received reflections from all angles (uniformly distributed) around the receiver. Mathematically we write the received signal, <img class="formulaInl" alt="$ r(t) $" src="form_189.png"> as<p> |
---|
183 | <p class="formulaDsp"> |
---|
184 | <img class="formulaDsp" alt="\[ r(t) = a(t) * s(t), \]" src="form_190.png"> |
---|
185 | <p> |
---|
186 | <p> |
---|
187 | where <img class="formulaInl" alt="$ s(t) $" src="form_191.png"> is the transmitted signal and <img class="formulaInl" alt="$ a(t) $" src="form_192.png"> is the complex channel coefficient (or fading process). If this process is modeled as a Rayleigh fading process then <img class="formulaInl" alt="$ a(t) $" src="form_192.png"> is a complex Gaussian process and the envelope <img class="formulaInl" alt="$ \|a(t)\| $" src="form_193.png"> is Rayleigh distributed.<h2><a class="anchor" name="channel_doppler"> |
---|
188 | Doppler</a></h2> |
---|
189 | The speed by which the channel changes is decided by the speed of the mobile (transmitter or receiver or both). This movement will cause the channel coefficient <img class="formulaInl" alt="$ a(t) $" src="form_192.png"> to be correlated in time (or equivalently in frequency). Different models of this correlation exist, but the most common is the classical Jakes model where the correlation function is given as<p> |
---|
190 | <p class="formulaDsp"> |
---|
191 | <img class="formulaDsp" alt="\[ R(\tau) = E[a^*(t) a(t+\tau)] = J_0(2 \pi f_\mathrm{max} \tau), \]" src="form_194.png"> |
---|
192 | <p> |
---|
193 | <p> |
---|
194 | where <img class="formulaInl" alt="$ f_\mathrm{max} $" src="form_195.png"> is the maximum Doppler frequency given by<p> |
---|
195 | <p class="formulaDsp"> |
---|
196 | <img class="formulaDsp" alt="\[ f_\mathrm{max} = \frac{v}{\lambda} = \frac{v}{c_0} f_c. \]" src="form_196.png"> |
---|
197 | <p> |
---|
198 | <p> |
---|
199 | Here <img class="formulaInl" alt="$ c_0 $" src="form_197.png"> is the speed of light and <img class="formulaInl" alt="$ f_c $" src="form_198.png"> is the carrier frequency. Often the maximum Doppler frequency is given as the normalized Doppler <img class="formulaInl" alt="$ f_\mathrm{max} T_s $" src="form_199.png"> , where <img class="formulaInl" alt="$ T_s $" src="form_200.png"> is the sample duration (often the symbol time) of the simulated system. Instead of specifying the correlation function <img class="formulaInl" alt="$ R(\tau) $" src="form_201.png"> one can specify the Doppler spectrum (the Fourier transform of <img class="formulaInl" alt="$ R(\tau) $" src="form_201.png">).<h2><a class="anchor" name="channel_freq_sel"> |
---|
200 | Frequency-selective Channels</a></h2> |
---|
201 | Since <img class="formulaInl" alt="$ a(t) $" src="form_192.png"> affects the transmitted signal as a constant scaling factor at a given time, this channel model is often referred to as flat-fading (or frequency non-selective fading). On the other hand, if time arrivals of the reflections are very different (compared to the sampling time), we cannot model the received signal only as a scaled version of the transmitted signal. Instead we model the channel as frequency-selective but time-invariant (or at least wide-sense stationary) with the impulse response<p> |
---|
202 | <p class="formulaDsp"> |
---|
203 | <img class="formulaDsp" alt="\[ h(t) = \sum_{k=0}^{N_\mathrm{taps}-1} a_k \exp (-j \theta_k ) \delta(t-\tau_k), \]" src="form_202.png"> |
---|
204 | <p> |
---|
205 | <p> |
---|
206 | where <img class="formulaInl" alt="$ N_\mathrm{taps} $" src="form_203.png"> is the number of channel taps, <img class="formulaInl" alt="$ a_k $" src="form_204.png"> is the average amplitude at delay <img class="formulaInl" alt="$ \tau_k $" src="form_205.png">, and <img class="formulaInl" alt="$ \theta_k $" src="form_206.png"> is the channel phase of the <img class="formulaInl" alt="$ k^{th} $" src="form_207.png"> channel tap.<p> |
---|
207 | The average power and delay profiles are defined as:<p> |
---|
208 | <p class="formulaDsp"> |
---|
209 | <img class="formulaDsp" alt="\[ \mathbf{a} = [a_0, a_1, \ldots, a_{N_\mathrm{taps}-1}] \]" src="form_208.png"> |
---|
210 | <p> |
---|
211 | <p> |
---|
212 | and<p> |
---|
213 | <p class="formulaDsp"> |
---|
214 | <img class="formulaDsp" alt="\[ \mathbf{\tau} = [\tau_0, \tau_1, \ldots, \tau_{N_\mathrm{taps}-1}], \]" src="form_209.png"> |
---|
215 | <p> |
---|
216 | <p> |
---|
217 | respectively. We assume without loss of generality that <img class="formulaInl" alt="$ \tau_0 = 0 $" src="form_210.png"> and <img class="formulaInl" alt="$ \tau_0 < \tau_1 < \ldots < \tau_{N_\mathrm{taps}-1} $" src="form_211.png">. Now the received signal is simply a linear filtering (or convolution) of the transmitted signal, where <img class="formulaInl" alt="$ h(t) $" src="form_212.png"> is the impulse response of the filter.<p> |
---|
218 | In practice, when simulating a communication link, the impulse response <img class="formulaInl" alt="$ h(t) $" src="form_212.png"> is sampled with a sample period <img class="formulaInl" alt="$ T_s $" src="form_200.png"> that is related to the symbol rate of the system of investigation (often 2-8 times higher). Hence, the impulse response of the channel can now be modeled as a time-discrete filter or tapped-delay line (TDL) where the delays are given as <img class="formulaInl" alt="$ \tau_k = d_k T_s $" src="form_213.png">, and <img class="formulaInl" alt="$ d_k $" src="form_214.png"> are positive integers.<h2><a class="anchor" name="channel_los"> |
---|
219 | Line of Sight (LOS) or Rice Fading</a></h2> |
---|
220 | If there is a line of sight (LOS) between the transmitter and receiver the first component received (or a few first) will have a static component that depends only on the Doppler frequency. In practice the difference in time between the first LOS component(s) and the reflected components is small and hence in a discretized system the first tap is usually modeled as a LOS component and a fading component. Such a process is usually called a Rice fading process.<p> |
---|
221 | The LOS component can be expressed as:<p> |
---|
222 | <p class="formulaDsp"> |
---|
223 | <img class="formulaDsp" alt="\[ \rho \exp(2 \pi f_\rho t + \theta_\rho), \]" src="form_215.png"> |
---|
224 | <p> |
---|
225 | <p> |
---|
226 | where <img class="formulaInl" alt="$ \rho $" src="form_216.png">, <img class="formulaInl" alt="$ f_\rho $" src="form_217.png">, and <img class="formulaInl" alt="$ \theta_\rho $" src="form_218.png"> are the amplitude, Doppler frequency and phase of the LOS component, respectively. Instead of stating the amplitude itself, the ratio of the LOS power and total fading process power, called the Rice factor (or relative power), is often used. The Doppler frequency is limited by the maximum Doppler frequency <img class="formulaInl" alt="$ f_\mathrm{max} $" src="form_195.png"> and hence typically the Doppler of the LOS is expressed relative to its maximum (common is <img class="formulaInl" alt="$ f_\rho = 0.7 f_\mathrm{max} $" src="form_219.png">). The phase is usually assumed to be random and can without loss of generality be set to 0 (does not affect the statistics of the process).<h2><a class="anchor" name="channel_ref"> |
---|
227 | References</a></h2> |
---|
228 | <ul> |
---|
229 | <li>[Pat02] Matthias Patzold, Mobile fading channels, Wiley, 2002.</li><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> |
---|
230 | </div> |
---|
231 | <hr size="1"><address style="text-align: right;"><small>Generated on Tue Jun 2 10:02:14 2009 for mixpp by |
---|
232 | <a href="http://www.doxygen.org/index.html"> |
---|
233 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address> |
---|
234 | </body> |
---|
235 | </html> |
---|