1太阳影子定位摘要全球定位是信息时代发展的必然趋势,太阳影子数据视频定位对信息时代的全球定位发展有着重大影响。针对问题一:本文查找资料建立了影子长度与太阳高度角、观测的地理经纬度、季节(年、月、日)和时间等各个因素的函数关系。并对大气折射引起的误差进行了模型修正,利用MATLAB软件求解,得到影长在9点钟大概7米长逐渐递减到12点半约3.6米长,在此之后呈递增趋势。针对问题二:本文对附件1的数据进行分析处理,然后将问题一中建立所有的函数表达式含有经纬度,直杆的高度的参数设为未知量,建立最小二乘法的非线性拟合模型,利用MATLAB软件求得其中一部分数据得知直杆所在地可能为海南、云南、缅甸等,最后,本文还将求得出的未知量反代入自拟函数中,得到测算影长和实际影长拟合变化曲线非常吻合。针对问题三:此问同问题二思路,分别对附件2和附件3中的数据进行分析处理,然后,在问题二建立的函数基础上,再增加一个未知量日期,最后通过附件二中的数据用MATLAB软件求解得到杆子可能的所在地点为西藏自治区、印度和新疆维吾尔自治区等,对应的日期分别为2015年2月11日、2015年1月31日和2015年2月7日等;同理通过附件三中的数据得到杆子可能的所在地点为河南、湖北和山西等,对应的日期分别为2015年4月18日、2015年3月31日和2015年3月25日等。针对问题四:本文首先用MATLAB对视频进行解码处理,得到rgb图片并灰度化处理,取点计算直杆长度和影子长度。得到视频影长数据表七,代入问题二模型中,利用MATLAB软件求解得到直杆可能于2015年1月1日在长春或者2015年3月10日在菲律宾等一系列地方。关键词:MATLAB最小二乘法视频解码器1一、问题重述如何确定视频的拍摄地点和拍摄日期是视频数据分析的重要方面,太阳影子定位技术就是通过分析视频中物体的太阳影子变化,确定视频拍摄的地点和日期的一种方法。1.建立影子长度变化的数学模型,分析影子长度关于各个参数的变化规律,并应用我们建立的模型画出2015年10月22日北京时间9:00-15:00之间天安门广场(北纬39度54分26秒,东经116度23分29秒)3米高的直杆的太阳影子长度的变化曲线。2.根据某固定直杆在水平地面上的太阳影子顶点坐标数据,建立数学模型确定直杆所处的地点。将我们的模型应用于附件1的影子顶点坐标数据,给出若干个可能的地点。3.根据某固定直杆在水平地面上的太阳影子顶点坐标数据,建立数学模型确定直杆所处的地点和日期。将你们的模型分别应用于附件2和附件3的影子顶点坐标数据,给出若干个可能的地点与日期。4.附件4为一根直杆在太阳下的影子变化的视频,并且已通过某种方式估计出直杆的高度为2米。请建立确定视频拍摄地点的数学模型,并应用你们的模型给出若干个可能的拍摄地点。如果拍摄日期未知,你能否根据视频确定出拍摄地点与日期?2二、问题分析2.1问题一问题一是一个规划模型,根据问题一所给出的函数关系式,建立影长与年份、日期、时间、经纬度、杆长等等的函数关系模型,以及附件中给出数据计算出来,用MATLAB,对未知量参数经度、纬度、杆长进行自定义函数进行拟合,求出未知数。2.2问题二问题二是一个预测问题,通过问题一的整体规划模型,根据附件1所给的数值建立参数判别影子长度的影响程度。问题的特点在与仅仅给出了日期、时刻、影子长度等少量参数。难点在于要抓住参数与参数之间的联系,通过模型的建立拟合真实影长,并预测附件中给出数据的可能地点2.3问题三问题三同问题二一样是一个整体预测问题,难点在于相比问题二多了一个未知量,使得三维预测编程了预测问题。2.4问题四对附件中视频进行处理和图片提取,利用问题二和问题三用MATLAB对影长函数关系式进行非线性拟合,求出经度、纬度、杆长等等未知数。三、问题的假设1、假设地球是一个密度均匀的球体;2、假设杆子是刚体,不受气温的影响而改变长度;3、假设视频中选取出来的直杆和影子长度即真实的长度;4、假设影子的变化时间不会影响赤纬角的变化。3四、符号的说明H太阳高度角A方位角D经度t时角qE时差时N天数积日N积日修正值Y数据获取的年份B赤纬角A纬度S观察时刻length杆影的长度L直杆的高度折射角k直杆坐标与真实杆长的比例系数h程序测量影子长度4五、模型的建立与求解5.1.问题一的解答5.1.1问题一的分析首先查找资料分析影子长度与太阳高度角、观测的地理经纬度、季节(年、月、日)和时间等各个因素的关系,观察附件中的视频中杆子影子在一天实际当中的某个时间段的变化(有长变短再变长)过程如图(一),并建立函数表达式模型,然后利用MATLAB软件作出3米高的直杆的太阳影子长度的变化曲线。图一、杆子影子在一天某个时间段当中的变化过程5.1.2建立影子长度函数模型通过查找资料得到杆子影子长度与太阳高度角、当地纬度、太阳赤纬和太阳时角有关。1)太阳高度角的计算太阳影子的源头是来自太阳的光照,首先要确定影响太阳光照的参数指标,计算太阳在天体运动过程中相对于地球上视频拍摄地的相对位置,是该拍摄地的季节(年月日),该拍摄地的经纬度,拍摄当天的拍摄时间三个因素决定的,这些指标通常以地平坐标系以及赤道坐标系同时表示太阳位置,即太阳高度角H,A当地纬度,太阳视赤纬角B以及太阳时角t来表示的。建立表达式得:5cos(t)*pi/180)*cos(B*cos(A)pi/180)*sin(B*(A)sinsinH(sinH)arcsinH2)太阳相对位置的参数影响赤纬角赤纬角又称太阳赤纬,是地球赤道平面与太阳和地球中心的连线之间的夹角。赤纬角是由于地球绕太阳运行造成的现象,它随时间而变,因为地轴方向不变,所以赤纬角随地球在运行轨道上的不同点具有不同的数值。赤纬角以年为周期,在+23°26′与-23°26′的范围内移动,成为季节的标志。图二、赤纬角示意图每年6月21日或22日赤纬达到最大值+23°26′称为夏至,该日中午太阳位于地球北回归线正上空,是北半球日照时间最长、南半球日照时间最短的一天。所以一般用赤纬角来确定太阳相对地球上视频拍摄地点,赤纬角的表达式为:Q)*cos(3*0.0201Q)*cos(2*0.3656cos(Q)*0.7580-Q)*sin(3*0.1712-Q)*sin(2*0.1149(Q)sin*2567.233723.0B3)拍摄时间的参数影响计算时差时(qE)指真太阳时与地方时平均太阳时之差,计算公式为:(1)24)*Q))/(60*(2cos*6882.0-cos(Q)*7.0924-Q)*(2sin*9059.9sin*9857.1-0028.0()(QEq2422.365/0-**2QndnNpi(2)6L)-(Wdn(3)1985))-(Y*(0.25*floor-1985)-(Y*2422.06764.790n(4)24)*/(1560M/DL)((5)24/60F/SW)((6)其中N为拍摄日期的天数积日,即以1月1日为0,以此类推,2015年10月22日的积日为295天。△N为积日修正值。式中,D为观测点的经度,M为分值,换算成与格林尼治时间差L,东经取负号,西经为正好,S为观测时刻,F为分值。(Y为数据获取的年份,floor为MATLAB软件中的标准术语))(60/4/60*120)-23/60(11660/SEEqEF(7)pi/180*15*12)-(EEt(8)式中,EE为真太阳时,t为太阳时角再通过查阅参考文献,直杆影长的计算和太阳高度角存在着余切函数关系式,通过下图可以直观的了解太阳影子倍率变化:图三、杆长和影子的余切关系图得出:HLLengthcot*(9)Length为杆影的长度,L为杆子的高度7综上所述,将上文函数方程式通过程序方式写入MATLAB中,程序见附录最后得出影子变化过程如下图所示:图四、直杆的太阳影子长度的变化曲线5.1.3误差的分析与修正但是本文通过MATLAB进行运算时发现,通过本模型计算出来的太阳高度角并没有考虑到大气折射对日照光线的折射影响,图五、大气层对日照光线的折射作用图所以本文参考文献[1]大气层对日照光线的折射影响建立误差修正模型补充。地球上的大气,有氮、氧、氩等常定的气体成分,有二氧化碳、一氧化二氮8等含量大体上比较固定的气体成分,其密度和太空中的真空状态是不同的,太阳光在介质很少的太空中基本不会发生偏折,将导致影子长出现较大的误差。故这里采用上述模型计算时因加入大气折射参数进行模型修正。太阳光折射示意图如下图六、折射示意图修正模型如下:由图五、六所示的太阳影子及大气折射示意图可以看出,当太阳光进入大气层时会发生折射。因此,最后可得出考虑大气折射影响的太阳高度角H为:]R)-sin(90[arcsin-90H(10)其中为折射角5.2问题二的解答5.2.1问题二的分析问题二要求直杆所处的地点,实际是转化求直杆所处的经纬度问题。本文根据附件(一)给出的杆子影子顶点坐标数据、拍摄瞬时时间和日期,并结合上文问题(一)所建立数学函数表达式[(1)-(9)]模型,用MATLAB软件,对9未知量参数经度、纬度、杆长进行自定义函数进行拟合,求出未知数,问题二中的未知数在本文中设为X(i)(其中i=1.2.3.4.....)。5.2.2问题二的准备本文通过对问题二的分析,本文对附件一数据进行计算整理,数据处理结果如表一:表一北京时间x坐标(米)y坐标(米)影子的长度时间标准化(h)12:41-1.23520.1731.24725620512.68312:44-1.20810.1891.2227945912.73312:47-1.18130.20481.19892148612.78312:50-1.15460.22031.17542896412.83312:53-1.12810.23561.15243957312.88312:56-1.10180.25051.1299174712.93312:59-1.07560.26531.1078354812.98313:02-1.04960.27981.08625420613.03313:05-1.02370.2941.06508107213.08313:08-0.9980.3081.04444626513.13313:11-0.97240.32181.02426412613.18313:14-0.9470.33541.00464031413.23313:17-0.92170.34880.98549090813.28313:20-0.89650.36190.96679049413.33313:23-0.87140.37480.94858473513.38313:26-0.84640.38760.93092788113.43313:29-0.82150.40010.9137517513.48313:32-0.79670.41240.89710905113.53313:35-0.77190.42460.88097376213.58313:38-0.74730.43660.86549225913.63313:41-0.72270.44840.85050446813.68310图七、直杆影子长度随时间变化曲线图5.2.3问题二的求解由于问题二中直杆的高度、经度和纬度未知,则将问题一所建立的部分函数进行修改如下:24)*/(15)1(LX24Wt)(60/4/60*120)-X(1)EEqEtcos(t)*pi/180)*cos(B*cos(X(2))pi/180)*sin(B*X(2))(sinSinHHXLengthcot*)3(其中:)1(X为经度,)2(X为纬度,)3(X为杆长最后本文通过最小二乘拟合,用MATLAB中拟合函数tlsqcurvefi(程序见目录)来优化求出)1(X为经度,)2(X为纬度,)3(X为杆长最优解。最后本文还将求出的结果带入自定义函数中将测算影长和实际影长进行拟合,得出结果为