matlab中IFFT函数的用法
设SLM是一个128*8的矩阵,那么Y=ifft(SLM,[],2)和Y=ifft(SLM,128)一样吗?对于第一个,它是按照列进行ifft的,那点数是多少,是不是就是...
设SLM是一个128*8的矩阵,那么
Y=ifft(SLM,[],2)和Y=ifft(SLM,128)一样吗?
对于第一个,它是按照列进行ifft的,那点数是多少,是不是就是列中元素的个数? 展开
Y=ifft(SLM,[],2)和Y=ifft(SLM,128)一样吗?
对于第一个,它是按照列进行ifft的,那点数是多少,是不是就是列中元素的个数? 展开
6个回答
展开全部
matlab中IFFT函数可以实现一维反DFT算法。调用格式为A=IFF(X,N,DIM)。X表示输入图像;N表示采样间隔点,如果X小于该数值,那么Matlab将会对X进行零填充,否则将进行截取,使之长度为N;DIM表示要进行离散傅立叶变换。IFFT函数和离散傅立叶变换函数FFT完全相同。
扩展资料:
IFFT函数计算量小的显著的优点,使得IFFT在信号处理技术领域获得了广泛应用,结合高速硬件就能实现对信号的实时处理。例如,对语音信号的分析和合成,对通信系统中实现全数字化的时分制与频分制(TDM/FDM)的复用转换,在频域对信号滤波以及相关分析。
通过对雷达、声纳、振动信号的频谱分析以提高对目标的搜索和跟踪的分辨率等等,都要用到IFFT函数。IFFT函数的出现,对数字信号处理学科的发展起了重要的作用。
展开全部
Y=ifft(SLM,[],1)和Y=ifft(SLM,128)才是一样的。
第一种用法:
ifft(SLM,[],dim)中的dim表示维度,1表示列,2表示行。第二个参数为[]表示点数与原矩阵每列元素数。如果是 ifft(SLM,N,1) 则表示列ifft的点数为N。
第二种用法ifft(SLM,128)对于矩阵,仅对列进行ifft
第一种用法:
ifft(SLM,[],dim)中的dim表示维度,1表示列,2表示行。第二个参数为[]表示点数与原矩阵每列元素数。如果是 ifft(SLM,N,1) 则表示列ifft的点数为N。
第二种用法ifft(SLM,128)对于矩阵,仅对列进行ifft
追问
.......那个,我记得上次就是你回答的吧,貌似你说的1表示行,2表示列来着。
http://zhidao.baidu.com/question/279099534.html
追答
额。。这个是我回答的。上次说错了。。因为这次我是用代码测试的。测试代码如下:
s0 = rand(128,8);
s1 = ifft(s0,[],1);
s2 = ifft(s0,[],2);
s3 = ifft(s0,128);
isequal(s1,s3) % =1表示s1和s3相等
isequal(s2,s3) % =0表示s2和s3不等
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ifft是离散傅里叶逆变换的意思。
1 MATLAB中,提供了对向量(或直接对矩阵的行或列)进行离散傅立叶变换的函数,其调用格式是:
Y=fft(X,n,dim)
(1)当X是一个向量时,返回对X的离散傅立叶变换。
(2)当X是一个矩阵时,返回一个矩阵并送Y,其列(行)是对X的列(行)的离散傅立叶变换。
2 离散傅立叶变换的逆变换
MATLAB中,对向量(或直接对矩阵的行或列)进行离散傅立叶逆变换的函数的调用方法是:
Y=ifft(X,n,dim)
函数对X进行离散傅立叶逆变换。其中X、n、dim的意义及用法和离散傅立叶变换函数fft完全相同。
1 MATLAB中,提供了对向量(或直接对矩阵的行或列)进行离散傅立叶变换的函数,其调用格式是:
Y=fft(X,n,dim)
(1)当X是一个向量时,返回对X的离散傅立叶变换。
(2)当X是一个矩阵时,返回一个矩阵并送Y,其列(行)是对X的列(行)的离散傅立叶变换。
2 离散傅立叶变换的逆变换
MATLAB中,对向量(或直接对矩阵的行或列)进行离散傅立叶逆变换的函数的调用方法是:
Y=ifft(X,n,dim)
函数对X进行离散傅立叶逆变换。其中X、n、dim的意义及用法和离散傅立叶变换函数fft完全相同。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
matlab的FFT函数;相关语法:;Y=fft(X);Y=fft(X,n);Y=fft(X,[],dim);Y=fft(X,n,dim);定义如下:;相关的一个例子:;Fs=1000;%采样频率;T=1/Fs;%采样时间;L=1000;%总的采样点数;t=(0:L-1)*T;%时间序列(时间轴);%产生一个幅值为0.7频率为50HZ正弦+另外一;y=x+2
matlab的FFT函数
相关语法:
Y=fft(X)
Y=fft(X,n)
Y=fft(X,[],dim)
Y=fft(X,n,dim)
定义如下:
相关的一个例子:
Fs=1000;%采样频率
T=1/Fs;%采样时间
L=1000;%总的采样点数
t=(0:L-1)*T;%时间序列(时间轴)
%产生一个幅值为0.7频率为50HZ正弦+另外一个信号的幅值为1频率为120Hz的正弦信号x=0.7*sin(2*pi*50*t)+sin(2*pi*120*t);
y=x+2*randn(size(t));%混入噪声信号
plot(Fs*t(1:50),y(1:50))%画出前50个点
title('SignalCorruptedwithZero-MeanRandomNoise')
xlabel('time(milliseconds)')
NFFT=2^nextpow2(L);%求得最接近总采样点的2^n,这里应该是2^10=1024
Y=fft(y,NFFT)/L;%进行fft变换(除以总采样点数,是为了后面精确看出原始信号幅值)f=Fs/2*linspace(0,1,NFFT/2+1);%频率轴(只画到Fs/2即可,由于y为实数,后面一半是对称的)
%画出频率幅度图形,可以看出50Hz幅值大概0.7,120Hz幅值大概为1.
plot(f,2*abs(Y(1:NFFT/2+1)))
title('Single-SidedAmplitudeSpectrumofy(t)')
xlabel('Frequency(Hz)')
ylabel('|Y(f)|')
matlab的FFT函数
相关语法:
Y=fft(X)
Y=fft(X,n)
Y=fft(X,[],dim)
Y=fft(X,n,dim)
定义如下:
相关的一个例子:
Fs=1000;%采样频率
T=1/Fs;%采样时间
L=1000;%总的采样点数
t=(0:L-1)*T;%时间序列(时间轴)
%产生一个幅值为0.7频率为50HZ正弦+另外一个信号的幅值为1频率为120Hz的正弦信号x=0.7*sin(2*pi*50*t)+sin(2*pi*120*t);
y=x+2*randn(size(t));%混入噪声信号
plot(Fs*t(1:50),y(1:50))%画出前50个点
title('SignalCorruptedwithZero-MeanRandomNoise')
xlabel('time(milliseconds)')
NFFT=2^nextpow2(L);%求得最接近总采样点的2^n,这里应该是2^10=1024
Y=fft(y,NFFT)/L;%进行fft变换(除以总采样点数,是为了后面精确看出原始信号幅值)f=Fs/2*linspace(0,1,NFFT/2+1);%频率轴(只画到Fs/2即可,由于y为实数,后面一半是对称的)
%画出频率幅度图形,可以看出50Hz幅值大概0.7,120Hz幅值大概为1.
plot(f,2*abs(Y(1:NFFT/2+1)))
title('Single-SidedAmplitudeSpectrumofy(t)')
xlabel('Frequency(Hz)')
ylabel('|Y(f)|')
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ifft是离散傅里叶逆变换的意思。
1 MATLAB中,提供了对向量(或直接对矩阵的行或列)进行离散傅立叶变换的函数,其调用格式是:
Y=fft(X,n,dim)
(1)当X是一个向量时,返回对X的离散傅立叶变换。
(2)当X是一个矩阵时,返回一个矩阵并送Y,其列(行)是对X的列(行)的离散傅立叶变换。
2 离散傅立叶变换的逆变换
MATLAB中,对向量(或直接对矩阵的行或列)进行离散傅立叶逆变换的函数的调用方法是:
Y=ifft(X,n,dim)
函数对X进行离散傅立叶逆变换。其中X、n、dim的意义及用法和离散傅立叶变换函数fft完全相同。
明天再详细回答你的问题。有事
1 MATLAB中,提供了对向量(或直接对矩阵的行或列)进行离散傅立叶变换的函数,其调用格式是:
Y=fft(X,n,dim)
(1)当X是一个向量时,返回对X的离散傅立叶变换。
(2)当X是一个矩阵时,返回一个矩阵并送Y,其列(行)是对X的列(行)的离散傅立叶变换。
2 离散傅立叶变换的逆变换
MATLAB中,对向量(或直接对矩阵的行或列)进行离散傅立叶逆变换的函数的调用方法是:
Y=ifft(X,n,dim)
函数对X进行离散傅立叶逆变换。其中X、n、dim的意义及用法和离散傅立叶变换函数fft完全相同。
明天再详细回答你的问题。有事
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询