上一篇博客我们了解到,可以将一个语音信号傅里叶变换,那么,我们能不能逆向推回去呢,用已经存在的数据进行傅里叶逆变换?答案是肯定的。下面就讲讲如何实现傅里叶的反变换。
[y,Fs]=audioread('C:\Users\wxq\Desktop\66666.wav')
Nsamps = length(y);
t = (1/Fs)*(1:Nsamps) %Prepare time data for plot
%Do Fourier Transform
y_fft = abs(fft(y)); %Retain Magnitude%y_fft = fft(y);
y1=ifft(y_fft);
figure;
plot(t ,y1);
y = ifft(X)
y = ifft(X,n)
y = ifft(X,[],dim)
y = ifft(X,n,dim)
y = ifft(..., 'symmetric')
y = ifft(..., 'nonsymmetric')
Y = IFFT(x)的逆离散傅里叶变换的回报(DFT)向量X,用快速傅里叶变换(FFT)算
法计算。如果x是一个矩阵,IFFT返回每个列的矩阵的逆DFT。
IFFT测试X是否沿活动尺寸X向量的共轭对称。如果是这样的话,计算速度快,输出是真
实的。一个n元向
量x是共轭对称如果x(i)=连词(x(MOD(n i + 1,n)+ 1))为X的每个元素
如果x是一个多维数组,IFFT操作上的第一个非单维度。
Y = IFFT(x,n)返回向量X的N点DFT逆
Y = IFFT(x,[ ],DIM)和Y = IFFT(x,n,DIM)返回x在维暗淡的逆DFT。
Y = IFFT(…,“对称”)导致治疗X共轭IFFT沿活动维对称。当X是不完全对称共轭的
选项是有用的,只
是由于舍入误差。
Y = IFFT(…,“非对称”)是叫IFFT相同(…)没有参数“非对称”。
对任意的x,IFFT变换(FFT(X))等于x的舍入误差。
总结:
IFFT算法(x)为FFT算法相同(X),除了改变符号,N =长度比例因子(X)。由于
FFT、IFFT执行时间取决于变换长度。这是最快的两个权力。这是几乎一样快,只有小素
数的长度。它通常是几倍的速度的长度是总理或具有大素数因子。
注意:
你可以增加使用效用函数FFTW IFFT的速度,它控制着®MATLAB软件优化计算一个特定的
大小和尺寸的FFT算法。
类似于ifft()用法的还有;fft2;
fftw
;ifft2
;ifftn
;ifftshift
不懂的可以加我的QQ群:522869126(语音信号处理) 欢迎你的
到来哦,看了博文给点脚印呗,谢谢啦~~