- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 离散傅里叶变换及其快速
3.4.3 线性卷积的FFT算法★ 循环卷积计算线性卷积的方法归纳如下: 将长为N2的序列x(n)延长到L - x1(n) 将长为N1的序列h(n)延长到L - h1(n) L≥N1+N2-1,则圆周卷积及线性卷积相等 a.计算X(k)=FFT[x1(n)] b. 求H(k)=FFT[h1(n)] c. 求Y(k)=H(k)X(k) k=0~L-1 d. 求y(n)=IFFT[Y(k)] n=0~L-1 称上述循环卷积方法为快速卷积法。 (1)??? 重叠相加法——由分段卷积的各段相加构成总的卷积输出 h(n) x(n) 假定 xi(n) 表示 x(n)序列的第i段 : 则输入序列可表为: 于是输出可分解为: 线性卷积的FFT算法实例 x(n)={1,2,3,4,5,6,7,8,9,10,11,12} 0≤n≤11; h(n)={1,1} 0≤n≤1; 求y(n)=x(n)*h(n) 。 说明:正常线性卷积运算得到 y(n)={1,3,5,7,9,11,13,15,17,19,21,23,12} 0≤n≤12; 重叠相加法 h(n)长度N1=2,xi(n)长度N2=3 x0(n) 1 2 3 0≤n≤2 y0(n)=x0(n)*h(n) 0≤n≤3 x1(n) 4 5 6 3≤n≤5 y1(n)=x1(n)*h(n) 3≤n≤6 x2(n) 7 8 9 6≤n≤8 y2(n)=x2(n)*h(n) 6≤n≤9 x3(n) 10 11 12 9≤n≤11 y3(n)=x3(n)*h(n) 9≤n≤12 x(n)={1,2,3,4,5,6,7,8,9,10,11,12} 0≤n≤11; h(n)={1,1} 0≤n≤1; 求y(n)=x(n)*h(n) 。 用4点的循环卷积(FFT快速算法)求yi(n)=xi(n)*h(n) 例如FFT快速算法求解y0(n)=x0(n)*h(n)步骤 步骤一:充零到L=N1+N2-1= 4点: x0(n)={1,2,3,0} 0≤n≤3; h(n)= {1,1,0,0} 0≤n≤3; 步骤二:用FFT计算X0(k),H(k)得到 X0(k)={ 6,-2-2j, 2,-2+2j } 0≤k≤3; H(k)={2,1-j,0,1+j } 0≤k≤3; 步骤三:Y0(k)= X0(k)H(k)={ 12, -4, 0, -4 } 0≤k≤3; 步骤四:用FFT计算IDFT[Y0(k)]得到 y0(n)={1, 3, 5, 3};0≤n≤3; n 0 1 2 3 4 5 6 7 8 9 10 11 12 y0(n) 1 3 5 3 y1(n) 4 9 11 6 y2(n) 7 15 17 9 y3(n) 10 21 23 12 y(n) 1 3 5 7 9 11 13 15 17 19 21 23 12 x0(n) 1 2 3 0≤n≤2 y0(n)=x0(n)*h(n) 0≤n≤3 x1(n) 4 5 6 3≤n≤5 y1(n)=x1(n)*h(n) 3≤n≤6 x2(n) 7 8 9 6≤n≤8 y2(n)=x2(n)*h(n) 6≤n≤9 x3(n) 10 11 12 9≤n≤11 y3(n)=x3(n)*h(n) 9≤n≤12 相邻两段 yi(n)序列有h(n)长度N1-1点发生重叠。 (2)重叠保留 用4点的循环卷积(FFT快速算法)求yi(n) yi(n)中前N1-1=2-1点是混叠部分,要去掉,剩下的保留 n 0 1 2 3 4 5 6 7 8 9 10 11 12 y0(n) 5 3 5 7 y1(n) 11 9 11 13 y2(n) 17 15 17 19 y3(n) 10 21 23 12 y(n) * 3 5 7 9
文档评论(0)