美文网首页
第五天. 非均匀离散傅里叶变换

第五天. 非均匀离散傅里叶变换

作者: 破旧的大卡车 | 来源:发表于2018-10-27 19:26 被阅读139次

分析第四天中用到的傅里叶变换, 发现我们的采样点间隔总是0.2秒. 作为实验, 我将演示这个间隔是影响数据的谱的.

均匀傅里叶变换

一个典型的实验是看函数f(x)=\sin(100 \times (2\pi x)), x\in[0,1]的谱. mma代码如下:

n = 400;
pos=Sort[Table[i/n, {i, n}]] // DeleteDuplicates;
testData = Table[N@Sin[100 2Pi x], {x, 0, 1, 1/n}];
ListLinePlot[testData]
ListLinePlot[Abs[Fourier[testData]], PlotRange -> All]

即我们取离散的点列pos, 它是等间距分布在[0,1]区间上的. 间隔为1/n. 其函数图象如下(用直线连接了离散的点):

fourier-uniform-data
而得到的谱为: 频率 fourier-uniform-spectrum
我想这些规律都可以从均匀傅里叶变换的公式推导得出:
non-uniform-fourier-spec

这可以由如下公式修正:

spec[w_?NumericQ] := 
 1/Sqrt[Length[dpos]] Exp[2 Pi I (w - 1) (dpos - 1)].testDatar
Plot[Abs[spec[w]], {w, -300, 300}, PlotRange -> All]
non-uniform-fourier-spec-modify
即我们手动定义了傅里叶变换的公式, 加入了时间变量:
v_s=\frac{1}{\sqrt{N}}\sum_{n=1}^Nu_ne^{2\pi i (s-1)(p_n-1)},
其中 p_n 就是数据 u_n 对应的时刻.

重新抓取数据

前面提到数据抓取的间隔太大, 这可以由

mSensorManager.registerListener(this, mAccelerometer, 10);

手动指定抓取时间间隔为0.01s.

希望对新数据可以得到步态的周期.

相关文章

  • 离散傅里叶变换 DFT

    离散傅里叶变换 DFT 周期 离散信号 (离散时间傅里叶变换:非周期,离散;傅里叶变换:非周期,连续;傅里叶级数:...

  • 第五天. 非均匀离散傅里叶变换

    分析第四天中用到的傅里叶变换, 发现我们的采样点间隔总是0.2秒. 作为实验, 我将演示这个间隔是影响数据的谱的....

  • 离散时间傅里叶变换

    1. 离散时间傅里叶变换的导出 针对离散时间非周期序列,为了建立它的傅里叶变换表示,我们将采用与连续情况下完全类似...

  • 快速傅里叶变换——理论

    本文公式较多,欢迎大家勘误 1.周期离散信号的傅里叶变换 离散信号傅里叶变换的公式如下所示: 离散傅里叶变换的原理...

  • OpenCV 离散傅里叶变换

    离散傅里叶变换(DFT) 定义 离散傅里叶变换(Discrete Fourier Transform,缩写为DFT...

  • 离散时间傅里叶变换

    回顾离散时间周期信号傅里叶级数 离散时间非周期信号傅里叶变换 考虑某一序列具有有限持续期,即在以外。这个非周期信号...

  • OpenCV C++(十)----傅里叶变换

    10.1、二维离散的傅里叶(逆)变换 10.1.1、原理 二维离散的傅里叶变换可以分解为一维离散的傅里叶变换: 图...

  • 快速傅里叶变换FFT(Fast Fourier Transfor

    快速傅里叶变换(Fast Fourier Transform,FFT)用来计算离散傅里叶变换(Discrete F...

  • 快速傅里叶变换和离散傅里叶变换

    快速傅里叶变换(FFT) 离散傅里叶变换(DFT) 基础理论是傅里叶变换的分离形式,和采样定理(香菜定理) 采样定...

  • Python科学计算——复杂信号FFT

    FFT (Fast Fourier Transform, 快速傅里叶变换) 是离散傅里叶变换的快速算法,也是数字信...

网友评论

      本文标题:第五天. 非均匀离散傅里叶变换

      本文链接:https://www.haomeiwen.com/subject/kxadtqtx.html