主要内容

用FFT分析周期性数据

您可以使用傅里叶变换来分析数据的变化,例如一段时间内的自然事件。

近300年来,天文学家一直使用苏黎世太阳黑子相对数来计算太阳黑子的数量和大小。绘制苏黎世大约1700年到2000年的数字。

负载sunspot.dat年=太阳黑子(:1);relNums =太阳黑子(:,2);情节,relNums包含(“年”) ylabel (“苏黎世数量”)标题(“太阳黑子数据”

图中包含一个轴对象。标题为“太阳黑子数据”的轴对象包含一个类型为line的对象。

为了更仔细地观察太阳黑子活动的周期性,绘制出前50年的数据。

情节(年(1:50)relNums (1:50),“b -”);包含(“年”) ylabel (“苏黎世数量”)标题(“太阳黑子数据”

图中包含一个轴对象。标题为“太阳黑子数据”的轴对象包含一个类型为line的对象。

傅里叶变换是信号处理中识别数据中频率成分的基本工具。使用fft函数,对苏黎世数据进行傅里叶变换。删除输出的第一个元素,该元素存储数据的和。绘制输出的剩余部分,其中包含关于实轴的复傅立叶系数的镜像。

y = fft (relNums);y (1) = [];情节(y,“罗”)包含(“真实的(y)”) ylabel (“图像放大(y)”)标题(的傅里叶系数

图中包含一个轴对象。标题为傅里叶系数的轴对象包含一个类型为line的对象。

傅里叶系数本身是很难解释的。系数的一个更有意义的度量是其大小的平方,这是一个幂的度量。由于一半的系数在大小上重复,您只需要计算一半系数的功率。绘制功率谱作为频率的函数,以每年的周期测量。

n =长度(y);功率= abs (y(1:地板(n / 2))) ^ 2;变换数据前一半的%幂maxfreq = 1/2;%最大频率频率= (1:n / 2) / (n / 2) * maxfreq;等间隔频率栅格情节(频率、功率)包含(“周期/年”) ylabel (“权力”

图中包含一个轴对象。axis对象包含一个类型为line的对象。

最大的太阳黑子活动每年发生的频率少于一次。对于更容易解释的周期性活动,将功率作为周期的函数绘制出来,以每个周期的年为单位。这张图显示太阳黑子活动大约每11年达到一次高峰。

时间= 1. /频率;情节(时期,权力);xlim (50 [0]);%放大最大功率包含(“年/周期”) ylabel (“权力”

图中包含一个轴对象。axis对象包含一个类型为line的对象。

另请参阅

||

相关的话题