Find Jobs
Hire Freelancers

STBC and CDMA using matlab

$100-160 USD

Closed
Posted about 20 years ago

$100-160 USD

Paid on delivery
Project: Simulation of a combined STBC(space time block codes)? and CDMA system using matlab version 6.0. I want a code for a CDMA system instead of the TDMA used in my initial codes. any changes to initial codes must be explained by small statements The STBC codes are from alamoutis papers. For aNy other queries pls ask. The codes for Combined STBC and TDMA can be provided. ## Deliverables %########### % 2 Tr Antenna by 1 Rx Antenna, STBC case(Alamouti's Scheme) %########### clear all; MeanFadePower=-8 ; %(In dB) PathGain=sqrt(10^(MeanFadePower/10)); Rep_No=1000; step=1; for SNR_dB=0:2:22 SNR(step)=10^(SNR_dB/10); M.data=rand(1,1000)>0.5; for repetition=1:Rep_No [login to view URL] = 20000; % carrier frequency [login to view URL] = 1500000; % sampling frequency i=sqrt(-1); h0 = =bs(PathGain*(1/sqrt(2))*(randn(size([login to view URL]))+i*randn(size([login to view URL])))); h1 = =bs(PathGain*(1/sqrt(2))*(randn(size([login to view URL]))+i*randn(size([login to view URL])))); k = 1; n = 1; while k<= length([login to view URL]) %### Binary into DPSK ### if [login to view URL](k) == 1 s0 = 1; elseif [login to view URL](k) == 0 s0 = -1; end if [login to view URL](k+1) == 1 s1 = 1; elseif [login to view URL](k+1) == 0 s1 = -1; end %### Encoded symbols ### ant0_cyc1 = s0; ant1_cyc1 = s1; ant0_cyc2 = -conj(s1); ant1_cyc2 = conj(s0); %### Upsample ### samp_per_sym = [login to view URL]; up_a0c1 = ones(1,samp_per_sym)*ant0_cyc1; up_a1c1 = ones(1,samp_per_sym)*ant1_cyc1; up_a0c2 = ones(1,samp_per_sym)*ant0_cyc2; up_a1c2 = ones(1,samp_per_sym)*ant1_cyc2; %### Modulate ### Tmax = 1/[login to view URL]; dt = Tmax/samp_per_sym; time = [0:dt:Tmax-dt]; wc = 2*pi*[login to view URL]; c = cos(wc*time); mup_a0c1 = up_a0c1.*c; mup_a1c1 = up_a1c1.*c; mup_a0c2 = up_a0c2.*c; mup_a1c2 = up_a1c2.*c; %### Transmission Stream ### %# Tx-ant0 # Tx0(1:samp_per_sym) = mup_a0c1; Tx0(1+samp_per_sym:2*samp_per_sym) = mup_a0c2; %# Tx-ant1 # Tx1(1:samp_per_sym) = mup_a1c1; Tx1(1+samp_per_sym:2*samp_per_sym) = mup_a1c2; %### Power recticication ### Tx0 = (1/sqrt(2))*Tx0; Tx1 = (1/sqrt(2))*Tx1; %### Channel Effects ### ch0_a0a0= Tx0*h0(n); ch1_a1a0= Tx1*h1(n); % ### RECEIVER ARRAY ### rx0 = ch0_a0a0+ch1_a1a0; r0 = rx0(1:75); r1 = rx0(76:150); %### Noise at receiver ### Noise_Factor=1/(sqrt(SNR(step))); SigPow=1; %std(Tx0)+std(Tx1); Noise_var=SigPow*Noise_Factor; noise_ant0 = Noise_var*randn(size(rx0)); % For COMPLEX NOISE %i=sqrt(-1); %noise_ant0 = =1/sqrt(2))*Noise_var*(randn(size(rx0))+i*randn(size(rx0))); n0 = noise_ant0(1:samp_per_sym); n1 = noise_ant0(1+samp_per_sym:2*samp_per_sym); r0 = r0+n0; r1 = r1+n1; %### Demodulated signals ### Tmax = 1/[login to view URL]; dt = Tmax/samp_per_sym; time = [0:dt:Tmax-dt]; wc = 2*pi*[login to view URL]; c = sin(wc*time); r0 = r0.*c; r1 = r1.*c; %### Combiner ### s0bar= h0(n)*r0+h1(n)*r1; s1bar= h1(n)*r0-h0(n)*r1; sum_s0 = =um(s0bar(1:19))-sum(s0bar(20:38))+sum(s0bar(39:57))-sum(s0bar(58:75)); sum_s1 = =um(s1bar(1:19))-sum(s1bar(20:38))+sum(s1bar(39:57))-sum(s1bar(58:75)); s0bar=sum_s0/75; s1bar=sum_s1/75; %### Maximum likelihood detection ### si = 1; sk =-1; d2_s0bar_si =(s0bar-si)*(conj(s0bar)-conj(si)); d2_s0bar_sk =(s0bar-sk)*(conj(s0bar)-conj(sk)); if d2_s0bar_si <= d2_s0bar_sk s0hat= si; else s0hat = sk; end %choose si iff %d^2(s1bar,si)<=d^2(s1bar,sk) %where d^2(x,y)=(x-y)(x*-y*) d2_s1bar_si =(s1bar-si)*(conj(s1bar)-conj(si)); d2_s1bar_sk =(s1bar-sk)*(conj(s1bar)-conj(sk)); if d2_s1bar_si <= d2_s1bar_sk s1hat= si; else s1hat = sk; end rsym=[s0hat,s1hat]; %### DPSK to Binary ### if rsym(1) == 1 r_s0 = 1; else r_s0 = 0; end if rsym(2) == 1 r_s1 = 1; else r_s1 = 0; end rdata(k:k+1)= [r_s0,r_s1]; k = k+2; n = n+1; end No_errors=find(xor(rdata,[login to view URL])); BER(step,repetition)=size(No_errors)/size([login to view URL]); end SNR_VALUE(step)=SNR_dB; BER_avg(step)=mean(BER(step,1:Rep_No)); clear [login to view URL]; step=step+1; end semilogy(SNR_VALUE,BER_avg,'r*:'); %title('BER Vs. EbNo(SNR) for 2 Tr Antenna by 1 Rx Antenna, STBC =ase(Alamouti''s Scheme)with BPSK modulation') %xlabel('EbNo(SNR) In dB'); %ylabel('BER (In Log Scale)'); ## Platform The program is to be simulated in matlab 6.0 and the time for simulation should be known thank you
Project ID: 3143941

About the project

1 proposal
Remote project
Active 20 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
1 freelancer is bidding on average $128 USD for this job
User Avatar
See private message.
$127.50 USD in 1 day
4.4 (13 reviews)
3.3
3.3

About the client

Flag of UNITED KINGDOM
United Kingdom
0.0
0
Member since Mar 23, 2004

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.