标签: ifft

fftshift/ifftshift

请参阅两者的说明fftshiftifftshift.我想了解如何与调用上面的两个函数关系fft,并fftn在Matlab.

假设我的信号有一定的频率内容; 现在,频率数组通常可以存储为:

f = (-N/2:N/2-1)*df;

f = (1:N)*(df/2);

f = [(0:N/2-1) (-N/2:-1)];
Run Code Online (Sandbox Code Playgroud)

什么叫最好的方式fft,再加上fftshiftifftshift,为3个研究例早期提到?

调用命令序列或错误命令的信号标准偏差有什么影响?

matlab fft frequency ifft

3
推荐指数
1
解决办法
9452
查看次数

IFFT:对称旗帜

有谁能解释一下在MATLAB中执行对称IFFT的算法?

举个例子:

out_signal = ifft(X,'symmetric');
Run Code Online (Sandbox Code Playgroud)

这里X是复杂的对称信号.

matlab fft ifft

2
推荐指数
1
解决办法
1747
查看次数

C# FFT 库需要了解

我正在解决与FFT相关的问题。我遇到这样的情况,我必须将传入的数据流转发到 FFT 库函数或可以将时域数据转换为频域数据的 FFT 例程。

我需要使用 C# 中的哪个库?微软有提供这个吗?或者我需要为此使用一些第三方库?

.net fft c#-4.0 ifft

1
推荐指数
1
解决办法
1万
查看次数

实值信号的频谱

据我所知,频谱的IFFT幅度部分是偶对称的,而相位部分是奇对称的应该是真实的.

让我们考虑这个例子:

signal_spectrum = [1 2+i 3+2*i 4+8*i 5 4-8*i 3-2*i 2-i 1];
Run Code Online (Sandbox Code Playgroud)

很明显,这个光谱符合我上面列出的两个条件.当我使用Matlab执行IFFT时,我获得:

signal= ifft(signal_spectrum) = 
   2.7778          
   0.8003 - 0.2913i
  -1.2861 + 1.0792i
   0.5218 - 0.9038i
  -0.0812 + 0.4604i
   0.0976 + 0.5536i
  -0.6329 - 1.0962i
   1.3343 + 1.1196i
  -2.5316 - 0.9214i
Run Code Online (Sandbox Code Playgroud)

获得的信号是复值的.为什么?有什么问题?

matlab signal-processing fft spectrum ifft

1
推荐指数
1
解决办法
399
查看次数

傅立叶变换和滤波具有负 fft 值的频率

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

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

import numpy as np
import scipy

# generate data
time = scipy.linspace(0,120,4000)
acc = lambda t: 10*scipy.sin(2*pi*2.0*t) + 5*scipy.sin(2*pi*8.0*t) + 2*scipy.random.random(len(t))
signal = acc(time)

# get frequencies from decomposed fft
W =  np.fft.fftfreq(signal.size, d=time[1]-time[0])
f_signal = np.fft.fft(signal)

# filter signal
# I'm getting only the "negative" part!
cut_f_signal = f_signal.copy()
# filter noisy frequencies
cut_f_signal[(W < 8.0)] = 0
cut_f_signal[(W > 8.2)] = 0

# inverse fourier to …
Run Code Online (Sandbox Code Playgroud)

signal-processing numpy fft ifft

1
推荐指数
1
解决办法
1万
查看次数

在matlab和numpy中ifft给出不同的结果

我有另一个问题.非常类似于我已经问过的另一个(并得到很大的帮助 - 再次感谢).不幸的是,其他线程的解决方案在这里不起作用:(http://stackoverflow.com/questions/8680909/fft-in-matlab-and-numpy-scipy-give-different-results)

现在是关于ifft:

  # i have an array 'aaa' of shape (6,) such as:
  for i in aaa:  print i
  ...

 (1.22474487139+0j)
 (-0.612372435696-1.06066017178j)
 (-0.612372435696+1.06066017178j)
 (1.22474487139+0j)
 (-0.612372435696-1.06066017178j)
 (-0.612372435696+1.06066017178j)

  #when i perform np.ifft the result is:
 np.fft.ifft(aaa)

 array([  1.48029737e-16 +1.48029737e-16j,
    -8.26024733e-17 -1.72464044e-16j,
     1.22474487e+00 -3.94508649e-16j,
     3.70074342e-17 -2.96059473e-16j,
    -2.22044605e-16 +2.46478913e-16j,   4.55950391e-17 +4.68523518e-16j])

  ###################################################################
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  % BUT IN MATLAB 
  % the same array...

  aaa =

  1.2247          
 -0.6124 - 1.0607i
 -0.6124 + 1.0607i
  1.2247          
 -0.6124 - 1.0607i
 -0.6124 + 1.0607i

 % ...gives the result:
 ifft(aaa) …
Run Code Online (Sandbox Code Playgroud)

python matlab fft ifft

0
推荐指数
1
解决办法
1861
查看次数

CUDA逆FFT错误

在进行逆FFT时,我有以下代码有错误.正向FFT工作,因为我打印输出并验证它.但反过来似乎没有.有任何想法吗?看起来我错过了一个概念吗?

代码 - http://pastebin.com/iZYtdcqR

编辑 - 我基本上重写了CUDA工具包示例附带的代码.我试图使用FFT但使用修改后的算法(实际上是DIF)执行卷积.

EDIT2 - 问题的dding代码.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#include <cuda_runtime.h>
#include <cufft.h>

typedef enum signaltype {REAL, COMPLEX} signal;

typedef float2 Complex;

void
printData(Complex *a, int size, char *msg) {

  if (msg == "") printf("\n");
  else printf("%s\n", msg);

  for (int i = 0; i < size; i++)
    printf("%f %f\n", a[i].x, a[i].y);
}

void
normData(Complex *a, int size, float norm) {

  for (int i = 0; i < size; i++) {
    a[i].x /= norm; …
Run Code Online (Sandbox Code Playgroud)

cuda fft ifft

0
推荐指数
1
解决办法
965
查看次数

标签 统计

fft ×7

ifft ×7

matlab ×4

signal-processing ×2

.net ×1

c#-4.0 ×1

cuda ×1

frequency ×1

numpy ×1

python ×1

spectrum ×1