当前位置 博文首页 > leslie lee的博客(python ansys):DFT理论
输入x(n),输出y(n)
齐次性:输入k*x(n),输出k*y(n)
可加性:输入x1(n),输出y1(n),输入x2(n),输出y2(n),则输入x1(n)+x2(n),输出y1(n)+y2(n)
位移不变性:输入x(n+s),输出y(n+s)
静态线性:输入为常数,输出为常数,记录多组输入与输出后,拟合出一条直线
正弦保真性:输入,输出
非周期、连续 信号:傅里叶变换FT
周期、连续 信号:傅里叶级数FS
非周期、离散?信号:离散时间傅里叶变换DTFT
周期、离散:离散傅里叶变换DFT,也称离散傅里叶级数DFS
上图为四种信号
非周期信号要用无穷个正弦曲线来合成,周期信号可以用有限个正弦曲线来合成。
连续信号要用连续的正弦曲线来合成,离散信号要用离散的正弦曲线来合成。
连续、无穷计算机都无法处理,所以计算机只能实现DFT。
实数DFT,N点的输入信号变成N/2+1点的输出信号
复数DFT,N点的输入信号变成N点的输出信号
正变换?
??
逆变换
输入与输出
,如果输入序列为实数,
推导与的关系
?
?
?
可以看出根本推不出啥关系,但如果输入为实数序列(本文从此处开始一直说的是实数序列)
此时就会推出
由此可见输入为实数序列与输入为复数序列稍微有些差别,实数序列的结果是重复的。
举个例子
输入:实数序列
输出:复数序列
根据推导出的公式得出?
我们只会要
再举个例子
输入:实数序列
输出:复数序列
根据推导出的公式得出?
我们只会要
绘制幅值谱时,不去掉重复的那些,绘制出来的就是对称的。
根据举的例子可看出N个元素的序列,我们最终保留下,[ ]为取整符号
这也就是为什么写逆变换公式时,有的写至N-1,有的写至[N/2](有的写作N/2,省略了取整的说明),这都是可以的
将公式继续展开
总所周知,Asinx+Bsinx这种形式可以合成为一个Csin(x+Φ),上面的形式为Acos-Bsin与Bcos+Asin
所以可写作
?
因此输入序列的每个点,都可看作个余弦与正弦上对应一点的的合成
对应
可以认为
输入序列也就可以看作个余弦与正弦的的合成
附一张我们常见的图,出自http://dspguide.com/ch8.html
说的就是一个16点的实数序列是9个正弦与9个余弦的合成
16点的实数序列是8个正弦或8个余弦的叠加,这样的想法也对,接下来我继续推导
?
如果N为偶数
可看作两个直流与N/2-1个简谐的叠加(此时N/2=[N/2]),可看作[N/2]+1个简谐(直流看作简谐的特殊情况)
如果N为奇数
可看作一个直流与[N/2]个简谐的叠加,可看作[N/2]+1个简谐
因此16点的实数序列是8个正弦或8个余弦的叠加,这里推到的是8个余弦的叠加,也可推到为8个正弦的叠加
参考:https://zhuanlan.zhihu.com/p/71582795