您现在的位置:首页 >> 通信 >> 内容

通过matlab对比UFMC和OFDM的频谱,星座图

时间:2023/2/28 23:03:46 点击:

  核心提示:A434,包括程序操作录像...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/ZJWblZ5v

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览



3.算法概述

    通用滤波器多载波(Universal Filtered Multi-Carrier,UFMC)是一种新的非正交多载波调制技术,被认为是取代正交频分复用(OFDM),成为5G中某些通信场景下传输波形的候选方案之一。UFMC可以被看成是OFDM和滤波器组多载波(FBMC)的结合,同时保留了这两个波形技术的各自优点。UFMC主要应用在短数据包突发、低时延、宽同步的通信场景中。本文主要针对UFMC系统中的信道估计与均衡技术展开研究。首先阐述UFMC系统的基本原理,包括信号调制、发射、接收各个模块的实现及数学表达式。在此基础上,使用仿真软件搭建UFMC系统仿真平台。然后从抗时频偏差性能、峰均比、频谱效率、滤波器长度等角度对UFMC系统进行性能分析与结果仿真,并和OFDM进行对比,论证UFMC在物联网、传感网中的应用优势。关于UFMC系统的信道估计,先分析了UFMC符号在瑞利多径信道下的性能表现。UFMC的信道估计可以复用已有的OFDM信道。 

4.部分源码

..................................................................

%Eye diagram

y1= eyediagram(EqualizedRxSymbols_UFMC,2);

y1.Name ='UFMC eye diagram';

y1.Position = [1180 500 350 200]

SER_UFMC = comm.ErrorRate;

rxSym = qamdemod(EqualizedRxSymbols_UFMC, 2^bitsPerSubCarrier, 'OutputType', 'integer', 'UnitAveragePower', true);

ser = SER_UFMC(symbolsIn2, rxSym);

BER_UFMC = comm.ErrorRate;

rxBits = qamdemod(EqualizedRxSymbols_UFMC, 2^bitsPerSubCarrier, 'OutputType', 'bit', 'UnitAveragePower', true);

ber_UFMC = BER_UFMC(inpData(:), rxBits);

%AWGN

rxSig_OFDM = awgn(RicianChanOut2, snrdB, 'measured');

hold on

constDiagRx_OFDM = comm.ConstellationDiagram('ShowReferenceConstellation', ...

    false, 'Position', figposition([40 10 20 25]), ...

    'Title', 'OFDM Pre-Equalization and filtering Symbols', ...

    'Name', 'UFMC Reception', ...

    'XLimits', [-0.05 0.05], 'YLimits', [-0.05 0.05]);

constDiagRx_OFDM(rxSig_OFDM)

% ODFM Receiver

rxSig_OFDM_EQ = rxSig_OFDM./RicianPathGains2;

rxSig_OFDM_EQD = ofdmdemod(rxSig_OFDM_EQ,numFFT,cpLen);

rxSim_OFDM_EQQ = rxSig_OFDM_EQD(offset+1:size(rxSig_OFDM_EQD)-offset);

constDiagRx_OFDM_EQ = comm.ConstellationDiagram('ShowReferenceConstellation', false, 'Position', figposition([60 10 20 25]), 'Title', 'OFDM Filtered channel Symbols', 'Name', 'OFDM Reception', 'XLimits', [-1.5 1.5], 'YLimits', [-1.5 1.5]);

constDiagRx_OFDM_EQ(rxSim_OFDM_EQQ)

y2=eyediagram(rxSim_OFDM_EQQ,2);

y2.Name ='OFDM eye diagram';

y2.Position = [1180 60 350 200];

SER_OFDM = comm.ErrorRate;

rxSym2 = qamdemod(rxSim_OFDM_EQQ, 2^bitsPerSubCarrier, 'OutputType', 'integer', 'UnitAveragePower', true);

ser_ODFM = SER_OFDM(symbolsIn2, rxSym2);

disp(['OFDM Reception, SER = ' num2str(ser_ODFM(1)) ' at SNR = ' num2str(snrdB) ' dB'])

BER_OFDM = comm.ErrorRate;

rxBits2 = qamdemod(rxSim_OFDM_EQQ, 2^bitsPerSubCarrier, 'OutputType', 'bit', 'UnitAveragePower', true);

ber_OFDM = BER_OFDM(inpData(:), rxBits2);

A434

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关文章
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168