OFDM模糊函数仿真

文章目录

  • 前言
  • 一、OFDM 信号及模糊函数
    • 1、OFDM 信号表达式
    • 2、模糊函数表达式
  • 二、MATLAB 仿真
    • 1、MATLAB 核心源码
    • 2、仿真结果
      • ①、OFDM 模糊函数
      • ②、OFDM 距离模糊函数
      • ③、OFDM 速度模糊函数


前言

本文进行 OFDM 的仿真,首先看一下 OFDM 的模糊函数仿真效果:
请添加图片描述


一、OFDM 信号及模糊函数

1、OFDM 信号表达式

OFDM 信号提供了一种在频域上设计波形、时域上输出波形的 DFT 数字调制方式。OFDM 信号的数学表达式为:
B ( t ) = ∑ k = 0 N − 1 b k e j 2 π f k t = ∑ k = 0 N − 1 b k e j 2 π ( f 0 + k Δ f ) t B(t)=\sum_{k=0}^{N-1}b_ke^{j2\pi f_kt}=\sum_{k=0}^{N-1}b_ke^{j2\pi (f_0+k\Delta f)t} B(t)=k=0N1bkej2πfkt=k=0N1bkej2π(f0+kΔf)t

  • b k :调制序列,为第 k 路子信道中的复输入数据 b_k:调制序列,为第 k 路子信道中的复输入数据 bk:调制序列,为第k路子信道中的复输入数据
  • f k = f 0 + k Δ f f_k=f_0+k \Delta f fk=f0+kΔf f 0 f_0 f0 为起始频率, Δ f \Delta f Δf 为频率间隔

2、模糊函数表达式

模糊函数是雷达探测波形分析的重要工具,通过对信号波形的模糊函数分析,可以得到信号波形的距离分辨率、多普勒分辨率及多普勒容限特性。

为了分析在不同的时延和多普勒频移条件下接收信号与匹配滤波器的不匹配程度,定义了模糊度函数。

连续时间信号模糊函数的定义为:
χ ( τ , f d ) = 1 E ∫ − ∞ ∞ b ( t ) b ∗ ( t − τ ) e j 2 π f d t d t \chi (\tau,f_d)=\frac{1}{E} \int_{-\infty}^{\infty} b(t)b^{*}(t-\tau)e^{j2\pi f_dt} \,dt χ(τ,fd)=E1b(t)b(tτ)ej2πfdtdt

  • 式中,E为信号的总能量;

离散时间序列的模糊函数表示为:
χ ( m , k d ) = 1 E c ∑ n e n e n − m ∗ e j 2 π N k d n \chi (m,k_d)=\frac{1}{E_c}\sum_{n}e_ne^{*}_{n-m}e^{j\frac{2\pi}{N}k_dn} χ(m,kd)=Ec1nenenmejN2πkdn

  • 式中, m = f s × τ m=f_s×\tau m=fs×τ f s f_s fs 为采样率;
  • k d = f d × f s N k_d=\frac{f_d×f_s}{N} kd=Nfd×fs,N为采样点数

二、MATLAB 仿真

1、MATLAB 核心源码

%% ofdm信号产生
for j = 0:N_symbol - 1      % 用于处理每个相位编码for k = 0:M-1           % 用于处理每个子载波for n = 0:N-1       % 用于生成每个时刻的样本x_tmp(k+1,n+1+j*N) = tx_data(k+1+j*N)*exp(1j*2*pi*k*n/N);endend
end

2、仿真结果

①、OFDM 模糊函数

请添加图片描述

②、OFDM 距离模糊函数

请添加图片描述

③、OFDM 速度模糊函数

请添加图片描述


我的qq:2442391036,欢迎交流!


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/211464.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【vim】常用操作

用的时候看看,记太多也没用,下面都是最常用的,更多去查文档vim指令集。 以下均为正常模式下面操作,正在编辑的,先etc一下. 1/拷贝当前行 yy,5yy为拷贝包含当前行往下五行 2/p将拷贝的东西粘贴到当前行下…

Nmap脚本的应用场景

网络安全检测和漏洞扫描 Nmap脚本是一种强大的工具,可以用于网络安全检测和漏洞扫描。在渗透测试工程师的角度下,本文将详细阐述Nmap脚本的应用场景,以及如何使用Nmap脚本进行网络安全检测和漏洞扫描。 一、Nmap脚本的应用场景 Nmap脚本在渗…

Java、JDK、JRE、JVM

Java、JDK、JRE、JVM 一、 Java 广义上看,Kotlin、JRuby等运行于Java虚拟机上的编程语言以及相关的程序都属于Java体系的一员。从传统意义上看,Java社区规定的Java技术体系包括以下几个部分: Java程序设计语言各种硬件平台上的Java虚拟机实…

vue的知识点

Vue.js是一个渐进式JavaScript框架,用于简化Web应用程序开发和管理。下面是Vue.js的一些核心知识点: 1. 数据绑定:Vue.js通过指令和模板语法实现了双向数据绑定,可以实时更新视图和模型之间的数据。 2. 组件化开发:V…

【力扣】移除链表元素203

目录 1.前言2. 题目描述3. 题目分析3.1 不带哨兵位3.2 带哨兵位 4. 附代码4.1 不带哨兵位4.2 带哨兵位 1.前言 这里开始介绍从网上一些刷题网站上的题目,在这里做一些分享,和学习记录。 先来介绍一些力扣的OJ题目。 这里的OJ就是我们不需要写主函数&…

数据表记录的操作

一、数据添加 1、打开SSMS,附加数据库(数据库文件在自己的文件夹下面),并进行下面的设置: (1)设置“部门信息”表中的“编号”为主键(SSMS) 首先建立好所需的数据库库…

华为OD机试 - 生成哈夫曼树(Java JS Python C)

题目描述 给定长度为 n 的无序的数字数组,每个数字代表二叉树的叶子节点的权值,数字数组的值均大于等于1。 请完成一个函数,根据输入的数字数组,生成哈夫曼树,并将哈夫曼树按照中序遍历输出。 为了保证输出的二叉树中序遍历结果统一,增加以下限制: 二叉树节点中,左节…

java中什么是线程池?

线程池(Thread Pool)是一种线程管理的机制,它主要解决了线程生命周期的开销和资源消耗问题。线程池在程序中创建一些预先定义数量的线程,将任务分配给这些线程,从而提高了线程的重用性和性能。线程池的核心思想是将创建…

为 Compose MultiPlatform 添加 C/C++ 支持(3):实战 Desktop、Android、iOS 调用同一个 C/C++ 代码

theme: serene-rose 前言 在本系列的前两篇文章中我们已经学会了如何在 kotlin native 平台(iOS)使用 cinterop 调用 C/C 代码。以及在 jvm 平台(Android、Desktop)使用 jni 调用 C/C 代码,并且知道了如何自动编译 A…

Git 五分钟教程速度入门

Git 五分钟教程速度入门 分类 编程技术 许多人认为 Git 太混乱,或认为它是一种复杂的版本控制系统,其实不然,这篇文章有助于大家快速上手使用 Git。 入门 使用Git前,需要先建立一个仓库(repository)。您可以使用一个已经存在的…

Win10操作系统安装Python

1 Python解释器下载 1.1 安装环境 Windows 10 专业工作站版22H2 python-3.9.6-amd64.exe 1.2 下载地址 Python官网:Welcome to Python.org Python镜像:CNPM Binaries Mirror 2 Python解释器安装 2.1 Install Python 3.9.6 (64-bit)界面 双击运行下…

鸿蒙开发组件之list

1、鸿蒙中的list作为可滑动列表功能,初始化方式是 List({space: 10}){ForEach(arr, item > {ListItem() {//列表单个Item组件}})} 其中,List中的space可以设置两个ListItem组件的间距 List中是一个ForEach,需要注意的是item要返回的是L…

【数据结构】面试OJ题———栈|队列|互相实现|循环队列|括号匹配

目录 1. 有效的括号 思路: 2.用队列实现栈 思路: 3.用栈实现队列 思路: 4.设计循环队列 思路: 1. 有效的括号 20. 有效的括号 - 力扣(LeetCode) 给定一个只包括 (,),{&…

Hive SQL间隔连续问题

问题引入 下面是某游戏公司记录的用户每日登录数据, 计算每个用户最大的连续登录天数,定义连续登录时可以间隔一天。举例:如果一个用户在 1,3,5,6,9 登录了游戏,则视为连续 6 天登录。 id dt1001 2021-12-121002 2021-12-12…

visual studio code 好用的插件

vscode-icons Better comments 该插件对不同类型的注释会附加了不同的颜色,更加方便区分,帮助我们在代码中创建更人性化的注释。 Error Lens Error Lens插件是一款可以检测你编写的代码的语法错误,并且会显示出对语法错误的诊断信息…

USB的高速速率是如何确定的?

从全局说起。先说host对dev的插入检测。由于dev插入到host,导致为0的D和D-线突然有了电平变化,有且只有一根线的电平会变。在高速和全速模式下,D线会被拉高;在低速模式下D-线会被拉高。同时,host会对插入的dev进行消抖…

RCNN 学习

RCNN算法流程 RCNN算法流程可分为4个步骤 一张图像生成1K~2K个候选区域(使用Selective Search方法)对每个候选区域,使用深度网络图特征特征送入每一类的SVM分类器,判别是否属于该类使用回归期器细修正候选框位置 1.候选区域的生…

【星海随笔】Prometheus(一)

注:Pagerduty作为报警系统,出镜率很高。 虽然收费,但对于企业来说很便宜。 一个月几十美金 不太支持中文,主要是语音方面。 Prometheus 查询语句 , 基于数学运算模式的监控查询 我们计算一下一天多少秒 1 * 24 * 60 *…

ChatGPT是科学还是艺术?

OpenAI最近谈到GPT4变懒的问题,说“它更像是多人共同参与的艺术创作”,那到底大模型是科学还是艺术?

公式识别任务各个链条全部打通

目录 引言公式识别任务是什么?公式识别任务解决方案初探使用建议写在最后 引言 随着LaTeX-OCR模型转换问题的解决,公式识别任务中各个链条已经全部打通。小伙伴们可以放开膀子干了。 解决业界问题的方案,并不是单独训练一个模型就完事了&am…