信号处理之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('幅度值');
posted @ 2020-02-21 23:31  wei客  阅读(2936)  评论(0编辑  收藏  举报