Costas序列模糊函数仿真

2024-04-20 04:36

本文主要是介绍Costas序列模糊函数仿真,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 一、Costas 序列介绍
  • 二、模糊函数
  • 三、Costas 序列模糊函数仿真
    • 1、MATLAB 核心代码
    • 2、仿真结果
      • ①、Costas 模糊函数图
      • ②、Costas 距离模糊函数图
      • ③、Costas 速度模糊函数图
  • 四、资源自取


前言

本文对 Costas 序列进行讲解,并仿真其模糊函数。


一、Costas 序列介绍

任意每行每列有且仅有 1 个元素等于 1、其余元素都为 0nxn 阶矩阵称为置换矩阵。Costas 序列是一类特殊的置换矩阵,它与自身任意方向的平移副本之间都至多有 1 个元素 “1” 重合,如矩阵 A 所示(其序列表示为 [4,1,6,7,5,8,3,2])。
在这里插入图片描述
Costas 序列定义为 N c 2 N_c^2 Nc2 阶置换矩阵 A = a i j A={a_{ij}} A=aij a i , j a_{i,j} ai,j ∈ \in {0,1}, 1 ≤ i ≤ N c 1 \leq i \leq N_c 1iNc 1 ≤ j ≤ N c 1 \leq j \leq N_c 1jNc),其中 N c N_c Nc 表示 Costas 序列的长度。

Costas 信号是一种频率跳变信号,是跳频信号中的一种特殊形式。其中跳频信号由若于不同频率的 CW 信号组成,不同频率的 CW 波时域不重叠,即时分复用,而 Costas 信号是跳频频率由 Costas 序列指定的跳频信号。

Costas 信号由不同频率的 CW 子脉冲拼接而成,其带通形式如下:
在这里插入图片描述
其中: R e [ ⋅ ] Re[·] Re[] 表示取实部, r e c t ( ⋅ ) rect(·) rect() 为矩形窗函数(在 0~1 等于 1,其余位置等于 0); N N NCostas 编码序列的长度, T s p T_{sp} Tsp 为单个 CW 子脉冲的持续时间; f n = f c + C n Δ f f_n=f_c+C_n\Delta f fn=fc+CnΔf 为经过 Costas 序列编码后的各 CW 子脉冲的频率, C n C_n Cn 为均值调整到 0 的 Costas 序列, f c f_c fc 为载波频率, Δ f \Delta f Δf为单位跳频量。

二、模糊函数

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

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

连续时间信号模糊函数的定义为:
χ ( τ , 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为采样点数

三、Costas 序列模糊函数仿真

1、MATLAB 核心代码

tl = linspace(0,1,Np);      % 模糊图的时延
fd = linspace(-150,150,Np); % 模糊图的频率ambi = abs(xcorr2(bsxfun(@times, Costas, exp(1j*2*pi*fd'*tl)), Costas)); % 对信号做共轭相乘互相关(计算模糊图)

2、仿真结果

①、Costas 模糊函数图

在这里插入图片描述

②、Costas 距离模糊函数图

在这里插入图片描述

③、Costas 速度模糊函数图

在这里插入图片描述

四、资源自取

链接:Costas序列模糊函数仿真
在这里插入图片描述


我的qq:2442391036,欢迎交流!


这篇关于Costas序列模糊函数仿真的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/919295

相关文章

Oracle的to_date()函数详解

《Oracle的to_date()函数详解》Oracle的to_date()函数用于日期格式转换,需要注意Oracle中不区分大小写的MM和mm格式代码,应使用mi代替分钟,此外,Oracle还支持毫... 目录oracle的to_date()函数一.在使用Oracle的to_date函数来做日期转换二.日

C++11的函数包装器std::function使用示例

《C++11的函数包装器std::function使用示例》C++11引入的std::function是最常用的函数包装器,它可以存储任何可调用对象并提供统一的调用接口,以下是关于函数包装器的详细讲解... 目录一、std::function 的基本用法1. 基本语法二、如何使用 std::function

hdu1171(母函数或多重背包)

题意:把物品分成两份,使得价值最接近 可以用背包,或者是母函数来解,母函数(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v) 其中指数为价值,每一项的数目为(该物品数+1)个 代码如下: #include<iostream>#include<algorithm>

uva 10131 最长子序列

题意: 给大象的体重和智商,求体重按从大到小,智商从高到低的最长子序列,并输出路径。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vect

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

C++操作符重载实例(独立函数)

C++操作符重载实例,我们把坐标值CVector的加法进行重载,计算c3=c1+c2时,也就是计算x3=x1+x2,y3=y1+y2,今天我们以独立函数的方式重载操作符+(加号),以下是C++代码: c1802.cpp源代码: D:\YcjWork\CppTour>vim c1802.cpp #include <iostream>using namespace std;/*** 以独立函数

POJ1631最长单调递增子序列

最长单调递增子序列 import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.math.BigInteger;import java.util.StringTokenizer;publ

函数式编程思想

我们经常会用到各种各样的编程思想,例如面向过程、面向对象。不过笔者在该博客简单介绍一下函数式编程思想. 如果对函数式编程思想进行概括,就是f(x) = na(x) , y=uf(x)…至于其他的编程思想,可能是y=a(x)+b(x)+c(x)…,也有可能是y=f(x)=f(x)/a + f(x)/b+f(x)/c… 面向过程的指令式编程 面向过程,简单理解就是y=a(x)+b(x)+c(x)

leetcode105 从前序与中序遍历序列构造二叉树

根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7] 返回如下的二叉树: 3/ \9 20/ \15 7   class Solution {public TreeNode buildTree(int[] pr

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87