傅里叶变换 - 1

快速傅里叶变换需要用到单位根的性质,在此先介绍下复数单位根及其性质

1. 复数单位根及其性质
w n = 1 w^{n} = 1 wn=1

   符合条件的w值就是 复数单位根。将单位根在图中表示,横轴表示实部,纵轴表示虚部,python代码如下

# 绘制复数单位根图像
import numpy as np
import matplotlib.pyplot as plot


plot.axes(projection='polar')
plot.title('root of unit')
n = 8  #单位根的个数
rads = np.arange(0, 2*np.pi, 2*np.pi/n)
for rad in rads:
    plot.polar(rad, 1, 'o')
plot.show()

图片为:
在这里插入图片描述

复数单位跟的性质
w n k = c o s ( 2 π k n ) − i ∗ s i n ( 2 π k n ) , k = 0 , 1 , 2 , . . . , n − 1 w_{n}^{k} = cos\left ( \frac{2\pi k}{n}\right ) - i * sin\left ( \frac{2\pi k}{n} \right ), k=0,1,2,...,n-1 wnk=cos(n2πk)isin(n2πk),k=0,1,2,...,n1
    w n k w_{n}^{k} wnk 中,n表示单位根的个数,k表示第k个单位根。i对应虚数单位
1)当n>0满足 w d n d k = w n k w_{dn}^{dk} = w_{n}^{k} wdndk=wnk 因为
w d n d k = c o s ( 2 π d k d n ) − i ∗ s i n ( 2 π d k d n ) = c o s ( 2 π k n ) − i ∗ s i n ( 2 π k n ) = w n k , k ≥ 0 , n > 0 , d > 0 w_{dn}^{dk} = cos(\frac{2\pi dk}{dn}) - i*sin(\frac{2\pi dk}{dn}) = cos(\frac{2\pi k}{n}) - i*sin(\frac{2\pi k}{n}) = w_{n}^{k}, k\geq 0, n > 0, d>0 wdndk=cos(dn2πdk)isin(dn2πdk)=cos(n2πk)isin(n2πk)=wnk,k0,n>0,d>0
2) 如果n是大于0的偶数,那么就有 w n n 2 = − 1 w_{n}^{\frac{n}{2}} = -1 wn2n=1因为
w n n 2 = c o s ( 2 π n 2 n ) − i ∗ s i n ( 2 π n 2 n ) = c o s ( π ) − i ∗ s i n ( π ) = − 1 − 0 = − 1 w_{n}^{\frac{n}{2}} = cos\left ( \frac{2\pi \frac{n}{2}}{n}\right ) - i*sin \left ( \frac{2\pi \frac{n}{2}}{n}\right ) = cos\left ( \pi \right ) - i * sin\left ( \pi \right ) = -1 - 0 = -1 wn2n=cos(n2π2n)isin(n2π2n)=cos(π)isin(π)=10=1
3) ( w n k ) 2 = w n 2 k \left ( {w_{n}^{k}} \right )^{^{2}} = {w_{n}^{2k}} (wnk)2=wn2k当n是偶数时,满足
( w n k + n 2 ) 2 = w n 2 k + n = w n 2 k = ( w n k ) 2 {\left ( w_{n}^{k+\frac{n}{2}}\right )^{2}} = w_{n}^{2k+n} = w_{n}^{2k} = \left ( w_{n}^{k} \right )^{2} (wnk+2n)2=wn2k+n=wn2k=(wnk)2 推导:
   a :
( w n k ) 2 = [ c o s ( 2 π k n ) − i ∗ s i n ( 2 π k n ) ] 2 = c o s 2 ( 2 π k n ) − s i n 2 ( 2 π k n ) − 2 ∗ i ∗ s i n ( 2 π k n ) ∗ c o s ( 2 π k n ) = c o s ( 4 π k n ) − i ∗ s i n ( 4 π k n ) = w n 2 k \\\left ( w_{n}^{k} \right )^{2} = \left [ cos\left ( \frac{2\pi k}{n} \right ) - i * sin\left ( \frac{2\pi k}{n} \right ) \right ]^{2} \\= cos^{2}\left ( \frac{2\pi k}{n} \right ) - sin^{2}\left ( \frac{2\pi k}{n} \right ) - 2 * i * sin\left ( \frac{2\pi k}{n}\right ) * cos\left ( \frac{2\pi k}{n}\right ) \\= cos\left ( \frac{4\pi k}{n} \right ) - i * sin\left ( \frac{4\pi k}{n} \right ) = w_{n}^{2k} (wnk)2=[cos(n2πk)isin(n2πk)]2=cos2(n2πk)sin2(n2πk)2isin(n2πk)cos(n2πk)=cos(n4πk)isin(n4πk)=wn2k
   b:
( w n k + n 2 ) 2 = w n 2 k + n = c o s ( 2 π ( 2 k + n ) n ) − i ∗ s i n ( 2 π ( 2 k + n ) n ) = c o s ( 4 π k n ) − i ∗ s i n ( 4 π k n ) = w n 2 k = ( w n k ) 2 \left ( w_{n}^{k+\frac{n}{2}} \right )^{2} = w_{n}^{2k+n}\\ = cos\left ( \frac{2\pi (2k+n)}{n} \right ) - i * sin\left ( \frac{2\pi (2k+n)}{n} \right )\\ = cos\left ( \frac{4\pi k}{n} \right ) - i * sin\left ( \frac{4\pi k}{n} \right ) = w_{n}^{2k} = \left ( w_{n}^{k} \right )^{2} (wnk+2n)2=wn2k+n=cos(n2π(2k+n))isin(n2π(2k+n))=cos(n4πk)isin(n4πk)=wn2k=(wnk)2
4)
∑ j = 0 n − 1 ( w n k ) j = 0 \sum_{j=0}^{n-1}\left ( w_{n}^{k}\right )^{j} = 0 j=0n1(wnk)j=0根据等比数列求和公式
∑ j = 0 n − 1 p j = p n − 1 p − 1 \sum_{j=0}^{n-1}p^{j} = \frac{p^{n} - 1}{p - 1} j=0n1pj=p1pn1
性质4)公式可展开为
∑ j = 0 n − 1 ( w n k ) j = ( w n k ) n − 1 w n k − 1 = w n k n − 1 w n k − 1 = 1 − 1 w n k − 1 = 0 \sum_{j=0}^{n-1}\left ( w_{n}^{k} \right )^{j} = \frac{\left ( w_{n}^{k} \right )^{n} - 1}{w_{n}^{k} - 1} = \frac{w_{n}^{kn} - 1}{w_{n}^{k} - 1} = \frac{1 -1 }{w_{n}^{k} - 1} = 0 j=0n1(wnk)j=wnk1(wnk)n1=wnk1wnkn1=wnk111=0
5) w n k + j = w n k ∗ w n j w_{n}^{k+j} = w_{n}^{k} * w_{n}^{j} wnk+j=wnkwnj推导:
w n k ∗ w n j = [ c o s ( 2 π k n ) − i ∗ s i n ( 2 π k n ) ] ∗ [ c o s ( 2 π j n ) − i ∗ s i n ( 2 π j n ) ] = c o s ( 2 π k n ) ∗ c o s ( 2 π j n ) − s i n ( 2 π k n ) ∗ s i n ( 2 π j n ) − i ∗ [ s i n ( 2 π k n ) ∗ c o s ( 2 π j n ) + c o s ( 2 π k n ) ∗ s i n ( 2 π j n ) ] w_{n}^{k} * w_{n}^{j} = \left [ cos\left ( \frac{2\pi k}{n} \right ) - i * sin\left ( \frac{2\pi k}{n}\right )\right ] * \left [ cos\left ( \frac{2\pi j}{n} \right ) - i * sin\left ( \frac{2\pi j}{n}\right )\right ] \\ = cos\left ( \frac{2\pi k}{n} \right ) * cos\left ( \frac{2\pi j}{n}\right ) - sin\left ( \frac{2\pi k}{n}\right ) * sin\left ( \frac{2\pi j}{n} \right ) \\- i * \left [ sin\left ( \frac{2\pi k}{n} \right ) * cos\left ( \frac{2\pi j}{n} \right ) + cos\left ( \frac{2\pi k}{n} \right ) * sin\left ( \frac{2\pi j}{n} \right )\right ] wnkwnj=[cos(n2πk)isin(n2πk)][cos(n2πj)isin(n2πj)]=cos(n2πk)cos(n2πj)sin(n2πk)sin(n2πj)i[sin(n2πk)cos(n2πj)+cos(n2πk)sin(n2πj)] 根据三角公式积化和差,有
            c o s ( 2 π k n ) ∗ c o s ( 2 π j n ) = 1 2 [ c o s ( 2 π k + 2 π j n ) + c o s ( 2 π k − 2 π j n ) ] cos\left ( \frac{2\pi k}{n} \right ) * cos\left ( \frac{2\pi j}{n}\right ) = \frac{1}{2}\left [ cos\left ( \frac{2\pi k + 2\pi j}{n}\right ) + cos\left ( \frac{2\pi k - 2\pi j}{n}\right ) \right ] cos(n2πk)cos(n2πj)=21[cos(n2πk+2πj)+cos(n2πk2πj)]
            s i n ( 2 π k n ) ∗ s i n ( 2 π j n ) = − 1 2 [ c o s ( 2 π k + 2 π j n ) − c o s ( 2 π k − 2 π j n ) ] sin\left ( \frac{2\pi k}{n}\right ) * sin\left ( \frac{2\pi j}{n} \right ) = -\frac{1}{2}\left [ cos\left ( \frac{2\pi k + 2\pi j}{n}\right ) - cos\left ( \frac{2\pi k - 2\pi j}{n}\right ) \right ] sin(n2πk)sin(n2πj)=21[cos(n2πk+2πj)cos(n2πk2πj)]
           s i n ( 2 π k n ) ∗ c o s ( 2 π j n ) = 1 2 [ s i n ( 2 π k + 2 π j n ) + s i n ( 2 π k − 2 π j n ) ] sin\left ( \frac{2\pi k}{n} \right ) * cos\left ( \frac{2\pi j}{n} \right ) = \frac{1}{2}\left [ sin\left ( \frac{2\pi k + 2\pi j}{n}\right ) + sin\left ( \frac{2\pi k - 2\pi j}{n}\right ) \right ] sin(n2πk)cos(n2πj)=21[sin(n2πk+2πj)+sin(n2πk2πj)]
           c o s ( 2 π k n ) ∗ s i n ( 2 π j n ) = 1 2 [ s i n ( 2 π k + 2 π j n ) − s i n ( 2 π k − 2 π j n ) ] cos\left ( \frac{2\pi k}{n} \right ) * sin\left ( \frac{2\pi j}{n} \right ) = \frac{1}{2}\left [ sin\left ( \frac{2\pi k + 2\pi j}{n}\right ) - sin\left ( \frac{2\pi k - 2\pi j}{n}\right ) \right ] cos(n2πk)sin(n2πj)=21[sin(n2πk+2πj)sin(n2πk2πj)]
推导公式可化简为:

= 1 2 [ c o s ( 2 π k + 2 π j n ) + c o s ( 2 π k − 2 π j n ) ] + 1 2 [ c o s ( 2 π k + 2 π j n ) − c o s ( 2 π k − 2 π j n ) ] − i ∗ [ 1 2 [ s i n ( 2 π k + 2 π j n ) + s i n ( 2 π k − 2 π j n ) ] + 1 2 [ s i n ( 2 π k + 2 π j n ) − s i n ( 2 π k − 2 π j n ) ] ] = c o s ( 2 π k + 2 π j n ) − i ∗ s i n ( 2 π k + 2 π j n ) = w n k + j =\frac{1}{2}\left [ cos\left ( \frac{2\pi k + 2\pi j}{n}\right ) + cos\left ( \frac{2\pi k - 2\pi j}{n}\right ) \right ] + \frac{1}{2}\left [ cos\left ( \frac{2\pi k + 2\pi j}{n}\right ) - cos\left ( \frac{2\pi k - 2\pi j}{n}\right ) \right ] \\- i * \left [ \frac{1}{2}\left [ sin\left ( \frac{2\pi k + 2\pi j}{n}\right ) + sin\left ( \frac{2\pi k - 2\pi j}{n}\right ) \right ] + \frac{1}{2}\left [ sin\left ( \frac{2\pi k + 2\pi j}{n}\right ) - sin\left ( \frac{2\pi k - 2\pi j}{n}\right ) \right ] \right ] \\ = cos\left ( \frac{2\pi k + 2\pi j}{n}\right ) - i * sin\left ( \frac{2\pi k + 2\pi j}{n}\right ) = w_{n}^{k+j} =21[cos(n2πk+2πj)+cos(n2πk2πj)]+21[cos(n2πk+2πj)cos(n2πk2πj)]i[21[sin(n2πk+2πj)+sin(n2πk2πj)]+21[sin(n2πk+2πj)sin(n2πk2πj)]]=cos(n2πk+2πj)isin(n2πk+2πj)=wnk+j

本节主要介绍复数单位根及其性质,接下来介绍傅里叶变换及用python实现傅里叶变换
第一次用csdn的公式编辑器,有的公式编辑出来不美观,不知道怎么解决。特别是公式换行怎么让等号对齐。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值