m基于Simulink的高速跳频通信系统抗干扰性能分析

简介: m基于Simulink的高速跳频通信系统抗干扰性能分析

1.算法描述

   信道为Rayleigh衰落信道下的性能分析和Nakagami-m衰落信道下的性能分析。本课题我们采用的仿真参数如下:

1.png

simulink仿真模型如下所示:

2.png

   跳频是最常用的扩频方式之一,其工作原理是指收发双方传输信号的载波频率按照预定规律进行离散变化的通信方式,也就是说,通信中使用的载波频率受伪随机变化码的控制而随机跳变。从通信技术的实现方式来说,“跳频”是一种用码序列进行多频频移键控的通信方式,也是一种码控载频跳变的通信系统。

   采用跳频技术是为了确保通信的秘密性和抗干扰性。与定频通信相比,跳频通信比较隐蔽也难以被截获。只要对方不清楚载频跳变的规律,就很难截获我方的通信内容。同时,跳频通信也具有良好的抗干扰能力,即使有部分频点被干扰,仍能在其他未被干扰的频点上进行正常的通信。由于跳频通信系统是瞬时窄带系统,它易于与其他的窄带通信系统兼容,也就是说,跳频电台可以与常规的窄带电台互通,有利于设备的更新。

  跳频的原理是:按全网预设的程序,自动操控网内所有台站在一秒钟内同步改变频率多次,并在每个跳频信道上短暂停留。周期性的同步信令从主站发出,指令所有的从站同时跳跃式更换工作频率。
   跳频通信的原理说来也并不复杂。它是在普通无线电短波通信基础上增加一个“码控跳频器”。它的主要作用是使跳频通信发射的载波按一定规则的随机跳变序列发生变化。实现跳频通信的关键是,收发双方受伪随机码控制的、用来改变载频频率的本振频率必须严格同步。跳频伪随机码的改变可用微型计算机控制;改变计算机的程序,就可改变跳频的规律。跳频变化的方案不止一套,且经常更换,要识破它就犹如大海捞针,十分困难。
   就通信的安全性而言,跳频短波通信比卫星通信更为可靠。这是因为提供卫星服务的机构对其所属国承担了战略责任,必须受到该国政府的控制,而跳频短波通信是完全自主的,因而也是最可信赖的,在涉及国家安全和社会安全的场合,跳频短波通信的地位无可取代。

   其中快速跳频抗干扰能力极强,基本上认为是不可被破解的。但系统成本较高,目前只用在军事通信领域。

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

3.png
4.png
5.png
6.png
7.png
8.png

3.MATLAB部分代码预览

%主要用于设置噪声
EbNo            = 1000;
SNR             = 10^(EbNo/10);
sigma           = 1/(sqrt(SNR))/2;
%系统参数初始化
Rb              = 100;%100bps
Sample_times    = 0.02;
Sample_Num      = 40;
MSK_track_depth = 16;
 
%梳状干扰有效性设置
S1              = 1;
S2              = 1;
S3              = 1;
S4              = 1;
S5              = 1;
S6              = 1;
S7              = 1;
S8              = 0;
S9              = 0;
S10             = 0;
%以下五个图具体看simulink内部对应的图标
%图4跳频载波频谱图
%图5信源的调制输出信号频谱图
%图6跳频扩频后的信号频谱图
%图8宽带噪声干扰频谱图
%图12梳状干扰频谱图(7个频点)
 
open('tops.mdl');
sim('tops.mdl');
 
%以下两个图是误码率的仿真图,需要重新调用在不同的信噪比下进行仿真
%所以需要如下代码的编写
%图9宽带噪声干扰信噪比误码率关系曲线
%tops1.mdl
%噪声干扰
EbNo            = [-20:2:6];
for i = 1:length(EbNo)
    i
    SNR             = 10^(EbNo(i)/10);
    sigma           = 1/(sqrt(SNR))/2;
    sim('tops1.mdl');
    Err1(i)         = err1.signals.values(end,1);
end
figure;
semilogy(EbNo,Err1,'b-o');
xlabel('db');
xlabel('db');
grid on
 
 
%tops2.mdl
%单频干扰
for i = 1:length(EbNo)
    i
    SNR             = 10^(EbNo(i)/10);
    sigma           = 1/(sqrt(SNR))/2;
    sim('tops2.mdl');
    Err2(i)         = err2.signals.values(end,1);
end
figure;
semilogy(EbNo,Err2,'b-o');
xlabel('db');
xlabel('db');
grid on
 
 
%tops2.mdl
%单频干扰
for i = 1:length(EbNo)
    i
    SNR             = 10^(EbNo(i)/10);
    sigma           = 1/(sqrt(SNR))/2;
    sim('tops3.mdl');
    Err3(i)         = err3.signals.values(end,1);
end
figure;
semilogy(EbNo,Err3,'b-o');
xlabel('db');
xlabel('db');
grid on
01_055_m
相关文章
基于simulink的简易电机电力系统建模与仿真性能分析
基于simulink的简易电机电力系统建模与仿真性能分析
基于simulink的简易电机电力系统建模与仿真性能分析
本课题在Simulink中构建了一个50Hz的简易电力系统模型以研究其性能。电机电力系统由电源、电机、控制系统和负载构成,Simulink通过模块化方式实现了系统建模与仿真,便于理解和优化系统性能。
|
机器学习/深度学习 传感器 算法
【直扩通信】直扩通信系统信号捕获性能分析附matlab代码
【直扩通信】直扩通信系统信号捕获性能分析附matlab代码
|
4月前
|
算法 Unix Linux
【C/C++ 实用工具】性能分析工具一览
【C/C++ 实用工具】性能分析工具一览
224 0
|
4月前
|
数据可视化 关系型数据库 编译器
【C/C++ 单线程性能分析工具 Gprof】 GNU的C/C++ 性能分析工具 Gprof 使用全面指南
【C/C++ 单线程性能分析工具 Gprof】 GNU的C/C++ 性能分析工具 Gprof 使用全面指南
729 2
|
4月前
|
Web App开发 JavaScript 前端开发
JavaScript中的性能优化:代码优化技巧与性能分析工具
【4月更文挑战第22天】本文探讨JavaScript性能优化,包括代码优化技巧和性能分析工具。建议避免全局查找、减少DOM操作、使用事件委托、优化循环和异步编程以提升代码效率。推荐使用Chrome DevTools、Lighthouse和jsPerf等工具进行性能检测和优化。持续学习和实践是提升JavaScript应用性能的关键。
|
5天前
|
SQL 缓存 关系型数据库
MySQL高级篇——性能分析工具
MySQL的慢查询日志,用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long-query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为 10,意思是运行10秒以上(不含10秒)的语句,认为是超出了我们的最大忍耐时间值。它的主要作用是,帮助我们发现那些执行时间特别长的 SOL 查询,并且有针对性地进行优化,从而提高系统的整体效率。当我们的数据库服务器发生阻塞、运行变慢的时候,检查一下慢查询日志,找到那些慢查询,对解决问题很有帮助。
MySQL高级篇——性能分析工具
|
10天前
|
监控 IDE Java
【Java性能调优新工具】JDK 22性能分析器:深度剖析,优化无死角!
【9月更文挑战第9天】JDK 22中的性能分析器为Java应用的性能调优提供了强大的支持。通过深度集成、全面监控、精细化分析和灵活报告生成等核心优势,性能分析器帮助开发者实现了对应用性能的全面掌控和深度优化。在未来的Java开发过程中,我们期待性能分析器能够继续发挥重要作用,为Java应用的性能提升贡献更多力量。
|
4月前
|
监控 Java 开发者
Java一分钟之-Java性能分析与调优:JProfiler, VisualVM等工具
【5月更文挑战第21天】本文介绍了Java性能优化的两个利器——JProfiler和VisualVM。JProfiler通过CPU Profiler、内存分析器和线程视图帮助解决过度CPU使用、内存泄漏和线程阻塞问题;VisualVM则聚焦于GC行为调整和类加载优化,以减少内存压力和提高应用性能。使用这些工具进行定期性能检查,是提升Java应用效率的关键。
116 0
|
21天前
|
存储 缓存 监控
Linux性能分析工具-perf并生成火焰图
Linux性能分析工具-perf并生成火焰图