【单载波调制方案】正交时序多路复用调制:分析和低复杂度接收机设计(Matlab代码实现)

2023-12-05

???????????????? 欢迎来到本博客 ❤️❤️????????

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

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

???????????? 本文目录如下: ????????????

目录

????1 概述

????2 运行结果

????3 参考文献

????4 Matlab代码、数据、文献下载


????1 概述

摘要:本文提出了正交时序多路复用(OTSM),这是一种新颖的单载波调制方案,它将信息符号放置在延迟-序列域中,然后经过一系列的时分复用(TDM)和Walsh-Hadamard序列复用。由于Walsh Hadamard变换(WHT),调制和解调不需要复杂域乘法。对于所提出的OTSM,我们首先推导了延迟-序列域中的输入-输出关系,并提出了一种利用零填充的低复杂度检测方法。通过仿真,我们证明了OTSM相对于正交频分复用(OFDM)具有更高的性能增益,并且与正交时频空间(OTFS)具有类似的性能,但由于WHT而具有更低的复杂度。然后,我们提出了一种低复杂度的时域信道估计方法。最后,我们展示了如何在编码系统中包含外部误差控制码和Turbo译码器来提高编码系统的误码性能。

正交频分复用(OFDM)是4G和5G移动系统中部署的物理层调制方案,其中无线信道通常由于移动性而表现出时变多径衰落。已知当多普勒效应有限时,OFDM在这样的信道上可以实现接近容量的性能,但在高移动性环境中会遭受严重的性能下降。因此,需要新的调制技术,能够在慢速和快速时变信道中都具有稳健性。

最近,正交时频空间(OTFS)调制在文献[4]中被提出,显示出在高移动性环境中相比OFDM具有明显优势。OTFS将信息符号放置在延迟-多普勒(DD)域中,以捕捉模拟移动终端和反射器在高移动场景中的信道几何特性。利用这种表示,OTFS调制器在整个时频域上通过2D正交基函数(沿多普勒的IFFT和沿延迟的FFT)对每个信息符号进行复用,这些基函数跨越整个传输一个帧所需的时频域。这组基本函数被设计来对抗时变多径信道的动态性。此外,文献[5]表明,任何在时频域上使用常模基函数的2-D正交变换(预编码)都能使接收机利用最大的时频分集。由于傅里叶基函数是常模的,OTFS保证信息符号经历相同的信噪比(SNR)。

???? 2 运行结果

部分代码:

%%         DISP error performance details
clc
disp('####################################################################')
fprintf('OTSM-(N,M,QAM size)');disp([N,M,M_mod]);
display(current_frame_number,'Number of frames');
display(SNR_dB,'SNR (dB)');
display(avg_ber_MFGS,'Average BER - Matched Filtered Gauss Seidel');
display(avg_ber_1tap,'Average BER - single tap equalizer');
display(avg_ber_LMMSE,'Average BER - LMMSE equalizer');
display(avg_no_of_iterations_MFGS,'Average number of iterations for the MFGS detector');
disp('####################################################################')

end

end
figure(1)
semilogy(SNR_dB,avg_ber_MFGS,'-o','LineWidth',2,'MarkerSize',8)
hold on
semilogy(SNR_dB,avg_ber_1tap,'-x','LineWidth',2,'MarkerSize',8)
hold on
semilogy(SNR_dB,avg_ber_LMMSE,'-s','LineWidth',2,'MarkerSize',8)
legend('MFGS','single tap','LMMSE')

????3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

???? 4 Matlab代码、数据、文献下载

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【单载波调制方案】正交时序多路复用调制:分析和低复杂度接收机设计(Matlab代码实现) 的相关文章

  • 从筛查乳腺 X 光检查数字数据库 (DDSM) 获取数据

    我正在尝试以可读格式获取 DDSM 数据集 有谁有 DDSM heathusf 程序的工作版本 可以在 Linux 或 Windows 上正常运行吗 我知道 DDSM 的 jpeg 程序有一个适用于 linux 的工作版本 位于http w
  • 如何在Matlab中绘制网络?

    我有一个矩阵AMatlab中的维数mx2每行包含两个节点的标签 显示网络中的直接链接 例如 如果网络有4矩阵的节点A可能A 1 2 1 3 2 1 2 4 3 2 4 1 4 2 其中第一行表示有一个链接来自1 to 2 第二行表示有一个链
  • 在 MATLAB 中模拟 C++ 模板

    我试图找出创建 C 模板或 Java 通用对象的替代方案的最佳方法 出于多种不同的原因 我过去曾多次想这样做 但现在我想做的是为几个相关的类创建 saveobj 和 loadobj 函数 我的想法是 我想要一组通用的例程来创建默认结构 然后
  • 如何在Matlab中打印带有千位分隔符的整数?

    我想使用逗号作为千位分隔符将数字转换为字符串 就像是 x 120501231 21 str sprintf 0 0f x 但随着效果 str 120 501 231 21 如果内置fprintf sprintf做不到 我想可以使用正则表达式
  • MATLAB 编译器与 MATLAB 编码器

    两者有什么区别 据我了解 MATLAB Compiler将MATLAB代码包装成 exe文件 这样就可以在不安装MATLAB的情况下使用它 并且只需要MCR 除此之外 MATLAB Builder NE 还可以用于生成与 Net 框架一起使
  • matlab中无限while嵌套在for循环中

    我想做一个while循环 嵌套在for在 Matlab 中循环以查找数据中不同对之间的距离 我的数据具有以下形式 ID lon lat time 1 33 56 40 89 803 2 32 45 41 03 803 3 35 78 39
  • 如何在 MATLAB 编译的应用程序中运行外部 .m 代码? [复制]

    这个问题在这里已经有答案了 我有一个 MATLAB 项目 我使用 MCC 对其进行编译以获得单个可执行文件 然后我想知道外部程序员是否可以在 exe 中执行他的一些 m 文件 而无需重新编译整个项目 重点是提供一个应用程序 其他开发人员可以
  • 通过多次合并相同的行向量来构建矩阵

    有没有一个matlab函数可以让我执行以下操作 x 1 2 2 3 然后基于x我想建立矩阵m 1 2 2 3 1 2 2 3 1 2 2 3 1 2 2 3 您正在寻找REPMAT http www mathworks com help t
  • MATLAB 除法...29/128 应该返回 0 吗?

    我真的不认为这是一个精度问题 答案应该是0 226左右 这是确切的代码 val I i j bucketSize pos val bucketSize I只是我从中获取值的矩阵 以下是 MATLAB 的输出 val 29 bucketSiz
  • 更新:随机将行添加到矩阵中,但遵循严格的规则

    以下是一个更大的矩阵的一部分 0 1 0000 1 0000 77 0000 100 0000 0 0 2500 0 1 0000 1 0000 72 0000 100 0000 0 2500 0 2500 0 1 0000 1 0000
  • 轴标注问题

    通过运行我编写的以下 matlab 函数 可以互换图中的 x 轴和 y 轴 谁能告诉我问题出在哪里或者帮我解决它吗 预先感谢您的任何帮助 function axislabeling n x 1 1 n y 1 1 n z zeros n n
  • MATLAB parfor 和 C++ 类 mex 包装器(需要复制构造函数?)

    我正在尝试使用概述的方法将 C 类包装在 matlab mex 包装器中here http www mathworks com matlabcentral newsreader view thread 278243 基本上 我有一个初始化
  • 考虑预分配速度[重复]

    这个问题在这里已经有答案了 我正在做以下事情 for i 1 m index 0 for j 1 n index index values i j 2 j 1 if j 1 symbol chip chip values index 1 e
  • Matlab strcat 不返回字符串?

    imgstr 无法识别 strcat 的输出字符串 homedir C Users images for img 01 bmp 02 bmp 03 bmp imgstr strcat homedir img I imread imgstr
  • MATLAB:图像角坐标和引用元胞数组

    我在比较不同元胞数组中的元素时遇到一些问题 这个问题的背景是我正在使用bwboundariesMATLAB 中的函数可追踪图像的轮廓 该图像是结构横截面 我试图找出整个部分是否具有连续性 即 只有一个轮廓由bwboundaries命令 完成
  • 霍夫变换检测和删除线

    我想使用霍夫变换检测图像中的线条 但是我不想绘制线条 而是想删除原始图像中检测到的每条线条 image imread image jpg image im2bw image BW edge image canny imshow BW fig
  • 在 MATLAB 图中用值标记点

    以下命令确实用正方形标记了点 但没有在其中放入值 例如 21 0 X 21 8 2 1 0 Y 0 1 2 3 4 plot X Y k s 我应该添加哪个参数以便全部5点值出现在图上吗 这些值不能一一键入 因为它们是随机数 因此它们可能会
  • 基本矩阵错误?

    我试图通过扫描从相机拍摄的两个图像 检测图像中的特征 匹配它们 创建基本矩阵 使用相机内在函数计算基本矩阵 然后分解它以找到旋转和翻译 这是matlab代码 I1 rgb2gray imread 1 png I2 rgb2gray imre
  • Blob 的簇生长

    考虑以下来自 Mathworks 的图像 我已经用标签标记了斑点 L num bwlabel I 如何迭代连接所有斑点 即从一个斑点开始 找到离它最近的一个 考虑最左边的两个斑点 可以从一个斑点的许多点绘制许多条线来连接到另一个斑点blob
  • 如何在matlab中使矩阵图平滑

    就像上图一样 怎样才能让画面更流畅呢 或者缩小y轴的范围 数据来自二维矩阵 然后我用plot data 请随意提出任何想法 平滑线条的一种方法涉及样本点之间数据的非线性插值 当你这样做时plot x y o http www mathwor

随机推荐