2020-09-25

扩频Matlab


参考:
扩频调制matlab仿真
代码:

clc,clear,close;

user_num=10; %用户个数
info_len=2^4; %信息长度

%初始化信息
M=2;
information=randi([0,1],user_num,info_len)*2-1;
%显示第一个用户
%figure(2),subplot(4,1,1),plot(information(1,:)),title("用户1信息");

%扩频
coefficients=[1 0 0 1 0 1];
mseq=m_sequence(coefficients);
sp=10;%扩频速率
nn=size(mseq,2);%扩频码长度
mm=info_len*sp;%扩频信息总长度
pn=zeros(1,mm);
for i=1:nn:mm
    pn(i:i+nn-1)=mseq;
end
pn=pn(1:mm)*2-1;%pn扩频码
spread_info=zeros(user_num,mm);%扩频信息
for i=1:info_len
    spread_info(:,(i-1)*sp+1:i*sp)=repmat(information(:,i),1,sp);
end
for i=1:user_num
    spread_info(i,:)=spread_info(i,:).*pn;
end


%解扩
info_rec1=spread_info;
for i=1:user_num
    info_rec1(i,:)=info_rec1(i,:).*pn;
end
info_rec2=zeros(user_num,info_len);
for i=1:info_len
    info_rec2(:,i)=mode(info_rec1(:,(i-1)*sp+1:i*sp),2);%取众数
end

%误码率计算
[number,ratio] = biterr(information+1,info_rec2+1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值