离散傅里叶变换(DFT)

       离散傅里叶变化是傅里叶变换在时域和频域上都呈现离散的形式,将时域信号的采样变换为在离散时间傅里叶变换频域的采样。在应用中DFT就是根据离散点找出信号的频率,幅值,相位等信息。

       如下图有一个有40个采样点的信号,我们可以看出该信号有两个周期,那么计算机该如何计算出该信号在40个采样内振动了几个周期呢。下文中我们将所要求的的该信号称作原信号。

        计算机会使用一种暴力方法计算出该信号的数据。首先设信号函数为x[n]=cos(2\pi \frac{2n}{40}),对于40个信号点,计算机会选出40个基信号(40是原信号的采样数),其中第一个信号在40个采样中振动0个周期,函数为x[0]=cos(2\pi \frac{0n}{40})。第二个信号在40个采样中振动1个周期,信号函数为x[0]=cos(2\pi \frac{n}{40})。第三个信号振动2个周期。以此类推,得到如下图所示的40个基信号。其中第40个信号振动了39个周期,每个周期只有一个采样点。

       接下来将所有基信号与原信号进行比较。使用公式correlation(x,y)=\sum_{i=0}^{N}x[i]y[i]计算出每个基信号与原信号的相关程度,其中得到的数值越大,两个信号越相关。

       具体计算过程如下图,这里我们计算基信号7和原信号的相关程度,右边信号是基信号7的信号图。计算两信号的相关程度X[7],公式如下。

       通过计算得出X[2]=X[38]=20,X[0]=X[1]=X[3]=X[4]=..........=X[37]=X[39]=0,可以看出基信号2和基信号38与原信号有相关性,其余基信号与原信号不相关。

这里我们将基信号数取为k,得到如下公式,

 下图是DFT的公式,通过观察我们可以看出,DFT比求得到的公式多个j\sum_{n=0}^{N-1}x[n]sin(2\pi \frac{kn}{N})

 这是因为只用余弦积进行比较可能会损失一些相位信息,如下图,若原信号函数为x[n]=cos(2\pi \frac{2n}{40}+\frac{\pi }{3}),可以得到X[2]=X[38]=10。

但当原信号为 x[n]=\frac{1}{2}cos(2\pi \frac{2n}{40})时也会得到同样的结果。因此无法判断原信号的相位偏移还是幅值减半。

 因此需要计算原信号与sin的相关性。将sin的40个基信号全部设出来,并将sin基信号与原信号计算相关性。

计算后得到如下结果X_{sin}[2]=X_{sin}[38]=10\sqrt{3}X_{cos}[2]=X_{cos}[38]=10

       将X[2]和X[38]写成复数形式得到X[2]=X[38]=10+10\sqrt{3}j,由该复数可以得到复数的模和相位角。 那么该相位角即为原信号的相位角。为什么由信号相关可以得到相位角信息呢?

我们来观察一下相关程度的公式

correlation(x,y)=\sum_{i=0}^{N}x[i]y[i]

可以看到该公式是将原信号与基信号做了內积,与余弦信号做內积相当于将原信号投影在了余弦轴上。与正弦信号做內积相当于将原信号投影在了正弦轴上。由因为正余弦相互正交,所有相关程度可以看做是原信号在正余弦平面上的投影。\sqrt{a^{2}+b^{2}}即为模,反正切函数即可算出相位角。

接下来我们计算原信号一个周期的频率。

其实只要给定了采样频率(单位时间内的采样数)即可算出信号的频率。

这里我们设采样频率为f_{s},已知采样数为N,那么一个周期N个采样点的采样时间为N/f_{s},k个周期N个采样点在单位周期内的采样时间为N/kf_{s},那么频率为kf_{s}/N。该频率可以

由此可以将每个基信号的采样频率计算出来。

 将所有基信号与原信号进行比较,找到最佳基信号,已知最佳基信号早单位周期内的频率为最大(单个周期内采样点最多)。下图计算得到基信号2与基信号38的采样频率,基信号38的采样频率更大。

但我们由奈奎斯特采样定理可知,若要保持一个信号的信息,那么信号一个周期内至少要采两次样,所有当k>20时很可能错误 。我们所求的原信号与基信号2高度匹配。

接下来我们看个例子,首先对信号设函数,找出与原信号最匹配的基信号,算出复数。计算频率,相位等数据,得到与原信号函数

参考链接

本文参考了以下内容

离散傅里叶变换零基础入门-中文1(针对工科生,无需连续傅立叶变换知识)_哔哩哔哩_bilibili

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值