IS-95_仿真源程序.doc

上传人:枫** 文档编号:557395741 上传时间:2023-08-05 格式:DOC 页数:15 大小:67.50KB
返回 下载 相关 举报
IS-95_仿真源程序.doc_第1页
第1页 / 共15页
IS-95_仿真源程序.doc_第2页
第2页 / 共15页
IS-95_仿真源程序.doc_第3页
第3页 / 共15页
IS-95_仿真源程序.doc_第4页
第4页 / 共15页
IS-95_仿真源程序.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《IS-95_仿真源程序.doc》由会员分享,可在线阅读,更多相关《IS-95_仿真源程序.doc(15页珍藏版)》请在金锄头文库上搜索。

1、 本 科 毕 业 设 计 IS-95前向链路通信系统的设计与仿真 (附录)姓 名 李家蓬 学 院 信息与电气工程学院 专 业 电子信息工程专业 年 级 2008级 学 号 20082312608 指导教师 王丽丽 2012年 5月 21日IS-95系统仿真源程序%main_IS95_forward.m %此函数用于IS-95前向链路系统的仿真,包括扩%频调制,匹配滤波,RAKE接收等相关通信模块。 %仿真环境: 加性高斯白噪声信道. %数据速率 = 9600 KBps % clear allclose allclcdisp(-start-); global Zi Zq Zs show R Gi

2、 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; K = size(G_Vit, 2); L = size(G_Vit, 1); %+ %+Walsh矩阵+WLen = 64; Walsh = reshape(1;0*ones(1, WLen/2), WLen ,

3、1); %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; Gq_ind = 15, 12, 11, 10, 6, 5, 4, 3, 0; Gi = zeros(16, 1); Gi(16-Gi_ind) = ones(size(Gi_ind); Zi = zeros(length(Gi)-1, 1); 1; % I路信道PN码生成器的初始状

4、态 Gq = zeros(16, 1); Gq(16-Gq_ind) = ones(size(Gq_ind); 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); Gs(43-Gs_ind) = ones(size(Gs_ind); Zs = zeros(length(Gs)-1, 1); 1; % 长序列生成器的初

5、始状态%+%+AWGN信道+ EbEc = 10*log10(ChipRate/BitRate); EbEcVit = 10*log10(L); EbNo = -2 : 0.5 : 6.5; %仿真信噪比范围(dB) % EbNo = 2 : 0.5 : 2.5; %+ %-%-主程序-ErrorsB = ; ErrorsC = ; NN = ; if (SD = 1) fprintf(n SOFT Decision Viterbi Decodernn); else fprintf(n HARD Decision Viterbi Decodernn); end for i=1:length(E

6、bNo) fprintf(nProcessing %1.1f (dB), EbNo(i); iter = 0;ErrB = 0; ErrC = 0; while (ErrB 300) & (iter 0); % 速率为19.2Kcps TxChips, Scrambler = PacketBuilder(TxData, G_Vit, Gs); % 速率为1.2288Mcps x PN MF = Modulator(TxChips, MFType, Walsh); %+ %+信道+ noise = 1/sqrt(2)*sqrt(R/2)*( randn(size(x) + j*randn(siz

7、e(x)*10(-(EbNo(i) - EbEc)/20); r = x+noise; %+ %+接收机+ RxSD = Demodulator(r, PN, MF, Walsh); %软判决,速率为19.2 Kcps RxHD = (RxSD0); % 定义接收码片的硬判决 if (SD) RxData Metric= ReceiverSD(RxSD, G_Vit, Scrambler); %软判决 else RxData Metric= ReceiverHD(RxHD, G_Vit, Scrambler); %硬判决 end %+ if(show) subplot(311); plot(R

8、xSD, -o); title(Soft Decisions); subplot(312); plot(xor(TxChips, RxHD), -o); title(Chip Errors); subplot(313); plot(xor(TxData, RxData), -o); title(Data Bit Errors. Metric = , num2str(Metric); pause; end if(mod(iter, 50)=0) fprintf(.); save TempResults ErrB ErrC N iter end ErrB = ErrB + sum(xor(RxDa

9、ta, TxData); ErrC = ErrC + sum(xor(RxHD, TxChips); iter = iter+ 1; end ErrorsB = ErrorsB; ErrB; ErrorsC = ErrorsC; ErrC; NN = NN; N*iter; save SimData * end %+误码率计算+ PerrB = ErrorsB./NN; %PerrB1 = ErrorsB1./NN1; PerrC = ErrorsC./NN; Pbpsk= 1/2*erfc(sqrt(10.(EbNo/10); PcVit= 1/2*erfc(sqrt(10.(EbNo-EbEcVit)/10); Pc = 1/2*erfc(sqrt(10.(EbNo-EbEc)/10); %+%+性能仿真显示+ figure; semilogy(EbNo(1:length(PerrB), PerrB, b-*); hold on; % %semilogy(EbNo(1:length(PerrB1), PerrB1, k-o); hold on; % semilogy(EbNo(1:length(PerrC), PerrC, b-o

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号