构建直接序列扩频系统模型(Matlab代码实现)

这篇具有很好参考价值的文章主要介绍了构建直接序列扩频系统模型(Matlab代码实现)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  🍒🍒🍒欢迎关注🌈🌈🌈

📝个人主页:我爱Matlab


👍点赞➕评论➕收藏 == 养成习惯(一键三连)🌻🌻🌻

🍌希望大家多多支持🍓~一起加油 🤗

💬语录:将来的我一定会感谢现在奋斗的自己!

🍁🥬🕒摘要🕒🥬🍁

本文构建直接序列扩频系统模型,使用Matlab对BPSK直接序列扩频通信系统在AWGN信道下性能进行基带建模和仿真,并进行分析。

✨🔎⚡运行结果⚡🔎✨

  1. 编程产生周期长度为31的m序列;
  2. 产生随机发送信息,并分别进行BPSK调制;
  3. 采用m序列作为扩频码,产生扩频信号发送信号;
  4. 对扩频发送信号加入白噪声,得到接收扩频信号;
  5. 对接收信号进行解扩;
  6. 对接收信号进行BPSK解调;
  7. 通过蒙特卡洛方法,仿真系统误码率,画出误码率曲线。
  8. 产生周期长度为31的m序列,记为w; (实验6的内容,m序列周期T=2n-1)(需转换成1、-1)
  9. 产生发送信息0、1比特; (三种方法:循环判断、rand+round、randint/randi)(数据长度L自定,尽量大一些,比如1000)
  10. 对信息比特进行BPSK调制,记为d; (即码型变换:1→1, 0→-1)(注:出于简化,本实验省略载波调制部分)
  11. 对发送信息进行扩频,即d*w; (实现提示1:采用循环的方式,对每位数据进行扩频,运行速度较慢) (实现提示2:可将d的每位数据重复31次,w扩大L次(L为发送数据长度),再点乘。可用函数:repmat函数、reshape函数)
  12. 信号经过信道,叠加白噪声,得到接收端接收信号 ; (噪声功率由信噪比决定,仿真结果横坐标为信噪比,可取-30:5,单位dB) (可使用awgn函数,也可自行实现)
  13. 对接收端信号进行恢复,包括解扩、解调、判决。方法如下:a. 首先与扩频码相乘进行解扩, ;b. 对每位数据扩大的31次进行求和,以第一个数据b1为例,sum(b1);c. 判决,sum(b1)>0,判为1,否则为-1。
  14. 误码率统计,并画图。 (画图函数:semilogy)

构建直接序列扩频系统模型(Matlab代码实现)

💂♨️👨‍🎓Matlab代码👨‍🎓♨️💂

clc;clear all;
r=5;
N=2^r-1;%周期31
a=ones(1,r);   
m=zeros(1,N);  
for i=1:(2^r-1) 
    temp= mod((a(5)+a(2)),2); 
    for j=r:-1:2
        a(j)=a(j-1);
    end 
    a(1)=temp;
    m(i)=a(r); 
end
m=m*2-1;%双极性码
%产生随机发送信息,并进行BPSK/QPSK调制
n=1000;
Y_BIT_sum=zeros(1,36);
for jj=1:100%跑100次,得到平滑曲线
    source=randi([0 1],1,n);
    % s_imag=randi(1,n);
    s_BPSK=2*source-1;
    % s=source+j*s_imag;
    % j=sqrt(-1);
    % s_QPSK=s*2-(1+j);
    %产生扩频信号:
    % for z=1:1:100
    %     y_QPSK(31*(z-1)+(1:31))=m*s_QPSK(z);
    % end
    for z=1:1000
        y_BPSK(31*(z-1)+(1:31))=m*s_BPSK(z);
    end
    %加入高斯白噪声
    SNR=-30:5;
    for i=1:length(SNR)
        y(i,:)=awgn(y_BPSK,SNR(i));
    end
    %解扩
    for z=1:1000
        for i=1:length(SNR)
            o_BPSK(i,z)=y(i,31*(z-1)+(1:31))/m;
        end
    end
    Y_RE=o_BPSK;
    %判决
    Y_RE(o_BPSK>0)=1;
    Y_RE(o_BPSK<0)=0;
    Y_ERRO=zeros(length(SNR),1000);
    Y_BIT=zeros(1,length(SNR));
    for i=1:length(SNR)
        Y_ERRO(i,:)=abs(Y_RE(i,:)-source);
        Y_BIT(i)=sum(Y_ERRO(i,:))/n;
    end
    Y_BIT_sum=Y_BIT_sum+Y_BIT;
end
Y_BIT_av=Y_BIT_sum/100;
semilogy(SNR,Y_BIT_av);
xlabel('SNR');ylabel('误码率');
grid on;
title('wml');

📜📢🌈参考文献🌈📢📜

[1]曹旺斌,康辉,谢志远,梁晓林,胡正伟.MIMO-PLC直接序列扩频系统编码方法研究[J].中国电机工程学报,2021,41(S1):121-129.DOI:10.13334/j.0258-8013.pcsee.211063.文章来源地址https://www.toymoban.com/news/detail-440984.html

到了这里,关于构建直接序列扩频系统模型(Matlab代码实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【代码分享】几个具有创新性的时间序列回归预测模型matlab代码,基于LSTM及改进算法

    【代码分享】几个具有创新性的时间序列回归预测模型 时间序列(Time Series)是指一系列按照时间顺序统计的数据序列,它可以用于描述许多自然和社会现象的演变过程。时间序列分析是指对时间序列的特征进行分析,包括趋势、周期、季节性等,并根据这些特征进行预测或

    2024年04月25日
    浏览(36)
  • Arma模型预测时间序列的Matlab实现

      Arma模型预测算法在两年之前有看过,当时没有太仔细看没能理解,最近结合网上几篇比较 Nice 的关于ARMA ARIMA算法的博客,对该算法有了进一步了解,将自己的理解进行整理。   Arma模型(自回归移动平均模型)是时间序列分析中常用的模型之一,它可以用于预测未来的

    2024年02月04日
    浏览(59)
  • 【EI复现】梯级水光互补系统最大化可消纳电量期望短期优化调度模型(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 文献来源

    2024年02月13日
    浏览(56)
  • 博弈论在电动车和电网系统中分布式模型预测控制研究(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 文献来源 🌈4 Matlab代码、数据、文章

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

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

    2024年02月16日
    浏览(50)
  • 【机组组合】基于数据驱动的模型预测控制电力系统机组组合优化【IEEE24节点】(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 2.1 UC_original  2.2 UC_compact 2.3 SCi结果  🎉

    2024年02月07日
    浏览(55)
  • LSTM时间序列回归matlab实现(附代码+数据集)

      LSTM在1997年被提出,从发表时间上来看已经是个\\\"老\\\"方法了。和其他的神经网络一样,LSTM可用于分类、回归以及时间序列预测等。原理部分的介绍可参考这篇博客。本文主要涉及利用matlab实现LSTM。   任务:以青霉素发酵过程仿真数据为例,利用LSTM建模预测质量变量。

    2024年02月15日
    浏览(39)
  • 时序预测 | MATLAB实现ARMA自回归移动平均模型时间序列预测

    预测效果 基本介绍 MATLAB实现ARMA时间序列预测(完整源码和数据) 本程序基于MATLAB的armax函数实现arma时间序列预测; 实现了模型趋势分析、序列平稳化、AIC准则模型参数识别与定阶、预测结果与误差分析过程,逻辑清晰。 数据为144个月的数据集,周期为一年,最终实现历史

    2024年02月07日
    浏览(63)
  • 通过参数化可变形曲线直接从 X 射线投影数据计算分割研究(Matlab代码实现)

     💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 2.1 第一部分  2.2 第2部分 2.3 第3部分 

    2024年02月10日
    浏览(36)
  • 时序预测 | MATLAB实现AR、ARMA、ARIMA时间序列预测模型答疑

    基本介绍 AR 自回归模型(Autoregressive Model),通常简称为AR模型,是一种用于时间序列分析和预测的统计模型。它基于时间序列自身的历史值来预测未来值,通过将当前时刻的观测值与前一时刻的观测值之间的关系进行建模。 AR模型的基本思想是,当前时刻的值可以由之前时

    2024年02月09日
    浏览(63)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包