基于matlab实现Link16通信战术数据链分析

简介: 基于matlab实现Link16通信战术数据链分析

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信      无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机

⛄ 内容介绍

Link 16是一种军事数据链网络,用于在战场上实现实时通信和共享战术数据。对于Link 16通信的战术数据链分析,主要包括以下方面:

  1. 数据链性能分析:评估Link 16数据链的性能参数,如传输速率、带宽、误码率、时延等。通过对这些参数的分析,可以确定Link 16数据链在特定环境下的表现和限制。
  2. 链路质量评估:对于Link 16通信链路的质量进行评估,包括信号强度、接收功率、信噪比等。这有助于判断通信链路的可靠性和稳定性,并为进一步分析提供基础。
  3. 障碍物影响分析:分析障碍物(如地形、建筑物等)对Link 16信号传播的影响。这涉及信号衰落、多径效应、阻塞和干扰等问题的识别和分析。
  4. 通信容量分析:评估Link 16数据链的容量,即支持数据传输的能力。这包括对链路资源的利用率、数据传输需求的估计以及数据链网络负荷的分析。
  5. 网络拓扑和节点分析:分析Link 16数据链的网络拓扑结构,包括节点配置和连接关系等。这有助于确定通信节点之间。
  6. 网络安全分析:对Link 16通信的网络安全性进行评估和分析,识别潜在威胁和安全漏洞,并提出相应的安全措施和防御策略。

通过对Link 16通信的战术数据链进行综合分析,可以为军事作战和指挥决策重要的支持。这些分析结果可用于优化通信资源分配、改进通信策略、增强战场态势感知能力以及改善指挥与控制效能。

⛄ 部分代码

%% 简易跳频系统误比特率统计分析% 调制-->跳频-->信道-->解跳-->解调-->误码分析ticclc;clear;close all;%% 参数设置FH = 1;                         % 0: 不跳频传输 1:跳频传输XINGZUO = 4;%BPSK:0   QPSK:1  '16QAM':2   '64QAM':3    'MSK':4CRC_CODE = 0;%1: CRC编码  0:不CRC编码DatainCode = 1;%'NO': 0 不编码 || 'rs':1 RS(31,15)编码  || 'juanji':2 (2,1,7)卷积编码 interwine = 1;CCSK = 1;% ******************** 系统参数设置*****************%Rb = 5e4;                       % 速率:50Kb/sTb = 1 / Rb;                    % bit间隔% ********************跳频参数设置 *****************%hopping = 1000;                 % 跳频速率bitsPerHop = Rb / hopping;      % 每跳bit数目(必须为整数)samp = 20;                      % 过采样倍数fs = samp*Rb;                   % 采样率BW = 5e6;                       % 跳频带宽freqNum = floor(BW / (Rb*4));   % 跳频频点数目freqInterval = BW / freqNum;    % 频点间隔freqSeq = ([0:freqNum-1] - floor(freqNum/2)) * freqInterval;   % 跳频频点序列carrier = 3e6;                  % 跳频中心频率carrierSeq = carrier + freqSeq; % 发送时跳频频点序列ts = 1/fs;fd = 300;                                          %多普勒频偏pathPower = [-1.0 -1.0 -1.0 0 0 0 -3.0 -5.0 -7.0];pathDelays = [0 50 120 200 230 500 1600 2300 5000]*1e-8;rchan = comm.RayleighChannel('SampleRate',fs, ...    'PathDelays',pathDelays,'AveragePathGains',pathPower, ...    'MaximumDopplerShift',fd,'FadingTechnique','Sum of sinusoids');switch FH    case 0        FIG_FH = '非跳频传输';    case 1        FIG_FH = '跳频传输';end% ********************调制参数设置 *****************%switch XINGZUO    case 0  %'BPSK'        xz_n = 1;        FIG_XINGZUO = 'BPSK';    case 1  %'QPSK'        xz_n = 2;        FIG_XINGZUO = 'QPSK';    case 2  %'16QAM'        xz_n = 4;        FIG_XINGZUO = '16QAM';    case 3  %'64QAM'        xz_n = 6;        FIG_XINGZUO = '64QAM';    case 4  %'MSK'        xz_n = 4;        FIG_XINGZUO = 'MSK';endM = 2^xz_n;% ***************CRC(237,225) X^12+1 *****************%switch CRC_CODE    case 0  %不采取检错编码        crc_n = 1;    case 1  %(237,225)检错编码        crc_n = 225;end% ***************RS(31,15)编码参数*****************%switch DatainCode    case 0  %0:不编码%         rs_m = 1;rs_k = 1;        rs_m = 5; rs_n = 2^rs_m - 1;        rs_t = 8; rs_k = rs_n - 2*rs_t ;%t: 能纠正的符号错误个数 k: 信息段长度        FIG_code = '无纠错编码';    case 1  %1: RS(31,15)编码        rs_m = 5; rs_n = 2^rs_m - 1;        rs_t = 8; rs_k = rs_n - 2*rs_t ;%t: 能纠正的符号错误个数 k: 信息段长度        FIG_code = 'RS(31,15)编码';    case 2  %2: (2,1,7)卷积编码 %         rs_m = 1;rs_k = 1;        rs_m = 5; rs_n = 2^rs_m - 1;        rs_t = 8; rs_k = rs_n - 2*rs_t ;%t: 能纠正的符号错误个数 k: 信息段长度        FIG_code = '(2,1,7)卷积编码';end% ************************产生信源信号*******************%MSG_len = rs_m * rs_k * xz_n*crc_n; % 输入大小最好为rs_m * rs_k*xz_n的整数倍(后面会每rs_m位转换为十进制,然后gf的输入的列数必须为rs_k)% ***************** 传输信息参数设置*****************%SYNC_BIT_NUM = 0;                                            % 同步bit数目frameNum = 1;                                                % 传输帧数目PACKET_NUM = 3;                                                % 每一帧的包数目BIT_PER_PACKET = MSG_len*bitsPerHop;                                       %每一包的比特数MSG_BIT_NUM = BIT_PER_PACKET*PACKET_NUM;                      % 有效消息bit数目TX_BIT_NUM = SYNC_BIT_NUM + MSG_BIT_NUM;            % 需要发送的bit数目%% 构造发送序列SYNC = randi([0 ,1] , 1 , SYNC_BIT_NUM);                        % 同步二进制序列(用一串随机序列代替)MSG = randi([0,1] ,1 ,TX_BIT_NUM - SYNC_BIT_NUM);       % 消息字符号dataIn = [SYNC , MSG];                                          % 构造整个发送bit序列                                      % %% CRC检错编码switch CRC_CODE    case 0        dataIn_crc = dataIn';        FIG_CRC_CODE = 'no CRC';    case 1  %(237,225)检错编码        poly = 'z12+1';     %多项式        ChecksumsPerFrame = length(dataIn)/crc_n;%将传入帧细分为ChecksumsPerFrame个等长的子帧。因为每crc_n位数据编码一次        crcgenerator = comm.CRCGenerator(poly,'ChecksumsPerFrame',ChecksumsPerFrame);%CRC编码生成器        crcdetector = comm.CRCDetector(poly,'ChecksumsPerFrame',ChecksumsPerFrame);%CRC解码生成器        dataIn_crc = crcgenerator(dataIn'); %CRC编码 输入应是列向量        FIG_CRC_CODE = 'CRC(237,225)';enddataIn_crc = dataIn_crc';%转换回行向量%% 信源纠错编码switch DatainCode    case 0        encoded_msg = dataIn_crc;                      %1*30 0000    case 1  %'rs'  每kk位编码为nn位        %下面是(31,15)RS编码(每15个用31个来表示)        nn = rs_n;                        %编码后码字长度(信息段+监督段)        kk = rs_k;                        %信息段长度        encoded_msg = LSY_RSCode(dataIn_crc,nn,kk);%1 * 62 0000    case 2  %'juanji' 每k位编码为n位        %(n,k,m) n为输出长度 k为输入长度 m为编码约束度 n*(m+1)为约束长度 k/n为码率        %下面是(2,1,7)卷积码        L = 7;                   %约束长度        tbdepth = 42;       % Traceback depth for Viterbi decoder Viterbi译码器回溯深度 一般是约束长度的5-9倍        trel = poly2trellis(L,[171,133]);         %卷积码生成多项式        encoded_msg = convenc(dataIn_crc,trel);       %卷积编码 1*60 0000end%% 交织 (对原数据分块进行处理:只是改变数据位置 不改变数据数量)interwine_msg = zeros(1,length(encoded_msg));switch interwine    case 0        interwine_msg = encoded_msg;        FIG_interwine = 'NO interwine';    case 1        rows = 10;cols = 100;%设定交织的深度与宽度 rows*cols应该等于输入矩阵的行数(因为交织按列取来做填充)        division = length(encoded_msg)/(rows*cols);%交织次数        for i =1:division            temp_data_1 = encoded_msg(1,(((i-1)*(rows*cols))+1):(i*(rows*cols)));%通过按列填充矩阵,并按行输出符号来恢复符号排序 https://www.jianshu.com/p/ac6c18fc3545            temp_data_2 = matintrlv(temp_data_1,rows,cols);            interwine_msg(1:i*rows*cols) = horzcat(interwine_msg(1:(i-1)*rows*cols),temp_data_2);        end        FIG_interwine = 'interwine';end%% CCSK软扩频 CCSK序列为32位switch CCSK    case 0        ccsk_msg = interwine_msg;        FIG_CCSK = 'NO CCSK';    case 1        % ccskcode=[0 1 1 1 1 1 0 0 1 1 1 0 1 0 0 1 0 0 0 0 1 0 1 0 1 1 1 0 1 1 0 0]';%Link16的CCSK序列 自相关性并不是最优        ccskcode=[1 0 1 1 1 0 1 0 0 0 1 1 1 1 0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 1 1 0]';%优化后的CCSK序列 相关性更好  Link16 关键技术研究及系统建模        %n_ccsk = 32;%CCSK序列长度        ccsk_msg = LSY_CCSK32(interwine_msg,ccskcode);        FIG_CCSK = 'NO CCSK';end%% 星座映射data_xz= reshape(ccsk_msg,log2(M),[])';       %以每组log2(M)比特进行分组,M=4data_xzde= bi2de(data_xz,'left-msb');            %二进制转化为十进制data = rcvBB1dim(1:end-EXCEED_BIT);    %去掉末尾的0         [ii jj]    end     % 计算误bit率    ber(ii) = sumErrBit / (frameNum*TX_BIT_NUM);    berPacket(ii) = sumErrPacket/(frameNum*PACKET_NUM);end%% 误码输出figuresemilogy(snr,ber,'-*')save MSK+RS+CCSK+FH berhold ongrid onBER_qpsk = duibizu_qpsk(dataIn,snr,PACKET_NUM);save MSK+RS+CCSK BER_qpsksemilogy(snr,BER_qpsk,'-o')hold onBER_16qam = duibizu_16qam(dataIn,snr,PACKET_NUM);save MSK+CCSK BER_16qamsemilogy(snr,BER_16qam,'-x')hold onBER_64qam = duibizu_64qam(dataIn,snr,PACKET_NUM);save MSK BER_64qamsemilogy(snr,BER_64qam,'-s')hold ongrid onxlabel('Eb/No (dB)')%如果不进行转换就是SNRylabel('误比特率')%如果不进行转换就是误码率legend('MSK+RS+CCSK+FH','MSK+RS+CCSK','MSK+CCSK','MSK')toc

⛄ 运行结果

⛄ 参考文献

[1] 宋南莹温东刘翠海.Link-16战术数据链系统纠错性能分析[J].数字技术与应用, 2018, 036(010):210-211,213.

[2] 朱天杰,刘强,潘杨杨,等.基于Link16的战术数据链网络规划平台[J].火力与指挥控制, 2015, 40(11):6.DOI:10.3969/j.issn.1002-0640.2015.11.043.

[3] 殷璐,严建钢,樊严.Link-16战术数据链抗干扰性能评估与仿真[J].航天电子对抗, 2007.DOI:JournalArticle/5aeadaeec095d70944f61c1f.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料

🍅 仿真咨询

1.卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
2.图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
3.旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划
4.无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配
5.传感器部署优化、通信协议优化、路由优化、目标定位
6.信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号
7.生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化
8.微电网优化、无功优化、配电网重构、储能配置
9.元胞自动机交通流 人群疏散 病毒扩散 晶体生长



相关文章
|
3月前
|
算法 5G 数据安全/隐私保护
大规模MIMO通信系统信道估计matlab性能仿真,对比LS,OMP,MOMP以及CoSaMP
本文介绍了大规模MIMO系统中的信道估计方法,包括最小二乘法(LS)、正交匹配追踪(OMP)、多正交匹配追踪(MOMP)和压缩感知算法CoSaMP。展示了MATLAB 2022a仿真的结果,验证了不同算法在信道估计中的表现。最小二乘法适用于非稀疏信道,而OMP、MOMP和CoSaMP更适合稀疏信道。MATLAB核心程序实现了这些算法并进行了性能对比。以下是部分
251 84
|
5月前
|
算法 数据可视化 图形学
网络通信系统的voronoi图显示与能耗分析matlab仿真
在MATLAB2022a中,该程序模拟了两层基站网络,使用泊松分布随机生成Macro和Micro基站,并构建Voronoi图。它计算每个用户的信号强度,选择最强连接,并分析SINR和数据速率。程序还涉及能耗计算,包括传输、接收、处理和空闲能耗的分析。Voronoi图帮助可视化网络连接和优化能源效率。
|
2月前
|
固态存储
螺旋卫星通信天线设计与有限元分析matlab仿真
本课题研究了尺寸为10cm*10cm*30cm的卫星上搭载的螺旋型天线,工作于UHF频段(1-3GHz)。通过MATLAB2022a进行系统仿真,展示了天线的辐射特性。螺旋天线因其低轴比、宽带宽和紧凑结构而适用于卫星通信。采用有限元法分析天线的电磁性能,计算了天线的关键性能指标,包括S参数、增益、轴比等。
|
2月前
|
编解码 算法 数据安全/隐私保护
基于BP译码的LDPC误码率matlab仿真,分析码长,码率,信道对译码性能的影响,对比卷积码,turbo码以及BCH码
本程序系统基于BP译码的LDPC误码率MATLAB仿真,分析不同码长、码率、信道对译码性能的影响,并与卷积码、Turbo码及BCH编译码进行对比。升级版增加了更多码长、码率和信道的测试,展示了LDPC码的优越性能。LDPC码由Gallager在1963年提出,具有低复杂度、可并行译码等优点,近年来成为信道编码研究的热点。程序在MATLAB 2022a上运行,仿真结果无水印。
59 0
|
3月前
|
算法 数据可视化
基于SSA奇异谱分析算法的时间序列趋势线提取matlab仿真
奇异谱分析(SSA)是一种基于奇异值分解(SVD)和轨迹矩阵的非线性、非参数时间序列分析方法,适用于提取趋势、周期性和噪声成分。本项目使用MATLAB 2022a版本实现从强干扰序列中提取趋势线,并通过可视化展示了原时间序列与提取的趋势分量。代码实现了滑动窗口下的奇异值分解和分组重构,适用于非线性和非平稳时间序列分析。此方法在气候变化、金融市场和生物医学信号处理等领域有广泛应用。
139 19
|
4月前
|
算法 Perl
【光波电子学】基于MATLAB的多模光纤模场分布的仿真分析
本文介绍了基于MATLAB的多模光纤模场分布仿真分析,详细阐述了多模光纤的概念、实现方法、仿真技术,并利用模式耦合方程分析方法,通过理论和仿真模型设计,展示了不同模式下的光场分布及其受光纤参数影响的分析结果。
102 4
【光波电子学】基于MATLAB的多模光纤模场分布的仿真分析
|
3月前
|
算法 数据挖掘 vr&ar
基于ESTAR指数平滑转换自回归模型的CPI数据统计分析matlab仿真
该程序基于ESTAR指数平滑转换自回归模型,对CPI数据进行统计分析与MATLAB仿真,主要利用M-ESTAR模型计算WNL值、P值、Q值及12阶ARCH值。ESTAR模型结合指数平滑与状态转换自回归,适用于处理经济数据中的非线性趋势变化。在MATLAB 2022a版本中运行并通过ADF检验验证模型的平稳性,适用于复杂的高阶自回归模型。
|
4月前
|
算法 测试技术 SoC
基于直流潮流的IEEE30电力系统停电分布及自组织临界性分析matlab仿真
本研究提出一种基于直流潮流的算法来分析电力系统的停电分布及自组织临界性。算法迭代更新参数并模拟线路随机断开,运用粒子群优化计算关键值,并评估线路接近容量极限的概率。通过改变参数β和μ,分析不同线路可靠性和容量增加方式下的停电分布,并探索系统趋向临界状态的过程及停电概率分布。该方法基于IEEE30测试系统,利用MATLAB2022a实现,简化处理有功功率流动,适用于评估电力系统稳定性及预防大规模停电事故。
|
4月前
|
算法
蜂窝网络下行链路的覆盖率和速率性能matlab仿真分析
此程序在MATLAB2022a环境下运行,基于随机几何模型评估蜂窝网络的下行链路覆盖率和速率性能。通过模拟不同场景下的基站(BS)配置与噪声情况,计算并绘制了各种条件下的信号干扰加噪声比(SINR)阈值与覆盖率概率的关系图。结果显示,在考虑噪声和不同基站分布模型时,覆盖率有显著差异,提出的随机模型相较于传统网格模型更为保守但也更加贴合实际基站的分布情况。
|
4月前
|
算法
基于matlab的风力发电系统建模与详细性能仿真分析
本研究介绍风力发电原理与系统模型,使用MATLAB 2022a进行性能仿真。风力通过风轮转化为电能,涉及贝努利定理及叶素理论。仿真展示了风速与输出功率间的关系,包括风电利用系数、切入切出控制与MPPT控制效果。当风速超过25m/s时,系统自动停机保护设备。MPPT算法确保了在变化风速下获得最大功率。

热门文章

最新文章