1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 离散傅里叶变换(DFT)/快速傅里叶变换(FFT)matlab

离散傅里叶变换(DFT)/快速傅里叶变换(FFT)matlab

时间:2019-06-08 10:52:41

相关推荐

离散傅里叶变换(DFT)/快速傅里叶变换(FFT)matlab

matlab计算卷积

例1

x1(n)={2,1,1,2} x2(n)={1,-1,-1,1}

两种方法

1)直接用时域计算卷积

2)x1(n)={2,1,1,2} x2(n)={1,-1,-1,1}分别dft到频域X1k和X2k,相乘后求idft,注意序列长度

clc;clear all;close all;x1n=[2,1,1,2];x2n=[1,-1,-1,1];yn=conv(x1n,x2n)M1=length(x1n);M2=length(x2n);N=M1+M2-1;X1k=fft(x1n,N);X2k=fft(x2n,N);Yconvk=X1k.*X2k;yconvn=ifft(Yconvk,N)

输出

yn =

2 -1 -22 -2 -12

yconvn =

2.0000 -1.0000 -2.0000 2.0000 -2.0000 -1.0000 2.0000

两种结果一样

例2

h(n)=R6(n),x(n)=n*R8(n)

计算8点循环卷积,和时域卷积

并且观察之间的关系

clc;clear all;close all;hn=ones(1,6);xn=[0,1,2,3,4,5,6,7];H8k=fft(hn,8);%计算8点dftX8k=fft(xn,8);%计算8点dftYconv8k=H8k.*X8k;yconv8k=ifft(Yconv8k,8)yn=conv(hn,xn)

输出结果

yconv8k =

25 23 21 19 17 15 21 27

yn =

0136 10 | 15 21 27 25 22 18 137

在8点循环卷积中会发生序列的重叠

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。