• 大小: 188KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: Matlab
  • 标签: CDMA  MATLAB  

资源简介

包含一个word文档和m文件! 另外,对科技咨询感兴趣的,可以来我的博客,www.techfans.net,和我一起探讨

资源截图

代码片段和文件信息

%本程序模拟2用户CDMA系统,信道为加性高斯信道,可以正确解扩解调,
%信噪比(dB)约为5的时候,误码率基本在0.1以内
%信噪比(dB)大于9的时候,基本不会出现误码了

%本程序中时间单位是微秒
%频率单位为MHz
%码元速率单位是Mb/s

global dt df t f N
close all

N=2^14;   %采样点数
L=64;     %每码元的采样点数
M=N/L;     %码元数
Rb=2;
Ts=0.5; %码元宽度是0.5us
dt=Ts/L;        
df=1/(N*dt);     %MHz
T=N*dt;          %截短时间
Bs=N*df/2;       %系统带宽
w0=28*pi;
Eb_N0=input(‘请输入信噪比dB(5以上基本无误码)‘);

t=[-T/2+dt/2:dt:T/2]; %时域横坐标
f=[-Bs+df/2:df:Bs];   %频域横坐标


figure(1)
set(1‘Position‘[10600400150])
                %设定图1的窗口位置及大小 
figure(2)
set(2‘Position‘[10400400150])
                %设定图2的窗口位置及大小 
                
figure(3)
set(3‘Position‘[10200400150])
                %设定图3的窗口位置及大小 
     
figure(4)
set(4‘Position‘[100400150])
                %设定图4的窗口位置及大小 

                
figure(5)
set(5‘Position‘[430600400150])
                %设定图1的窗口位置及大小 
figure(6)
set(6‘Position‘[430400400150])
                %设定图2的窗口位置及大小 
                
figure(7)
set(7‘Position‘[430200400150])
                %设定图3的窗口位置及大小 
     
figure(8)
set(8‘Position‘[4300400150])
                %设定图4的窗口位置及大小

figure(9)
set(9‘Position‘[850600400150])
                %设定图3的窗口位置及大小 
     
figure(10)
set(10‘Position‘[850400400150])
                %设定图4的窗口位置及大小
        
figure(11)
set(11‘Position‘[850200400150])
                %设定图3的窗口位置及大小 
     
figure(12)
set(12‘Position‘[8500400150])
                %设定图4的窗口位置及大小
                
m1=[1 1 1 -1 -1 1 -1 1 1 -1 1 -1 1 -1 -1];          %用户一的m序列
m2=[1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1 -1 1];          %用户二的m序列


%%%%%%%%%%%%%%%%%%%%%%%%%% 生成噪声,信噪比为11
%Eb_N0=11  %Eb/N0 in dB
eb_n0=10^(Eb_N0/10);
Eb=1;
n0=Eb/eb_n0; %信道的噪声谱密度   
sita=n0*Bs; %信道中噪声功率
n_ch=sqrt(sita)*randn(size(t)); %信道噪声

NOISE=abs(t2f(n_ch));

%%%%%%%%%%%%%%%%%%%%%%%%%%%产生用户1的数字基带信号供传输
n=1;  %每次有偶数个1
while rem(n2)~=0
    a=round(rand(1M));
    n=length(find(a==1));
end
aaa=a;           %保存原序列(0、1),供最后比较误码率使用
aa=find(a==0);   %将(0、1)序列变换为(+1、-1)序列,以方便扩频使用         
a(aa)=-ones(size(aa));

nrz1=zeros(LM);        %将序列扩展成为时域,方便做F变换和时域显示
for loop=1:Lnrz1(loop:)=a; end
nrz1=reshape(nrz11N);

%%%%%%%%%%%%%%%%%%%%%%%%%%%产生用户2的数字基带信号供传输
n=1;  %每次有偶数个1
while rem(n2)~=0
    b=round(rand(1M));
    n=length(find(b==1));
end
bbb=b;
bb=find(b==0);   %bb是a中奇序数1的位置           
b(bb)=-ones(size(bb)); %所有位于cc的0变成-1

nrz2=zeros(LM);
for loop=1:L
    nrz2(loop:)=b;
end
nrz2=reshape(nrz21N);


%%%%%%%%%%%%%%%%%%%%%%生成扩频要用的M序列
mx1=zeros(116384);
for i=1:64:16384
    mx1(i:i+4)=m1(1);
    mx1(i+5:i+8)=m1(2);
    mx1(i+9:i+12)=m1(3);
    mx1(i+13:i+16)=m1(4);
    mx1(i+17:i+20)=m1(5);
    mx1(i+21:i+24)=m1(6);
    mx1(i+25:i+28)=m1(7);
    mx1(i+29:i+32)=m1(8);
    mx1(i+33:i+36)=m1(9);
    mx1(i+37:i+40)=m1(10);
    mx1(i+41:i+44)=m1(11);
    mx1(i+45:i+48)=m1(12);
    mx1(i+49:i+52)=m1(13);
    mx1(i+53:i+56)=m1(14);
    mx1(i+

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     243712  2009-10-29 18:41  CDMA.doc

     文件        212  1998-02-26 16:11  T2F.M

     文件       7397  2009-05-13 22:55  USER2_CDMA.m

     文件        241  1998-01-14 16:43  F2T.M

----------- ---------  ---------- -----  ----

               251562                    4


评论

共有 条评论