标签: fft

如何为图像中的每个水平线数据实现1D FFT滤波器

我希望将频域滤波器(例如低通或带通)应用于图像的每条水平线.这可能使用opencv吗?

opencv fft image-processing

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

Java中的离散傅里叶变换(非FFT)

我正在为Java中的CSE类做一个任务,并且正在实现FFT和直接DFT(使用矩阵计算).我的FFT工作正常,但我的直接DFT无效.我的傅立叶矩阵没有出现正确的值,我想知道它是否是用户错误,或者问题是否存在于我正在使用的Complex类中(org.apache.commons.math.complex).有了这样一个主流类,我想象它只是用户错误,所以如果有人能指出它,那就太好了.

我的傅里叶矩阵计算如下:

Complex[][] fmatrix = new Complex[cvector.length][cvector.length]; // Initialize Matrix
    for(int k = 0; k < n; k++) { 
        double val = -2.0 * k * Math.PI / n; // Calculate exponential value
        Complex w = new Complex(0.0,val); // Store that in a Complex value and set imaginary piece to the exponential value
        for (int l = 0; l < n; l++) {
            Complex powerof = new Complex((double) (k*l),0.0); // Calculate the power to take it to
            fmatrix[k][l] …
Run Code Online (Sandbox Code Playgroud)

java fft matrix complex-numbers

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

如何在MATLAB中使用fft从录制的声音中消除噪音?

我想要从录制的声音中消除噪音,并使它的fft找到该声音的基本频率,但我不知道如何消除这些噪音.我正在录制不同高度坠落物体的声音.我想找到录制声音的高度和最大频率之间的关系.

  [y,fs]=wavread('100cmfreefall.wav');

 ch1=y(:,1);
 time=(1/44100)*length(ch1);
t=linspace(0,time,length(ch1));


L=length(ch1);
 NFFT = 2^nextpow2(L); % Next power of 2 from length of y
Y = fft(y,NFFT)/L;
Y1=log10(Y);
figure(1)

f = fs/2*linspace(0,1,NFFT/2+1);
plot(f,2*abs(Y1(1:NFFT/2+1))) ;

[b,a]=butter(10,3000/(44100/2),'high');
Y1=filtfilt(b,a,Y1);

% freqz(b,a)
figure(2)

plot(f,2*abs(Y1(1:NFFT/2+1))) ;

title('Single-Sided Amplitude Spectrum of y(t)');
xlabel('Frequency (Hz)');
ylabel('|Y(f)|')
xlim([0 50000])


% soundsc(ch1(1:100000),44100)
Run Code Online (Sandbox Code Playgroud)

matlab signal-processing fft audio-recording frequency-analysis

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

递归fft计算的分段错误

我正在使用dif radix-2算法在复杂向量上执行fft.我递归地将我的输入分成2组,第一和第二半,然后为前半部分和后半部分执行复杂的加法*旋转因子.

函数完成但我在尝试输出结果向量时收到Segmentation错误.怎么了?

int main(int argc, char *argv[]){
    int n = 8;
    complex<double> *x = new complex<double>[n];

    // Test data
    x[0] = sin(M_PI/2);
    x[1] = sin(0);
    x[2] = sin(0);
    x[3] = sin(0);
    x[4] = sin(0);
    x[5] = sin(0);
    x[6] = sin(0);
    x[7] = sin(0);


    for(int i = 0; i<n; i++){
        cout << x[i] << endl;
    }

    fft(x,n);

    cout << endl;
    for(int i = 0; i<n; i++){
        cout << x[i] << endl;
    }

}
void fft(complex<double> *X, int N){
    if(N …
Run Code Online (Sandbox Code Playgroud)

c++ math fft

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

STFT/FFT工作流程顺序

我正在尝试实现FFT,我可以使用代码等,但事情的一般顺序令我感到困惑.

我是否正确地认为这是正确的事情顺序?

输入 - >重叠输入 - >窗口 - > FFT - >相位计算/重叠补偿 - >输出

我得到的结果接近我的输入频率,但它们总是被一些我无法解决的因素关闭,即440Hz总是407Hz,430Hz总是420Hz.

令我困惑的主要部分是初始重叠,因为我一直在研究一些开源FFT代码,这是我永远无法解决的部分.我似乎从看到那些重叠应该在窗口之前发生的想法得到了这个想法,但对我来说逻辑上,不会那么混乱的窗口?

任何建议都会很棒

谢谢

signal-processing fft overlap dft

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

IFFT:对称旗帜

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

举个例子:

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

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

matlab fft ifft

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

如何从音频文件中隔离语音?

我正在编写一个软件,以竞争的方式比较两位歌手的演唱能力.第一个用户添加原始歌手原创的音乐文件.然后,软件自动将语音与音频隔离,然后与用户记录的音频进行比较.

到目前为止,我无法找到这个FFT方法的源或任何其他工具来隔离语音.

c# vb.net audio fft naudio

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

numpy fft对于长度小的素数而言是快速的,但是有多小?

我已经看到几个例子表明如果输入长度是2,3,5,7等的乘积,那么numpy的fft实现很快.但是这里仍然被认为是"小"的最大素数是多少?

python performance primes numpy fft

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

二维数组的numpy.fft numpy.fft2和FFTW

我试图重现numpy.fft.fftnumpy.fft.fft2使用C FFTW库的输出。

>>> b
array([1, 2, 3, 4, 5, 6])
>>> type(b)
<class 'numpy.ndarray'>
>>> b.shape
(6,)
>>> np.fft.fft(b)
array([21.+0.j        , -3.+5.19615242j, -3.+1.73205081j, -3.+0.j        ,
       -3.-1.73205081j, -3.-5.19615242j])
Run Code Online (Sandbox Code Playgroud)

可以通过以下方式获得此输出:

int N = 10;
double in[] = {1,2,3,4,5,6,0,0,0,0};
fftw_complex *out;
fftw_plan p;
out = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * (N/2 +1));
p = fftw_plan_dft_r2c_1d(6, in, out, FFTW_ESTIMATE);
fftw_execute(p);
fftw_destroy_plan(p);
fftw_free(out);
Run Code Online (Sandbox Code Playgroud)

类似地,numpy.fft.fft2可以复制传递到的2d数组的输出:

>>> a
array([[1, 2],
       [3, 4],
       [5, 6]])
>>> a.shape
(3, 2)
>>> np.fft.fft2(a)
array([[21.+0.j        , -3.+0.j …
Run Code Online (Sandbox Code Playgroud)

python numpy fft fftw

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

fft点和向量中fft之间的差异

给定X长度向量,和L之间有什么区别?fft(X)fft(X,L)

这是否意味着我们在使用时取了ffton L点,fft(X)而在进行fft向量取Lfft(X,L)呢?

matlab fft vector

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