Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

I need matlab code about multiuser detection in stbc-ofdm

Status
Not open for further replies.

wyldgg

Newbie level 1
Joined
Aug 11, 2009
Messages
1
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,303
stbc matlab

hi! every one
I am a graduate student,just now I write some matlab code about ZF multiuser detection in stbc-ofdm .but when I finished the stbc code, the signal shoud go through the multi-antenna.my code is:
clear;
k=2;%user number
Nt=4; transmit antenna
Nr=2; receive antenna
M=1280;%bits

co_time=10;
carrier_count=128; %sub-carriers
Eb_N0_dB = [0:9]; %symbols/carriers
Frame=M/carrier_count;
cp_length=carrier_count/4;
addprefix_length=carrier_count+cp_length;

signal=rand(k,M)>0.5;
M_signal=2*signal-1;% BPSK modulation 0 -> -1; 1 -> 0

user1sigpara:),:)=reshape(M_signal(1,:),carrier_count,Frame);
user2sigpara:),:)=reshape(M_signal(2,:),carrier_count,Frame);
user1send1:),1:2:Frame)=user1sigpara:),1:2:Frame);%stbc code
user1send1:),2:2:Frame)=-conj(user1sigpara:),2:2:Frame));
user1send2:),1:2:Frame)=user1sigpara:),2:2:Frame);
user1send2:),2:2:Frame)=conj(user1sigpara:),1:2:Frame));
user2send1:),1:2:Frame)=user2sigpara:),1:2:Frame);
user2send1:),2:2:Frame)=-conj(user2sigpara:),2:2:Frame));
user2send2:),1:2:Frame)=user2sigpara:),2:2:Frame);
user2send2:),2:2:Frame)=conj(user2sigpara:),1:2:Frame));


user1signal_1=ifft(user1send1); %ifft
user1signal_2=ifft(user1send2);
user2signal_1=ifft(user2send1);
user2signal_2=ifft(user2send2);

user1signal_1cp=[user1signal_1(carrier_count-cp_length+1:carrier_count,:);user1signal_1];
user1signal_2cp=[user1signal_2(carrier_count-cp_length+1:carrier_count,:);user1signal_2];
user2signal_1cp=[user2signal_1(carrier_count-cp_length+1:carrier_count,:);user2signal_1];
user2signal_2cp=[user2signal_2(carrier_count-cp_length+1:carrier_count,:);user2signal_2];

user1signal_1chuan:),:)=reshape(user1signal_1cp:),:),1,addprefix_length*Frame);
user1signal_2chuan:),:)=reshape(user1signal_2cp:),:),1,addprefix_length*Frame);
user2signal_1chuan:),:)=reshape(user2signal_1cp:),:),1,addprefix_length*Frame);
user2signal_2chuan:),:)=reshape(user2signal_2cp:),:),1,addprefix_length*Frame);
but just now ,Idon't know how to write the multipath Rayleigh channel and how to get the received signal .please give some advice.thank you!
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top