问题标签 [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.
matlab - Matlab,DSP:如何检查数组是否具有厄米对称性
我有一段相当大的代码,最后我需要将 ifft 应用于 array ZF
。ZF
是矩阵的列的 fft Z
。
问题是,ifft 原来是一个复杂的双数组(如果我做的一切正确,它不应该)所以我需要一个调试工具来检查我在原始 DFT 上执行的众多操作中的哪一点丢失了厄米对称。
该数组是一个双1024x1376
我的尝试是:
N=1024
是行数,如果 Herm 是纯真实的,那么我有对称性。
有什么想法吗?我还在使用 MATLAB 的第一个月,所以如果我还差得很远,请随时告诉我。
matlab - Matlab:改变相位矩阵后的傅里叶变换
我正在做一些信号项目,我想做的就是对信号应用傅里叶变换,获取幅度和相位,然后将相位矩阵更改为其他东西,比如phasenew,然后从幅度和phasenew获取信号。
我的代码基于从相位和幅度获取傅里叶变换 - Matlab
输出信号x_i非常不同。
我在这里也发现了类似的问题:傅立叶变换:获取 mag + 相位然后使用它们来绘制原始信号,但是在这个链接中,我评论了询问@David 关于我应该如何着手解决 phasenew 的情况的答案。他建议我把这个作为一个新问题来问,所以就在这里。
请帮助我使用逆傅立叶变换从原始幅度和新相位生成信号。提前致谢。
PS在phasenew中,我只是将相位移动π/2或-π/2。
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) 吗?
非常感谢您的帮助。
问候,
matlab - Matlab中滤波器的逆FT
我试图在 Matlab 中找到一个简单滤波器的傅里叶逆变换。在第一种情况下(sinc 滤波器/“砖墙”),我使用该ifft
函数找到时域函数,它是一个 sinc,以 t = 0 为中心。
我现在想找到一个简单的 Chebyshev 滤波器的时域函数。但是,由于某种原因,下面的代码似乎给了我脉冲响应,其中时间轴不正确。我不应该期待以 t = 0 为中心的类似外观的 sinc 函数吗?
matlab - 在进行 FFT 并获取 Amp、Freq、Phase 信息后创建音频文件
我首先使用以下代码进行 FFT,然后获取 FFT 的前 10 个较大幅度以及相应的频率和相位信息。
在代码结束时,我正在尝试尽可能多地重建原始信号,但由于我正在尝试的实现而不使用 ifft。
最后,我正在尝试编写 .wav 但得到“太多的输出参数”。总是出错。你能告诉我你的反馈吗?
matlab - 在matlab / octave中使用fft和ifft增加/减少信号的频率
我正在尝试使用 fft 和 ifft 增加/减少信号的频率。第一个图是1hz,第二个图是 2hz,我试图通过改变 fft 和 ifft 值来获得。
我可以在频域和时域之间切换,但是如何使用 fft / ifft 增加或减少信号的频率?
注意:是的,我知道我可以通过改变方程式的频率值来改变频率,但我只是将其用作测试信号。我将使用的信号没有将被导入的方程。
2hz 的情节是我试图通过调整 fft 和 ifft 值得到的
下面的示例代码:
Ps:我正在使用与 matlab 一起使用的 octave 3.8.1
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 代码中使用的数组和指针感到困惑。此外,我没有得到代码中的变量offset和delta的含义。如何在代码中考虑/使用实数和虚数的矩形矩阵?请指导我。
谢谢,
numpy - 具有负 fft 值的傅里叶变换和滤波频率
我正在寻找周期信号中最丰富的频率。我试图了解如果我对周期性信号执行傅立叶变换并过滤具有负 fft 值的频率会得到什么。
换句话说,图 2 和图 3(见下文)的轴表示什么?我在 fft 转换的信号上绘制频率(周期/秒) - y 轴上的负值是什么意思,我只对那些感兴趣是否有意义?
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) % 生成黑色图像
matlab - 防止Matlab以复数将相位角包裹到0-2pi
我在 Matlab 中处理复数,但它们的角度存在一些问题。
我有一个角度向量,Ph。然后我想构造一个复数向量 C:
问题是 Ph 包含负相位,因为它具有奇数对称性,因此可以进一步用于使用 IFFT 合成信号。这个负相位在向量 C 中被包裹到 0-2pi,失去了它们的奇数对称性。
有什么办法可以防止 Matlab 包裹角度?
这样做可能是不可能的,因为我们知道 -30º 的相位在数学上与 330º 的相位相同。但我想知道包裹相位是否会破坏它们所需的奇数对称性。
我附上一张图片来说明我的问题,谢谢!