Sunteți pe pagina 1din 4

MIMO Spatial Multiplexing Technique With Transmit Diversity

AIM: To design and simulate a transmitter and receiver section of SC-FDE using MATLAB and compare their performance for different modulation techniques. SOFTWARE USED: MATLAB. THEORY: Single-carrier frequency-domain equalization (SC-FDE) has similar performance and essentially the same overall complexity as orthogonal frequency division multiplexing (OFDM) [1]. Recently, the SC-FDE has drawn a great attention as an alternative to the OFDM, especially in the uplink communications, because its transmit structure at mobile equipment is very simple and lower peak-to-average power ratio (PAPR) significantly benefits the transmitter in terms of power efficiency. Multiple-input multiple-output (MIMO) systems are considered as one of the most promising technologies for high speed wireless communications, since the use of multiple antennas provides considerable performance gains over single-antenna systems [2][4]. The gains of MIMO systems can be categorized into two types. One is multiplexing gain, which increases the data rate by transmitting independent data streams in parallel through multiple spatial channels. Most significantly, various Bell Labs layered space-time (BLAST) techniques have been proposed to achieve the multiplexing gain [5], [6]. The other is diversity gain to combat the fading effect of wireless channels. Signals carrying the same information are transmitted through independent fading channels so that the transmission reliability is improved. Space-time codes [7] and cyclic delay diversity (CDD) [8] are the examples of exploiting spatial diversity. Since most of the previously designed MIMO techniques focus on extracting either multiplexing or diversity gain, maximizing one type of gain may not necessarily maximize the other [2]. In this letter, we propose a new MIMO technique for SC-FDE, which achieves spatial multiplexing and transmit diversity gains altogether. Independent data streams are transmitted simultaneously through all transmit antennas, and thus it obtains multiplexing gain. Diversity gain is extracted by using the CDD, where different cyclic delay patterns are applied to different data streams in order to separate each data stream at the receiver. Corresponding receiver structure is also presented, which introduces a successive interference cancellation (SIC) algorithm without ordering process. Under the assumption of known channel at the receiver, the proposed system with iterative receiver structure provides

better error performance than conventional multiplexing schemes, e.g., horizontal-BLAST (H-BLAST), for the same data rate. Furthermore, the performance of proposed system approaches the orthogonal space-time block code (STBC), while the data rate of proposed system is higher than that of the STBC. PROGRAM:
close all clear all clc nbitpersym = 52; % number of bits per SC-FDE symbol (same as the number of subcarriers for QPSK) nsym = 10^4; % number of symbols len_fft = 64; % fft size sub_car = 52; % number of data subcarriers EbNo = 0:5:40; EsNo= EbNo + 10*log10(52/64)+ 10*log10(64/80); % symbol to noise ratio snr= EsNo - 10*log10(64/80); % snr as to be used by awgn fn. M = modem.pskmod(4); % modulation object % Generating data t_data=randint(nbitpersym*nsym,1); % modulating data mod_data = modulate(M,t_data); % serial to parallel conversion par_data = reshape(mod_data,nbitpersym,nsym).'; % pilot insertion pilot_ins_data=[zeros(nsym,6) par_data(:,[1:nbitpersym/2]) zeros(nsym,1) par_data(:,[nbitpersym/2+1:nbitpersym]) zeros(nsym,5)] ; % fourier transform time doamain data and normalizing the data IFFT_data = (64/sqrt(52))*ifft(fftshift(pilot_ins_data.')).'; % addition cyclic prefix cylic_add_data = [IFFT_data(:,[49:64]) IFFT_data].'; % parallel to serial coversion ser_data = reshape(cylic_add_data,80*nsym,1);

% passing thru channel h=rayleighchan(1/10000,10); changain1=filter(h,ones(nsym*80,1)); a=max(max(abs(changain1))); changain1=changain1./a; chan_data = changain1.*ser_data; no_of_error=[]; ratio=[]; for ii=1:length(snr) chan_awgn = awgn(chan_data,snr(ii),'measured'); % awgn addition chan_awgn =a* chan_awgn./changain1; % assuming ideal channel estimation ser_to_para = reshape(chan_awgn,80,nsym).'; % serial to parallel coversion cyclic_pre_rem = ser_to_para(:,[17:80]); %cyclic prefix removal % freq

FFT_recdata =(sqrt(52)/64)*fftshift(fft(cyclic_pre_rem.')).'; domain transform % FFT_recdata = FFT_recdata./FFT_recdata1;

rem_pilot = FFT_recdata (:,[6+[1:nbitpersym/2] 7+[nbitpersym/2+1:nbitpersym] ]); %pilot removal ser_data_1 = reshape(rem_pilot.',nbitpersym*nsym,1); % ser_data_1 = ser_data_1./abs(FFT_recdata1); % serial coversion

z=modem.pskdemod(4); %demodulation object demod_Data = demodulate(z,ser_data_1); %demodulating the data

[no_of_error(ii),ratio(ii)]=biterr(t_data,demod_Data) ; % error rate calculation end % plotting the result semilogy(EbNo,ratio,'--or','linewidth',2); hold on; EbN0Lin = 10.^(EbNo/10); theoryBer = 0.5.*(1-sqrt(EbN0Lin./(EbN0Lin+1))); semilogy(EbNo,theoryBer,'--ob','linewidth',2); legend('simulated','theoritical') grid on xlabel('EbNo'); ylabel('BER') title('Bit error probability curve for QPSK using SC-FDE');

OUTPUT:

10

Bit error probability curve for QPSK using SC-FDE simulated theoritical

10

-1

10

-2

BER
10
-3

10

-4

10

-5

10

15

20 EbNo

25

30

35

40

RESULT: Thus the transmitter and receiver section of SC-FDE was obtained and simulated using MATLAB.

S-ar putea să vă placă și