主要内容

利用FFT分析周期性数据

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

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

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

图中包含一个轴对象。标题为Sunspot Data的axes对象包含一个类型为line的对象。

为了进一步了解太阳黑子活动的周期性,绘制出前50年的数据。

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

图中包含一个轴对象。标题为Sunspot Data的axes对象包含一个类型为line的对象。

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

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

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

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

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

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

太阳黑子最大活动的频率低于一年一次。为了更容易理解周期性活动的观点,将图功率作为周期的函数,以每个周期的年为单位。图中显示,太阳黑子的活动高峰大约每11年出现一次。

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

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

另请参阅

||

相关的话题