数字信号处理(第三)课后答案及学习指导(高西全丁玉美)第四剖析

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

TF
10 109
N 2
l
bN
10 109
N
l
bN
108 1024 10 108 1024 10 2
0.1536 ms
快速卷积计算时间Tc约为
Tc 2TF 1024 次复数乘计算时间 2 0.1536103 10109 1024 0.317 44 ms
可实时处理的信号最高频率fmax为

X1 (k )
DFT[ x1 (n)]
Yep (k )
1 [Y 2
(k)
Y*(N
k )]
jX 2 (k)
DFT[
jx2
(n)]
Yep
(k)
1 2
[Y
(k)
Y
*(N
k )]
2N点DFT[x(n)]=X(k)可由X1(k)和X2(k)得到
X (k) X1(k) W2kN X 2 (k)
X
(k
N
)
X1(k)
解: 因为x(n)和y(n)均为实序列, 所以, X(k)和Y(n)为共轭对称序列, jY(k)为共轭反对称序列。 可令X(k)和 jY(k)分别作为复序列F(k)的共轭对称
分量和共轭反对称分量, 即
由DFT的共轭对称性可知
Re[f(n)]=IDFT[Fep(k)]=IDFT[X(k)]=x(n) j Im[f(n)]=IDFT[Fop(k)]=IDFT[jY(k)]=jy(n) 故
W2kN
X
2 (k)
k 0,1, , N 1
完成了计算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
X X
(k (k
fmax ≤
1 2
Fs
1 2
·
1024 = 1 Tc 2
·
3.1158
MHz=1.6129
MHz
由此可见, 用DSP专用单片机可大大提高信号处理速度。 所以, DSP在数字信 号处理领域得到广泛应用。 机器周期小于1 ns的DSP产品已上市, 其处理速度 更高。
试设计用一次N点IFFT来完成的算法。
2. 如果将通用单片机换成数字信号处理专用单片机TMS320系列, 计算复 数乘和复数加各需要10 ns。 请重复做上题。
解: 与第1题同理。 直接计算1024点DFT所需计算时间TD为 TD=10×10-9×10242+10×10-9×1 047 552=20.961 28 ms
用FFT计算1024点DFT所需计算时间TF为
, N 1
由以上分析可得出运算过程如下: ① 由X(k)计算出X1(k)和X2(k):
X1(k)
1 2
[
X
(k)
X
(k
N
)]
X
2
(k)
1 2
[
X
(k)
X
(k
N )]W2Nk
② 由X1(k)和X2(k)构成N点频域序列Y(k): Y(k)=X1(k)+jX2(k)=Yep(k)+Yop(k)
其中, Yep(k)=X1(k), Yop(k)=jX2(k), 进行N点IFFT, 得到 y(n)=IFFT[Y(k)]=Re[y(n)]+j Im[y(n)] n=0, 1, …, N-1 由DFT的共轭对称性知
x(n) 1 [ f (n) f (n)] 2
y(n) 1 [ቤተ መጻሕፍቲ ባይዱf (n) f (n)] 2j
4. 设x(n)是长度为2N的有限长实序列, X(k)为x(n)的2N点DFT。 (1) 试设计用一次N点FFT完成计算X(k)的高效算法。 (2) 若已知X(k) ,试设计用一次N点IFFT实现求X(k)的2N点IDFT运算。
Tc 2TF 1024次复数乘计算时间 71680 μs 41024 μs 65536 μs
所以, 每秒钟处理的采样点数(即采样速率)
Fs
1024 65536 106
15
625
次/秒
由采样定理知, 可实时处理的信号最高频率为
fmax
Fs 2
15625 2
7.8125 kHz
应当说明, 实际实现时, fmax还要小一些。 这是由于实际中要求采样频率 高于奈奎斯特速率, 而且在采用重叠相加法时, 重叠部分要计算两次。 重叠 部分长度与h(n)长度有关, 而且还有存取数据和指令周期等消耗的时间。
)NX)1(kXXX) 1211(((Wk,kk)…2))kN==WXDD,22k(NNFFkX)TT-2[[(k )1xx12((nnk))]]0,1,
k=0,
, N 1
k=0,
由上式可解出
X1 (k )
1 2
[X
(k)
X
(k
N
)]
X 2 (k )
1[X 2
(k)
X
(k
N )]W2Nk
k 0,1, 2,
Re[
y(n)]
1 2
3.6 教材第4
快速傅里叶变换(FFT)是DFT的快速算法, 没有新的物理概念。 FFT的基本 思想和方法教材中都有详细的叙述, 所以只给出教材第4章的习题与上机题解答。
1. 如果某通用单片计算机的速度为平均每次复数乘需要4 μs, 每次复数加 需要1 μs, 用来计算N=1024点DFT, 问直接计算需要多少时间。 用FFT计算呢? 照这样计算, 用FFT进行快速卷积对信号进行处理时, 估计可实现实时处理的信 号最高频率。
解: 当N=1024=210时, 直接计算DFT的复数乘法运算次数为 N2=1024×1024=1 048 576次
复数加法运算次数为 N(N-1)=1024×1023=1 047 552次
直接计算所用计算时间TD为 TD=4×10-6×10242+1 047 552×10-6=5.241 856 s
和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, 再经过简单

y(n)=x1(n)+jx2(n) Y(k)=DFT[y(n)]
k=0, 1, …, N-1
用FFT计算1024点DFT所需计算时间TF为
TF
5 106
N 2
lbN
NlbN
106
5106 1024 10 1024 10 106 2
30.72 ms
快速卷积时, 需要计算一次N点FFT(考虑到H(k)= DFT[h(n)]已计算好存入内存)、 N次频域复数乘法和 一次N点IFFT。 所以, 计算1024点快速卷积的计算时间Tc约为
相关文档
最新文档