q0206010
Newbie level 1
I have 4QAM-Spatial Modulation matlabcode . But i need to simulate 4transmit antennas,4receive antennas 16QAM-SM By ML detection .How should i do
Code dot - [expand] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 clc clear all; N=3*10^5; %number of symbol symbol_set=[1+1i;1-1i;1i-1;1i-1i]/sqrt(2); %set of symbol to be transmitted symbolset_size=4; symbol_size=N/3; Eb_No_Db=(0:25); nTx=2; % number of transmitting antenna nRx=2; % number of receiving antenna antennabits=[0;1]; Sym_to_bit=[0 0;0 1;1 0;1 1]; i=randi([0 1],1,N) ; % generating stream of bits x=vec2mat(i,3); % grouping generated bits into 3 s=kron(symbol_set,ones(nRx,1)); % grouping symbols into matrix s=repmat(s,[1 nTx]); xTransmit=zeros(symbol_size,nTx); xDemod=zeros(symbol_size,3); antenna_symbol=zeros(N/3,1); antenna_symbol(:,1)=x(:,1)+1; % antenna_symbol(:,2)=symbol_set(bi2de(x(:,2:3),'left-msb')+1) ; %Modulate for ii=1:length(Eb_No_Db) for jj=1:symbol_size h=1/sqrt(2)*(randn(nRx,nTx))+ 1i*(randn(nRx,nTx)); % rayleigh channel n=1/sqrt(2)*(randn(nRx,1))+1i*(randn(nRx,1)); % noise H=kron(ones(symbolset_size,1),h); sD= H.*s; xTransmit(jj,antenna_symbol(jj,1)) =antenna_symbol(jj,2) ; % Assign Symbol and Antenna Index xTransmit2=kron(xTransmit(jj,:),ones(nRx,1)); y = sum(xTransmit2.*h,2) +10^(-Eb_No_Db(ii)/20)*n; y2=kron(ones(symbolset_size,1),y); % Copy for Symbol set y2=repmat(y2,1,nRx); % Copy for Antenna y2=abs(y2-sD); z=zeros(symbolset_size,nTx); z(1,:)=abs(sum(y2(1:2,:),1)); z(2,:)=abs(sum(y2(3:4,:),1)); z(3,:)=abs(sum(y2(5:6,:),1)); z(4,:)=abs(sum(y2(7:8,:),1)); [v r]=min(z); [v c]=min(v); xDemod(jj,1)=antennabits(c); xDemod(jj,2:3)=Sym_to_bit(r(c),:); end nErr(ii)= size(find(i-reshape(xDemod',1,[])),2); end simBER = nErr/N; close all figure semilogy(Eb_No_Db,simBER,'m.-','linewidth',2); axis([0 20 10^-5 1]) grid on legend('Sim 4QAM'); xlabel('Eb/No, dB') ylabel('Bit Error Rate') title('Bit Error Prob 4QAM 2x2 (3 Bit) with SM in Rayleigh Fading')
Last edited by a moderator: