- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于MATLAB的CDMA系统仿真
姓 名:
班 级:
学 号:
指导老师:
日 期:
作业要求
1.分析附录的源程序,逐行给出中文注释,并分析仿真结果。
2.按照下列框图设计一个CDMA系统,并进行仿真。
分析附录的源程序,逐行给出中文注释,并分析仿真结果。
%main_IS95_forward.m
%此函数用于IS-95前向链路系统的仿真,包括扩
%频调制,匹配滤波,RAKE接收等相关通信模块。
%仿真环境: 加性高斯白噪声信道.
%数据速率 = 9600 KBps
%
clear all
close all
clc
disp(--------------start-------------------);
global Zi Zq Zs show R Gi Gq
clear j;
show = 0; %控制程序运行中的显示
SD = 0; % 选择软/硬判决接收
%-------------------主要的仿真参数设置------------------
BitRate = 9600; %比特率
ChipRate = 1228800; %码片速率
N = 184; %源数据数
MFType = 1; % 匹配滤波器类型--升余弦
R = 5;
%+++++++++++++++++++Viterbi生成多项式++++++++++++++++++
G_Vit = [1 1 1 1 0 1 0 1 1; 1 0 1 1 1 0 0 0 1];%Viterbi生成多项式矩阵
K = size(G_Vit, 2); %列数
L = size(G_Vit, 1); %行数
%++++++++++++++++++++++++++++++++++++++++++++++++++++++
%++++++++++++++++++++++Walsh矩阵++++++++++++++++++++++++
WLen = 64; %walsh码的长度
Walsh = reshape([1;0]*ones(1, WLen/2), WLen , 1); %32个1 0行
%Walsh = zeros(WLen ,1);
%++++++++++++++++++++++++++++++++++++++++++++++++++++++
%++++++++++++++++++扩频调制PN码的生成多项式++++++++++++++
%Gi = [ 1 0 1 0 0 0 1 1 1 0 1 0 0 0 0 1];
%Gq = [ 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1];
Gi_ind = [15, 13, 9, 8, 7, 5, 0]; %i路PN码生成多项式参数
Gq_ind = [15, 12, 11, 10, 6, 5, 4, 3, 0]; %q路PN码生成多项式参数
Gi = zeros(16, 1); %16×1的0矩阵
Gi(16-Gi_ind) = ones(size(Gi_ind));%根据Gi_ind配置i路PN码生成多项式
Zi = [zeros(length(Gi)-1, 1); 1];
% I路信道PN码生成器的初始状态
Gq = zeros(16, 1); %16×1的0矩阵
Gq(16-Gq_ind) = ones(size(Gq_ind)); %根据Gq_ind配置q路PN码生成多项式
Zq = [zeros(length(Gq)-1, 1); 1];
% Q路信道PN码生成器的初始状态
%++++++++++++++++++++++++++++++++++++++++++++++++++++++
%+++++++++++++++++++扰码生成多项式++++++++++++++++++++++
Gs_ind = [42, 35, 33, 31, 27, 26, 25, 22, 21, 19, 18, 17, 16, 10, 7, 6, 5, 3, 2, 1, 0];
Gs = zeros(43, 1); %43×1的0矩阵
Gs(43-Gs_ind) = ones(size(Gs_ind)); %根据Gs_ind配置扰码生成多项式
Zs = [zeros(length(Gs)-1, 1); 1];
% 长序列生成器的初始状态
%++++++++++++++++++++++++++++++++++++++++++++++++++++++
%++++++++++++++++++++++AWGN信道++++++++++++++++++++++++
EbEc =
文档评论(0)