matlab2014a,求助一下simulink DS_CDMA编码和调制怎么设置的
参考一下,如有帮助,望采纳,谢谢
% main_DSCDMA.m
% 这个仿真程序用于实现DS-CDMA通信系统仿真
%
%+++++++++++++++++++++++准备部分+++++++++++++++
++++++++++++
clear all;
clc
sr = 256000.0; % 符号速率
ml = 2; % 调制阶数
br = sr * ml; % 比特速率
nd = 100; % 符号数
SNR=-5:1:10; % Eb/No
%+++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++
%+++++++++++++++++++++滤波器初值设定+++++++++++
++++++++++++
irfn = 21; % 滤波器阶数
IPOINT = 8; % 过采样倍数
alfs = 0.5; % 滚降因子
[xh] = hrollfcoef(irfn,IPOINT,sr,alfs,1);
[xh2] = hrollfcoef(irfn,IPOINT,sr,alfs,0);
%++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++
%++++++++++++++++++++++++扩频码初值设定++++++++++++
+++++++
user = 1; % 用户数
seq = 1; % 1:m序列 2:Gold序列
3:正交Gold序列
stage = 3; % 序列阶数
ptap1 = [1 3]; % ***个线性移位寄存器的系数
ptap2 = [2 3]; % 第二个线性移位寄存器的系数
regi1 = [1 1 1]; % ***个线性移位寄存器的初始化
regi2 = [1 1 1]; % 第二个线性移位寄存器的初始化
%+++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++
disp('--------------start-------------------');
%+++++++++++++++++扩频码的产生+++++++++++++++++
for ebn0=-5:1:10
switch seq
case 1 % m序列
code = mseq(stage,ptap1,regi1,user);
case 2 % Gold序列
m1 = mseq(stage,ptap1,regi1);
m2 = mseq(stage,ptap2,regi2);
code = goldseq(m1,m2,user);
case 3 % 正交Gold序列
m1 = mseq(stage,ptap1,regi1);
m2 = mseq(stage,ptap2,regi2);
code = [goldseq(m1,m2,user),zeros(user,1)];
end
codecode = code * 2 - 1;
clen = length(code);
%++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++
%+++++++++++++++++++++信道衰减初值设定+++++++++++++++++++++++
rfade = 0; % 瑞利衰减 0:不考虑 1:考虑
itau = [0,8]; % 延时
dlvl1 = [0.0,40.0]; % 衰减电平
n0 = [6,7]; % 用于产生衰落的波数
th1 = [0.0,0.0]; % 延迟波形的初始相位
itnd1 = [3001,4004]; % 设置衰落计数
now1 = 2; % 主径和延迟波形总数
tstp = 1 / sr / IPOINT / clen; % 时间分辨率
fd = 160; % 多普勒频移[Hz]
flat = 1; % 平坦瑞利衰落环境
itndel = nd * IPOINT * clen * 30;
%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
%++++++++++++++++++++++仿真运算开始++++++++++++++++++++++++
nloop = 1000; % 仿真循环次数
noe = 0;
nod = 0;
for ii=1:nloop
%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
%++++++++++++++++++++++++发射机++++++++++++++++++++++++++++
data = rand(user,nd*ml) > 0.5;
[ich, qch] = qpskmod(data,user,nd,ml); % QPSK 调制
[ich1,qch1] = spread(ich,qch,code); % 扩频
[ich2,qch2] = compoversamp2(ich1,qch1,IPOINT); % 过采样
[ich3,qch3] = compconv2(ich2,qch2,xh); % 滤波
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632