Review • The very basic wireless communication system • The bits are sent to the low pass filter to be turned into waveforms. The low pass filter is also called the “pulse shaping filter.” • The impulse response of the filter is fixed. `1’ will excite a positive waveform, `-1’ will excite a negative waveform. • Basically, you send a symbol to the low pass filter every symbol time. With BPSK, the symbol is either `1’ or `-1’. • The impulse response waveform lasts more than one symbol time. Remember its shape!
Review • The final “baseband waveform” is the addition of the impulse responses generated at different times. • The impulse response is usually written as h(t). • Let the data symbols sent to the low pass filter be x[n] at time n. x[n] will add a voltage of x[n]h(nT-t) to the baseband waveform at time t (assume current time is 0, current symbol is x. The previous symbol is x[-1], the next symbol is x, and so on).
Review • The signals we can actually send is the following, where I(t) and Q(t) are the baseband waveforms. • In BPSK, the cosine is multiplied with a waveform, the sine is not. In QPSK, cosine and sine are multiplied with I(t) and Q(t), respectively.
Review • Multi-path. Signals travel infinite number of paths to reach the receiver. The received signal is the addition of signals from all paths: • where I and are the is the attenuation and the delay of path i, respectively. • After receiving the signal, we will first multiply it with sine and cosine wave, and pass it through the LPF, as explained before.
Review • Complex channels – because we can send both a sine and a cosine wave, which can be conveniently represented as a complex wave. • The sender and receiver will try to use the same frequency, but they cannot. Consider the cosine branch and consider a single path. • So, after the low pass filter, it becomes • Similarly, the sine branch will produce • Therefore, the cosine and sine branch can be regarded as a complex number
Review • To establish the communication, we will first have to reproduce the baseband waveform. Which means that we have to get rid of , a process called “carrier phase tracking.” • We take samples from the received baseband waveform to get • If the phase offset has been tracked perfectly, • If is it not perfect but still okay, the sample will lead to a correct decision. Then, extract the phase error based on the sample and the constellation point, adjust the phase offset.
Review • Timing synchronization – how to take samples at the correct time. • Using the shape of the impulse response. k-1 k k+1
Review • The current GNU SDR implementation uses the optimized mm algorithm. Assume a sample error of \delta. The sample at time n is • The timing error is calculated as • The reason is that
Review • While • The first line is the one that does the work. In BPSK, it becomes
Review • Dealing with multipath.
Review • Important thing to remember is that even with perfect carrier phase tracking and symbol timing, when taking a sample, it will contain some thing from the neighboring symbols. • At time 0, the path with delay will contribute to this sample, but for k!=0, also • And there are infinite number of paths.
Review • The red curve represents the other path. k-1 k k+1
Review • We can use equalization. The basic idea is to subtract the contributions of non-relevant samples from the current sample. • A simple yet okay algorithm is LMS. Start with an arbitrary for all i, usually =1 and =0 for all other i. • Let . Then , where • Basically, if e< 0 while s_i>0, it means that c_i is not large enough… • The idea is to minimize the mean square of the error.
Review • A signal can also be represented in the frequency domain.
Review • LTI system. • A linear system is a system such that • Suppose . A linear system is “time invariant” if .
Review • DFT: • IDFT: • Convolution:
CDMA • Used in 3G networks. • Direct Sequence Spread Spectrum: spread a data bit into multiple chips. • Each sender has a unique chip sequence, that is *orthogonal* with other chip sequences.
Orthogonal Frequency-Division Multiplexing • From the highest level, OFDM divides the communication bandwidth into a number of sub-channels, each occupying a fraction of the bandwidth. • Each sub-carrier is modulated by BPSK, QPSK, or other schemes. • Used in 802.11a and 802.11g.
MIMO • First, having multiple receiving antennas means that you can pick up more energy. • Also, when one antenna is having trouble receiving signal, others are unlikely to be having the same problem. That is why commercial APs sometimes have multiple antennas also. It compares the received signal strength from different antennas and use the strongest one to decode the data. Called ``antenna diversity.’’ • As long as the antennas are sufficiently apart from each other, the signals are likely experiencing different fading. The space needs to be half of the carrier wavelength. If we are using 2.4GHz, the wavelength is about 10cm.
MIMO • Having multiple transmitting antennas does not necessarily mean that you can send more energy, because the transmitting energy is determined by other issues, such as your battery. • However, it does mean that you can have multiple paths between the sender and the receiver. With nttransmitting and nrreceiving antennas, you have nttimes nr paths that can be assumed to be independent. If one path is in trouble, i.e., there is someone in the blocking position right now, other paths are unlikely to be in the same situation at the same time. Much better than depending everything on only one path! • Also, what makes MIMO possible is that the receiver antennas can operate in the linear range such that the received signal is the ADDITON of signals from multiple transmitting antennas.
SIMO • Single Input Multiple Output. • Consider one transmitting antenna and two receiving antennas. • Assume flat-fading, meaning that there is no multi-path, i.e., the received sample is relevant only to the current data symbol. We write it as y[n]=x[n] + w[n]. • We can make this assumption because of OFDM.
SIMO • With two receiving antennas, we will receive that is, from the waveform received at each antenna, we can take a sample, and call it y1and y2, respectively. Both samples are excited by x, but they are from different paths, therefore their channel coefficients (i.e., h1, h2) are different. One important thing to remember is that the noise from both antennas are usually assumed to be following the same distribution and have the same power and are independent from each other.
SIMO receiver • The information from the strong channel is more valuable than the weak channel. • The optimal -- Maximum Ratio Combining (Section 3.2.1 in the Tse book). We should weight the samples from the antennas according to the channel strength:
MISO • Now consider the case when the sender has multiple antennas and the receiver has only one antenna. • The sender has a power budget – the total transmitting power cannot exceed a threshold. • Assume that all antennas are sending the same data symbol at any time, so the receiver will receive where a1 and a2 represent the power allocated for antenna 1 and antenna 2, respectively.
MISO • The problem is to maximize the magnitude of the received signal x(h1a1+h2a2) subject to the constraint that
MISO • Still maximum ratio combining. Define Lagrange • Take the partial derivative of L over a1 and a2 : • Means that a1 and a2 should be proportional to h1 and h2. • But this requires the sender knows the channel – not always the case.
The Altamonte Scheme • The key is that the transmitting antennas are NOT restricted to sending the same data symbols at the same time. • The Altamonte Scheme (Tse book Section 3.3.2). Consider two data symbols to be sent in two consecutive symbol times, u1 and u2 . At time 1, ant1 transmits u1 and ant2 transmits u2. At time 2, ant1 transmits –u*2 and ant2 transmits u*1.
The Altamonte Scheme • (These two formulas are from the Tse book.) So, • Rearrange it, we have
The Altamonte Scheme • So, we have • Note that that is, the two vectors are orthogonal to each other. So, to recover u1 and u2, we can multiply with the conjugate of either of the vectors.
The Altamonte Scheme • So, the magnitude of the received signal is proportional to , even when the transmitter is not aware of the channel coefficient at all. • If the transmitter simply sends the same symbol over two antennas at the same power, the received signal is proportional to h1 + h2 , and depends on the phase, they may cancel each other out!
2 by 2 MIMO • Now consider we have two transmitting antennas and two receiving antennas. • A simple scheme called ``V-BLAST:’’ Send independent data symbols over the transmitting antennas as well as over time.
MIMO • MIMO receiver. Will receive two samples per time slot. hij: the channel coefficient from Tx ant j to Rx ant i. • How to decode the data?
MIMO receiver • The simplest receiver just do a matrix inversion: • This is NOT the optimal decoder! The maximum likelihood decoder is better.
Error Correction Code • Hamming code • Cyclic code • Both required!
Wireless LAN (802.11g) 1. When a node gets a packet, a. If its queue length is 0 at this time, i. if the medium is free, it waits for DIFS. If the medium is still free after DIFS (28us), it sends the packet. ii. If the medium is busy, it generates a random backoff counter and enters the WAIT_DIFS state b. If the queue length is not 0 at this time, simply add this packet to the queue 2. When in the WAIT_DIFS state, maintain a medium_free counter. This counter is cleared to 0 every time the node finds the medium is busy. If the medium is free, the counter should be incremented every us. When the counter reaches DIFS, the node selects a backoff_timer and enters the WAIT_BACKOFF state. The backoff_timer is selected by picking a random number uniformly from [0, CW-1], then multiply this number by SLOT (9us). 3. When in the WAIT_BACKOFF state, the node maintains backoff_timer. If the medium is busy, it enters the WAIT_DIFS state. Otherwise, it decrements the backoff_timer every us. When the backoff_timer becomes 0, the node start sending the packet it wants to send if the queue is not empty. This packet should be the packet at the head of the queue. 4. When transmitting the packet, a node calculates the time needed for a packet transmission, including the packet transmission time, the SIFS, the ACK time, and stores it in a field in the packet. Other nodes, if heard this header of this packet, will backoff until this packet transmission is completed. 5. After the sending node finishes transmitting the packet, the receiving node checks whether it gets the packet. If yes, it sends an ACK packet back to the sending node SIFS (10us) after the packet transmission finishes. If it did not receive the packet, it does nothing. 6. The sending node of the packet waits for the ACK from the receiving node. a. If it did not receive the ACK before a timeout,, it doubles CW. If the packet has been transmitted several times (implementation dependent), it removes this packet from the queue. It then selects a backoff_timer and enters the WAIT_DIFS state. b. If it gets the ACK, it removes the packet from the queue. It then selects a backoff_timer and enters the WAIT_DIFS state. It resets CW=CWmin (CW is set to be CMmin = 16 at initialization).
802.11 channels • In 802.11 b/g, there are 11 channels, starting at 2.412GHz at a spacing of 5MHz. • Each channel owns a bandwidth of 22MHz. • So, only 3 non-overlapping channels, 1,6,11. • 802.11a has more channels and you may check at http://www.moonblinkwifi.com/80211a_frequency_channel_map.cfm
802.11e • Supporting QoS. The basic idea is to let higher priority packets have • Shorter IFS • Smaller contention window • TXOP (Transmission Opportunity) • Everyone is competing for an equal share of air time
Idle Sense • Is doubling CW whenever not getting an ACK optimal? • No, because not getting ACK could due to two reasons • Contention (CW should be doubled) • Random loss causing the packet not passing the CRC check (shouldn’t double CW because there is no contention!)
Idle sense • The basic idea is to sense the average duration of the idle period between two transmission attempts, and use it as an indicator of how many nodes want to transmit. • If more nodes want to transmit, the idle period will be short; otherwise, it will be long. • If too short, reduce the transmission probability. If too long, increase the transmission probability. • Use AIMD to adjust for fairness.
WEP • The stations share a secret key. • Before the data transmission, a 24-bit random Initialization Vector (IV) is generated by the sender. • The IV and the secret key are combined to make the session key. • The data is encrypted with the session key by the RC4 stream cipher. Then the encrypted data is sent to the receiver along with the plaintext IV. • The receiver can decrypt the data with the IV and the shared key. • Different IV are used for each transmission.
Temporal Key Integrity Protocol(TKIP) • A cipher suite based on old hardware (RC4 cipher) • A transmitter calculates a keyed cryptographic message integrity code (MIC). TKIP appends the computed MIC. The receiver discards any frames with invalid MIC. MIC in TKIP is not perfect due to hardware constraints. Has a timeout countermeasure. • Uses a transmit sequence counter (TSC) for every frame. Defend replay attack. • Uses a key-mixing function to combine the temporal key, the transmitter address (TA), and the TSC into the seed (IV, key) for the RC4 stream cipher
TKIP Encapsulation The figures are from http://standards.ieee.org/getieee802/download/802.11i-2004.pdf
Format Note: ICV is just the 4-byte checksum
Cellular Phone Networks • Compared to WLANs • Longer range • Less speed • Higher mobility • More for voice services (evolving!) • Overview • Divides the area into cells. • Base stations in each cells. • User have cellular phones. • The phones talks to the base station directly in wireless.
GSM • Global System for Mobile (GSM) • Used by more than 3 billion people • 2nd Generation (2G), because everything is digital, compared to the analog mobile phones which is 1G • Operates in 900MHz and 1800MHz band, or 850M and 1900M bands in the US • Uplink and down link both 25MHz wide. In GSM900, uplink band is 890-915M, downlink is 935-960M. • A band is divided into 124 channels with 200KHz spacing. The data rate is about 270Kbps for a channel.
GSM • GSM continued • The time in a channel is divided into 8 slots. Each slot is 577us and is allocated to a user. • A mobile phone is allocated two channels, one for uplink and the other for downlink. Separated by 45MHz. • The uplink and downlink slot numbers are separated by 3 – a phone never transmits and receives at the same time • FDMA/TDMA (Frequency Division Multiple Access / Time Division Multiple Access). • Different from In wireless LAN, in which a node is given the entire bandwidth for the time it needs to send a packet. Difference due to the nature of the application. • The peak transmission power of a GSM phone is 2W in 900M band and 1W in 1800M band. In contrast, your wireless router transmits at 20dBm, which is 0.1W. Difference due to the distance.