mimo
DESCRIPTION
Multiple in put multiple ouputTRANSCRIPT
http://smallseotools.com/plagiarism-checker/
http://www.ni.com/white-paper/3740/en#toc4
http://www.ni.com/white-paper/3740/en
Mingxin, T., Lanlan, Z., and He, S. (2009)‘The Implementation of 16QAM Modulation and Demodulation and Performance Comparison’. 5th International Conference on Wireless Communications, Network and Mobile Computing, 1-4
Tarokh, V., Seshadri, N., and Calderbank, A. R. (1998)‘Space-time codes for high data rate wireless communication: Performance analysis and code construction’.IEEE Transactions on Information Theory44(2), 744-765
Alamouti, S. M. (1998)‘A Simple Transmitter Diversity Scheme for Wireless Communications’.IEEE Journal on Select Areas in Communication 16(8), 1451–1458
Tarokh, V., Jafarkhani, H., and Calderbank, A. R. (1999) ‘Space-Time Block Codes From Orthogonal Designs’.IEEE Transaction on Information Theory 45(5), 1456-1467
Boolchandani, S., Mathur, G., and Kalra, G. (2005)‘Space Time Block Codes: An Overview’.International Journal of Advances in Computer Networks and its Security, 107 – 112
Ahmed R. S. Bahai and Burton R. Saltzberg, Multi Carrier DigitalCommunications. Kluwer Academic Publishers, 2002
Jeffrey G. Andrews, Rias Muhammad, Fundamentals of WIMAX. Prentice Hall Communications Engineering, 2006..
Multiple Input Multiple Output (MIMO) systems use arrays of multiple antennas at both ends of
the communication link. Over the past decade, the use of MIMO systems has rapidly gained
popularity due to its enhanced performance capabilities of improved Power Gain, Spatial
Diversity Gain and Spatial Multiplexing Gain. Orthogonal Frequency Division Multiplexing
(OFDM) is a multi carrier modulation technique. It provides high bandwidth efficiency because
the carriers are orthogonal to each other and multiple carriers share the data among themselves.
The main advantage of this transmission technique is its robustness to channel fading in wireless
communication environment.
In this Thesis, MIMO and OFDM techniques are combined to improve the system performance.
Software reference model for MIMO-OFDM system is designed and modelled in MATLAB. As
each of the MIMO requires at least two antenna elements. An analytical evaluation of Bit Error
Rate (BER) performance of the MIMO-OFDM technique combined with Alamouti Space Time
Block Codes (STBC) based on QPSK modulation scheme over AWGN channels is carried out.
Two transmit antennas with two receive antennas is shown to exhibit better performance than
conventional OFDM alone. The main objective of this project is to design and implement a
MIMO-OFDM transmitter and receiver. The implementation has been carried out in hardware
using Field Programmable Gate Array (FPGA). Both the transmitter and the receiver blocks of
MIMO and OFDM are performed separately and the results of Matlab and FPGA are compared.
The designing has been done in Verilog HDL. Modelsim 6.1e has been used to simulate the
design.
No project can ever take shape without the unconditional support of many people.I would like to take this opportunity to express our sincere gratitude to many individuals who have given lot of support and valuable guidance during my project work in M. S. Ramaiah School of Advanced Studies.
With most sincere and deepest sense of gratitude I thank my guideB. R. Karthikeyan, Asst. Prof. Department of Electronics and Electricalsfor his constant support, encouragement and valuable ideas which were of immense help through all the phases of this project. I also thank my co-guide Prof. Abdul Imran Rashid,forhis technical guidance, frequent discussions and valuable inputs that helped me in completing this project.
I would like to extend my sincere thanks to the management of MSRSAS and Dr. S. R. Shankapal, President, MSRSAS for the help and support provided during the project.
In my daily work I have been blessed with a friendly and cheerful group of fellow friends. Myearnest thanks all my friends who made my stay at MSRSAS a memorable one.
Finally, I would like to extend my deepest thanks to my wonderful family. I thank my parents K.Mallikarjuna and K. Sulochana for their patience during the days of hardship and happiness and helping me reach this point of my life.
Last but not the least, I thank GOD for blessing me in completing this project without whose sanction not even a single blade of grass can be moved.
VLSI SoC Design Concepts, Perspective & Implementation
Dr. Govind R. Kadambi
Dean-PEMP
The three main basic elements in a communication system are transmitter, channel and receiver. The source of information is the messages that are to be transmitted to the other end in the receiver. Transmitter part consists of source encoder, channel coder and modulation. Source encoder provides a proficient representation of the information through which the resources are conserved. A channel coder can include error detection and correction code. A modulation is the process which converts the base band signal into band pass signal before transmission.
During transmission, the signal experiences impairment which attenuates the signals amplitude and deform signals phase. The signals that are transmitting through a channel also impaired by noise, which is said to be Gaussian distributed component noise.
At the receiving end, the reverse procedure in the transmitter is performed. The same information must be decoded at the receiving end.
2.2 Digital Modulation Schemes
Modulation is a process of varying properties of the high frequency carrier signal with the
modulating signal or base band signal (low frequency signal) which contains the information to
be transmitted. Amplitude, phase and frequency are the properties of the high frequency signal
which are going to vary. Digital modulation is considered as a digital to analog convertor since
an analog carrier is modulated using a discrete information data and it is reverse process at the
receiver. The fundamental digital modulations schemes are as follows
• Phase Shift Keying (PSK)
• Frequency Shift Keying (FSK)
• Amplitude Shift Keying (ASK)
• Quadrature Amplitude Modulation (QAM)
PSK is a modulation scheme which sends the data by varying or modulating the phase of the
carrier signal. In PSK there will be predefined states which are used for signalling data. The
basic form of PSK is Binary Phase Shift Keying (BPSK) in which a digital signal alternating
between +1 and -1 or (1 and 0) will make phase reversals, that is 180 degree phase shifts as the
data shifts the state. Figure 2.1 shows the constellation diagram for BPSK. Constellation diagram
is used to represent PSK symbol or modulation symbols in complex plane, these symbols are
usually will be gray code sequence. Gray code is used just because it will reduce the error rate.
Constellation diagram shows the points in complex plane and it has two axis I axis or in phase
and Q axis or Quadrature phase. The amplitude of signal along I phase is used to modulate
cosine wave and amplitude of signal along Quadrature phase is used to modulate sine wave. In
psk the points in constellation diagram are chosen in such a way that they are spaced equally
along a circle, which gives the maximum phase separation between the points and hence the
minimum effect on corruption of points (data bits). It is possible to transmit more number of bits
per symbol by using higher order constellation mapping but the Euclidean distance becomes
small and hence there will more noise, hence the high Bit Error Rate (BER) the figure 2.2 and
2.3 shows the high order constellation diagram for psk that is 8 psk and qpsk.
FSK is a modulation scheme which sends the data by varying or modulating the frequency of the
carrier signal. ASK is a modulation scheme which sends the data by varying or modulating the
Amplitude of the carrier signal (Geoff Smithson).
Quadrature Amplitude Modulation
Quadrature Amplitude Modulation is a type of modulation schemes, in which modulation
is done by changing the amplitude of two carrier waves and these carrier waves will be out of
phase by 90 degrees to each other hence the name Quadrature. Many constellation diagrams are
there for QAM, the figure 2.4 and figure 2.5 shows the circular constellation diagram and
rectangular constellation diagram for 16-QAM.The main problem in constellation mapping is the
distance between the points should be high meanwhile maintaining the power required to as less
as possible. For Gaussian channel rectangular constellation suits well. Rectangular constellations
are normally preferred over the circular constellation because rectangular QAM are easy to
modulate and demodulate when compared to circular constellation (Kisiel K. And et el).
0000
0001
0010
0011
0100
01010110
0111
1000
1001
1010
1011
1100 1101
1110 1111
Q
I
Figure 2. 1 Rectangular Constellation diagram for 16 QAM
2 Space Time Codes
Use of multiple antennas can improve the reliability of data transmission, the method employed for this purpose in wireless communication is known as Space-time code (STC). STCs rely on transmitting multiple, redundant copies of a data stream to the receiver to allow reliable decoding.
Space time codes could be divided into following three types:
a) Space–time trellis codes (STTCs) distribute a Trellis code over multiple antennas and multiple time-slots. It is used to provide both coding gain and diversity gain. The fundamentals of space-time coding were established in the context of space-time Trellis coding by Tarokh(Tarokh, Seshadri and Calderbank1998).Due to the combined benefits of forward error correction (FEC) coding and diversity transmission, Trellis coding is proved to be a highly effective scheme and also provides a considerable performance.
b) Space-time turbo codes (STTuC) is a combination of space-time coding and turbo coding. They are originally introduced as binary error-correcting codes which are called turbo decoding algorithm.
c) Space–time block codes (STBCs), which act on a block of data. In this coding scheme, only the diversity gain is obtained, and not the coding gain. This makes STBC less complex in implementation than STTCs and STTuC.
I
Q
One of the idea behind MIMO wireless systems space-time signal processing in which time (the
natural dimension of digital communication data) is complemented with the spatial dimension
inherent in the use of multiple spatially distributed antennas, i.e. the use of multiple antennas
located at different points. Accordingly MIMO wireless systems can be viewed as a logical
extension to the smart antennas that have been used for many years to improve wireless.
To take advantage of this in a MIMO wireless system, the transmitted data must be encoded
using what is termed a space-time code to allow the receiver to extract the fundamental
transmitted data from the received signals.
The codes used for MIMO wireless systems vary according to a number of parameters. Some
codes, known as “space-time diversity codes” are optimised for what is termed the diversity
order. These optimise the signal to noise ratio, and the codes used define the performance gain
that can be achieved and obviously the more gain that is achieved, the more processing power is
required.
Other MIMO codes are used for spatial multiplexing and improve the channel capacity.
Although both schemes are of considerable interest, it is the spatial multiplexing that is of
considerable interest in many applications where bandwidth is limited.
MIMO spatial multiplexing
Generation of OFDM Signals
To implement the OFDM transmission scheme, the message signal must first be digitally
modulated. The carrier signal is then split into lower-frequency sub-carriers that are orthogonal
to one another.
The message signal is first modulated using a scheme such as BPSK, QPSK, or QAM
(256-QAM for example). In 256-QAM, 8 input bits are grouped to form each symbol. Each
symbol modulates either in phase or amplitude of a higher frequency carrier. Figure 2.3 shows
the time–domain representation of modulated waveform of 256-QAM, here it can observe that
for every 8-bit data input transition there is a change in either amplitude or phase of the
modulated carrier.
Guard Period
One of the most important properties of OFDM transmission is its robustness
against multi path delay. This is especially important if the signal’s sub-carriers are to retain their
orthogonality through the transmission process. The addition of a guard period between
transmitted symbols can be used to accomplish this. The guard period allows time for multipath
signals from the previous symbol to dissipate before information from the current symbol is
recorded.
The most effective guard period is a “cyclic prefix”, which is appended at the
front of every OFDM symbol. The cyclic prefix is a copy of the last part of the OFDM symbol,
and is of equal or greater length than the maximum delay spread of the channel as shown in the
Figure 2.5. Although the insertion of the cyclic prefix imposes a penalty on bandwidth
efficiency, it is often the best compromise between performance and efficiency in the presence of
inter-symbol interference.
X(k) represent the DFT frequency output at the k-the spectral point where k ranges from 0 to N-
1. The quantity N represents the number of sample points in the DFT data frame. The quantity
x(n) represents the n-th time sample, where n also ranges from 0 to N-1. In general equation, x(n)
can be real or complex.
The DFT equation can be re-written into
X(k)=∑n=0
N−1
x (n ) W Nnk (2.3)
The quantity WNnk is defined as
W Nnk=e− j2πnk /N (2.4)
Here is where the secret lies between DFT and FFT/IFFT where the function above is
called Twiddle Factor. This factor is calculated and put in a Table 2.1 in order to make the
Start
Xor the Input bits Transmitted and
Decoded bits
Add the output of the XOR operation to get
the number of bit errors
Divide number of bit erros by the total number of original bits
Stop
computation easier and can run simultaneously. The Twiddle Factor table is depending on the
number of point use. During the computation of IFFT, the factor does not to recalculate since it
can refer to the Twiddle factor table thus it save time since calculation is done concurrently.
Below is the ta
Start
Xor the Input bits Transmitted and
Decoded bits
Add the output of the XOR operation to get
the number of bit errors
Divide number of bit erros by the total number of original bits
Stop
ble for 8 point of FFT for twiddle factor.
The QPSK modulator maps the groups of 2 bits of the input into QPSK constellations. The
QPSK modulator (QPSK_mod) circuit is as shown in Figure 4.9 has reset input (rst), clock input
(clk), enable input (en), resetn input (rst_n), two bit input data (inp), eight bit real part of
complex number output (q_out) and eight bit imaginary part of complex number output. The
resulting output waveform of the QPSK modulator is shown in Figure 4.10. The modulator
circuit consists of two parts which are the QPSK constellation (qpsk_const) and a QPSK control
unit (ctrl_unit_qpsk) as shown in Figure 4.11.
Figure 4.1 shows the block diagram of Alamouti Transmitter which consist of three sub-blocks.
These sub-blocks are the serial-to-parallel converter, QPSK modulator and Alamouti encoder.
All these sub-block are made up of several blocks, which will be discussed further later in this
section. Data_in is the serial binary bits input data which are being fed into the Alamouti
transmitter design. The Alamouti transmitter design, manipulates these binary bits in such a
manner that it follows the Alamouti’s transmit diversity technique to produce outputs at two
transmit antenna. At this point, please take note that the there is an assumption that the fading
and inputs are constant for the duration of the encoding process, two consecutive symbols.
First, the Data_in information bits which are being fed in to the design in series are being
converted into parallel data by the serial to parallel converter block performing the conversion.
The output from this block is fed into the QPSK modulator which maps the data and produce
symbols of complex numbers. There is an assumption that these numbers are integers. These
symbols are passed to the Alamouti encoder which performs the negation of either the real or the
imaginary part of the modulated symbol. The output of the encoding process is two streams of
modulated symbols. Each stream can be fed to identical transmit chains each driving a separate
antenna.
A serial to parallel converter is a typical application of shift register. It consists of sending out a
block of data parallelly. The schematic of a serial to parallel converter is shown in Figure 4.2. It
has a serial data input (Data_in), enable input (en), clock input (clk), reset input (rst), parallel
data outputs (out a, out b, out c, out d) and a control signal output (Valid 4). The pin description
of each input/output port is given in Table 4.1
Alamouti’s Encoder
rst
en
q0_in
i0_in
q1_in
i0_in
clk
q0_out
i0_out
q1_out
i1_out
The QPSK modulator maps the groups of 2 bits of the input into QPSK constellations. The
QPSK modulator (QPSK_mod) circuit is as shown in Figure 4.9 has reset input (rst), clock input
(clk), enable input (en), resetn input (rst_n), two bit input data (inp), eight bit real part of
complex number output (q_out) and eight bit imaginary part of complex number output. The
resulting output waveform of the QPSK modulator is shown in Figure 4.10. The modulator
circuit consists of two parts which are the QPSK constellation (qpsk_const) and a QPSK control
unit (ctrl_unit_qpsk) as shown in Figure 4.11.
Figure 4.20 shows the Alamouti encoder which contains sequential logic and thus requires some
control logic and clock signals. The encoding of this module follows the algorithm suggested by
Alamouti as shown in Table 2.1. It has a reset input (rst), enable input (en), clock input (clk),
four eight-bits data inputs (q0_in, i0_in, q1_in, i1_in) and four eight-bits data output (q0_out,
i0_out, q1_out, i1_out). Table 4.4 shows the pin description of the encoder. The encoder has four
eight-bit inputs, the real and imaginary parts of the two symbols being encoded. The inputs are
not registered, and are assumed to be held constant for the duration of the encoding process (two
clock cycles). There are also four eight-bit outputs for the real and imaginary parts of the
encoded symbols. These outputs are to be transmitted to establish an end-to-end link over real
wireless channels. However, in the case of this project, these outputs are fed into the channel
modeling circuit. The resulting output waveform of the designed encoder is shown in Figure
4.21.
4.3 Alamouti Receiver
Figure 4.24 shows the block diagram of Alamouti Receiver which consist of two sub-blocks.
These sub-blocks are the Alamouti Decoder and QPSK demodulator. The received signal at the
antenna is being fed into the Alamouti decoder, where the signal is being decoded according to
the Alamouti’s diversity technique as mentioned in Chapter 2. Upon the decoding process, the
signal is then fed into the QPSK demodulator to retrieve the original binary bit stream which was
transmitted.
Figure 4.24 shows the block diagram of Alamouti Receiver which consist of two sub-blocks.
These sub-blocks are the Alamouti Decoder and QPSK demodulator. The received signal at the
antenna is being fed into the Alamouti decoder, where the signal is being decoded according to
the Alamouti’s diversity technique as mentioned in Chapter 2. Upon the decoding process, the
signal is then fed into the QPSK demodulator to retrieve the original binary bit stream which was
transmitted.
The receiver is also assumed to have the knowledge of the channel experienced by the signal.
Due to this, the design does not require a channel estimator and Maximum Likelihood (ML) part
of design. And as mentioned earlier, in the design the transmitted signal is directly connected and
the channel modeling modifies the transmitted signal to behave as it should as if the signal had
been transmitted over real wireless environment before being received at the receiver
QPSK Demodulator
Figure 4.28 shows the QPSK demodulator that demodulates the decoded received signal to
produce the transmitted binary bit stream. The same QPSK constellation principles that was used
in the QPSK modulator in the transmitter, is used in the QPSK demodulator. A 1(8 bits) will be
converted as a 1(1 bit) and a -1(8 bits) will be a 0(1 bit). Like for example, if a decoded signal
produce a 1 at q_out (real) and -1 at i_out (imaginary), this be demodulated as two binary bits of
01 as shown in the output waveform in Figure 4.29
QPSK DeModulator
rst
clk
q_out [7:0]
i_out [7:0]
Inp[1:0]
QPSK Modulator
rst
Inp[1:0]
clk
e
q_out [7:0]
i_out [7:0]
Wireless communication systems are gaining popularity especially with respect to mobile phones
and wireless data devices because of their ease of use and mobility. Initially, wireless systems
was mainly designed and developed to support voice. The need for high rate data services is
growing, especially as multimedia applications gaining popularity as they require higher data
rate with quality of service (QoS). Thus, new wireless systems have to be designed considering
the need for data and multimedia services. One of the popular wireless systems is wireless local
area networks (WLANs) which interconnect the computers and other handheld devices in short
range, typically in an office space. A lot of applications are coming up based on WLANs which
have to compete with the wire line counterparts, i.e., LAN in terms of rate and reliability. The
effective application rate offered by the existing WLANs is still far lesser than the LAN.
Recently, IEEE 802.11n task group (TGn) was formed with the goal of increasing the application
throughput to at least 100Mbps by making changes in the PHY and MAC layer. The major
change in the PHY layer is the use of multiple transmits and receives antennas along with the
OFDM system to support several parallel streams. The multiple input multiple output (MIMO)
systems offer very higher data rates in the same bandwidth as compared to the single input
single output (SISO) systems. This thesis focuses on studying the challenges and issues in the
MIMO-OFDM systems and proposing new techniques to solve the problems with the orientation
towards the IEEE 802.11n standard
Orthogonal frequency division multiplexing (OFDM) is a block transmission technique. In the
baseband, complex-valued data symbols modulate a large number of grouped carrier waveforms.
The transmitted OFDM signal multiplexes several low rate data streams and each data stream is
associated with a given subcarrier. OFDM is implemented in broadband wireless access systems
as a way to overcome wireless channel impairments and to improve bandwidth efficiency.
OFDM is used today in wireless local area networks (LANs) as specified by the IEEE 802.11a
and the ETSI HiperLAN/2 standards. It is also used for wireless digital radio and television
transmissions, particularly in Europe.
Multiple-input multiple-output (MIMO) communication refers to wireless communication
systems using an array of antennas (i.e. multiple antennas) at either the transmitter or the
receiver. Multiplexing would cause interference, but MIMO systems use smart selection and/or
combining techniques at the receiving end to transmit more information and to improve signal
quality. MIMO systems provide a significant capacity gain over conventional single antenna
systems, along with more reliable communication. In this project, we will investigate MIMO
techniques for OFDM systems in the context of Wi-Fi and WiMax. We will conduct an extensive
simulation-based study of MIMO-OFDM systems. We will analyze the performance of various
MIMO techniques under different fading channel conditions. It is known that the complexity of
OFDM with MIMO is overwhelming due to the necessity for multiple Fast Fourier Transforms
(FFTs) at the receiver. In order to reduce system complexity, we also propose a novel combining
technique that will exploit MIMO gains with only a single FFT at the receiver.
With the rapid development of digital communication in now a days, the need for high-speed
data transmission is increased. The telecommunications industry faces the problem of providing
the technology that be able to support a variety of services ranging from voice communication
with a bit rate of a few kbps to wireless multimedia in which bit rate up to 100 Mbps. Many
systems have been proposed and MIMO-OFDM system has gained much attention for different
reasons. OFDM was first developed in the 1960s, only in recent days, it has been recognized as
an outstanding method for high-speed data communication where its implementation relies on
very high-speed digital signal processing. This method was recently become available with
reasonable prices versus performance of hardware implementation.
MIMO- OFDM is carried out in the digital domain, and there are several methods to implement
the system. One method to implement the system is using ASIC (Application Specific Integrated
Circuit). ASICs are the smallest, and lowest power way to implement OFDM into hardware. The
problem in using this method is inflexibility of design process involved and the longer time to
market period for the designed chip.
Field-Programmable Gate Array (FPGA) is an example of VLSI circuit which consists of a-sea
of NAND gates! Whereby the function are customer provided in a - wire list! This hardware is
programmable and the designer has full control over the actual design implementation
without the need (and delay) for any physical IC fabrication facility. The importance of FPGA is
that it adds the speed, power, and density attributes of an ASIC with the programmability
of a general purpose processor which will offer advantages to the OFDM system. An FPGA
could be reprogrammed for many times as a new functions by a base station to meet future
needs particularly when new design is going to fabricate into chip. This will be the good choice
for OFDM implementation since it gives flexibility to the program design besides the low cost
hardware component compared to others
Input-bits:
0 0 0 1 0 1 0 1 0 0 0 0 1
0 0 0 0 0 1 1 1 0 0 0 1
0 0 1 1 0 1 0 0 1 0 1 0
1 0 0 1 1 1 0 0 1 0 0 1
0 1 0 1 0 0 1 0 1 0 0 0
0 0 0
Input-bits:
0 0 0 1 0 1 0 1 0 0 0 0 10 0 0 0 0 1 1 1 0 0 0 10 0 1 1 0 1 0 0 1 0 1 01 0 0 1 1 1 0 0 1 0 0 10 1 0 1 0 0 1 0 1 0 0 00 0 0
Decoded-bits
0 0 0 1 0 1 0 1 0 0 0 0 10 0 0 0 0 1 1 1 0 0 0 10 0 1 1 0 1 0 0 1 0 1 01 0 0 1 1 1 0 0 1 0 0 10 1 0 1 0 0 1 0 1 0 11 0 0 1
Decoded-bits
0 0 0 1 0 1 0 1 0 0 0 0 1
0 0 0 0 0 1 1 1 0 0 0 1
0 0 1 1 0 1 0 0 1 0 1 0
1 0 0 1 1 1 0 0 1 0 0 1
0 1 0 1 0 0 1 0 1 0 1
1 0 0 1
Mux
Mux
PIPO
PIPO
+/-
Mapper output values