信号处理之DFT、IDFT

一、DFT之前言部分

由于matlab已提供了内部函数来计算DFT、IDFT,我们只需要会调用fft、ifft函数就行;

二、函数说明:

fft(x):计算N点的DFT。N是序列x的长度,即N=length(x);

fft(x,L):计算L点的DFT。若L<N,则将原序列x截短为L点序列,再计算其L点的DFT;若L>N,则将原序列x补0至L点,然后通过计算其L点DFT。

ifft(X):计算N点的IDFT。N是序列x的长度,即N=length(X)。

ifft(X,L):计算L点的IDFT。若L<N,则将原序列x截短为L点序列,再计算其L点的IDFT;若L>N,则将原序列x补0至L点,然后通过计算其L点IDFT。

N=30;
L=512;
f1=100;
f2=120;
fsam=600;
T=1/fsam;
wsam=2*pi*fsam;
t=(0:N-1)*T;

x=cos(2*pi*f1*t)+cos(2*pi*f2*t);
X=fft(x,L);
X1=fftshift(X);
w=(-wsam/2+(0:L-1)*wsam/L)/(2*pi);
plot(w,abs(X1));
ylabel('幅度值');
全部评论

相关推荐

06-10 21:15
门头沟学院 Java
宁阿:好多这种没🧠的公司,他们估计都不知道毕业的人不能给安排实习岗
实习吐槽大会
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务