发明名称 一种基于Fourier级数模型的时序数据预测方法
摘要 本发明公开了一种基于Fourier级数模型的时序数据预测方法。使用本发明能够对在轨卫星的遥测数据进行有效预测,且预测精度较高。本发明首先对遥测采样数据进行预处理,剔除粗大误差、剔野,然后建立Fourier级数模型,并针对遥测采样数据特点,综合应用了快速傅里叶变换、矩阵的QR分解算法以及最小二乘法,确定Fourier级数模型的各个参数,最后利用Fourier级数模型对卫星遥测数据进行预测,获得较好的预测结果,与实际的遥测数据误差小,预测精度高。
申请公布号 CN106156499A 申请公布日期 2016.11.23
申请号 CN201610514261.4 申请日期 2016.07.04
申请人 山东航天电子技术研究所 发明人 杨海峰;王永生;贾一桢;牟懋竹;孙媛;邱瑞
分类号 G06F19/00(2011.01)I;G06F17/14(2006.01)I;G06F17/16(2006.01)I 主分类号 G06F19/00(2011.01)I
代理机构 北京理工大学专利中心 11120 代理人 代丽;仇蕾安
主权项 一种基于Fourier级数模型的时序数据预测方法,其特征在于,包括如下步骤:步骤1,对遥测采样数据进行预处理,剔除粗大误差、剔野;步骤2,建立Fourier级数模型;其中,Fourier级数模型为:y=Φ(x,t)=a<sub>0</sub>+a<sub>1</sub>cos(ωt)+b<sub>1</sub>sin(ωt)+a<sub>2</sub>cos(2ωt)+b<sub>2</sub>sin(2ωt)+a<sub>3</sub>cos(3ωt)+b<sub>3</sub>sin(3ωt)+a<sub>4</sub>cos(4ωt)+b<sub>4</sub>sin(4ωt)+…+a<sub>K</sub>cos(Kωt)+b<sub>K</sub>sin(Kωt)其中,x=(a<sub>0</sub>,a<sub>1</sub>,b<sub>1</sub>,a<sub>2</sub>,b<sub>2</sub>,a<sub>3</sub>,b<sub>3</sub>,a<sub>4</sub>,b<sub>4</sub>,…,a<sub>K</sub>,b<sub>K</sub>,ω),为待求模型参数;ω为基频,(a<sub>0</sub>,a<sub>1</sub>,b<sub>1</sub>,a<sub>2</sub>,b<sub>2</sub>,a<sub>3</sub>,b<sub>3</sub>,a<sub>4</sub>,b<sub>4</sub>,…,a<sub>K</sub>,b<sub>K</sub>)为模型系数;t为采样时间;y为采样时间对应的遥测采样数据;K为Fourier级数模型的阶数;步骤3,求取Fourier级数模型的参数x;步骤3.1,利用FFT变换求取步骤1预处理后的采样数据的最大频率ω<sub>peak</sub>:F<sub>Y</sub>=FFT(Y)<maths num="0001"><math><![CDATA[<mrow><msub><mi>&omega;</mi><mrow><mi>p</mi><mi>e</mi><mi>a</mi><mi>k</mi></mrow></msub><mo>=</mo><mn>2</mn><mi>&pi;</mi><mfrac><mrow><mi>m</mi><mi>a</mi><mi>x</mi><mrow><mo>(</mo><mn>0.5</mn><mo>,</mo><mi>max</mi><mo>_</mo><mi>l</mi><mi>o</mi><mi>c</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow><mrow><msub><mi>t</mi><mi>m</mi></msub><mo>-</mo><msub><mi>t</mi><mn>1</mn></msub></mrow></mfrac></mrow>]]></math><img file="FDA0001039877930000011.GIF" wi="676" he="134" /></maths>其中,Y=[y<sub>1</sub>,y<sub>2</sub>,…,y<sub>m</sub>]<sup>T</sup>,y<sub>1</sub>,y<sub>2</sub>,…,y<sub>m</sub>为采样时刻t<sub>1</sub>,t<sub>2</sub>,…,t<sub>m</sub>对应的遥测数据采样值;max_loc为FFT变换序列F<sub>Y</sub>前一半的最大值索引号;步骤3.2,令ω=ω<sub>peak</sub>/k,k=1,2,…,K;针对K个ω,均进行如下处理:(1)构造矩阵A:<maths num="0002"><math><![CDATA[<mrow><mi>A</mi><mo>=</mo><msub><mfenced open = "[" close = "]"><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><msub><mi>t</mi><mn>1</mn></msub><mi>&omega;</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>sin</mi><mrow><mo>(</mo><msub><mi>t</mi><mn>1</mn></msub><mi>&omega;</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><mn>2</mn><msub><mi>t</mi><mn>1</mn></msub><mi>&omega;</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>sin</mi><mrow><mo>(</mo><mn>2</mn><msub><mi>t</mi><mn>1</mn></msub><mi>&omega;</mi><mo>)</mo></mrow></mrow></mtd><mtd><mo>...</mo></mtd><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><mn>4</mn><msub><mi>t</mi><mn>1</mn></msub><mi>&omega;</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>sin</mi><mrow><mo>(</mo><mn>4</mn><msub><mi>t</mi><mn>1</mn></msub><mi>&omega;</mi><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><msub><mi>t</mi><mn>2</mn></msub><mi>&omega;</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>sin</mi><mrow><mo>(</mo><msub><mi>t</mi><mn>2</mn></msub><mi>&omega;</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><mn>2</mn><msub><mi>t</mi><mn>2</mn></msub><mi>&omega;</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>sin</mi><mrow><mo>(</mo><mn>2</mn><msub><mi>t</mi><mn>2</mn></msub><mi>&omega;</mi><mo>)</mo></mrow></mrow></mtd><mtd><mo>...</mo></mtd><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><mn>4</mn><msub><mi>t</mi><mn>2</mn></msub><mi>&omega;</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>sin</mi><mrow><mo>(</mo><mn>4</mn><msub><mi>t</mi><mn>2</mn></msub><mi>&omega;</mi><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><msub><mi>t</mi><mi>m</mi></msub><mi>&omega;</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>sin</mi><mrow><mo>(</mo><msub><mi>t</mi><mi>m</mi></msub><mi>&omega;</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><mn>2</mn><msub><mi>t</mi><mi>m</mi></msub><mi>&omega;</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>sin</mi><mrow><mo>(</mo><mn>2</mn><msub><mi>t</mi><mi>m</mi></msub><mi>&omega;</mi><mo>)</mo></mrow></mrow></mtd><mtd><mo>...</mo></mtd><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><mn>4</mn><msub><mi>t</mi><mi>m</mi></msub><mi>&omega;</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>sin</mi><mrow><mo>(</mo><mn>4</mn><msub><mi>t</mi><mi>m</mi></msub><mi>&omega;</mi><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced><mrow><mi>m</mi><mo>&times;</mo><mn>9</mn></mrow></msub></mrow>]]></math><img file="FDA0001039877930000012.GIF" wi="1644" he="303" /></maths>(2)对矩阵A进行QR分解:[Q,R,E]=qr(A,0)(3)求取矩阵R的秩rand(R),令p=rand(R),取矩阵Q的前p列,即Q′=Q(:,1:p)(4)求取拟合序列Y<sub>fit</sub>=Q′×(Q′<sup>T</sup>×Y);(5)计算||Y‑Y<sub>fit</sub>||;步骤3.3,针对步骤3.2获得的K个||Y‑Y<sub>fit</sub>||值,选取其中最小值||Y‑Y<sub>fit</sub>||<sub>min</sub>对应的频率为最佳基频ω<sub>bset</sub>;步骤3.4,根据步骤3.3获得的最佳基频ω<sub>bset</sub>,利用最小二乘求取其他模型系数:[a<sub>0</sub> a<sub>1</sub> b<sub>1</sub> … a<sub>4</sub> b<sub>4</sub>]<sup>T</sup>=(A<sup>T</sup>A)<sup>‑1</sup>A<sup>T</sup>Y,其中,<maths num="0003"><math><![CDATA[<mrow><mi>A</mi><mo>=</mo><msub><mfenced open = "[" close = "]"><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><msub><mi>t</mi><mn>1</mn></msub><msub><mi>&omega;</mi><mrow><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>sin</mi><mrow><mo>(</mo><msub><mi>t</mi><mn>1</mn></msub><msub><mi>&omega;</mi><mrow><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd><mtd><mo>...</mo></mtd><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><mn>4</mn><msub><mi>t</mi><mn>1</mn></msub><msub><mi>&omega;</mi><mrow><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>sin</mi><mrow><mo>(</mo><mn>4</mn><msub><mi>t</mi><mn>1</mn></msub><msub><mi>&omega;</mi><mrow><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><msub><mi>t</mi><mn>2</mn></msub><msub><mi>&omega;</mi><mrow><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>sin</mi><mrow><mo>(</mo><msub><mi>t</mi><mn>2</mn></msub><msub><mi>&omega;</mi><mrow><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd><mtd><mo>...</mo></mtd><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><mn>4</mn><msub><mi>t</mi><mn>2</mn></msub><msub><mi>&omega;</mi><mrow><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>sin</mi><mrow><mo>(</mo><mn>4</mn><msub><mi>t</mi><mn>2</mn></msub><msub><mi>&omega;</mi><mrow><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd><mtd><mrow></mrow></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><msub><mi>t</mi><mi>m</mi></msub><msub><mi>&omega;</mi><mrow><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>sin</mi><mrow><mo>(</mo><msub><mi>t</mi><mi>m</mi></msub><msub><mi>&omega;</mi><mrow><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd><mtd><mo>...</mo></mtd><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><mn>4</mn><msub><mi>t</mi><mi>m</mi></msub><msub><mi>&omega;</mi><mrow><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>sin</mi><mrow><mo>(</mo><mn>4</mn><msub><mi>t</mi><mi>m</mi></msub><msub><mi>&omega;</mi><mrow><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced><mrow><mi>m</mi><mo>&times;</mo><mn>9</mn></mrow></msub></mrow>]]></math><img file="FDA0001039877930000021.GIF" wi="1406" he="303" /></maths>从而获得确定的Fourier级数模型;步骤4,利用步骤3确定的Fourier级数模型对遥测数据进行预测。
地址 264670 山东省烟台市高新区航天路513号