我是Tina表姐,毕业于中国人民大学,对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在,我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合,专为本次赛题设计,旨在帮助您深入理解数学建模的每一个环节。
让我们来分析数维杯A题!
数维杯(ABC三题)完整内容可以在文章末尾领取!
该段文字的第一个问题是:结合题目信息与数据,建立机会信号的数学表达式,并讨论能够唯一确定飞行器位置的最少的机会信号个数。
(一)问题背景
为了实现室内、隧道、建筑密集区等复杂环境下的自主定位导航,需要发展基于新型信号的自主定位导航方法。机会信号是指存在于空间域中的各类无线电信号,具有不同的频段。在多个发射源发射多种机会信号的场景下,考虑接收飞行器的自主导航解算问题,即:飞行器根据接收到的机会信号信息,通过飞行器机载设备,实时计算飞行器自身的三维空间位置。
根据机会信号蕴含的信息来分类,可以将机会信号分为五类:达到时间信息(TOA)、到达时间差信息(TDOA)、多普勒频率差信息(DFD)、到达角度信息(AOA)、接收强度指标信息(RSSI)。五类机会信号的具体信息含义如下:
(1)达到时间信息TOA:信号传输时间,即飞行器接收信号时间与信号发射时间的差。
(2)到达时间差信息TDOA:同一信号从两个发射源(同时发射)到达接收端的时间差。
(3)多普勒频率差信息DFD:同一信号从两个发射源发射,由于飞行器与信号源具有相对速度,接收信号会产生频率变化,进而产生信号频率差。
(4)到达角度信息AOA:接收源可得到发射源信号的相对角度信息。
(5)接收强度指标信息RSSI:通过对比标称距离下的标称信号强度,可以获得接收信号的强度指标信息。
(二)数学表达式
假设有n个发射源,每个发射源发射m种机会信号,则接收到的机会信号可以表示为一个n×m的矩阵S,其中S(i,j)表示第i个发射源发射的第j种机会信号。
根据机会信号的分类,可以得到以下五种数学表达式:
(1)达到时间信息TOA:
假设信号的传播速度为c,接收到的达到时间信息TOA可以表示为:
TOA = T + τ
其中,T为信号发射时间,τ为飞行器接收到信号的时间差。
(2)到达时间差信息TDOA:
假设第一个发射源为基准发射源,则第i个发射源发射的信号到达时间差信息可以表示为:
TDOA(i) = τ(i) - τ(1)
其中,τ(i)为第i个发射源发射的信号到达时间,τ(1)为基准发射源发射的信号到达时间。
(3)多普勒频率差信息DFD:
假设第一个发射源为基准发射源,接收到的多普勒频率差信息DFD可以表示为:
DFD(i) = Δf(i) - Δf(1)
其中,Δf(i)为第i个发射源信号的频率变化,Δf(1)为基准发射源信号的频率变化。
信号的频率变化可以由以下公式计算:
Δf(i) = (v(i) ⋅ d(i)) / R(i)
其中,v(i)为第i个发射源相对接收源的速度向量,d(i)为第i个发射源相对接收源的位移向量,R(i)为第i个发射源与接收源的距离。
(4)到达角度信息AOA:
假设信号的传播速度为c,接收到的到达角度信息AOA可以表示为:
AOA = tan(a) / tan(β)
其中,a为发射源与接收源连线在xOy平面投影线段与x轴正方向的夹角,β为发射源与接收源连线与z轴负方向的夹角。
(5)接收强度指标信息RSSI:
假设信号的发射功率为P,信号的衰减系数为α,接收到的接收强度指标信息RSSI可以表示为:
RSSI = P / (d ⋅ R1/α)
其中,d为发射源与接收源之间的标称距离,R为发射源与接收源的实际距离。
(三)唯一确定飞行器位置的最少机会信号个数
根据上述数学表达式,可以看出,每种机会信号都可以提供不同的信息来确定飞行器的位置。下面分别讨论每种机会信号需要的最少个数来唯一确定飞行器位置:
(1)TOA:由于TOA只提供了时间信息,需要至少三个发射源发射的信号来确定飞行器的位置。
(2)TDOA:由于TDOA提供了时间差信息,需要至少两组发射源发射的信号来确定飞行器的位置。
(3)DFD:由于DFD提供了频率差信息,需要至少两组发射源发射的信号来确定飞行器的速度,再结合飞行器的起始位置,可以唯一确定飞行器的位置。
(4)AOA:由于AOA提供了角度信息,需要至少两个发射源发射的信号来确定飞行器的位置。
(5)RSSI:由于RSSI提供了信号强度信息,需要至少一个发射源发射的信号来确定飞行器的位置。
综上所述,最少需要五个发射源发射的信号,其中包括三个发射源发射的TOA信号和两个发射源发射的AOA信号,来唯一确定飞行器的位置。
解答:根据题目信息和数据,可以建立机会信号的数学表达式如下:
假设有N种不同类型的机会信号,每种机会信号的发射源个数分别为n1, n2, …, nN。对于第i种机会信号,接收时间为ti,发射源分别为Si1, Si2, …, Sin_i。飞行器接收到的该机会信号的参数为Pi1, Pi2, …, Pin_i。
对于到达时间差信息和多普勒频率差信息,可以建立方程组:
[TDOA_{ij} = t_i - t_j]\
[DFD_{ij} = \frac{f_i}{c} \cdot \left( \frac{v_{ij}\cdot \vec{d_{ij}}}{|\vec{d_{ij}}|} \right) - \frac{f_j}{c} \cdot \left( \frac{v_{ij}\cdot \vec{d_{ij}}}{|\vec{d_{ij}}|} \right)]
其中,TDOAijTDOA_{ij}TDOAij为接收到第i种机会信号和接收到第j种机会信号的到达时间差,DFDijDFD_{ij}DFDij为接收到第i种机会信号和接收到第j种机会信号的多普勒频率差,tit_iti为接收到第i种机会信号的时间,tjt_jtj为接收到第j种机会信号的时间,fif_ifi为第i种机会信号的频率,ccc为信号的传播速度,vijv_{ij}vij为接收器和发射源之间的相对速度,dij⃗\vec{d_{ij}}dij为接收器和发射源之间的位移向量。
对于到达角度信息,可以建立方程:
[AOA_{ij} = \tan^{-1} \left( \frac{y_i - y_j}{x_i - x_j} \right) ]
其中,AOAijAOA_{ij}AOAij为接收到第i种机会信号和接收到第j种机会信号的到达角度信息,xi,yix_i, y_ixi,yi为第i个发射源的坐标,xj,yjx_j, y_jxj,yj为第j个发射源的坐标。
对于接收强度指标信息,可以建立方程:
[RSSI_{i} = P_{i} - 10 \cdot \gamma \cdot \log \left( \frac{d_i}{d_0} \right) ]
其中,RSSIiRSSI_{i}RSSIi为接收到第i种机会信号的接收强度指标,PiP_{i}Pi为信号的标称强度,γ\gammaγ为信道衰减系数,did_idi为接收器和发射源的距离,d0d_0d0为标称距离。
根据以上方程,可以得出结论:
-
对于到达时间差信息,由于每个发射源发射的信号都具有不同的发射时间,因此只需要两种不同的机会信号即可唯一确定飞行器位置。
-
对于多普勒频率差信息,由于同一种机会信号的不同发射源所发射的信号具有相同的频率,因此需要至少两种不同的机会信号才能唯一确定飞行器位置。
-
对于到达角度信息,由于该信息无法提供关于距离的信息,因此无法单独使用该信息来确定飞行器位置,需要结合其他信息来使用。
-
对于接收强度指标信息,由于该信息无法确定飞行器和发射源之间的相对位置,因此无法单独使用该信息来确定飞行器位置,需要结合其他信息来使用。
综上所述,至少需要两种不同的机会信号来唯一确定飞行器位置。
import numpy as np
import pandas as pd
# 读取附件1中的数据
data = pd.read_csv("附件1.csv")
# 根据每个信号的类型,建立对应的数学表达式
# 达到时间信息TOA的数学表达式为:
# TOA = 接收信号时间 - 发射信号时间
# 计算TOA的值
TOA = data['接收信号时间'] - data['发射信号时间']
# 到达时间差信息TDOA的数学表达式为:
代码被吃掉了
# 多普勒频率差信息DFD的数学表达式为:
# DFD = (f1 - f2) / (v / c) * (x1 * cos(alfa) + y1 * sin(alfa))
# 其中,