从DFS到DFT

周期序列的级数展开

正如连续时间周期信号可以表示为一系列正弦信号的和的形式,周期序列也可以表示为一系列正弦之和的形式,假设序列\(\tilde{x}[n]\)的周期为\(N\),那么它的基频为\(\frac{2\pi}{N}\),所以有
\[
\tilde{x}[n]=\frac{1}{N}\sum_{k=0}^{N-1}\tilde{X}[k]e^{j\frac{2\pi}{N}kn}
\]

这里与连续时间信号不同的是,不需要无穷多个成谐波关系的复指数,只需要\(N\)个成谐波关系的复指数。

为求傅里叶级数系数\(\tilde{X}[k]\),两边同时乘以\(e^{-j\frac{2\pi}{N}rn}\),并在\(0 \backsim (N-1)\)求和
\[
\sum_{n=0}^{N-1}\tilde{x}[n]e^{-j\frac{2\pi}{N}rn}=\sum_{k=0}^{N-1}\tilde{X}[k]\frac{1}{N}\sum_{n=0}^{N-1}e^{j\frac{2\pi}{N}(k-r)n}
\]
由于
\[
\frac{1}{N}\sum_{n=0}^{N-1}e^{j\frac{2\pi}{N}(k-r)n}=
\begin{cases}
1, k - r = mN \\
0, 其他
\end{cases}
\]
代入上式,得到
\[
\tilde{X}[r]=\sum_{n=0}^{N-1}\tilde{x}[n]e^{-j\frac{2\pi}{N}rn}
\]
从上看出,\(\tilde{X}[r]\)也是周期序列,周期为\(N\)。

总结一下周期序列的展开及其系数的表示
\[
\tilde{x}[n]=\frac{1}{N}\sum_{k=0}^{N-1}\tilde{X}[k]e^{j\frac{2\pi}{N}kn}
\]
\[
\tilde{X}[k]=\sum_{n=0}^{N-1}\tilde{x}[n]e^{-j\frac{2\pi}{N}kn}
\]

周期信号的傅里叶变换

将周期信号的傅里叶级数纳入傅里叶变换的框架常常是有益的。但是周期序列不是绝对可和的,也不是平方可和的,所以周期序列的傅里叶变换应该是冲激串的形式。为导出周期序列的傅里叶变换的表达式,不妨先看一下连续周期信号的傅里叶变换。

连续周期信号可以将其进行傅里叶级数展开
\[
\tilde{x}(t)=\sum_{n=-\infty}^{\infty}F_ne^{jn\Omega_0 t}
\]
两边同时进行傅里叶变换
\[
\tilde{X}(j\Omega)=\sum_{n=-\infty}^{\infty}2\pi F_n\delta(\Omega -n\Omega_0)
\]
同理,周期序列的傅里叶变换可以写为
\[
\tilde{X}(e^{jw})=\sum_{k=0}^{N-1}\frac{2\pi}{N}\tilde{X}[k]\delta(w-\frac{2\pi k}{N})
\]
为验证其正确性,对上式进行傅里叶反变换
\[
\begin{aligned}
\frac{1}{2\pi}\int_{0-\epsilon}^{2\pi-\epsilon}\tilde{X}(e^{jw})e^{jwn}dw&=\frac{1}{N}\sum_{k=0}^{N-1}\tilde{X}[k]\int_{0-\epsilon}^{2\pi-\epsilon}\delta(w-\frac{2\pi k}{N})e^{jwn}dw\\
&=\frac{1}{N}\sum_{k=0}^{N-1}\tilde{X}[k]e^{j\frac{2\pi k}{N}n} \\
&=\tilde{x}[n]
\end{aligned}
\]

例:周期脉冲串的傅里叶变换
\[
\tilde{p}[n]=\sum_{r=-\infty}^{\infty}\delta[n-rN]
\]
\[
\tilde{P}[k]=\sum_{n=0}^{N-1}\tilde{p}[n]e^{-j\frac{2\pi kn}{N}}=1
\]
那么其傅里叶变换为
\[
\tilde{P}(e^{jw})=\sum_{k=0}^{N-1}\frac{2\pi}{N}\tilde{P}[k]\delta(w-\frac{2\pi k}{N})=\sum_{k=0}^{N-1}\frac{2\pi}{N}\delta(w-\frac{2\pi k}{N})
\]

考虑傅里叶级数系数与其一个周期傅里叶变换的关系,为什么要考虑这个问题,因为在连续时间周期信号其傅里叶级数与其主周期傅里叶变换的关系为:
\[
F_n=\frac{1}{T}X_T(j\Omega)\vert_{\Omega = n\Omega_0}
\]
其傅里叶级数系数是其主周期傅里叶变换在\(\Omega =n \Omega_0\)时的抽样值除以周期。同理,周期序列与其主周期的傅里叶变换应该也有类似的关系,下面具体探究一下。

假设周期序列\(\tilde{x}[n]\)在主区间\(0\backsim N-1\)(后若未加说明,主区间均指\(0 \backsim N-1\))上为\(x[n]\),那么二者之间的关系为
\[
\tilde{x}[n]=\sum_{r=-\infty}^{\infty}x[n-rN]=x[n]*\tilde{p}[n]
\]
\(\tilde{p}[n]\)即为上例中的周期冲激序列。对上式两边同时进行傅里叶变换
\[
\begin{aligned}
\tilde{X}(e^{jw})&=X(e^{jw})\tilde{P}(e^{jw}) \\
&=X(e^{jw})\sum_{k=0}^{N-1}\frac{2\pi}{N}\delta(w-\frac{2\pi k}{N}) \\
&=\sum_{k=0}^{N-1}\frac{2\pi}{N}X(e^{j\frac{2\pi k}{N}})\delta(w-\frac{2\pi k}{N})
\end{aligned}
\]
与式
\[
\tilde{X}(e^{jw})=\sum_{k=0}^{N-1}\frac{2\pi}{N}\tilde{X}[k]\delta(w-\frac{2\pi k}{N})
\]
进行比较发现
\[
\tilde{X}[k]=X(e^{j\frac{2\pi k}{N}})=X(e^{jw})\vert_{w=\frac{2\pi k}{N}}
\]
所以傅里叶级数系数是其主区间傅里叶变换在\(w=\frac{2\pi k}{N}\)处的抽样值。

离散傅里叶变换

我们知道,序列进行傅里叶变换得到的频谱都是连续的,而对信号进行数字处理一般都是计算机或者专门的处理器,但无论是计算机还是专门的处理器,其存储精度及存储容量都是有限的,无法处理连续的信号。

我们对连续信号进行处理时,是将其进行抽样转换为数字信号,为了无损的恢复出原信号,其抽样速率必须满足奈奎斯特抽样定理。那么可不可以对序列的频谱进行抽样处理呢?为了无损的恢复出原信号,抽样又该满足什么样的条件?

假设对于一有限长的信号\(x[n]\),其长度为\(M\),其傅里叶变换为\(X(e^{jw})\),现对其频谱的主周期进行均匀的\(N\)点抽样,得到序列\(X[k]\),即
\[
X[k]=X(e^{jw})\vert_{w=\frac{2\pi k}{N}}, \quad k = 0, ... , N-1
\]
这与我们之前对傅里叶级数的讨论十分的相似,如果把\(X[k]\)看作是傅里叶级数系数,那么由\(X[k]\)恢复出的信号为
\[
\begin{aligned}
\tilde{x}[n]&=\frac{1}{N}\sum_{k=0}^{N-1}X[k]e^{j\frac{2\pi kn}{N}} \\
&=\frac{1}{N}\sum_{k=0}^{N-1}\sum_{m=-\infty}^{\infty}x[m]e^{-j\frac{2\pi k}{N}m}e^{j\frac{2\pi kn}{N}} \\
&=\sum_{m=-\infty}^{\infty}x[m](\frac{1}{N}\sum_{k=0}^{N-1}e^{j\frac{2\pi k(n-m)}{N}}) \\
&=\sum_{m=-\infty}^{\infty}x[m]\tilde{p}[n-m] \\
&=x[n]*\tilde{p}[n] \\
&=x[n] * \sum_{r=-\infty}^{\infty}\delta[n-rN] \\
&=\sum_{r=-\infty}^{\infty}x[n-rN]
\end{aligned}
\]
恢复出的信号\(\tilde{x}[n]\)是原信号以周期\(N\)进行周期延拓得到的结果,如果\(N\geq M\),那么周期延拓得到的信号没有发生混叠,那么可以取其\(0\backsim N-1\)一个周期中前\(M\)个恢复原来的信号。

所以我们可以通过对其频谱进行抽样来处理,并如果满足抽样点数\(N\)大于等于序列的长度\(M\),那么就可以无损的恢复出原来的信号。这个原则叫做频域抽样定理。

稍微总结一下上面的过程,我们首先对序列\(x[n]\)进行傅里叶变换,然后对其频谱进行抽样得到\(X[k]\),然后以\(X[k]\)作为傅里叶级数的系数得到序列\(\tilde{x}[n]\),如果满足频域抽样定理,那么取其主区间的前\(M\)个即可恢复出原信号。

我们不妨省略对序列进行傅里叶变换,然后对其进行抽样的过程,直接定义一个变换由\(x[n]\)直接得到\(X[k]\),然后省略有\(X[k]\)得到\(\tilde{x}[n]\),然后取其主周期得到\(x[n]\)的过程,也直接定理一个变换由\(X[k]\)直接得到\(x[n]\)。

假设有限长序列\(x[n]\)的长度为\(N\),并假设其有值区间为\(0 \leq n \leq N-1\),为了满足频域抽样定理,我们不妨设采样的点数为\(N\),这样做的好处是由\(X[k]\)得到\(x[n]\)时,直接取其主区间即可,不用取其前多少个。

为了得到\(X[k]\)这个表达式,首先得知道\(X[k]\)是怎么来的,通过上面的介绍我们知道
\[
X[k]=X(e^{jw})\vert_{w=\frac{2\pi k}{N}}, \quad k = 0, ... , N-1
\]

\[
X[k]=\sum_{n=-\infty}^{\infty}x[n]e^{-jwn}\vert_{w=\frac{2\pi k}{N}}=\sum_{n=0}^{N-1}x[n]e^{-j\frac{2\pi}{N}kn}, \quad 0\leq k \leq N-1
\]
为了得到\(x[n]\),以\(X[k]\)为傅里叶级数系数得到\(\tilde{x}[n]\),并取其主区间,所以
\[
x[n]=\frac{1}{N}\sum_{k=0}^{N-1}X[k]e^{j\frac{2\pi kn}{N}}, ]\quad 0 \leq n \leq N-1
\]

所以我们得到一组变换
\[
X[k]=\sum_{n=0}^{N-1}x[n]e^{-j\frac{2\pi}{N}kn}, \quad 0\leq k \leq N-1
\]
\[
x[n]=\frac{1}{N}\sum_{k=0}^{N-1}X[k]e^{j\frac{2\pi kn}{N}}, ]\quad 0 \leq n \leq N-1
\]

我们把上面的变换称为离散傅里叶变换,简称\(DFT\)。

DFT与DFS的关系

上面的推导我虽然是从对有限长序列频谱抽样推导得到的DFT,但是其中运用了DFS的理论,所以DFTDFS之间关系是什么呢?

首先引用一下之前得到的结论:

傅里叶级数系数是其主区间傅里叶变换在\(w=\cfrac{2\pi k}{N}\)处的抽样值

如果把有限长序列\(x[n]\)以其长度\(N\)进行周期延拓的话,由上面的结论,DFS得到的\(\tilde{X}[k]\)是\(x[n]\)傅里叶变换在\(w=\cfrac{2\pi k}{N}\)处的抽样值,而DFT得到的\(X[k]\)是在傅里叶变换的主区间抽样得到的,所以\(X[k]\)是\(\tilde{X}[k]\)的主区间。明显的,\(x[n]\)是由\(\tilde{X}[k]\)得到的\(\tilde{x}[n]\)的主区间。

所以计算DFT的另一方法是,对于一有限长序列\(x[n]\),以其长度\(N\)进行周期延拓得到\(\tilde{x}[n]\),对\(\tilde{x}[n]\)进行DFS得到\(\tilde{X}[k]\),那么对\(\tilde{X}[k]\)取其主区间即可得到\(X[k]\),同样的,对\(\tilde{X}[k]\)得到的\(\tilde{x}[n]\),取其主区间即可得到\(x[n]\)。

10 从DFS到DFT的更多相关文章

  1. nyoj 10 skiing (DFS)

    skiing 时间限制:3000 ms  |  内存限制:65535 KB 难度:5   描述 Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当 ...

  2. 转载:一幅图弄清DFT与DTFT,DFS的关系

    转载:http://www.cnblogs.com/BitArt/archive/2012/11/24/2786390.html 很多同学学习了数字信号处理之后,被里面的几个名词搞的晕头转向,比如DF ...

  3. DFT,DTFT,DFS,FFT区别

        学习了数字信号处理之后,被里面的几个名词搞的晕头转向,比如DFT,DTFT,DFS,FFT,FT,FS等,FT和FS属于信号与系统课程的内容,是对连续时间信号的处理,这里就不过多讨论,只解释一 ...

  4. FS,FT,DFT,DFS和DTFT的关系

    对于初学数字信号(Digital Signal Processing,DSP)的人来说,这几种变换是最为头疼的,它们是数字信号处理的理论基础,贯穿整个信号的处理. FS:时域上任意连续的周期信号可以分 ...

  5. 几幅图片弄清DFT、DTFT、DFS的关系 数字信号处理

    原址:http://www.cnblogs.com/BitArt/archive/2012/11/24/2786390.html 很多同学学习了数字信号处理之后,被里面的几个名词搞的晕头转向,比如DF ...

  6. DFT、DTFT、DFS、FFT之间的关系

    DFT.DTFT.DFS.FFT.FT.FS之间的关系 FT和FS是研究连续信号的,在数字信号处理中不涉及. 主要是前四种的关系: DFT(Discrete Fourier Transform):离散 ...

  7. FS,FT,DFS,DTFT,DFT,FFT的联系和区别

    DCT变换的原理及算法 文库介绍 对于初学数字信号处理(DSP)的人来说,这几种变换是最为头疼的,它们是数字信号处理的理论基础,贯穿整个信号的处理. 学习过<高等数学>和<信号与系统 ...

  8. FS,FT,DFS,DTFT,DFT,FFT的联系和区别 数字信号处理

    DCT变换的原理及算法 文库介绍 对于初学数字信号处理(DSP)的人来说,这几种变换是最为头疼的,它们是数字信号处理的理论基础,贯穿整个信号的处理. 学习过<高等数学>和<信号与系统 ...

  9. dfs:10元素取5个元素的组合数

    #include "iostream.h" #include "string.h" #include "stdlib.h" int sele ...

随机推荐

  1. 更改mysql数据库默认的字符集(编码方式)

    mysql数据库的默认编码方式是latin1, 在mysql中存储和显示中文时会产生乱码,必须要更改默认的编码方式为utf8 或 gbk.(以下以gbk为例.) 更改服务器的编码方式,在终端输入以下命 ...

  2. 吴裕雄 python 机器学习——数据预处理过滤式特征选取SelectPercentile模型

    from sklearn.feature_selection import SelectPercentile,f_classif #数据预处理过滤式特征选取SelectPercentile模型 def ...

  3. 吴裕雄 python 机器学习——支持向量机SVM非线性分类SVC模型

    import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, linear_model,svm fr ...

  4. 寒假安卓app开发学习记录(4)

    今天的任务第一个项目运行并部署.没想到第一个环节就出现了错误,运行之后eclipse报错:Errors occurred during the build.Errors running builder ...

  5. 1042B. Vitamins

    Berland shop sells nn kinds of juices. Each juice has its price cici. Each juice includes some set o ...

  6. blog主题——田野(1)

    贮存一下,blog代码 QAQ 页首html <link rel='stylesheet' href='https://blog-static.cnblogs.com/files/elkyo/c ...

  7. springboot去除内嵌tomcat和打包在tomcat中运行需要做的步骤

    去除内嵌tomcat和添加jsp依赖 去除内嵌tomcat 在springboot启动依赖中去除内嵌tomcat <dependency> <groupId>org.sprin ...

  8. STM32程序中 \r \n \r\n

    1.用串口调试助手打印信息,程序换行时,最好还是用\r\n,光用\r或光用\n可能达不到换行的效果.

  9. Python3 post 嵌套json

    目录 python3 post json burpsuite 抓取 python requests 数据包 小结 python3 post json 前些天python3 post出现的小问题做下记录 ...

  10. HDU2444 The Accomodation of Students(二分图最大匹配)

    有n个关系,他们之间某些人相互认识.这样的人有m对.你需要把人分成2组,使得每组人内部之间是相互不认识的.如果可以,就可以安排他们住宿了.安排住宿时,住在一个房间的两个人应该相互认识.最多的能有多少个 ...