表 P4-8
k |zk| Agr[zk] 0 0.8 π/3 1 0.67 13π/30 2 0.56 16π/30 3 0.46 19π/30 4 0.39 22π/30 5 0.32 25π/30 6 0.27 28π/30 7 0.22 31π/30 8 0.19 34π/30 9 0.16 37π/30
图 P4-8(a)
图 P4-8(b)
9. 在下列说法中选择正确的结论。线性调频z变换(CZT)可以用来计算一个M点有 限长序列h(n)在z平面的实轴上各{zk}点的z变换H(z),使
k(1)zk?a,k?0,1,???,N?1,a为实数,a??1。
(2)zk?ak,k?0,1,???,N?1,a为实数,a?0。 (3)(1)和(2)两者都行。
(4)(1)和(2)两者都不行。即线性调频z变换不能计算H(z)在z为实数时的抽样。 解:
(1) 是正确的。
M?1因为 H(zk)??h(n)zn?0?nk
其中 zk?AW?k?A0W0e?kj(?0?k?0),k?0,1,???,N?1
A0,W0,?0,?0都是任意实数。
所以若求有限长序列h(n)在z平面实轴上各点的z变换,只需取
A0?1,W0?a?1,?0?0,?0?0
k此时 zk?a,a??1
M?1H(zk)??h(n)an?0?nk,k?0,1,???,N?1
22?a
?k22M?1n?0?h(n)a?n2a(k?n)?g(n)p(k?n)n?022?a?k22M?1
式中 g(n)?h(n)a?n2
2?an2,0?n?N?1?0,N?n?L?m p(n)?? 2?a(M?N?1?n)/2,L?M?1?n?L?1?为了用FFT计算,式中取 L?2?N?M?1 计算时可先求出 G(k)?FFT[g(n)],L点
JP(k)?FFT[p(n)],L点
R(k)?G(k)?P(k) r(n)?IFFT[R(k)],L点
则 H(zk)?a?k2/2?r(k),0?k?N?1
10.当实现按时间抽取快速傅里叶变换算法时,基本的碟形计算
Xm?1(p)?Xm(p)?WrNXm(q) Xm?1(q)?Xm(p)?WrNXm(q)
利用定点算术运算实现该蝶形计算时,通常假设所有数字都按一定比例因子化为小于1。因此在蝶形计算的过程中还必须关心溢出问题。
(1)证明如果我们要求Xm(p)?1/2和Xm(q)?1/2,则在蝶形计算中不可能出现溢出,即 Re[Xm?1(p)]?1,Im[Xm?1(p)]?1
Re[Xm?1(q)]?1,Im[Xm?1(q)]?1 (2) 实际上要求:
|Re[Xm(p)]|?1/2,|Im[Xm(p)]|?1/2
|Re[Xm(q)]|?1/2,|Im[Xm(q)]|?1/2
试乎更容易些,也更适合些。问这些条件是否足以保证在蝶形计算中不会出现溢出?请证明你的回答。 证明
(1)由题意
可求得 即 因此 所以 同理可证 (2)因为 所以 即 Xm(p)?1/2,Xm(q)?1/2
X(p)?Xp)?Wr)?Wrm?1m(NXm(q)?Xm(pN?Xm(q)?1 Xq)?X)?Wrrm?1(m(pNXm(q)?Xm(p)?WN?Xm(q)?1
X2m?1(p)?1
Re2?X2m?1(p)??Im?Xm?1(p)??1 Re2?Xm?1(p)??1 Im2?Xm?1(p)??1
Re?Xm?1(p)??1 Im?Xm?1(p)??1 Re?Xm?1(q)??1 Im?Xm?1(q)??1 |Re?Xm(p)?|?1/2 |Im?Xm(p)?|?1/2
|Re?X2m(p)?|?1/4 |Im?X2m(p)?|?1/4
|Re?X2?|2m(p)?|?|Im?Xm(p)?1/2
Xm(p)2?1/2
或 Xm(p)?2/2
因此Xm(p)不一定小于1/2,故利用(1)的结果可以得出,Re?Xm?1(p)?及
Im?Xm?1(p)?不一定小于1。同理可得出,|Re?Xm?1(q)?|及|Im?Xm?1(q)?|不一定小于1。
所以上述条件不足以保证在蝶形运算中不出现溢出。 11. X(ej?j?)表示长度为10的有限长序列x(n)的傅里叶变换。我们希望计算X(e)在频率
?k?(2?k2/100),k?0,1,???,9时的10个抽样。计算抽样。计算时不能采用先算出比要求
数多的抽样然后在丢掉一些的办法。讨论采用下列各方法的可能性:
(1) 直接利用10点快速傅里叶变换算法。 (2) 利用线性调频z变换算法。 解:
(1) 若直接利用10点快速傅里叶变换算法,则
X(ej?k)?4n为偶数?x(n)e?j?j2?k2n100?4n为奇数2?k22r100?x(n)e?j2?k2n100
??x(2r)er?04??x(2r?1)er?0?j?j2?k2(2r?1)100
??x(2r)er?0?j2?k2r50?e2?k2100?x(2r?1)er?04?j2?k2r50
?G0(k)?e式中 Gl(k)??j2?k2100G1(k),k?0,1,???,9?x(2r?l)er?0r为偶数24?j2?k2r50
?j2?k2r50??x(2r?l)e?j2?k2r50?r为奇数2?k2?j2s501?x(2r?l)es?0??x?2(2s)?l?es?0??x?2(2s?1)?l?e?j2?k25012?k2?j(2s?1)50
??x?4s?l?es?02?j2?k2s25?e?x(4s?2?l)es?0?j2?k2s25,l?0,1
对于每个k值,计算Gl(k)要求8+8=16次实数乘法(s=0时没有乘法)。 对于每个k值,计算X(e总共需要360次实数乘法。
j?k)要求2×16+4=36次实数乘法。因此对10点傅里叶变换,
相关推荐: