Continue to Site

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.

Looking for a wcdma simulation

Status
Not open for further replies.

bangash

Member level 5
Joined
Apr 1, 2006
Messages
83
Helped
6
Reputation
12
Reaction score
2
Trophy points
1,288
Location
London
Activity points
1,770
hi
i need wcdma matlab simulation or any kind of wcdma simulation
 

3.84e6*

checkout the matlab user contributed sections in the matlab website
 

wcdma in matlab

I hope this program is helpful!


%function wcdma_script()
clear all
clear
clc

fprintf('Start! Please wait ...\n');
Max_Err_Num=100;
r=3;
Mem_Len=8; %memory length of Viterbi Decoder.
Sur_Len=40; %survial length of .....
V=100; %km/h
SF_Bit=6;
SF=2^SF_Bit; %Spread factor
SF_DB=10*log10(SF);
Win_Len=15; %Window length for searching
Push = 3;
Max_Num=3; %Strong paths
Plt_Num=2; %Symbol:The integrated length for pilot estimation
Tc=1/3.84e6; %Chip duration according to digital bandwidth
Data_Rate=1/(SF*Tc); %bits/s
Chi_Num=1;
Chq_Num=1;
Ch_Num=Chi_Num+Chq_Num; %Channel Number for I&Q except Pilot channel
Idx_Perm=randperm(SF-1)+1;
Index=Idx_Perm(1:Ch_Num)';
Del_Idx=[1 2 4 5 8 11]; %Unit by chip
Del_Gain=[0.7766 0.6169 0.0978 0.0777 0.0246 0.0078];
C=3e8;
Fc=2.11e9;
phi=2*pi*rand(1,2);
N0=40;
%Fram_Len=192; %Signal length without tail bits.
Fram_Len=1/(100*SF*r*Tc)-Mem_Len; %Signal length without tail bits.
Intlv_Len=1/(100*SF*Tc);
%Intlv_Vec=randperm(Intlv_Len));

Intlv_Idx=[96 100;64 75;48 50;30 40;24 25;15 20;10 15]; %SF between 2 and 8
Intlv_Vec=reshape(1:Intlv_Len,Intlv_Idx(SF_Bit-1,1),Intlv_Idx(SF_Bit-1,2))';
Intlv_Vec=Intlv_Vec:));

Max_Del=max(Del_Idx); %Max time delay
Path_Num=length(Del_Idx); %Time invariant multipath
Wal_Mat=ones(length(Index),1);
for k=1:SF_Bit
Wal_Mat=[Wal_Mat Wal_Mat.*((1-2*bitget(Index,k))*ones(1,size(Wal_Mat,2)))];
end
N=4*N0;
M=Path_Num;
Ank=2*pi/(N*M)*((0:N0-1)'*ones(1,M)*M+ones(N0,1)*(0:M-1)+1/4);
Wm=2*pi*V*Fc/C*1000/3600;
Win_Zero=zeros(1,Win_Len); %initialize
Sig_Rec=Win_Zero; %Buffer for received signal
Sig_Est=Win_Zero; %Buffer for estimation
fp=fopen('ber.dat','a+');
fprintf(fp,'%%SNR Ber');
fprintf(fp,'\n');
fclose(fp);
%------------------------------------
for SNR=1:9
fprintf('*** SNR = %5.3f dB\n',SNR);
Err_Num=zeros(1,Ch_Num);
Init1=[ ones(1,25) -1]; %For Gold sequence, 0-->1; 1-->-1
Init2=[-ones(1,25) -1];
Sig_Org=zeros(1,Max_Del); %Buffer for source signal
Tx=zeros(2*Fram_Len,Ch_Num);
Gold_Buf=zeros(1,Win_Len-Push+1);
kk=0;
pp=0;
%--Programm
while(min(Err_Num)<Max_Err_Num) %Max_Err_Num=100;
kk=kk+1;
Gold=(Init1(1)*Init2(1)+j*prod(Init1([5 8 19]))*prod(Init2([5 7 17])));%Gold sequence
Init1=[Init1(2:end) Init1(1)*Init1(4)]; %Shift
Init2=[Init2(2:end) prod(Init2(1:4))];
Gold_Buf=[Gold Gold_Buf(1:end-1)];
Flag_Fram=mod(kk-1,SF*r*(Fram_Len+Mem_Len))+1;
if(Flag_Fram==1)
Tx_Tmp=randint(Fram_Len,Ch_Num); %Encode for every coder channel.
Rnd_Sour=cnv_enc(Tx_Tmp,Mem_Len,r)'; %cnv_enc: hidden file
Rnd_Sour=Rnd_Sour:),Intlv_Vec); %Intleaver
Tx=[Tx(Fram_Len+1:end,:);Tx_Tmp];
end
Sig_Sp=Rnd_Sour:),ceil(Flag_Fram/SF)).*Wal_Mat:),mod(kk-1,SF)+1); %Walsh spreading
Sig_Sp=((sum(Sig_Sp(1:Chi_Num))+j*(sum(Sig_Sp(Chi_Num+1:end))+1))*Gold);%/sqrt(Ch_Num+1);%I+j*Q
Sig_Org=[Sig_Sp Sig_Org(1:end-1)]; %Shift register for source code
Dop=sqrt(1/N0)*sum(cos(Wm*cos(Ank)*(kk+1e10)*Tc+phi(1))+j*sin(Wm*sin(Ank)*(kk+1e10)*Tc+phi(2))); %Jakes channel
Ch_Data=(Sig_Org(Del_Idx).*Dop)*Del_Gain';
Ch_Data=[1 j]*randn(2,1)*10^((-SNR+SF_DB)/20)+Ch_Data;
%Receiver
Sig_Rec=[Ch_Data Sig_Rec(1:end-1)];
kpw=kk-Win_Len+Push;
if(kpw>0)
Sig_Rec_Tmp=Sig_Rec*Gold_Buf(end)';
Sig_Buf(mod(kpw-1,Plt_Num*SF)+1,:)=Sig_Rec_Tmp;
Sig_Est=Sig_Est+Sig_Rec_Tmp; %Estimation
end
if(mod(kpw,Plt_Num*SF)==0)&(kpw~=0)
[Tmp Max_Idx]=sort(Sig_Est);
Str_Idx=Max_Idx(end-Max_Num+1:end);
Ch_Est =-j*Sig_Est(Str_Idx)/(Plt_Num*SF);
Sig_Est=Win_Zero;

for uu=1:plt_Num %Despread--Wsh:Chi_Num x SF
Res_I:),uu)=real((Wal_Mat(1:Chi_Num,:)*Sig_Buf((uu-1)*SF+1:uu*SF,Str_Idx))*Ch_Est')/SF;
Res_Q:),uu)=imag((Wal_Mat(Chi_Num+1:end,:)*Sig_Buf((uu-1)*SF+1:uu*SF,Str_Idx))*Ch_Est')/SF;
end
pp=pp+1;
qq = mod(pp-1,fix(r*(Fram_Len+Mem_Len)/Plt_Num))*Plt_Num+1;
Rec(qq:qq+Plt_Num-1,:)=[Res_I;Res_Q]';
%Err_Num=Err_Num+sum(Tx(1:plt_Num,:)~=sign([Res_I;Res_Q])');
end
if(mod(kpw,SF*r*(Fram_Len+Mem_Len))==0)&(kpw~=0)
Rec(Intlv_Vec,:)=Rec; %Deinterleaver
Rx=viterbi(Rec,Mem_Len,Sur_Len,r); %viterbi: hidden file
Err_Num=Err_Num+sum((Rx~=Tx(1:Fram_Len,:))) %%
end
end
Ber=Err_Num/(kk/SF);
fp=fopen('ber.dat','a+');
fprintf(fp,'%5.2f\t',SNR);
fprintf(fp,'%10.8f\t',Ber);
fprintf(fp,'\n');
fclose(fp);
end
 

wcdma simulation source c

lucky you :)

**broken link removed**
 

wcdma typical snr

try this link

**broken link removed**
 

wcdma pilot search window

Try this

h**p://www.comlab.hut.fi/ARG/hzhang/thesis.doc

but it is about uplink not downlink
 

virginia wcdma simulator

look my frien this is a WCDMA simulator MATLAB based with simple GUI, it's from virginia TECH. i think it was a project in there or somthink
i hope this is what you are looking for
download link:
**broken link removed**
 

end to end wcdma ads simulation

hi,
can anybody send me matlab code for QPSK demodulation in IS-95 cdma to search Pilot channel for acquisition.
 

snr wcdma

you WANT an ofdm report to submit and you also WANT wcdma simulation. Why don't you start working on it YOURSELF and then ask others to help. No one would GIVE you his/her work... no one!

Unless they copied it themselves, of course!

Secondly, I quote "i need wcdma matlab simulation or any kind of wcdma simulation"

You're not even sure what you want
 

Re: end to end wcdma ads simulation

hkjewel said:
hi,
can anybody send me matlab code for QPSK demodulation in IS-95 cdma to search Pilot channel for acquisition.


hi, can you please send me the wcdma simulation?
mail marius[at]teacher.com

thank you
 

Re: wcdma

I am new here and I am very pleasure to meet you and join in here.I share things with you when i searching online and hope you can find more things that you like.I dont wanna disturb anyone of you and if you are not interested in these,leave them alone.

https://www.chinabuye.com
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top