IS-95前向链路系统误码率matlab仿真,包括扩频调制,匹配滤波,RAKE接收

简介: IS-95前向链路系统误码率matlab仿真,包括扩频调制,匹配滤波,RAKE接收

1.算法描述

   前向链路指由基站发往移动台的无线通信链路,也称作下行链路。IS-95系统前向链路最多可以有64个同时传输的信道,它们是在PN序列上再采用正交的Walsh码进行区分的信道,采用同一个射频载波发射。而来自不同基站的前向链路信号则是通过PN短码的不同偏置来区分。

   前向链路的码分物理信道采用的正交码为64阶的Walsh函数,即生成的Walsh序列长度为64个码片。正交信号共有64个Walsh码型。因此,可提供的码分物理信道共64个。利用码分物理信道可以传送不同功能的信息,按照所传送信息功能的不同而分类的信道称为逻辑信道。前向链路中的逻辑信道包括以下几种:

(1)导频信道(PilotChannel)导频信道用于发送导频信息,供移动台识别基站,并提取相干载波以进行相干解调。

(2)同步信道(SynchronizingChannel)同步信道用于发送同步信息,供移动台建立与系统之间的同步。

(3)寻呼信道(PagingChannel)寻呼信道供基站在呼叫建立阶段发送相关的控制信息。

(4)前向业务信道(ForwardTrafficChannel)

扩频调制

扩频基本结构如下:
image.png

匹配滤波

    匹配滤波(matched filtering)是最佳滤波的一种,当输入信号具有某一特殊波形时,其输出信噪比达到最大。在形式上,一个匹配滤波器由以按时间反序排列的输入信号构成。且滤波器的振幅特性与信号的振幅谱一致。因此,对信号的匹配滤波相当于对信号进行互相关运算。地震勘探使用可控震源时,对得到的记录所进行的变换就是匹配滤波的实例。

RAKE接收

  RAKE接收(Rake Receive):其基本原理是将无线通信系统中,幅度明显大于噪声背景的多径分量取出,对其进行延时和相位校正,使之在某一时刻对齐,并按一定的规则进行合并,变矢量合并为代数求和,有效地利用多径分量,提高多径分集的效果。

   RAKE接收机是一种能分离多径信号并有效合并多径信号能量的最终接收机。RAKE接收技术是第三代CDMA移动通信系统中的一项重要技术。在CDMA移动通信系统中,由于信号带宽较宽,存在着复杂的多径无线电信号,通信受到多径衰落的影响。RAKE接收技术实际上是一种多径分集接收技术,可以在时间上分辨出细微的多径信号,对这些分辨出来的多径信号分别进行加权调整、使之复合成加强的信号。由于该接收机中横向滤波器具有类似于锯齿状的抽头,就像耙子一样,故称该接收机为RAKE接收机。

image.png

2.仿真效果预览
matlab2022a仿真结果如下:

image.png

3.MATLAB核心程序

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];          
% 长序列生成器的初始状态
%++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
%++++++++++++++++++++++AWGN信道++++++++++++++++++++++++ 
EbEc = 10*log10(ChipRate/BitRate); 
EbEcVit = 10*log10(L); 
EbNo = [0 : 0.5 : 3.5];         %仿真信噪比范围(dB)    
%++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
%------------------------------------------------------
 
%-------------------------主程序-------------------------
 
ErrorsB = []; ErrorsC = []; NN = []; 
if (SD == 1) 
   fprintf('\n SOFT Decision Viterbi Decoder\n\n'); 
else 
   fprintf('\n HARD Decision Viterbi Decoder\n\n'); 
end 
 
for i=1:length(EbNo) 
   fprintf('\nProcessing %1.1f (dB)', EbNo(i)); 
   iter = 0;    ErrB = 0; ErrC = 0; 
   while (ErrB <300) & (iter <150) 
      drawnow; 
       
      %++++++++++++++++++++++发射机+++++++++++++++++++++++ 
      TxData = (randn(N, 1)>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(size(x)))*10^(-(EbNo(i) - EbEc)/20); 
      r = x+noise; 
      %++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
      
      %+++++++++++++++++++++++++接收机++++++++++++++++++++++++ 
      RxSD = Demodulator(r, PN, MF, Walsh); %软判决,速率为19.2 Kcps 
      RxHD = (RxSD>0);                         % 定义接收码片的硬判决
      if (SD)  
        [RxData Metric]= ReceiverSD(RxSD, G_Vit, Scrambler); %软判决
      else 
        [RxData Metric]= ReceiverHD(RxHD, G_Vit, Scrambler); %硬判决
      end 
     %++++++++++++++++++++++++++++++++++++++++++++++++++++++  
       
      if(show) 
         subplot(311); plot(RxSD, '-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         
A126
相关文章
|
6天前
|
算法 Serverless
基于魏格纳函数和焦散线方法的自加速光束matlab模拟与仿真
本项目基于魏格纳函数和焦散线方法,使用MATLAB 2022A模拟自加速光束。通过魏格纳函数法生成多种自加速光束,并设计相应方法,展示仿真结果。核心程序包括相位和幅度的计算、光场分布及拟合分析,实现对光束传播特性的精确控制。应用领域涵盖光学成像、光操控和光束聚焦等。 关键步骤: 1. 利用魏格纳函数计算光场分布。 2. 模拟并展示自加速光束的相位和幅度图像。 3. 通过拟合分析,验证光束加速特性。 该算法原理基于魏格纳函数描述光场分布,结合数值模拟技术,实现对光束形状和传播特性的精确控制。通过调整光束相位分布,可改变其传播特性,如聚焦或加速。
|
3天前
|
机器学习/深度学习 算法 计算机视觉
基于CNN卷积神经网络的金融数据预测matlab仿真,对比BP,RBF,LSTM
本项目基于MATLAB2022A,利用CNN卷积神经网络对金融数据进行预测,并与BP、RBF和LSTM网络对比。核心程序通过处理历史价格数据,训练并测试各模型,展示预测结果及误差分析。CNN通过卷积层捕捉局部特征,BP网络学习非线性映射,RBF网络进行局部逼近,LSTM解决长序列预测中的梯度问题。实验结果表明各模型在金融数据预测中的表现差异。
|
5天前
|
移动开发 算法 计算机视觉
基于分块贝叶斯非局部均值优化(OBNLM)的图像去噪算法matlab仿真
本项目基于分块贝叶斯非局部均值优化(OBNLM)算法实现图像去噪,使用MATLAB2022A进行仿真。通过调整块大小和窗口大小等参数,研究其对去噪效果的影响。OBNLM结合了经典NLM算法与贝叶斯统计理论,利用块匹配和概率模型优化相似块的加权融合,提高去噪效率和保真度。实验展示了不同参数设置下的去噪结果,验证了算法的有效性。
|
4天前
|
算法 决策智能
基于SA模拟退火优化算法的TSP问题求解matlab仿真,并对比ACO蚁群优化算法
本项目基于MATLAB2022A,使用模拟退火(SA)和蚁群优化(ACO)算法求解旅行商问题(TSP),对比两者的仿真时间、收敛曲线及最短路径长度。SA源于金属退火过程,允许暂时接受较差解以跳出局部最优;ACO模仿蚂蚁信息素机制,通过正反馈发现最优路径。结果显示SA全局探索能力强,ACO在路径优化类问题中表现优异。
|
5月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
253 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
5月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
150 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
5月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
120 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
8月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
8月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)