移动互联网实习一

本文详细介绍了CDMA(码分多址)通信的基本原理,通过Matlab代码展示了如何生成Walsh64序列,分析其自相关和互相关特性,以及如何利用扩频码进行信息码的扩频、解扩过程。通过实例展示了整个无线通信链路的操作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.背景介绍

CDMA是码分多址的英文缩写(Code Division Multiple Access),它是在数字技术的分支--扩频通信技术上发展起来的一种崭新而成熟的无线通信技术。CDMA技术的原理是基于扩频技术,即将需传送的具有一定信号带宽信息数据,用一个带宽远大于信号带宽的高速伪随机码进行调制,使原数据信号的带宽被扩展,再经载波调制并发送出去。

图1扩频通信系统的结构模型

一种最简单的直接序列扩频实现方法是使用“异或(XOR)”运算将数据序列与扩频码序列结合。接收方再用同样的扩频码序列“异或”一次就能恢复原来的数据序列。

图2直接序列扩频实现方法

2.任务说明

此次实习的任务是CDMA直接序列扩频系统仿真和分析,主要内容包括:

  1. 产生Walsh 64序列,观察其自相关和互相关特性;
  2. 生成二进制信息码的波形图;
  3. 用扩频码1对信息码进行扩频得到s,并生成扩频后信号s的波形图;
  4. 分别用扩频码1和扩频码2对s进行解扩,画出解扩后波形图.

3.提示

  1. 生成Walsh 64可以常采用matlab自带的hadamard函数;
  2. 二进制信息码采用随机数生成序列,可采用randn函数然后求余的方式,正负电平为1,-1.
  3. 扩频解扩用异或,参考matlab函数xor
  4.  matlab使用方法以及Q&A可参考https://cn.mathworks.com/products/matlab.html

 代码实现

 产生Walsh64序列,观察其自相关和互相关特性:

clear;
N=64;
T=62;
a=cell(64,64);
a=hadamard(64);
a1=a(:,37);
a2=a(:,20);
figure

Raa=zeros(1,T+1);
for i=0:T
    Raa(i+1)=0;
    for j=1:N
        k=i+j; 
        while(k>N) 
            k=k-N;
        end
        Raa(i+1)=Raa(i+1)+a1(j)*a1(k);
    end
    Raa(i+1)=Raa(i+1)/N; 
end

subplot(3,1,1) 
stem(0:T,Raa);

title('a1自相关函数');

%************************ 
Rbb=zeros(1,T+1); 
for i=0:T
    Rbb(i+1)=0;
    for j=1:N
        k=i+j; 
        while(k>N) 
            k=k-N; 
        end
        Rbb(i+1)=Rbb(i+1)+a2(j)*a2(k);
    end
    Rbb(i+1)=Rbb(i+1)/N;
end

subplot(3,1,2) 
stem(0:T,Rbb);

title('a2自相关函数');

%********************************** 
Rab=zeros(1,T+1); 
for i=0:T
    Rab(i+1)=0; 
    for j=1:N
        k=i+j; 
        while(k>N) 
            k=k-N; 
        end
        Rab(i+1)=Rab(i+1)+a1(j)*a2(k); 
    end
    Rab(i+1)=Rab(i+1)/N; 
end

subplot(3,1,3) 

stem(0:T,Rab);

title('a1,a2互相关函数');

实现效果图:

 生成二进制信息码,并进行扩频与解扩,并对波形图进行绘制:

totalpic=5;
H2=[1 1;1 0];
NH2=H2*(0);
H4=[H2 H2;H2 NH2];
NH4=H4*(0);
H8=[H4 H4;H4 NH4];
NH8=H8*(0);
H16=[H8 H8;H8 NH8];
NH16=H16*(0);
H32=[H16 H16;H16 NH16];
NH32=H32*(0);
H64=[H32 H32;H32 NH32];
p1=H64(5,:);
p2=H64(15,:);
m1t=mod(fix(randn(1,16)),2);
s1=xor(m1t,p1(1:length(m1t)));

subplot(totalpic,1,1)
stairs(m1t);
axis([1 16 -1 1.5]);
title('发送序列')

subplot(totalpic,1,2)
stairs(p1);
title('扩频序列')
axis([1 64 -1 1.5]);

subplot(totalpic,1,3)
stairs(s1);
title('扩频后序列')
axis([1 16 -1 1.5]);

subplot(totalpic,1,4)
d1=xor(p1(1:length(m1t)),s1);
stairs(d1)
title('解扩频后序列')
axis([1 16 -1 1.5]);

subplot(totalpic,1,5)
d2=xor(p2(1:length(m1t)),s1);
stairs(d2)
title('扩频码2解扩频后序列')
axis([1 16 -1 1.5]);
 

实现效果图:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值