傅里叶变换(书上居然写错了,作者不懂居然还能写这么多。)

2024-04-14 10:44

本文主要是介绍傅里叶变换(书上居然写错了,作者不懂居然还能写这么多。),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

取样这里我需要说明一下,如何理解公式4.3-1。这个取样公式表示无限次取样,在间隔为\DeltaT的时候。如何理解公式4.3-2呢?这个公式是在说fk是常数,而不是函数。

现在看公式4.3-5。这个公式中函数是以(1/\DeltaT)为周期的周期函数吗?只要计算F~(u+1/\DeltaT)就会发现确实是以1/\DeltaT为周期。但是这个公式明显给出了一个问题,就是F~的每个函数值都是在F中取了无数个点相加的。在图4.6a,b,c,d中,恰好函数F在区间(-umax,uamx)之外为零。所有可以看作是有限和,理想的情况是在一个周期之内只有一个分量函数值,如图b,c。d是在重叠部分是两个函数值相加,这里正好是水平线段。

现在我来计算一下公式4.3-12吧。这本书是实话写的啰嗦,而且不清楚。

这里需要计算h(t)和f~(t)。

f~(t)书上就是公式4.3-1。

h(t)这个书上没有计算。但是书上计算了H(t)的傅里叶变换。

类比这个图4.4的计算过程,进行计算发现h(t)=AW*\sin (\pi tW)/(\pi tW),其中由于W/2=umax, A=ΔT, 但是umax=1/(2ΔT),所以w=1/ΔT。所以h(t)=sinc (\pi t/\Delta T)

所以f(t)=\sum_{n=-\infty }^{n=+\infty }\int_{-\infty}^{+\infty }h(\tau )*f(t-\tau)*\delta (t-\tau-n\Delta T)d\tau=\sum_{n=-\infty }^{n=+\infty }h(t-n\Delta T)*f(n\Delta T)=\sum_{n=-\infty }^{n=+\infty }h((t-n\Delta T)/\Delta T)*f(n\Delta T)

这正是书上的公式4.3-12。上面的第二个等式是根据冲激的取样特性,这是定义的性质,在公式4.2-9和4.2-10给出了。

本来已经是无限次取样了在\DeltaT的时间间隔中,用n表示,这里把取样函数傅里叶变换之后进行了有限次取样,在0-1/\DeltaT的时间内取样M次。先看看公式4.4-2,这也是无限次累加了,fn是常数,书上说是函数是错误的。关键的问题是如果排除为零的可能,这里的无限次累加是不是有限次累加呢?但是我发现就是无限次累加的。

这样的话,公式4.4-4出现的就很突然,因为如果把fn看做是只有M个点离散函数,进行傅里叶变换,得到Fm确实就是公式4.4-4。根本不需要前面的那么多计算,书上做了这么多计算是为什么呢?我认为作者可能自己也不懂,胡乱拼接的。实际上算法导论中的傅里叶变换的定义更加合理,按照算法导论的内容理解公式4.4-4,更直观。(我很想贴算法导论的内容,但是已经超出了本书的范围,那就不管了,我只是提醒这里写错了,《算法导论 Tomas H.Cormen....》的内容写的不错。)

这篇关于傅里叶变换(书上居然写错了,作者不懂居然还能写这么多。)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/902807

相关文章

OSG数学基础:坐标系变换

三维实体对象需要经过一系列的坐标变换才能正确、真实地显示在屏幕上。在一个场景中,当读者对场景中的物体进行各种变换及相关操作时,坐标系变换是非常频繁的。坐标系变换通常包括:世界坐标系-物体坐标系变换、物体坐标系-世界坐标系变换和世界坐标系-屏幕坐标系变换(一个二维平面坐标系,即显示器平面,是非常标准的笛卡尔坐标系的第一象限区域)。 世界坐标系-物体坐标系变换 它描述的问题主要是关于物体本身的

【pytorch06】 维度变换

常用API view/reshapesqueeze/unsqueezetranspose/t/permuteexpand/repeat view和reshape view操作的基本前提是保证numel()一致 a.view(4,28*28)的物理意义是把行宽以及通道合并在一起,对于4张图片,我们直接把所有数据都合在一起,用一个784维的向量来表示,这样所有的二维信息上下左右位置信息就忽略

神魔?居然还有人认为这些初中级VUE面试题简单!!?

前言 ❝ 上次写了一篇 不会吧!都2020年了你还不会这些VUE面试题? 我遇到的一面的面试题,有小伙伴觉得这些题太easy了   ❞ 我反思!! 今天总结了一些比较新的VUE面试题,适用于初中级的面试者,也是我在面试中遇到概率比较高的题目 「面对疾风吧!!」 1.keep-alive的作用是什么? <keep-alive>是Vue的内置组件,能够缓存组件,防止重复渲染

这下简书上的markdown完整了

最近用简书的markdown写作时,偶尔发现简书又支持几个markdown扩展语法。 第一个是上标, 实现方法是用两个^包围需要上标的字符,如hoptop^TM^, 效果为hoptopTM 第二个是下标, 实现方法是用两个~包围需要下标的字符,如hoptop~TM~, 效果就是hoptopTM 这两个语法在简书官方markdown推文-献给写作者的 Markdown 新手指南-中并没有提到,

SqlServer书上:使用游标输出学生姓名、选修课程名称和期末考试成绩

--使用游标输出学生姓名、选修课程名称和期末考试成绩use teachinggodeclare @sname nchar(8),@cname nchar(10),@final numeric(6,2)--定义变量declare sc_cursor cursor --定义游标forselect sname,cname,finalfrom score join student on(sc

《Python 机器学习》作者新作:从头开始构建大型语言模型,代码已开源

ChatGPT狂飙160天,世界已经不是之前的样子。 更多资源欢迎关注 自 ChatGPT 发布以来,大型语言模型(LLM)已经成为推动人工智能发展的关键技术。 近期,机器学习和 AI 研究员、畅销书《Python 机器学习》作者 Sebastian Raschka 又写了一本新书 ——《Build a Large Language Model (From Scratch)》

【CSS】深入解释CSS 2D变换

CSS 2D变换(CSS 2D Transformations)是CSS3引入的一组功能,允许你对HTML元素进行2D空间内的移动、旋转、缩放和倾斜等操作。这些变换不会影响到页面的布局,因为它们只是视觉上改变元素的呈现方式,而不是改变其在文档流中的位置或大小。 以下是CSS 2D变换的详细解释: 1. transform 属性 transform 属性用于在2D或3D空间中移动、旋转、缩放或

昇思25天学习打卡营第4天 | 数据变换

内容介绍:通常情况下,直接加载的原始数据并不能直接送入神经网络进行训练,此时我们需要对其进行数据预处理。MindSpore提供不同种类的数据变换(Transforms),配合数据处理Pipeline来实现数据预处理。所有的Transforms均可通过`map`方法传入,实现对指定数据列的处理。 具体内容: 1. 导包 import numpy as npfrom PIL import Im

快速傅里叶变换FFT的迭代实现

《快速傅里叶变换的相关定义、原理及其递归算法》描述了FFT的最基本原理,按2来分解原DFT运算。实际上有效率更高的分解办法(视卷积双方的长度而定),当然效率虽更高却更难以理解。即使按2来分解,也有基于时域的和基于频域的区别,上文描述的是基于时域的,个人觉得这是最容易理解的一种FFT原理。本文描述此原理下的FFT的迭代实现。     仍然以8点DFT为例,考察其依次2分的过程,可以得到这样

快速傅里叶变换的相关定义、原理及其递归算法

快速傅里叶变换FFT是离散傅里叶变换DFT的一种快速算法,实际上诸如Matlab等科学计算软件都已经实现了FFT,只需调用相应的接口即可。在ACM里,FFT的典型应用就是大数的乘法或者多项式的乘法。顺便,如果题目规模不是很大,有关大数的运算推荐使用Java语言,使用java.math.BigInteger包完成;包括高精度运算,可以使用BigDecimal包完成。任何情况下,会一门外语总是