- 1、本文档共70页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DSP 第4章_0905
求出四点DFT实际上只需要一次复数乘法。 经过一次分解,可使运算量减少一半。 【例1】 将8点序列的DFT用基2时分FFT算法进行分解。 解 (1) 第一次分解。 将8点序列x(n)分解为两个4点序列x1(n)和x2(n),x1(n)为偶数序列,x2(n)为奇数序列,即 x1(n)={x(0),x(2),x(4),x(6)} x2(n)={x(1),x(3),x(5),x(7)} 4点序列x1(n)和x2(n)分别做4点DFT得到X1(k)和X2(k),由X1(k)和X2(k)通过蝶形构造获得8点DFTX(k)。第一次分解的旋转因子为 (k=0,1,2,3),运算流图如图4.3.2所示。 3. 已知X(k)和Y(k)是两个N点实序列x(n)和y(n)的DFT, 希望从X(k)和Y(k)求x(n)和y(n), 为提高运算效率, 试设计用一次N点IFFT来完成的算法。 解: 因为x(n)和y(n)均为实序列, 所以, X(k)和Y(k)为共轭对称序列, jY(k)为共轭反对称序列。 可令X(k)和jY(k)分别作为复序列F(k)的共轭对称分量和共轭反对称分量, 即 F(k)=X(k)+jY(k)=Fep(k)+Fop(k)计算一次N点IFFT得到 f(n)=IFFT[F(k)]=Re[f(n)]+j Im[f(n)] 解: 本题的解题思路就是DIT-FFT思想。 (1) 在时域分别抽取偶数和奇数点x(n), 得到两个N点实序列x1(n)和x2(n): x1(n)=x(2n) n=0, 1, …, N-1 x2(n)=x(2n+1) n=0, 1, …, N-1 根据DIT-FFT的思想, 只要求得x1(n)和x2(n)的N点DFT, 再经过简单的一级蝶形运算就可得到x(n)的2N点DFT。 因为x1(n)和x2(n)均为实序列, 所以根据DFT的共轭对称性, 可用一次N点FFT求得X1(k)和X2(k)。 具体方法如下: 这样, 通过一次N点IFFT计算就完成了计算2N点DFT。 当然还要进行由Y(k)求X1(k)、 X2(k)和X(k)的运算(运算量相对很少)。 (2) 与(1)相同, 设 x1(n)=x(2n) n=0, 1, …, N-1 x2(n)=x(2n+1) n=0, 1, …, N-1 X1(k)=DFT[x1(n)] k=0, 1, …, N-1 X2(k)=DFT[x2(n)] k=0, 1, …, N-1则应满足关系式 x1n=ifft46(X1k, N) %调用ifft46函数计算X1k的IDFT x2n=ifft46(X2k, N) %调用ifft46函数计算X2k的IDFT x3n=ifft46(X3k, N) %调用ifft46函数计算X3k的IDFT 运行程序输出时域序列如下所示, 正是原序列x1n、 x2n和x3n。 x1n = 1 0 0 0 0 0 0 0 x2n = 1 1 1 1 1 1 1 1 x3n = 1 2 3 4 4 3 2 1 与本章有关的MATLAB文件 fft和ifft % to test fft.m dn ifft.m clear all; % 产生两个正弦信号加白噪声; N=256; f1=.1;f2=.2;fs=1; a1=5;a2=3; w=2*pi/fs; x=a1*sin(w*f1*(0:N-1))+a2*sin(w*f2*(0:N-1))+randn(1,N); % 应用FFT 求频谱; subplot(3,1,1); plot(x(1:N/4)); f=-0.5:1/N:0.5-1/N; X=fft(x); y=ifft(X); subplot(3,1,2); plot(f,fftshift(abs(X))); subplot(3,1,3); plot(real(y(1:N/4))); 解: 为了使用灵活方便, 将本题所给算法公式作
文档评论(0)