首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从进行fft后获得的频率、振幅和相位重建原始信号

从进行fft后获得的频率、振幅和相位重建原始信号
EN

Stack Overflow用户
提问于 2011-06-02 06:08:16
回答 2查看 3K关注 0票数 1

从做fft后得到的频率、幅度和相位重建原始信号。

问候

我正在尝试从对信号进行fft后获得的频率、振幅和相位重建信号,但当我尝试将fft数据(频率、振幅和相位)组合回来看看是否得到类似的信号时,模式有点不对劲。我认为这与我的公式有关,可能有一点不正确。

我用来组合数据的公式是:

代码语言:javascript
复制
amplitude*sin(2*pi*time*frequency+phase)+amplitude*cos(2*pi*time*frequency+phase);

请注意:目前我不想使用IFFT,因为我将在计算完成之前编辑振幅和频率

下面是剧情的图像。上面的是原始信号,下面的是用方程产生的信号。如果你想知道我在用matlab,但我认为问题出在方程式上。

提亚

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-02 08:38:40

IFFT是以下转换的有效实现:

代码语言:javascript
复制
       N-1
x[n] = SUM X[k] exp(j*2*pi*n*k/N)
       k=0

其中X[k]是你的快速傅立叶变换结果(复振幅),x[n]是你的时域样本。对于纯实数输入,可以用cossin (或者用带有phase项的cos )重写,但通常只使用复杂的表示更容易。

这可以是高度矢量化的,但我将把它留给您!

票数 3
EN

Stack Overflow用户

发布于 2011-06-02 06:34:01

我不明白为什么你想在你的等式中同时使用sin和cos项:这应该可以做到……

代码语言:javascript
复制
amplitude*sin(2*pi*time*frequency+phase);

同时使用正弦和余弦项将导致缩放问题和相移,除非FFT有一些奇怪的地方。然而,我不知道这是否可以解释你所看到的扭曲。这可能是由于与您使用的FFT块大小有关。

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

https://stackoverflow.com/questions/6208317

复制
相关文章

相似问题

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