首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >傅立叶变换帮助

傅立叶变换帮助
EN

Stack Overflow用户
提问于 2011-02-23 07:12:49
回答 2查看 201关注 0票数 0

我应该做一些傅里叶变换的工作,但我仍然很困惑。

我得到了一个信号(在这种情况下是ft = sin(2 pi s t/ N),其中s=8,N= 128)

我要找出真实的,虚构的,相位和大小。

我知道如何获得真实和虚构,但相位和大小超出了我的能力范围……

获取实数和虚数的sudo代码如下:

代码语言:javascript
复制
for u = 0 to M-1 do
F[u].real = 0
F[u].imag = 0
for x = 0 to M-1 do
    F[u].real += f[x] * cos(- 2 * pi * u * x / M)
    F[u].imag += f[x] * sin(- 2 * pi * u * x / M)
end do
F[u].real /= M
F[u].imag /= M
end do

现在在某个地方有相位和大小,但是在哪里呢?!

谢谢!

此外,一些程序员-equse解释FTs的基础知识也是很棒的!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-23 07:18:08

如果你把实部和虚部看作XY平面上的坐标,那么相位就是矢量和X+轴之间的角度,而大小就是矢量的长度。为了计算,你只需要

代码语言:javascript
复制
magnitude = sqrt(real*real + imag*imag)
phase = atan2(imag, real)
票数 3
EN

Stack Overflow用户

发布于 2011-02-23 07:17:41

来自http://en.wikipedia.org/wiki/Complex_number#Absolute_value_and_argument

幅度是sqrt(real^2 + imag^2) (其中^表示"squared").

  • The相位是atan2(imag, real) (其中atan2()表示双参数
  • 函数)。

维基百科的那篇文章解释了为什么比我在这里做得更好。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5085187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档