问题标签 [ifft]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
653 浏览

matlab - Matlab,DSP:如何检查数组是否具有厄米对称性

我有一段相当大的代码,最后我需要将 ifft 应用于 array ZFZF是矩阵的列的 fft Z

问题是,ifft 原来是一个复杂的双数组(如果我做的一切正确,它不应该)所以我需要一个调试工具来检查我在原始 DFT 上执行的众多操作中的哪一点丢失了厄米对称。

该数组是一个双1024x1376

我的尝试是:

N=1024是行数,如果 Herm 是纯真实的,那么我有对称性。

有什么想法吗?我还在使用 MATLAB 的第一个月,所以如果我还差得很远,请随时告诉我。

0 投票
1 回答
390 浏览

matlab - Matlab:改变相位矩阵后的傅里叶变换

我正在做一些信号项目,我想做的就是对信号应用傅里叶变换,获取幅度相位,然后将相位矩阵更改为其他东西,比如phasenew,然后从幅度phasenew获取信号。

我的代码基于从相位和幅度获取傅里叶变换 - Matlab

输出信号x_i非常不同。

我在这里也发现了类似的问题:傅立叶变换:获取 mag + 相位然后使用它们来绘制原始信号,但是在这个链接中,我评论了询问@David 关于我应该如何着手解决 phasenew 的情况的答案。他建议我把这个作为一个新问题来问,所以就在这里。

请帮助我使用逆傅立叶变换原始幅度新相位生成信号。提前致谢。

PS在phasenew中,我只是将相位移动π/2或-π/2。

0 投票
0 回答
227 浏览

matlab - 如何以低复杂度 FFT/IFFT 模拟两个 OFDM 用户?

我有两个用户,其中一个通过频率(0-B] 发送,另一个通过(B-2B] 发送。他们都使用 OFDM,每个都有 Nc 个子载波。我想使用 Matlab 模拟接收到的信号。

  • 我相信一种实现方式是,我说用户一个有 2*Nc 个子载波并且只使用第一个 Nc 个子载波,而第二个用户也有 2Nc 个子载波并且只有 1 个子载波 [Nc+1-2Nc)。在这种情况下,我应该使用 2Nc 的 FFT/IFFT 大小:

    接收到的信号为 Y = ifft([d_1 0*d2],2Nc)+ifft([0*d_1 d_2],2Nc) 其中 d_1 和 d_2 是第一个和第二个用户的数据。在接收器上,我可以计算 d=fft(Y, 2Nc),前半部分用于 user1,后半部分用于 user2。

  • 但我想使用 Nc 的 FFT 大小,即计算 ifft(d_1,Nc) 和 ifft(d_2,Nc)。如果我直接添加这两个 ifft,我会得到不正确的结果,因为 IFFT 结果没有显示两个数据占用不同的子载波。我的问题是,在这种情况下,我应该如何更改(可能上转换)第二个 UE 的 ifft 结果?

    再者,在构造接收到的信号后,我还需要什么操作才能取回发送的数据呢?我应该再次使用 fft(y,2Nc) 吗?

非常感谢您的帮助。

问候,

0 投票
1 回答
1342 浏览

matlab - Matlab中滤波器的逆FT

我试图在 Matlab 中找到一个简单滤波器的傅里叶逆变换。在第一种情况下(sinc 滤波器/“砖墙”),我使用该ifft函数找到时域函数,它是一个 sinc,以 t = 0 为中心。

我现在想找到一个简单的 Chebyshev 滤波器的时域函数。但是,由于某种原因,下面的代码似乎给了我脉冲响应,其中时间轴不正确。我不应该期待以 t = 0 为中心的类似外观的 sinc 函数吗?

0 投票
1 回答
621 浏览

matlab - 在进行 FFT 并获取 Amp、Freq、Phase 信息后创建音频文件

我首先使用以下代码进行 FFT,然后获取 FFT 的前 10 个较大幅度以及相应的频率和相位信息。

在代码结束时,我正在尝试尽可能多地重建原始信号,但由于我正在尝试的实现而不使用 ifft。

最后,我正在尝试编写 .wav 但得到“太多的输出参数”。总是出错。你能告诉我你的反馈吗?

0 投票
1 回答
3046 浏览

matlab - 在matlab / octave中使用fft和ifft增加/减少信号的频率

我正在尝试使用 fft 和 ifft 增加/减少信号的频率。第一个图是1hz,第二个图是 2hz,我试图通过改变 fft 和 ifft 值来获得

我可以在频域和时域之间切换,但是如何使用 fft / ifft 增加或减少信号的频率?

注意:是的,我知道我可以通过改变方程式的频率值来改变频率,但我只是将其用作测试信号。我将使用的信号没有将被导入的方程。

绘制 1hz

2hz 的情节是我试图通过调整 fft 和 ifft 值得到的

绘制我试图通过调整 fft 和 ifft 得到的 2hz

下面的示例代码:

Ps:我正在使用与 matlab 一起使用的 octave 3.8.1

0 投票
1 回答
10032 浏览

c - FFT算法C代码解释

http://www.tech.dmu.ac.uk/~eg/tensiometer/fft/fft.c

http://www.tech.dmu.ac.uk/~eg/tensiometer/fft/fft_test.c

我在上面的链接中找到了一个很好的用于 FFT 算法的 C 代码,用于将时域转换为频域,反之亦然。但我想知道这段代码如何工作的流程图或分步过程。我正在尝试使用蝴蝶抽取法及时分析代码以进行 FFT,但我在理解代码方面遇到了困难。该代码运行良好,并为我提供了正确的结果,但如果有人可以简要或详细地解释此代码的工作原理,那将对我非常有帮助。

我对 fft.c 代码中使用的数组和指针感到困惑。此外,我没有得到代码中的变量offsetdelta的含义。如何在代码中考虑/使用实数和虚数的矩形矩阵?请指导我。

谢谢,

0 投票
2 回答
7169 浏览

numpy - 具有负 fft 值的傅里叶变换和滤波频率

我正在寻找周期信号中最丰富的频率。我试图了解如果我对周期性信号执行傅立叶变换并过滤具有负 fft 值的频率会得到什么。

换句话说,图 2 和图 3(见下文)的轴表示什么?我在 fft 转换的信号上绘制频率(周期/秒) - y 轴上的负值是什么意思,我只对那些感兴趣是否有意义?

傅里叶变换和信号滤波

0 投票
1 回答
1371 浏览

image-processing - 我怎样才能使 GNU Octave ifft2 命令工作?

我正在尝试使用 fft2 命令在 GNU Octave 中进行一些图像处理,但我遇到了逆变换问题。

我可以毫无问题地计算变换,用它做任何我想做的事情,但是当我返回空间域并尝试绘制图像时,我得到的只是一张全黑的图像。

我什至试图只做正向和逆变换,仅此而已,仍然是同样的问题。

我能做些什么?

顺便说一句,我用来测试的图像是:

http://bootstrapbay.com/blog/wp-content/uploads/2014/05/yellow-taxi_vvvjao.png

代码:

I = imread('image.jpg');

imshow(I) % 正确生成图像

I2 = fft2(I);

I2 = ifft2(I2);

imshow(I2) % 生成黑色图像

0 投票
1 回答
2386 浏览

matlab - 防止Matlab以复数将相位角包裹到0-2pi

我在 Matlab 中处理复数,但它们的角度存在一些问题。

我有一个角度向量,Ph。然后我想构造一个复数向量 C:

问题是 Ph 包含负相位,因为它具有奇数对称性,因此可以进一步用于使用 IFFT 合成信号。这个负相位在向量 C 中被包裹到 0-2pi,失去了它们的奇数对称性。

有什么办法可以防止 Matlab 包裹角度?

这样做可能是不可能的,因为我们知道 -30º 的相位在数学上与 330º 的相位相同。但我想知道包裹相位是否会破坏它们所需的奇数对称性。

我附上一张图片来说明我的问题,谢谢!

在此处输入图像描述