DVB-S中卫星通信系统的基带仿真(Matlab代码实现)

这篇具有很好参考价值的文章主要介绍了DVB-S中卫星通信系统的基带仿真(Matlab代码实现)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

​数字视频广播(DVB)在卫星通信数字多媒体业务领域应用广泛,其一般采用MPEG-2编码、数字传输和纠错处理等通用技术,然而,当第三方(非合作方)通过卫星天线截获信号时,由于卫星信号种类繁多、接收信号信噪比低、分析出的音视频和网络数据业务质量差等因素,准确识别分析处理卫星DVB-S信号存在较大的困难。因此,本文针对性地设计了一套卫星通信DVB-S信号识别系统,该系统处理的信号规格全、集成度高,能在有效时间内完成对DVB-S信号的搜索确定、自动采集、精确分析和控守处理。

本代码包含DVB-S中卫星通信系统的基带仿真,并探索了调制方案和编码速率的性能。 代码模拟的无线信道主要是AWGN信道、瑞利衰落信道。

📚2 运行结果

DVB-S中卫星通信系统的基带仿真(Matlab代码实现)

DVB-S中卫星通信系统的基带仿真(Matlab代码实现)

DVB-S中卫星通信系统的基带仿真(Matlab代码实现)

DVB-S中卫星通信系统的基带仿真(Matlab代码实现)

DVB-S中卫星通信系统的基带仿真(Matlab代码实现)

DVB-S中卫星通信系统的基带仿真(Matlab代码实现)

主函数部分代码:

% 
clear all;
puncturepattern12=[1;1];%puncture pattern when the code rate=1/2
puncturepattern23=[1;1;0;1];                                                                                                   %2/3
puncturepattern56=[1;1;0;1;1;0;0;1;1;0];  
puncturepatternSelect=[puncturepattern12;puncturepattern23;puncturepattern56];
PC=[1,2;3,6;7,16];
tracebackdepthSelect=[60,75,120];
coderateSelect=[1/2,2/3,5/6];
M=4;
EbN0=-4:0.1:16;
BER_QPSK=zeros(3,length(EbN0));
EsNo=EbN0+10*log10(log2(M));
for b=1:3
EbNoratesemilogy=zeros(1,length(EbN0));  
hConvEnc = comm.ConvolutionalEncoder(poly2trellis(7,[133 171]));       %maybe need to change the 133 171
hConvEnc.PuncturePatternSource = 'Property';
hConvEnc.PuncturePattern =puncturepatternSelect(PC(b,1):PC(b,2),1);
hMod = comm.PSKModulator(M, 'BitInput',true); 
​
hDemod = comm.PSKDemodulator(M, 'BitOutput',true);
hVitDec = comm.ViterbiDecoder(poly2trellis(7,[133 171]),...
    'InputFormat','Hard');
​
hVitDec.PuncturePatternSource  = 'Property';                           %property not sure
hVitDec.PuncturePattern = hConvEnc.PuncturePattern;
hVitDec.TracebackDepth = tracebackdepthSelect(b);
​
hErrorCalc = comm.ErrorRate('ReceiveDelay',hVitDec.TracebackDepth);
​
​
EbNoEncoderOutput = EbN0 +10*log10(coderateSelect(b));
​
frameLength =45000;                                                     %framelength/maxnumtransmissions
targetErrors = 100; %100 errors max
maxNumTransmissions =10000000;
BERVec = zeros(3,length(EbNoEncoderOutput));
%BERp=zeros(3,length(EbNoEncoderOutput));
​
for n=1:length(EbNoEncoderOutput)
    reset(hErrorCalc);
    reset(hConvEnc);
    reset(hVitDec);
    [EbNoEncoderOutput(n),coderateSelect(b)]
    hChan = comm.AWGNChannel('NoiseMethod','Signal to noise ratio (Es/No)','EsNo',EsNo(n));           %signalpower not sure
​
    while(BERVec(2,n) < targetErrors)&&(BERVec(3,n)<maxNumTransmissions)
        data = randi([0 1],frameLength,1);                               %use framelength to create random number?
        encData = step(hConvEnc, data);
        modData = step(hMod,encData);
        channelOutput = step(hChan,modData);
        DemodData = step(hDemod, channelOutput);
        decData = step(hVitDec, (DemodData));
        %d = tracebackdepthSelect;
        BERVec(:,n) = step(hErrorCalc, data, decData);
   
    end
    if BERVec(1,n)<2e-6
        
       BER_QPSK(b,:) = BERVec(1,:);
%BERp(b,:)=BERVec(1,:);
save('BPSK_sim_3.mat','EbN0','BER_QPSK');
load('BPSK_sim_3.mat');
​
figure(1)
semilogy(EbN0,BER_QPSK(b,:),'-');
hold on;
​
grid on;
title('Part2 question1 BER verus Eb/N0 curve without RS outer code ');
ylabel('BER');
xlabel('EbN0 Ratio'); 
       
        
    break
    end
end
​
%BERp(b,:)=BERVec(1,:);
save('BPSK_sim_3.mat','EbN0','BER_QPSK');
load('BPSK_sim_3.mat');
 
end

🎉3 参考文献

[1]冯志霞. 卫星通信DVB-S/S2信号识别系统设计[D].国防科技大学,2018.

部分理论引用网络文献,若有侵权联系博主删除。文章来源地址https://www.toymoban.com/news/detail-470643.html

🌈4 Matlab代码实现

到了这里,关于DVB-S中卫星通信系统的基带仿真(Matlab代码实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 通信算法之167: (低空无人机)机载视频通信传输系统基带算法设计

    一.物理层基带仿真 通信系统的链路级仿真主要可以分成5个部分。 1.系统参数 2.发送机算法 3.信道模型 4.接收机算法 5.统计性能 其中主要组成部分很明显是中间三部分,即发送,信道,接收。但系统参数和统计性能这两部分的适当设计会大大简化仿真, 提升仿真的意义.   二

    2024年02月16日
    浏览(52)
  • OFDM系统仿真【matlab代码】

    matlab源码链接: https://blog.csdn.net/qq_44394952/article/details/122508697. 为了便于计算把系统的仿真参数设置的较小。仿真参数为:子载波个数为 200,总符号数为100,IFFT/FFT 的长度为 512,调制方式选用16QAM调制,为了最大限度的减少插入保护间隔带来的信噪比损失,一般选择符号周期长

    2024年02月02日
    浏览(50)
  • 基于OFDM通信系统的低复杂度的资源分配算法matlab性能仿真

    目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程     matlab2022a        在OFDM通信系统中,资源分配是一项关键任务,它涉及将可用的频谱资源和功率分配给不同的子载波,以实现高效的数据传输。为了降低计算复杂度并提高

    2024年02月13日
    浏览(49)
  • 水下机器人双机械手系统动态建模与控制仿真(Matlab代码实现)

    ​       目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 水下机器人-机械手系统(Underwater vehicle-manipulator systems, UVMS)可以完成除观测之外的水下采样、抓取、操作等任务,在海洋科学考察、海洋工程等领域得到广泛应用。通过对近年来国内外UVMS的研究现状

    2024年02月08日
    浏览(56)
  • 通信原理仿真100例 | 多普勒频移的matlab仿真

    下面是一份简单的MATLAB代码,可以用来模拟多普勒扩展现象。该代码使用了一个具有随机相位的复指数信号作为原始信号,将其通过一个多普勒频移的信道进行传输,并对接收到的信号进行频谱分析,以观察多普勒扩展的效果。 在上面的代码中,我们首先设置了一些参数,包

    2023年04月10日
    浏览(35)
  • MATLAB与Robotstudio联合仿真 stocket通信

    tmd网上有关matlab与robotstudio stocket通信的内容太少了,索性自己写个文章,免得后来人浪费时间。 本文代码参考:http://t.csdn.cn/02UkD 感谢大佬的代码。stocket通信的前置条件也可以参考上面链接。 matlab与robotstudio通信分为两部分代码,matlab作为服务器端,发送位置数据给作为服

    2023年04月25日
    浏览(45)
  • 【电路效应】信号处理和通信系统模型中的模拟电路效应研究(Simulink&Matlab代码实现)

    目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码、Simulink仿真实现 在信号处理和通信系统模型中,模拟电路效应研究是指考虑到实际电路的特性对信号进行建模和分析的过程。模拟电路效应可以包括各种电路元件和组件的非线性、延迟、失真等特性对信号传输和处

    2024年02月16日
    浏览(50)
  • 通信算法之129:通信物理层-5G NR PDSCH基带处理

    Generate PDSCH modulation symbols 生成 PDSCH 调制符号 sym = nrPDSCH(cws,mod,nlayers,nid,rnti) sym = nrPDSCH(___,\\\'OutputDataType\\\',datatype) sym = nrPDSCH(cws,mod,nlayers,nid,rnti)   returns physical downlink shared channel (PDSCH) modulation symbols, as defined in TS 38.211 Sections 7.3.1.1 –3 . The process consists of scrambling with scrambling id

    2023年04月08日
    浏览(86)
  • 通信算法之157:通信物理层-4G LTE PDSCH基带处理1

    物理下行链路共享信道解码 [cws,symbols] = ltePDSCHDecode(enb,chs,sym) [cws,symbols] = ltePDSCHDecode(enb,chs,sym,hest,noiseest) [cws,symbols] = ltePDSCHDecode(enb,chs,rxgrid,hest,noiseest) [ cws , symbols ] = ltePDSCHDecode( enb , chs , sym ) 对复杂调制 PDSCH 符号矩阵执行物理下行链路共享信道 (PDSCH) 处理的逆过程, sym 使

    2024年02月06日
    浏览(48)
  • 【MATLAB源码-第32期】基于matlab的通信及雷达中常用伪随机码m序列的仿真。

    M序列,也称为最大长度序列或者伪随机序列,是一种特殊的二进制序列。它的特点是在有限的长度内,尽管它是伪随机的,但它会在特定的周期内不重复地循环。 在数学上,M序列通常用反馈移位寄存器(Feedback Shift Register)来产生,通过在寄存器中的位之间进行异或运算来

    2024年04月11日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包