10 从DFS到DFT
从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的理论,所以DFT与DFS之间关系是什么呢?
首先引用一下之前得到的结论:
傅里叶级数系数是其主区间傅里叶变换在\(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的更多相关文章
- nyoj 10 skiing (DFS)
skiing 时间限制:3000 ms | 内存限制:65535 KB 难度:5 描述 Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当 ...
- 转载:一幅图弄清DFT与DTFT,DFS的关系
转载:http://www.cnblogs.com/BitArt/archive/2012/11/24/2786390.html 很多同学学习了数字信号处理之后,被里面的几个名词搞的晕头转向,比如DF ...
- DFT,DTFT,DFS,FFT区别
学习了数字信号处理之后,被里面的几个名词搞的晕头转向,比如DFT,DTFT,DFS,FFT,FT,FS等,FT和FS属于信号与系统课程的内容,是对连续时间信号的处理,这里就不过多讨论,只解释一 ...
- FS,FT,DFT,DFS和DTFT的关系
对于初学数字信号(Digital Signal Processing,DSP)的人来说,这几种变换是最为头疼的,它们是数字信号处理的理论基础,贯穿整个信号的处理. FS:时域上任意连续的周期信号可以分 ...
- 几幅图片弄清DFT、DTFT、DFS的关系 数字信号处理
原址:http://www.cnblogs.com/BitArt/archive/2012/11/24/2786390.html 很多同学学习了数字信号处理之后,被里面的几个名词搞的晕头转向,比如DF ...
- DFT、DTFT、DFS、FFT之间的关系
DFT.DTFT.DFS.FFT.FT.FS之间的关系 FT和FS是研究连续信号的,在数字信号处理中不涉及. 主要是前四种的关系: DFT(Discrete Fourier Transform):离散 ...
- FS,FT,DFS,DTFT,DFT,FFT的联系和区别
DCT变换的原理及算法 文库介绍 对于初学数字信号处理(DSP)的人来说,这几种变换是最为头疼的,它们是数字信号处理的理论基础,贯穿整个信号的处理. 学习过<高等数学>和<信号与系统 ...
- FS,FT,DFS,DTFT,DFT,FFT的联系和区别 数字信号处理
DCT变换的原理及算法 文库介绍 对于初学数字信号处理(DSP)的人来说,这几种变换是最为头疼的,它们是数字信号处理的理论基础,贯穿整个信号的处理. 学习过<高等数学>和<信号与系统 ...
- dfs:10元素取5个元素的组合数
#include "iostream.h" #include "string.h" #include "stdlib.h" int sele ...
随机推荐
- 普及C组第二题(8.4)
2266. 古代人的难题 (File IO): input:puzzle.in output:puzzle.out 时间限制: 1000 ms 空间限制: 60000 KB 题目: 门打开了, 里面 ...
- mysql存储表情报错
数据库版本:mysql Ver 8.0.16 数据库字符集:utf8 原因:mysql的utf8编码的一个字符最多3个字节,但是一个emoji表情为4个字节,所以utf8不支持存储emoji表情.但 ...
- bugku 闪的好快
这是一道二维码的题目.保存图片祭出神器StegSolve.然后Analysis->Frame Browser.这里发现是18张图.也就是18张图片. 我拿手机一个挨着一个扫的.扫出来的结果是SY ...
- MSYS2与mingw32和mingw64的安装
由于编译OpenBLAS接触到MSYS2. 下载MSYS:https://mirror.tuna.tsinghua.edu.cn/help/msys2/ 安装,并按照下面的配置,然后可以安装mingw ...
- Unity生成的WebGL如何在浏览器中运行
前言:以为在学完了COMP30019后,应该不会再接触Unity了,没想到之后实习让我去做把一个Unity项目转到WebGL,而关于Unity的WebGL资料很少,基本除了Unity的Manual就只 ...
- Red Hat 7.4 安装laravel框架 基于xampp集成环境
一.安装xampp 1.下载xampp安装包:xampp-linux-x64-7.1.10-0-installer.run 2.在安装包目录下运行命令: ./xampp-linux-x64-7.1.1 ...
- sqlserver查询使用with(nolock)详解
所有Select加 With (NoLock)解决阻塞死锁 在查询语句中使用 NOLOCK 和 READPAST 处理一个数据库死锁的异常时候,其中一个建议就是使用 NOLOCK 或者 READPAS ...
- ES6-形参默认值
在定义一个函数的时候,我们定义了几个函数的参数,但是在调用的时候我们可能并没有传入足够的参数,那么未被满足的参数的值就是undefined,在ES6中如果有这种情况我们可以给形参一个默认值,如果该形参 ...
- Python学习笔记(01)
参考书:<Python编程:从入门到实践> 还有其他 Chapter01 print print(a,b,sep="|") sep规定输出间的间隔 print(“Pyt ...
- python练习:编写一个程序,要求用户输入一个整数,然后输出两个整数root和pwr,满足0<pwr<6,并且root**pwr等于用户输入的整数。如果不存在这样一对整数,则输入一条消息进行说明。
python练习:编写一个程序,要求用户输入一个整数,然后输出两个整数root和pwr,满足0<pwr<6,并且root**pwr等于用户输入的整数.如果不存在这样一对整数,则输入一条消息 ...