简单的DS-CDMA扩频与解扩系统仿真
这是本人大四的一个简单的课程设计,有需要的可以参考参考
题目要求
直接序列码分多址(DS-CDMA)技术的原理是基于扩频技术,将需要传送的具有一定带宽的信号,用另一个带宽远大于信号带宽的高速伪随机码进行调制,使原数据信号的带宽被扩展,即扩频。接收端使用完全相同的伪随机码,与接收的信号作相关处理,把宽带信号转换成原始的窄带信号即解扩,以实现信息通信。
高速伪随机码采用Walsh码,根据码分多址的基本原理以及基于码分多址的通信系统模型,用MATLAB仿真至少3个用户的DS-CDMA通信收发系统。
图示扩频前后、解扩前后的时域波形。
一些子程序
随机产生二元信息信号子程序
%此函数用于随机生成三个用户的信息信号。
function x = bingen(L)
x = rand(1,L);
x(find(x<0.5)) = -1;
x(find(x >=0.5)) = 1;
end
扩频模块
%此函数把扩频码和要传输的信息信号相乘,从而得到扩频序列。
function y = ds_mod(c,x)
z = c*x;
y = z(:);
end
解扩模块
function x = ds_demod(c,y)
tmp = reshape(y, length(c), length(y)/length(c));
tmp = tmp';
x = tmp * c;
x = x';
end
主程序
clear all;
format long;
N = 4;