汤姆、迪克和玛丽发现了DFT
--三个学生发现关于连续和离散之间的转换的故事
(韩振峰译)
离散傅里叶变换越来越多的被作为脱离基本连续时间傅里叶分析的材料来教学。如果有什么让学生理解的不是很清楚的话,那就是非常重要的数字信号产生的幅度谱和相位谱与连续时间信号分析之间的关系。这篇文章讲述了三个仅仅拥有模拟分析方法知识的本科生发现了DFT。
越来越小的谎言
一位教授曾经对我说;“教育就是讲述越来越小的谎言的过程”。我多么希望我能记得那位教授是谁,那么,我将能把我已经多次运用到自己的教学当中去的绝妙的引用找到恰当的归因。教育者们(无论专业与否)不要经常讲恶意的“谎言”。更准确地说,对于某一阶段的学习者来说,知识的理解与掌握并不是总要告诉他们全部的“真相”。通过简化和省略细节,因为老师是为学生们下一阶段的理解(也可能是下几个阶段)奠定基础的,太复杂的细节可以等到学生们准备去掌握它们时再去呈现。这种简化的、省略细节的教学版本,有时包含着为简单起见而产生的遗漏和不精确之类的“谎言”。但这是一个循环的过程,在每一个阶段“谎言”都在逐渐变小。
在某一时刻,我们都有过停止学习关于某一特定科目。显然,当我们揭开大多数科目完美的“真相”之前,我们停止了学习。而在工程上,这样的做法将会对设计和创新产生不幸的结果。然而,当未完
成的任务被完全的理解不必要地替代,这将是多么的不幸。也就是,当学生本来能轻易地掌握完整的脉络,但是却因为一个不完整的理解而被落下。
这样的情况发生在离散时间傅立叶变换(DTFT)和离散傅立叶变换(DFT),这些变换是现代频谱分析的核心内容,因为它们几乎总是被用于分析连续时间中出现的问题,分析家认为离散频谱和连续频谱之间的关系是非常重要的。而离散傅立叶技术的历史是丰富细致的,这个方法的基本根源在于傅立叶级数,因为其明显地出现在经常被引用的库利和图克的论文中。从这个意义上来说,早在数字计算机概念之前,傅立叶就于1807年发现了DFT的本质。在此世纪初,傅立叶的想法就出现在了美国的香农和俄罗斯的科托尼科夫发表在与有关当代数据采样问题的俄罗斯文献中。然而,更多的关于离散傅立叶技术发展的原始动机,已经无法在最近的文献指南中找到。
1992年1月是IEEE信号处理杂志庆祝FFT25周年纪念日,大致也是在1968年的这个时候,我们所熟知的现代学科“数字信号处理”从此诞生。在这一过程中某一阶段,我们丢失了DFT早期的理解。受人尊敬的老师和教科书作家已经发现,含蓄地将DTFT和DFT从他们已经建立的基本规则中区别对待,这只能是权宜之计。最多,为了用“冲击取样”与之联系起来可能会做一些迟钝的尝试。很多学生都没有意识到这个“谎言”。假设学生们在下一个理解阶段将会为经典理论作出富有成果性的联系以丰富离散变换的实用有效性。遗憾的是,对许多实习生来说,这个下一阶段的理解可能不会被实现。导致
频谱分析的事业是建立在不完整的理解上的。在我自己的教学中,让学生们陷在DTFT和DFT与它们已经了解的连续变换是不同的谎言中,这使我感到不舒服。幸运的是,接下来发生在我正教学的班里的一系列事情,如果你质疑这个故事的真实性,那么请重新阅读文章的开篇部分。
繁重的家庭作业
汤姆,迪克和玛丽都是正在修信号与线性系统分析的大三学生。它们已经学完了连续傅立叶分析的部分,正在一起处理似乎没完没了的有关傅立叶变换的幅度谱和频谱的绘制的作业。
“这家庭作业也太多了”汤姆说。“我们永远也不可能手工做完。”迪克建议用隔壁房间的一台个人电脑,至少可以做些平面图的绘制。玛丽指出图形是连续曲线,它们可以得到频谱采样。她建议如果他们能过得到密集的采样,然后他们也许可以连接这些点得到近似的
频谱。于是,他们从第一个信号x1(t)和它的傅立叶积分
X1(f)
j2ftx(t)edt1(1)
开始,他们想知道如何能够用离散计算方法在计算机上模拟出X1的采样。
(“我们不能在计算机上做积分,即使我们仅仅想知道X在f处1f)
的采样值。”汤姆正确地指出。
他们思考了一会儿,几乎要放弃使用计算机的时候,玛丽回想起的关键一点最终解救了这个夜晚。她说,傅立叶级数(FS)导致一种
在频域的采样。迪克认为,这是不相关的,因为“我们不是在解决傅立叶级数问题--x1(t)不是一个周期信号”迪克注意到。“所以我不明白我们又是如何可以应用FS呢。”玛丽指出只用一段周期的周期函数可以构建傅立叶级数。这促使汤姆建议“让我们把x1(t)处理为周期性函数,看看我们可以用它来做什么。”
迪克仍然持怀疑态度,但是他也同意按这个方案进行。“我们应该选取它的哪一段周期呢?”迪克问。“我不知道,”玛丽承认,“但是让我们试一下一般的周期,令它等于Ty,称这个周期函数为y(t)。然后我们就得到了这个。”玛丽说,在黑板上写下
y(t)
kx(tkT)1y(2)
然后她画出了x1(t)信号的大致图像(如图.1a),并标注出它“周期宽度”T1=8.她又画出了y1(t)的两种情况的大致图像,第一种:当TyT1(如图.1b);第一种:当TyT1(如图.1c)。
“我不确定下面该怎么办,”汤姆说,“但是让我们写一下y(t)的傅立叶级数。”他写下
y(t)
mme2mfyt1,fyTy(3)
Ty/2
m
Ty/2y(t)e2mfytdt(4)
“嘿,因为我们只使用一个周期,”迪克注意到,“在案例1中,我们在协同因素计算下可以用x1(t)的取代y(t)“,他写道:
1mTy
T1/2Ty/2Ty/2x1(t)e
2mfyt2mfytdt
T1/2x1(t)edt(5)1X1(mfy)Ty
之后,他又认识到了一些自身存在的问题。“这些系数仅仅是原始信号的FT采样(和一个比例因子)。”他边说边在黑板的最后一行
1写下:“X1(mfy)”。Ty
“我们好像已经得到了我们想要的频域采样,”玛丽发现。“让我们来总结一下,如果我们以fy
采样,然后以fy1,TyT1对傅立叶变换X1(mfy)进行Ty1来衡量它们。”Ty
1mX1(mfy),m=...-1,0,1,2,3....Ty(6)
我们为周期函数x1(t)不重叠的副本加上傅立叶级数系数,我们就会得到我们想要的傅立叶变换的采样,而且,很明显我们没有丢失任何信息,因为我们可以通过构造波形等式(3)中恢复出x1(t),然后取其主值周期。“如果我们以同样的方法用fy1且TyT1处理频域采样,将会Ty
发生什么呢?”汤姆感到疑惑。“我敢打赌,如果在第二种情况下没有发生重叠,那些采样将还会是傅立叶级数的系数,”在处理这个问题一段时间后,他们这个团队确认了这个方案。他们知道周期函数不能进行有效的傅立叶变换,但是可以用冲击函数辅助进行构建。他们已经被告诫过冲击函数的数学障碍,但是,没什么更好的可以做的了,所以他们最终还是诉诸于他们已经构建的傅立叶级数来进行信号的傅立叶变换。由于不确定构造的信号到底是不是y(t),所以他们称它为y'(t),并且写下
1j2mfyty(t)X1(mfy)e
mTy'(7)
从而获得
1Y(f)Ty'
mX1(mfy)ej2mfytj2ftedt(8)
X1(f)(fmfy)
m
现在用实际的
m(fmfy)的时间信号Tym(tmfy)的傅立叶
变换,同时增加两个傅立叶变换相对应的时间函数的卷积的属性,他们写道:
y(f)
'x(t)(fmf1m
yy)d(9)
mx(tmT)y(t)1
“好了”玛丽惊叹,“现在我们知道,我们可以通过把X1(f)的样值当作傅立叶级数的系数可以获得至少一个周期性的X1(t)。如果我们想要一个周期y(t)的变成精确的x1(t),我们必须确保X1(f)的采样频率在当TyT1时是足够接近mfy。”y
迪克表示,他们要想能够在电脑上绘制频谱图仍然有很长的路要走。“要想在电脑上处理这些频谱,必须在时域和频域上都避免出现连续信号,”他说。“至少我们知道我们可以用频率采样做什么”他承认。
“我们在课堂上谈了很多关于时间——频率的二重性问题,”汤姆回忆说,“看起来我们应该能够把我们刚刚用来得到时域样值的过程反过来。”
“是的”玛丽同意,“我敢打赌这有一个基本原则:如果我们能够得到一个周期域,所有的信息将被包含在其他的采样值中,但是,在一个域中的采样值必须足够接近保证不与其他域发生重叠(如果可能的话)。让我们来尝试一下汤姆的想法。”
因为他们不知道X1(f)是什么样子,玛丽在黑板上大致画了一个X1(f)的假设版本(图.2)。仔细标记其一边的带宽为fb,她然后又画了两个周期的函数,都具有周期fs,把它们都称为Y(f)。在情况1中,周期fs2fb,在情况2中fs2fb。
该小组停了一会儿去考虑一个重要细节。Tom反对这个草图,理由是X1(f)是复杂的函数,不能绘制在平面坐标系中,但是,玛丽正确地指出,X1(t)是实函数,即使在这种情况下,意味着甚至在傅立叶变换中也是实函数。“我们只是运气好。”玛丽补充说,但我想我们必须要小心处理这些图片,因为我们现在加入了一些复杂的参数。
“我想我们仍然可以把频率重叠用在这些图中,”迪克观察。我第二天在办公室里讨论这一点时告诉他们,迪克是正确的,但这个量级的频谱不是直接添加那么简单。教科书并不总能把这一点解释地很清晰,因此,我们对这些草图的处理必须要仔细。
他们忽视了另一个细节事实,一个信号是不能同时有时间限制。比如x1(t)这个信号是不能同时有时间限制和频率带宽限制的,这些隐含在玛丽的X1(f)所画的大致图形里。这个忽略结果是有益的,因为他们已经记住这个事实,他们也许会对X1(f)周期的构建很失望,在接下来的很长一段时间里我们一直在讨论这点。
学生们开始仔细检查图2b和2c的情况。在这两种情况下,他们推测周期函数
Y(f)
mX(fnf)1s(10)
可以通过一个系数与时域采样相关的傅立叶级数来表示。这只是一个简单的颠倒时间和频率的分析。迪克猜正确的时间样本可能是x1(nTs),且Ts1,通过类比方法来分析这两个对偶问题。fs
接着在频率采样问题的分析中,小组很快发现,他们的直觉是正确的。周期(复杂的)频率函数Y(f)可以由傅立叶级数表示,他们首
'X(f)1x先计算了信号的傅立叶变换,称之为(t),
x(t)'1
y(t)ej2tfdf(11)
他们指出,这个傅立叶变换非常接近的时间信号
x1(t)
X1(f)ej2tfdfx1(t)'(12)
但为了保持类比到频域采样这个方案,他们,同意暂时忽略这个事实。他们认真地为周期函数写下傅立叶级数(等式10),让f作为“时间轴”参数,fs作为基本”周期”参数。因此,1/fs=Ts是基本频率的类似量.这种情况下,傅立叶级数是
Y(f)
nenj2nTsf1,Tsfs(13)
FS系数是(反转时间)x
'1(t)x1(t)波形的缩小,那么
(15)1Y(f)x1(nTs)ej2nTsf
nfs
这个小组决定,他们不喜欢用负的时间采样值,所以他们做了一个微小的改变,用n取代-n,得到
11Y(f)x1(nTs)e-j2nTsfx1(nTs)e-j2nTsf
fsnnfs(16)
“我们得到它了!”玛丽激动地说。“只要我们让
则Y(t)的第一周期将恰好是X1(f)。”fss2fb,
“但是,我们需要得到X1(f)采样值,”迪克提醒她,“以为了在电脑上绘制并处理它们。”
“没问题,”汤姆说,我们可以在任何我们想要的频率下,简单的计算Y(t)=X1(f)。例如,我们取频率f0,接着他在黑板上写下
1Y(f0)X1(f0)
x1(nTs)e-j2nTsf0
fsn(17)
(1f)“这个适用于任何频率在fbf0fb的采样,因为这是Y(f)X
所满足的范围。”
使用给定信号的采样值,并且这个表达式他们已经从等式17派生出来了。汤姆,迪克的,和玛丽能为他们的每一个家庭作业的问题计算作出绘图。对于任何那些不知道fb带宽的信号,他们不得不猜
测在各种情况下的采样周期Ts。他们任意地选择了一个时间周期Ts=1/fs=1s用于所有的信号。在某些情况下,这还是令人满意的。但在其他情况,又相当令人不满意。幅度谱对信号x1(t)的结果如图3所示(在每个采样值中的标注相位的弧度是零或,由于信号值x1(t)是实数,甚至在FT中也是如此)图3是通过使用等式17在频率kfs32k32(对于k=0,1,...16)采样中获得的.由于频谱是偶函数的频率,所以只在绘制出正频率就可以了。
当第二天我们在我的办公室见面时,汤姆,迪克和玛丽显然为他们的发现激动不已。
突出的贡献:第一部分
我称赞他们的创新,并借此机会解释他们的工作是多么的深刻,“首先,”我告诉他们,“在时间采样过程中,你发现的是信息理论中的一个基本结论,它被称为香农采样定理”。这一理论说,如果我们用足够高的频率对时域波形采样(fss2fb),然后像x1(t)这样的一个完整的连续信号可以从时间采样x1(nTs)恢复出来,从理论来说,这样的方法显然和你们做的工作是一样的:等式16中的Y(f)就是傅立叶级数的形式。Y(f)的第一个周期是X1(f)的傅立叶变换,所以我们可以在X1(f)的初始周期进行傅立叶逆变换来恢复信号x1(t)。在实践中,我们用一个低通滤波器恢复占据主要频带中的信号。
这个低通滤波可以操作输入到该滤波器的样值的离散卷积运算。该过程通常被称为内插的,因为它使我们能够在信号的采样值之间进行插值计算。
Y(f)的FS过程是一个对原“只要你对x1(t)的取样速度足够快,”
始信号的频谱分析的很好选择,因为它代表了一个周期性的精确X1(f)。但即使采样过程不够快(或因为无限的带宽的限制),Y(f)和X1(f)是密切相关的,因为它是一个周期性的,但X1(f)混叠了。术语混叠指的是在频谱上的重叠,导致高于fs/2的频率信号与频带在0ffs/2的相混淆。”
我们暂停了一会去讨论混叠现象.学生们指出他们不知道应该使用什么采样率用在他们家庭作业中涉及的各种各样的信号。即使他们已经知道了采样定理,他们还不知道信号的带宽,因为这些问题的任务是绘制谱图。取任意的采样频率fs=1HZ,他们有时会得到很差的结果(就近似连续时间FT来说)。我们研究的他们功课中的两个信号的细节去理解这一点。首先,我们画的这个图用来近似代表连续时间信号x1(t)的幅度谱(图4a)。就这件事来说,“你在这种情况下很幸运,”
我告诉他们,“因为这个信号的能量超出了你假设的带宽fs/2=1/2。当用对数量度表示时会更加明显(图4b)。然而,与0
x2(t)e0.03tsin(5t)[u(t1)u(t93.1)](18)
其中u(t)即单位阶跃函数,其定义为:当t0是为单位1,否则为零。基于我们前面的讨论,该小组现在理解了fs=1的采样率是不恰当的,因为在这种衰减的正弦信号的能量集中在频率f020.796HZ范围,我们需要采样率fs=2(0.796)=1.6HZ在周期性的傅立叶变换中避免混叠,”汤姆正确记录道。
“在这种情况下将会发生的事情是显而易见的,”我告诉他们。“看看你们的频谱幅度曲线(图.5a)。这似乎表明能量是在f=0.2HZ处,但在正弦曲线的频率内没有表现出任何的能量(这甚至不在你的绘图的范围内)。发生了什么事呢?”
我建议他们扩展他们的绘图包括一个或多个周期“混叠”的傅立叶变换。使用他们那晚之前写的程序,他们按此方法做了(图5b),知道了周期为fs=1的结果将会是周期性,当他们在做这些时,我绘
制了x
2(t)的真实频谱(图.5C)
“我明白发生了什么,”汤姆说。“我们在0
“现在让我告诉你们得到的结果的进一步的意义,”我继续说。“你已经发现Y(f)的傅立叶级数是非常接近我们所知道的离散时间傅里叶变换(DTFT)即样本x1(nT)组成的离散时间信号,n=...-1,0,1,2...通常情况下,教科书会告诉你,DTFT是类似下面这样的,”我在黑板上写下
YDTFT(f)
nj2fnTsx(nT)e1s(19)
“这就是我们的‘FS’除了个比例因子fs,”玛丽说。“是的,”
我说,“它恰巧和你们做的数学计算一致。那么你们能告诉我DTFT
的意义么?想想我们刚刚得到的结果”
“我们想要使用电脑绘制频谱,所以我们必须让离散样本在两个域内,”汤姆说。“是的,”我打断道,“而且更一般的情况下,电脑是被用来代替各种各样的模拟系统和过滤器以至于计算,在这种情况下是频谱分析,必须用离散样本完成。然而通常情况下,这些样本与连续现象有关,因为大部分信号是连续的。因此我们希望能够使用计算机进行有‘意义’的频谱分析。”
“你的意思是说我们希望能够将结果和连续世界联系起来,因为那才真的是他们来自的地方,”玛丽说。
“正是如此。”
“所以DTFT非常重要,因为它允许我们仅仅只用时间采样就能计算连续FT的周期性副本”迪克说。
“只要我们在时域采样足够快”我补充道。“现在谁能告诉我DTFT定义中遗漏的比例因子的作用是什么?”我问道。
“没什么大不了的,”汤姆说,“它只是意味着DTFT是原FT的一个周期延拓。”回顾了他昨晚的笔记,写到
1YDTFT(f)fsX1(fnfs)TsnnX(fnf)1s
“所以DTFT是新东西么?”我问。“还是经典理论的延伸?”这个问题夸张了一点,他们对他们的成果非常自豪。
“当你们看到DTFT和离散时间信号在你们的工作中时,你将会永远记得它的起源因为你们如此努力的发现了它们。”
“现在我有一个挑战给你们,”我在他们自我庆祝后说。汤姆,迪
克和玛丽看起来非常惊恐,因为他们已经熬了无数个夜晚面对他们认为已经足够的挑战。“在你们工作的第一部分,你们展示了如何使用一组采样代表连续时间的波形。在第二部分中,你们展示了怎样用时间采样代表一个连续频率函数。然后你们用这个结果计算了频率采样。用电脑进行了频谱分析,它将对采样集合的来回变换非常有用。你们已经很接近了。看看你们是否能找到这样一种变换。”
“让我给你们一点提示”我补充道。“你们注意到你们的DTFT计算使用了双重无穷数量的时间采样。”
“是的,”汤姆说,“我们必须去掉大量采样后的信号,如果原信号不是‘时域有限’的。我的意思是如果T1|。所以我想我们只得到了一个近似的频谱。”
“是的,而且那将总是在离散时间情况下分析,”我指出。“你将永远无法进入无穷时间采样。这有几个聪明的方法去截取长信号来得到更好的频谱估计,但是那是另外一个故事了。让我们仅仅假设我们有一个从t=0开始并且在有限的时间内‘结束’的信号。一个例子是你们作业中的x2(t),但是下一个,x3(t),更简单一些:
x3(t)(0.9)1000t[u(t)u(t0.0151)]
所以x3(t)在0t15.1ms范围内没有零值。
假设Ts是你取的取样周期并且你得到了非零范围的N点采样,
x3(0),x3(Ts),x3(2Ts),...,x3(N1)Ts。这些采样包含了离散时间信号x3(nTs)的非零部分。”我简略的在黑板上画出Ts=1ms时的样本。
“x3(t)对一些有限的fb是有限频宽的么?”他们想要知道,“并且,
如果是,fs2fb么?”
“x3(t)不可能是有限频宽的因为它是在有限时间持续的。但是它可以被假定为实际上对一些有限的fb是有限频宽的,无论是固有的还
是因为经过低通滤波器的滤波操作。对于你们的理论工作,假设有一个实际存在的fb但是你并不知道它的值,”我回答道。“这意味着你必须对混叠现象有所准备,因为你不知道fs取何值合适。”
“我十分欣赏你昨晚做的工作!现在看看你能不能让它进入下一个逻辑步骤。”
我非常想告诉你汤姆,迪克和玛丽一脸兴奋的离开了我的办公室,急切的想要去进行这个新的挑战。但是,这是个真实的故事。当他们从走廊离开的时候,他们低声抱怨了一些不适合被打印出来的东西。向DFT前进
这三个学生被方程式搞得相当郁闷。经过一段时间思考后,等式7和9或许可以用一个与等式7相似的等式代替,在时间tnTs时得到他们想要的时间采样。“但是我们没有一个真正的x3(f)去采样,”汤姆指出。“我们有的只是一个周期的x3(f),又叫Y(f)。在这种情况下,既然我们只有N点的时间采样,那么等式16就可以化简为。”他写道
1Y(f)fsx(nT)e3sn0N1j2nTsf
“当然,我们可以计算任意我们想要的f采样,但是计算哪一个?”迪克好奇的问到。他们考虑了很久。玛丽反复强调信号x3(t)不可能是有限频宽的因为它是时域有限的。然而,她建议他们回顾他们
第一次分析时发生了什么,那时X1(f)被假设(不正确的)为频率收敛到fb。“看看等式7和9,”她给他的同学提示,“如果我们有了x3(f)的采样,并且我们以fyNTsfsN的间隔采样,根据等式3,我们就得到了等式7:”
y(t)
kx(tkNT)3s
“而且,如果我们用了等式7在nTs,那么我们会得到这些数:”
y(nTs)
kx(nT3skNTs)
他们在黑板上画出了y(nTs)序列并且发现第一个N点就是x3(nTs)序列。事实上,他们改变fyNTs的值并且发现用一个较小的
fyNTs值将会一起额外的“空间”(零)在x1(t)在y(t)的副本之间,而且副本的混叠将会出现如果fy选择的过大的话,fys。
“但是我们没有X3(f),”提醒道“我们只有一个周期,或许还失真,版本的X3(f)。”
“我有一个预感我们将Y(f)放入正确的位置fyfsN将会依然得到周期序列,”汤姆说。“就像我们昨天晚上采样失真周期FT一样,”他有点确定的说。
他们知道在联系频率采样之前这个情况必须对他们昨晚进行的第一个研究做点什么。他,们开始钻研这些结果。“看着这些我们走过来的模式”玛丽说。”我们有有限带宽的x1(t)信号并且我们让他变为周期以至于我们可以离散频域。我想我们需要在这做同样的事情。忘记Y(f)是周期的事实。那正是干扰我们的。仅仅看一个时期的。“她
在黑板上写下如下定义式:
ffY(f),sfs
Y3(f)220,otherwise
并画下了图像(图8)。“当然,我们将让y3(t)为匹配时间信号。我不太确定y3(t)是什么,但是我知道如果我们在Y(f)样本外建立一个FS我们将会使它成周期性的,而且,如果汤姆的预感是正确的,信号y3(t)将会和y(t)在nTs的采样一致”玛丽推断道。
“截取Y(f)得到Y3(f),”迪克指出,“我们让y3(t)成为连续时间信号。”他也观察到y3(t)将会就是x3(t),并且Y3(f)X3(f),如果原信号x3(t)是有限带宽的并且经过了足够快速的取样。
“两种都对,”汤姆说,“但是玛丽正在考虑的普通案例中Y(f)和Y3(f)可能包含失真。我也知道她正在尝试做什么来让y3(t)成为一个连续时间信号。她正在带我们回到我们昨天晚上研究的——连续时间—离散频率。”
“我知道我们的目标了,”迪克,“但是如果我们用我们昨晚的方法,我们将最终得到一个周期版本的y3(t)的FS,而不是y(t)。然后我们将会估算离散时间,得到一个周期y3(t)的采样,而不是y(t)的采样,也当然不是x3(nTs)。”
“不管怎么样先做吧,”汤姆坚持道,“我认为会有效的。”然后他们开始一丝不苟的按照熟悉的步骤进行。首先他们对有些神秘的y3(t)进行了周期延拓:
w(t)
iy(tiT3w)
期望他们将在fww对Y3(f)进行采样。他们都同意Tw应该是Ts的几倍因为周期最终将会是整数倍的样本,如下,
TwMTsorfw1
MTs
然后他们写了FS:
w(t)
kkej2kft,fww1Tw
k1
TwTw2Tw
2j2kfwtw(t)edt
他们从过去的经验可以知道w(t)是否是y3(t)的混叠版本,
k1Y3(kfw)Tw
因此,
1w(t)TwkY(kf3w)ej2kfwt
他们记下用限制求和的办法用Y(f)代替y3(f):
w(t)1
TwY(kfkw)ej2kfwt(32)
fsfkfws
22其中k的取值为
现在他们有了可以计算时间采样的频率采样。他们尤其需要在时域nTs的采样,当n0,1,...,N1。然后他们可以求w(t)在离散时间下的
fy值,w(nTs)
fyj2fnTsY(f)x(nT)edf。3s
“好极了,”迪克讽刺地自嘲到,“我们能计算我们不理解或者不需要的信号样本。”
“等一下,”玛丽说道。“这些是一些y3(t)周期版本的采样。我只需要解决y3(t)和我们最初的时间采样。“看,”玛丽说,随后写到y3(nTs)
fyY(f)efyj2fnTsdf
“他们看起来就像Y(f)序列的系数计算一样,”汤姆说道。
玛丽正忙着翻看前一天晚上的笔记。“是的,我们以前看到过这个!”经过一番搜索后她重新发现了等式14,然后得意洋洋地写到
y3(nTs)fsx3(nTs)(35)
然后,w(nTs)
ix3(nTsiTw)(36)
回想起他们之前达成的公式,她最终写到
w(nTs)
ix3(nTsiMTs)(37)
“瞧,w(nTs)只是一个周期版本,很可能是一个x3(nTs)的失真版本。”汤姆激动地说。“我们只需要确定M大于等于N,w(0),w(Ts),...,w((N1)Ts)的采样将会是我们需要的时间采样!”借鉴当M等于N时的等式32和等式27,他写到
x3(nTs)1
NTsfskfsfs2N2Y(Kfs2ej2kn/N(38)
“根据N点的频率采样得到N点的时间采样,”迪克说道。“现在我们需要用N点的时间采样去算出N点的频率采样。我觉得我们可以用这个结果去做我们作业的平面图。”
他们又重新看了一遍他们的笔记然后发现了等式16.发现除了x3(nTs)的前几个N点之外,它的值都为零。他们写到
KfsY()N1fsN1
n0x3(nTs)ej2nK/N(39)
他们用等式39分别计算了15个频率采样还有相应的大小和阶段如图9a和9b。他们画出了正确的振幅谱去确认他们的采样和正确的频谱有多接近。
突出的贡献:第二部分
第二天,这些学生满怀自信给我带来等式38和39还有平面图。我称赞了他们的努力,然后建议我们可以稍微做一些修改。
“你们的等式39是用来计算Y(f)的采样。假设我们需要用我们提到的DTFT去计算采样。你们会怎么去做?”
他们回顾了一下我们之前对DTFT的讨论然后发现只需要做一点点的修改。因为YDTFT(f)fsY(f),我写到
KfsYDTFT(Nx3(nTs)en0N1j2nK/M(40)
这个反比关系说明了这个比例因子,
1x3(nTs)Nfskfs2N2KfsYDTFT()e2fsj2kn/N(41)
“你们已经完成了在基带上逻辑上的FT采样。意思就是,你们找到了正确的采样在fsffs这个频率范围内。现在的问题就是22
k的值是取决于N是奇数还是偶数。当N是奇数时,结果为kN1N1NN;但是,当N是偶数是,k,...,0,...,1”,...,0,...2222
“这就意味着我们需要两个公式去计算频率采样。”汤姆说到。
“嗯。除非我们能绕过这个问题。信号处理人员一般会利用kfYDTFTsej2knN以N点周期的事实。(记住DTFT是一fs为周期的,符N
YDTFT(合N采样。)如下:
和ej2(kN)n/N(KN)fsKfsYDTFT(fs)(42)NNej2kn/Nej2ej2kn/N(43)。意思就是,不论如
kfs的结N何,我们只计算正的K值,而不去计算当K为负数是YDTFT
果。不管N是奇数还是偶数,我们只用k0,1,2,...,N1”这些学生尝试了几个N值来让自己这个是真的。“因此,我们可以用等式40去代入这些正的K值,然后修改下等式41:
1N1Kfsj2nTsFs/Mx3(nT3)YDTFT(e(44)”Nk0M
“这两者的关系(等式40,当K0,1,...,N1;和等式44),是离散傅立叶变换(DFT)的本质。“我详细描述道。有几组有效的算法利用包含的数量的对称性去计算DFT关系。这些算法被共同成为快速傅立叶变换(FFT)。我们用一点时间去计算等式40的DFT然后画出产生振幅谱,然后去确认相对的,等式44,确实产生了16个图6里面的x3(nTs)的采样。这个图清楚地解释了DFT是DTFT第一个非负频率周期内的采样,而不是分布在f=0两侧的主周期。
“让我们来回顾一下你们得到的DFT关系,”我鼓励他们。“我们总会要在电脑上用到一个有限的信号,像x3(t)一样,”迪克说道。“然后我们取N个采样点。正变换(等式40)允许我们去计算DTFT”
“这些采样都有什么意义?”我问他们。“DTFT必须要是失真的连续时间FT,x3(f),”玛丽说道。“x3(t)不能是有限带宽的因为它是有时域有限的。”
“正确,”我同意道。“所以你觉得这个意味着我们不能用DFT去研究连续的频谱么?”
“不,我觉得可以用快速采样来去除失真的影响。”玛丽说。“对,或者说,你可以过滤掉所有大于fs2的能量,去研究相对较低的频率,”我说道。“好的,我们假设一个DTFT的周期是非常接近x3(f)的。”
“然后我们可以只用加法和乘法去用DFT频率采样来研究连续时间的信号,而不是用积分!”汤姆说。“我们可以用我们推断出来的关系在频率和时间采样当中来回转换。”
“对,你们只用了FS就完成了这些,是变换的最初的中心思想,”我提醒他们。“所以,当你们在以后的作业中看到DFT的时候,你们要记住他不是一个分开的变换,它有着真正意义上分析连续时间信号的意义,这才是我们通常需要做的。”
汤姆、迪克和玛丽发现了DFT
--三个学生发现关于连续和离散之间的转换的故事
(韩振峰译)
离散傅里叶变换越来越多的被作为脱离基本连续时间傅里叶分析的材料来教学。如果有什么让学生理解的不是很清楚的话,那就是非常重要的数字信号产生的幅度谱和相位谱与连续时间信号分析之间的关系。这篇文章讲述了三个仅仅拥有模拟分析方法知识的本科生发现了DFT。
越来越小的谎言
一位教授曾经对我说;“教育就是讲述越来越小的谎言的过程”。我多么希望我能记得那位教授是谁,那么,我将能把我已经多次运用到自己的教学当中去的绝妙的引用找到恰当的归因。教育者们(无论专业与否)不要经常讲恶意的“谎言”。更准确地说,对于某一阶段的学习者来说,知识的理解与掌握并不是总要告诉他们全部的“真相”。通过简化和省略细节,因为老师是为学生们下一阶段的理解(也可能是下几个阶段)奠定基础的,太复杂的细节可以等到学生们准备去掌握它们时再去呈现。这种简化的、省略细节的教学版本,有时包含着为简单起见而产生的遗漏和不精确之类的“谎言”。但这是一个循环的过程,在每一个阶段“谎言”都在逐渐变小。
在某一时刻,我们都有过停止学习关于某一特定科目。显然,当我们揭开大多数科目完美的“真相”之前,我们停止了学习。而在工程上,这样的做法将会对设计和创新产生不幸的结果。然而,当未完
成的任务被完全的理解不必要地替代,这将是多么的不幸。也就是,当学生本来能轻易地掌握完整的脉络,但是却因为一个不完整的理解而被落下。
这样的情况发生在离散时间傅立叶变换(DTFT)和离散傅立叶变换(DFT),这些变换是现代频谱分析的核心内容,因为它们几乎总是被用于分析连续时间中出现的问题,分析家认为离散频谱和连续频谱之间的关系是非常重要的。而离散傅立叶技术的历史是丰富细致的,这个方法的基本根源在于傅立叶级数,因为其明显地出现在经常被引用的库利和图克的论文中。从这个意义上来说,早在数字计算机概念之前,傅立叶就于1807年发现了DFT的本质。在此世纪初,傅立叶的想法就出现在了美国的香农和俄罗斯的科托尼科夫发表在与有关当代数据采样问题的俄罗斯文献中。然而,更多的关于离散傅立叶技术发展的原始动机,已经无法在最近的文献指南中找到。
1992年1月是IEEE信号处理杂志庆祝FFT25周年纪念日,大致也是在1968年的这个时候,我们所熟知的现代学科“数字信号处理”从此诞生。在这一过程中某一阶段,我们丢失了DFT早期的理解。受人尊敬的老师和教科书作家已经发现,含蓄地将DTFT和DFT从他们已经建立的基本规则中区别对待,这只能是权宜之计。最多,为了用“冲击取样”与之联系起来可能会做一些迟钝的尝试。很多学生都没有意识到这个“谎言”。假设学生们在下一个理解阶段将会为经典理论作出富有成果性的联系以丰富离散变换的实用有效性。遗憾的是,对许多实习生来说,这个下一阶段的理解可能不会被实现。导致
频谱分析的事业是建立在不完整的理解上的。在我自己的教学中,让学生们陷在DTFT和DFT与它们已经了解的连续变换是不同的谎言中,这使我感到不舒服。幸运的是,接下来发生在我正教学的班里的一系列事情,如果你质疑这个故事的真实性,那么请重新阅读文章的开篇部分。
繁重的家庭作业
汤姆,迪克和玛丽都是正在修信号与线性系统分析的大三学生。它们已经学完了连续傅立叶分析的部分,正在一起处理似乎没完没了的有关傅立叶变换的幅度谱和频谱的绘制的作业。
“这家庭作业也太多了”汤姆说。“我们永远也不可能手工做完。”迪克建议用隔壁房间的一台个人电脑,至少可以做些平面图的绘制。玛丽指出图形是连续曲线,它们可以得到频谱采样。她建议如果他们能过得到密集的采样,然后他们也许可以连接这些点得到近似的
频谱。于是,他们从第一个信号x1(t)和它的傅立叶积分
X1(f)
j2ftx(t)edt1(1)
开始,他们想知道如何能够用离散计算方法在计算机上模拟出X1的采样。
(“我们不能在计算机上做积分,即使我们仅仅想知道X在f处1f)
的采样值。”汤姆正确地指出。
他们思考了一会儿,几乎要放弃使用计算机的时候,玛丽回想起的关键一点最终解救了这个夜晚。她说,傅立叶级数(FS)导致一种
在频域的采样。迪克认为,这是不相关的,因为“我们不是在解决傅立叶级数问题--x1(t)不是一个周期信号”迪克注意到。“所以我不明白我们又是如何可以应用FS呢。”玛丽指出只用一段周期的周期函数可以构建傅立叶级数。这促使汤姆建议“让我们把x1(t)处理为周期性函数,看看我们可以用它来做什么。”
迪克仍然持怀疑态度,但是他也同意按这个方案进行。“我们应该选取它的哪一段周期呢?”迪克问。“我不知道,”玛丽承认,“但是让我们试一下一般的周期,令它等于Ty,称这个周期函数为y(t)。然后我们就得到了这个。”玛丽说,在黑板上写下
y(t)
kx(tkT)1y(2)
然后她画出了x1(t)信号的大致图像(如图.1a),并标注出它“周期宽度”T1=8.她又画出了y1(t)的两种情况的大致图像,第一种:当TyT1(如图.1b);第一种:当TyT1(如图.1c)。
“我不确定下面该怎么办,”汤姆说,“但是让我们写一下y(t)的傅立叶级数。”他写下
y(t)
mme2mfyt1,fyTy(3)
Ty/2
m
Ty/2y(t)e2mfytdt(4)
“嘿,因为我们只使用一个周期,”迪克注意到,“在案例1中,我们在协同因素计算下可以用x1(t)的取代y(t)“,他写道:
1mTy
T1/2Ty/2Ty/2x1(t)e
2mfyt2mfytdt
T1/2x1(t)edt(5)1X1(mfy)Ty
之后,他又认识到了一些自身存在的问题。“这些系数仅仅是原始信号的FT采样(和一个比例因子)。”他边说边在黑板的最后一行
1写下:“X1(mfy)”。Ty
“我们好像已经得到了我们想要的频域采样,”玛丽发现。“让我们来总结一下,如果我们以fy
采样,然后以fy1,TyT1对傅立叶变换X1(mfy)进行Ty1来衡量它们。”Ty
1mX1(mfy),m=...-1,0,1,2,3....Ty(6)
我们为周期函数x1(t)不重叠的副本加上傅立叶级数系数,我们就会得到我们想要的傅立叶变换的采样,而且,很明显我们没有丢失任何信息,因为我们可以通过构造波形等式(3)中恢复出x1(t),然后取其主值周期。“如果我们以同样的方法用fy1且TyT1处理频域采样,将会Ty
发生什么呢?”汤姆感到疑惑。“我敢打赌,如果在第二种情况下没有发生重叠,那些采样将还会是傅立叶级数的系数,”在处理这个问题一段时间后,他们这个团队确认了这个方案。他们知道周期函数不能进行有效的傅立叶变换,但是可以用冲击函数辅助进行构建。他们已经被告诫过冲击函数的数学障碍,但是,没什么更好的可以做的了,所以他们最终还是诉诸于他们已经构建的傅立叶级数来进行信号的傅立叶变换。由于不确定构造的信号到底是不是y(t),所以他们称它为y'(t),并且写下
1j2mfyty(t)X1(mfy)e
mTy'(7)
从而获得
1Y(f)Ty'
mX1(mfy)ej2mfytj2ftedt(8)
X1(f)(fmfy)
m
现在用实际的
m(fmfy)的时间信号Tym(tmfy)的傅立叶
变换,同时增加两个傅立叶变换相对应的时间函数的卷积的属性,他们写道:
y(f)
'x(t)(fmf1m
yy)d(9)
mx(tmT)y(t)1
“好了”玛丽惊叹,“现在我们知道,我们可以通过把X1(f)的样值当作傅立叶级数的系数可以获得至少一个周期性的X1(t)。如果我们想要一个周期y(t)的变成精确的x1(t),我们必须确保X1(f)的采样频率在当TyT1时是足够接近mfy。”y
迪克表示,他们要想能够在电脑上绘制频谱图仍然有很长的路要走。“要想在电脑上处理这些频谱,必须在时域和频域上都避免出现连续信号,”他说。“至少我们知道我们可以用频率采样做什么”他承认。
“我们在课堂上谈了很多关于时间——频率的二重性问题,”汤姆回忆说,“看起来我们应该能够把我们刚刚用来得到时域样值的过程反过来。”
“是的”玛丽同意,“我敢打赌这有一个基本原则:如果我们能够得到一个周期域,所有的信息将被包含在其他的采样值中,但是,在一个域中的采样值必须足够接近保证不与其他域发生重叠(如果可能的话)。让我们来尝试一下汤姆的想法。”
因为他们不知道X1(f)是什么样子,玛丽在黑板上大致画了一个X1(f)的假设版本(图.2)。仔细标记其一边的带宽为fb,她然后又画了两个周期的函数,都具有周期fs,把它们都称为Y(f)。在情况1中,周期fs2fb,在情况2中fs2fb。
该小组停了一会儿去考虑一个重要细节。Tom反对这个草图,理由是X1(f)是复杂的函数,不能绘制在平面坐标系中,但是,玛丽正确地指出,X1(t)是实函数,即使在这种情况下,意味着甚至在傅立叶变换中也是实函数。“我们只是运气好。”玛丽补充说,但我想我们必须要小心处理这些图片,因为我们现在加入了一些复杂的参数。
“我想我们仍然可以把频率重叠用在这些图中,”迪克观察。我第二天在办公室里讨论这一点时告诉他们,迪克是正确的,但这个量级的频谱不是直接添加那么简单。教科书并不总能把这一点解释地很清晰,因此,我们对这些草图的处理必须要仔细。
他们忽视了另一个细节事实,一个信号是不能同时有时间限制。比如x1(t)这个信号是不能同时有时间限制和频率带宽限制的,这些隐含在玛丽的X1(f)所画的大致图形里。这个忽略结果是有益的,因为他们已经记住这个事实,他们也许会对X1(f)周期的构建很失望,在接下来的很长一段时间里我们一直在讨论这点。
学生们开始仔细检查图2b和2c的情况。在这两种情况下,他们推测周期函数
Y(f)
mX(fnf)1s(10)
可以通过一个系数与时域采样相关的傅立叶级数来表示。这只是一个简单的颠倒时间和频率的分析。迪克猜正确的时间样本可能是x1(nTs),且Ts1,通过类比方法来分析这两个对偶问题。fs
接着在频率采样问题的分析中,小组很快发现,他们的直觉是正确的。周期(复杂的)频率函数Y(f)可以由傅立叶级数表示,他们首
'X(f)1x先计算了信号的傅立叶变换,称之为(t),
x(t)'1
y(t)ej2tfdf(11)
他们指出,这个傅立叶变换非常接近的时间信号
x1(t)
X1(f)ej2tfdfx1(t)'(12)
但为了保持类比到频域采样这个方案,他们,同意暂时忽略这个事实。他们认真地为周期函数写下傅立叶级数(等式10),让f作为“时间轴”参数,fs作为基本”周期”参数。因此,1/fs=Ts是基本频率的类似量.这种情况下,傅立叶级数是
Y(f)
nenj2nTsf1,Tsfs(13)
FS系数是(反转时间)x
'1(t)x1(t)波形的缩小,那么
(15)1Y(f)x1(nTs)ej2nTsf
nfs
这个小组决定,他们不喜欢用负的时间采样值,所以他们做了一个微小的改变,用n取代-n,得到
11Y(f)x1(nTs)e-j2nTsfx1(nTs)e-j2nTsf
fsnnfs(16)
“我们得到它了!”玛丽激动地说。“只要我们让
则Y(t)的第一周期将恰好是X1(f)。”fss2fb,
“但是,我们需要得到X1(f)采样值,”迪克提醒她,“以为了在电脑上绘制并处理它们。”
“没问题,”汤姆说,我们可以在任何我们想要的频率下,简单的计算Y(t)=X1(f)。例如,我们取频率f0,接着他在黑板上写下
1Y(f0)X1(f0)
x1(nTs)e-j2nTsf0
fsn(17)
(1f)“这个适用于任何频率在fbf0fb的采样,因为这是Y(f)X
所满足的范围。”
使用给定信号的采样值,并且这个表达式他们已经从等式17派生出来了。汤姆,迪克的,和玛丽能为他们的每一个家庭作业的问题计算作出绘图。对于任何那些不知道fb带宽的信号,他们不得不猜
测在各种情况下的采样周期Ts。他们任意地选择了一个时间周期Ts=1/fs=1s用于所有的信号。在某些情况下,这还是令人满意的。但在其他情况,又相当令人不满意。幅度谱对信号x1(t)的结果如图3所示(在每个采样值中的标注相位的弧度是零或,由于信号值x1(t)是实数,甚至在FT中也是如此)图3是通过使用等式17在频率kfs32k32(对于k=0,1,...16)采样中获得的.由于频谱是偶函数的频率,所以只在绘制出正频率就可以了。
当第二天我们在我的办公室见面时,汤姆,迪克和玛丽显然为他们的发现激动不已。
突出的贡献:第一部分
我称赞他们的创新,并借此机会解释他们的工作是多么的深刻,“首先,”我告诉他们,“在时间采样过程中,你发现的是信息理论中的一个基本结论,它被称为香农采样定理”。这一理论说,如果我们用足够高的频率对时域波形采样(fss2fb),然后像x1(t)这样的一个完整的连续信号可以从时间采样x1(nTs)恢复出来,从理论来说,这样的方法显然和你们做的工作是一样的:等式16中的Y(f)就是傅立叶级数的形式。Y(f)的第一个周期是X1(f)的傅立叶变换,所以我们可以在X1(f)的初始周期进行傅立叶逆变换来恢复信号x1(t)。在实践中,我们用一个低通滤波器恢复占据主要频带中的信号。
这个低通滤波可以操作输入到该滤波器的样值的离散卷积运算。该过程通常被称为内插的,因为它使我们能够在信号的采样值之间进行插值计算。
Y(f)的FS过程是一个对原“只要你对x1(t)的取样速度足够快,”
始信号的频谱分析的很好选择,因为它代表了一个周期性的精确X1(f)。但即使采样过程不够快(或因为无限的带宽的限制),Y(f)和X1(f)是密切相关的,因为它是一个周期性的,但X1(f)混叠了。术语混叠指的是在频谱上的重叠,导致高于fs/2的频率信号与频带在0ffs/2的相混淆。”
我们暂停了一会去讨论混叠现象.学生们指出他们不知道应该使用什么采样率用在他们家庭作业中涉及的各种各样的信号。即使他们已经知道了采样定理,他们还不知道信号的带宽,因为这些问题的任务是绘制谱图。取任意的采样频率fs=1HZ,他们有时会得到很差的结果(就近似连续时间FT来说)。我们研究的他们功课中的两个信号的细节去理解这一点。首先,我们画的这个图用来近似代表连续时间信号x1(t)的幅度谱(图4a)。就这件事来说,“你在这种情况下很幸运,”
我告诉他们,“因为这个信号的能量超出了你假设的带宽fs/2=1/2。当用对数量度表示时会更加明显(图4b)。然而,与0
x2(t)e0.03tsin(5t)[u(t1)u(t93.1)](18)
其中u(t)即单位阶跃函数,其定义为:当t0是为单位1,否则为零。基于我们前面的讨论,该小组现在理解了fs=1的采样率是不恰当的,因为在这种衰减的正弦信号的能量集中在频率f020.796HZ范围,我们需要采样率fs=2(0.796)=1.6HZ在周期性的傅立叶变换中避免混叠,”汤姆正确记录道。
“在这种情况下将会发生的事情是显而易见的,”我告诉他们。“看看你们的频谱幅度曲线(图.5a)。这似乎表明能量是在f=0.2HZ处,但在正弦曲线的频率内没有表现出任何的能量(这甚至不在你的绘图的范围内)。发生了什么事呢?”
我建议他们扩展他们的绘图包括一个或多个周期“混叠”的傅立叶变换。使用他们那晚之前写的程序,他们按此方法做了(图5b),知道了周期为fs=1的结果将会是周期性,当他们在做这些时,我绘
制了x
2(t)的真实频谱(图.5C)
“我明白发生了什么,”汤姆说。“我们在0
“现在让我告诉你们得到的结果的进一步的意义,”我继续说。“你已经发现Y(f)的傅立叶级数是非常接近我们所知道的离散时间傅里叶变换(DTFT)即样本x1(nT)组成的离散时间信号,n=...-1,0,1,2...通常情况下,教科书会告诉你,DTFT是类似下面这样的,”我在黑板上写下
YDTFT(f)
nj2fnTsx(nT)e1s(19)
“这就是我们的‘FS’除了个比例因子fs,”玛丽说。“是的,”
我说,“它恰巧和你们做的数学计算一致。那么你们能告诉我DTFT
的意义么?想想我们刚刚得到的结果”
“我们想要使用电脑绘制频谱,所以我们必须让离散样本在两个域内,”汤姆说。“是的,”我打断道,“而且更一般的情况下,电脑是被用来代替各种各样的模拟系统和过滤器以至于计算,在这种情况下是频谱分析,必须用离散样本完成。然而通常情况下,这些样本与连续现象有关,因为大部分信号是连续的。因此我们希望能够使用计算机进行有‘意义’的频谱分析。”
“你的意思是说我们希望能够将结果和连续世界联系起来,因为那才真的是他们来自的地方,”玛丽说。
“正是如此。”
“所以DTFT非常重要,因为它允许我们仅仅只用时间采样就能计算连续FT的周期性副本”迪克说。
“只要我们在时域采样足够快”我补充道。“现在谁能告诉我DTFT定义中遗漏的比例因子的作用是什么?”我问道。
“没什么大不了的,”汤姆说,“它只是意味着DTFT是原FT的一个周期延拓。”回顾了他昨晚的笔记,写到
1YDTFT(f)fsX1(fnfs)TsnnX(fnf)1s
“所以DTFT是新东西么?”我问。“还是经典理论的延伸?”这个问题夸张了一点,他们对他们的成果非常自豪。
“当你们看到DTFT和离散时间信号在你们的工作中时,你将会永远记得它的起源因为你们如此努力的发现了它们。”
“现在我有一个挑战给你们,”我在他们自我庆祝后说。汤姆,迪
克和玛丽看起来非常惊恐,因为他们已经熬了无数个夜晚面对他们认为已经足够的挑战。“在你们工作的第一部分,你们展示了如何使用一组采样代表连续时间的波形。在第二部分中,你们展示了怎样用时间采样代表一个连续频率函数。然后你们用这个结果计算了频率采样。用电脑进行了频谱分析,它将对采样集合的来回变换非常有用。你们已经很接近了。看看你们是否能找到这样一种变换。”
“让我给你们一点提示”我补充道。“你们注意到你们的DTFT计算使用了双重无穷数量的时间采样。”
“是的,”汤姆说,“我们必须去掉大量采样后的信号,如果原信号不是‘时域有限’的。我的意思是如果T1|。所以我想我们只得到了一个近似的频谱。”
“是的,而且那将总是在离散时间情况下分析,”我指出。“你将永远无法进入无穷时间采样。这有几个聪明的方法去截取长信号来得到更好的频谱估计,但是那是另外一个故事了。让我们仅仅假设我们有一个从t=0开始并且在有限的时间内‘结束’的信号。一个例子是你们作业中的x2(t),但是下一个,x3(t),更简单一些:
x3(t)(0.9)1000t[u(t)u(t0.0151)]
所以x3(t)在0t15.1ms范围内没有零值。
假设Ts是你取的取样周期并且你得到了非零范围的N点采样,
x3(0),x3(Ts),x3(2Ts),...,x3(N1)Ts。这些采样包含了离散时间信号x3(nTs)的非零部分。”我简略的在黑板上画出Ts=1ms时的样本。
“x3(t)对一些有限的fb是有限频宽的么?”他们想要知道,“并且,
如果是,fs2fb么?”
“x3(t)不可能是有限频宽的因为它是在有限时间持续的。但是它可以被假定为实际上对一些有限的fb是有限频宽的,无论是固有的还
是因为经过低通滤波器的滤波操作。对于你们的理论工作,假设有一个实际存在的fb但是你并不知道它的值,”我回答道。“这意味着你必须对混叠现象有所准备,因为你不知道fs取何值合适。”
“我十分欣赏你昨晚做的工作!现在看看你能不能让它进入下一个逻辑步骤。”
我非常想告诉你汤姆,迪克和玛丽一脸兴奋的离开了我的办公室,急切的想要去进行这个新的挑战。但是,这是个真实的故事。当他们从走廊离开的时候,他们低声抱怨了一些不适合被打印出来的东西。向DFT前进
这三个学生被方程式搞得相当郁闷。经过一段时间思考后,等式7和9或许可以用一个与等式7相似的等式代替,在时间tnTs时得到他们想要的时间采样。“但是我们没有一个真正的x3(f)去采样,”汤姆指出。“我们有的只是一个周期的x3(f),又叫Y(f)。在这种情况下,既然我们只有N点的时间采样,那么等式16就可以化简为。”他写道
1Y(f)fsx(nT)e3sn0N1j2nTsf
“当然,我们可以计算任意我们想要的f采样,但是计算哪一个?”迪克好奇的问到。他们考虑了很久。玛丽反复强调信号x3(t)不可能是有限频宽的因为它是时域有限的。然而,她建议他们回顾他们
第一次分析时发生了什么,那时X1(f)被假设(不正确的)为频率收敛到fb。“看看等式7和9,”她给他的同学提示,“如果我们有了x3(f)的采样,并且我们以fyNTsfsN的间隔采样,根据等式3,我们就得到了等式7:”
y(t)
kx(tkNT)3s
“而且,如果我们用了等式7在nTs,那么我们会得到这些数:”
y(nTs)
kx(nT3skNTs)
他们在黑板上画出了y(nTs)序列并且发现第一个N点就是x3(nTs)序列。事实上,他们改变fyNTs的值并且发现用一个较小的
fyNTs值将会一起额外的“空间”(零)在x1(t)在y(t)的副本之间,而且副本的混叠将会出现如果fy选择的过大的话,fys。
“但是我们没有X3(f),”提醒道“我们只有一个周期,或许还失真,版本的X3(f)。”
“我有一个预感我们将Y(f)放入正确的位置fyfsN将会依然得到周期序列,”汤姆说。“就像我们昨天晚上采样失真周期FT一样,”他有点确定的说。
他们知道在联系频率采样之前这个情况必须对他们昨晚进行的第一个研究做点什么。他,们开始钻研这些结果。“看着这些我们走过来的模式”玛丽说。”我们有有限带宽的x1(t)信号并且我们让他变为周期以至于我们可以离散频域。我想我们需要在这做同样的事情。忘记Y(f)是周期的事实。那正是干扰我们的。仅仅看一个时期的。“她
在黑板上写下如下定义式:
ffY(f),sfs
Y3(f)220,otherwise
并画下了图像(图8)。“当然,我们将让y3(t)为匹配时间信号。我不太确定y3(t)是什么,但是我知道如果我们在Y(f)样本外建立一个FS我们将会使它成周期性的,而且,如果汤姆的预感是正确的,信号y3(t)将会和y(t)在nTs的采样一致”玛丽推断道。
“截取Y(f)得到Y3(f),”迪克指出,“我们让y3(t)成为连续时间信号。”他也观察到y3(t)将会就是x3(t),并且Y3(f)X3(f),如果原信号x3(t)是有限带宽的并且经过了足够快速的取样。
“两种都对,”汤姆说,“但是玛丽正在考虑的普通案例中Y(f)和Y3(f)可能包含失真。我也知道她正在尝试做什么来让y3(t)成为一个连续时间信号。她正在带我们回到我们昨天晚上研究的——连续时间—离散频率。”
“我知道我们的目标了,”迪克,“但是如果我们用我们昨晚的方法,我们将最终得到一个周期版本的y3(t)的FS,而不是y(t)。然后我们将会估算离散时间,得到一个周期y3(t)的采样,而不是y(t)的采样,也当然不是x3(nTs)。”
“不管怎么样先做吧,”汤姆坚持道,“我认为会有效的。”然后他们开始一丝不苟的按照熟悉的步骤进行。首先他们对有些神秘的y3(t)进行了周期延拓:
w(t)
iy(tiT3w)
期望他们将在fww对Y3(f)进行采样。他们都同意Tw应该是Ts的几倍因为周期最终将会是整数倍的样本,如下,
TwMTsorfw1
MTs
然后他们写了FS:
w(t)
kkej2kft,fww1Tw
k1
TwTw2Tw
2j2kfwtw(t)edt
他们从过去的经验可以知道w(t)是否是y3(t)的混叠版本,
k1Y3(kfw)Tw
因此,
1w(t)TwkY(kf3w)ej2kfwt
他们记下用限制求和的办法用Y(f)代替y3(f):
w(t)1
TwY(kfkw)ej2kfwt(32)
fsfkfws
22其中k的取值为
现在他们有了可以计算时间采样的频率采样。他们尤其需要在时域nTs的采样,当n0,1,...,N1。然后他们可以求w(t)在离散时间下的
fy值,w(nTs)
fyj2fnTsY(f)x(nT)edf。3s
“好极了,”迪克讽刺地自嘲到,“我们能计算我们不理解或者不需要的信号样本。”
“等一下,”玛丽说道。“这些是一些y3(t)周期版本的采样。我只需要解决y3(t)和我们最初的时间采样。“看,”玛丽说,随后写到y3(nTs)
fyY(f)efyj2fnTsdf
“他们看起来就像Y(f)序列的系数计算一样,”汤姆说道。
玛丽正忙着翻看前一天晚上的笔记。“是的,我们以前看到过这个!”经过一番搜索后她重新发现了等式14,然后得意洋洋地写到
y3(nTs)fsx3(nTs)(35)
然后,w(nTs)
ix3(nTsiTw)(36)
回想起他们之前达成的公式,她最终写到
w(nTs)
ix3(nTsiMTs)(37)
“瞧,w(nTs)只是一个周期版本,很可能是一个x3(nTs)的失真版本。”汤姆激动地说。“我们只需要确定M大于等于N,w(0),w(Ts),...,w((N1)Ts)的采样将会是我们需要的时间采样!”借鉴当M等于N时的等式32和等式27,他写到
x3(nTs)1
NTsfskfsfs2N2Y(Kfs2ej2kn/N(38)
“根据N点的频率采样得到N点的时间采样,”迪克说道。“现在我们需要用N点的时间采样去算出N点的频率采样。我觉得我们可以用这个结果去做我们作业的平面图。”
他们又重新看了一遍他们的笔记然后发现了等式16.发现除了x3(nTs)的前几个N点之外,它的值都为零。他们写到
KfsY()N1fsN1
n0x3(nTs)ej2nK/N(39)
他们用等式39分别计算了15个频率采样还有相应的大小和阶段如图9a和9b。他们画出了正确的振幅谱去确认他们的采样和正确的频谱有多接近。
突出的贡献:第二部分
第二天,这些学生满怀自信给我带来等式38和39还有平面图。我称赞了他们的努力,然后建议我们可以稍微做一些修改。
“你们的等式39是用来计算Y(f)的采样。假设我们需要用我们提到的DTFT去计算采样。你们会怎么去做?”
他们回顾了一下我们之前对DTFT的讨论然后发现只需要做一点点的修改。因为YDTFT(f)fsY(f),我写到
KfsYDTFT(Nx3(nTs)en0N1j2nK/M(40)
这个反比关系说明了这个比例因子,
1x3(nTs)Nfskfs2N2KfsYDTFT()e2fsj2kn/N(41)
“你们已经完成了在基带上逻辑上的FT采样。意思就是,你们找到了正确的采样在fsffs这个频率范围内。现在的问题就是22
k的值是取决于N是奇数还是偶数。当N是奇数时,结果为kN1N1NN;但是,当N是偶数是,k,...,0,...,1”,...,0,...2222
“这就意味着我们需要两个公式去计算频率采样。”汤姆说到。
“嗯。除非我们能绕过这个问题。信号处理人员一般会利用kfYDTFTsej2knN以N点周期的事实。(记住DTFT是一fs为周期的,符N
YDTFT(合N采样。)如下:
和ej2(kN)n/N(KN)fsKfsYDTFT(fs)(42)NNej2kn/Nej2ej2kn/N(43)。意思就是,不论如
kfs的结N何,我们只计算正的K值,而不去计算当K为负数是YDTFT
果。不管N是奇数还是偶数,我们只用k0,1,2,...,N1”这些学生尝试了几个N值来让自己这个是真的。“因此,我们可以用等式40去代入这些正的K值,然后修改下等式41:
1N1Kfsj2nTsFs/Mx3(nT3)YDTFT(e(44)”Nk0M
“这两者的关系(等式40,当K0,1,...,N1;和等式44),是离散傅立叶变换(DFT)的本质。“我详细描述道。有几组有效的算法利用包含的数量的对称性去计算DFT关系。这些算法被共同成为快速傅立叶变换(FFT)。我们用一点时间去计算等式40的DFT然后画出产生振幅谱,然后去确认相对的,等式44,确实产生了16个图6里面的x3(nTs)的采样。这个图清楚地解释了DFT是DTFT第一个非负频率周期内的采样,而不是分布在f=0两侧的主周期。
“让我们来回顾一下你们得到的DFT关系,”我鼓励他们。“我们总会要在电脑上用到一个有限的信号,像x3(t)一样,”迪克说道。“然后我们取N个采样点。正变换(等式40)允许我们去计算DTFT”
“这些采样都有什么意义?”我问他们。“DTFT必须要是失真的连续时间FT,x3(f),”玛丽说道。“x3(t)不能是有限带宽的因为它是有时域有限的。”
“正确,”我同意道。“所以你觉得这个意味着我们不能用DFT去研究连续的频谱么?”
“不,我觉得可以用快速采样来去除失真的影响。”玛丽说。“对,或者说,你可以过滤掉所有大于fs2的能量,去研究相对较低的频率,”我说道。“好的,我们假设一个DTFT的周期是非常接近x3(f)的。”
“然后我们可以只用加法和乘法去用DFT频率采样来研究连续时间的信号,而不是用积分!”汤姆说。“我们可以用我们推断出来的关系在频率和时间采样当中来回转换。”
“对,你们只用了FS就完成了这些,是变换的最初的中心思想,”我提醒他们。“所以,当你们在以后的作业中看到DFT的时候,你们要记住他不是一个分开的变换,它有着真正意义上分析连续时间信号的意义,这才是我们通常需要做的。”