第 9章 数字信号处理的实现
第 9章 数字信号处理的实现
9.1 数字信号处理中的量化效应
9.2 数字信号处理技术的软件实现
9.3 数字信号处理的硬件实现
第 9章 数字信号处理的实现
9.1 数字信号处理中的量化效应
信号 x(n)值量化后用 Q[ x(n)] 表示, 量化误差用
e(n)表示,
e(n)=Q[ x(n)] -x(n)
图 9.1.1 量化噪声 e(n)
(a) 截尾法; (b) 舍入法
- q 0
q
- 1
p [ e ( n ) ]
e ( n )
( a )
0
q
- 1
e ( n )
( b )
p [ e ( n ) ]
1
2
q-
1
2
q
第 9章 数字信号处理的实现
1,A/D变换器中的量化效应
A/D变换器的功能原理图如图 9.1.2(a)所示, 图中
(n)是量化编码后的输出, 如果未量化的二进制编码
用 x(n)表示, 那么量化噪声为 e(n)= (n)-x(n),因此
A/D变换器的输出 (n)为
^x
^x
^x
^ ( ) ( ) ( )x n x n e n?? (9.1.1)
那么考虑 A/D变换器的量化效应, 其方框图如图
9.1.2(b)所示 。 这样, 由于 e(n)的存在而降低了输出端
的信噪比 。
第 9章 数字信号处理的实现
图 9.1.2 A/DC
(a) A/DC变换器功能原理图; (b) 考虑量化效应的方框图
采样 量化编码
x ( n )^x a ( t ) x a ( n T )
( a )
理想 A / D C
x a ( t ) x ( n )
( b )
e ( n )
x ( n )^
第 9章 数字信号处理的实现
假设 A/D变换器输入信号 xa(t)不含噪声, 输出
(n)中仅考虑量化噪声 e(n),信号 x-a(t) 平均功率
用 表示, e(n)的平均功率用 表示, 输出信噪
比用 S/N表示,
^x
2x? 2e?
2
2
x
e
S
N
?
??
或者用 dB数表示
2
21 0 l g
x
e
S dB
N
?
??
(9.1.2)
A/D变换器采用定点舍入法, e(n)的统计平均值
me=0,方差
2 2 211 2
1 2 1 2
b
e q?
???
第 9章 数字信号处理的实现
将 代入 (9.1.2)式, 得到,
2e?
26,0 2 1 0,7 9 1 0 lg
x
S b
N ?? ? ?
(9.1.3)
为充分利用其动态范围, 取
, 代入 (9.1.3)式, 得
1
3x V? ?
6.02 1.29S bN ??
第 9章 数字信号处理的实现
2,数字网络中系数的量化效应
数字网络或者数字滤波器的系统函数用下式表示,
0
1
()
1
M
r
r
r
N
r
r
r
bz
Hz
az
?
?
?
?
?
?
?
?
式中的系数 br和 ar必须用有限位二进制数进行量化,
存贮在有限长的寄存器中, 经过量化后的系数用
和 表示, 量化误差用 Δ br和 Δ ar表示,
^^
rrba
^^,,
rrr r r ra a a b b b? ? ? ? ? ?
第 9章 数字信号处理的实现
对于 N阶系统函数的 N个系数 ar,都会产生量化误
差 Δar,每一个系数的量化误差都会影响第 i个极点 Pi的
偏移 。 可以推导出第 i个极点的偏移 ΔPi服从下面公式,
^
i iiP P P? ? ?
(9.1.4)
1
1
1
()
NrN
i
ir
r il
l
l
P
Pa
PP
?
?
?
?
? ? ?
?
?
?
(9.1.5)
第 9章 数字信号处理的实现
上式表明极点偏移的大小与以下因素有关,
(1) 极点偏移和系数量化误差大小有关。
(2) 极点偏移与系统极点的密集程度有关。
(3) 极点的偏移与滤波器的阶数 N有关, 阶数愈高,
系数量化效应的影响愈大, 因而极点偏移愈大 。
3,数字网络中的运算量化效应
1) 运算量化效应
在图 9.1.3 中, 有两个乘法支路, 采用定点制时共
引入两个噪声源, 即 e1(n)和 e2(n), 噪声 e2(n)直接输
出, 噪声 e1(n)经过网络 h(n)输出, 输出噪声 ef(n)为
第 9章 数字信号处理的实现
图 9.1.3 考虑运算量化效应的一阶网络结构
e
1
( n ) e
2
( n )
x ( n )
a b
z - 1
y ( n )^ + e
f
( n )
第 9章 数字信号处理的实现
ef(n)=e1(n)*h(n)+e2(n)
如果尾数处理采用定点舍入法, 则输出端噪声平均值为
12
12
12
[ ( ) ( )] [ ( )]
[ ( ) ( )] [ ( )]
()
f
E
m
m E e n h n E e n
E h m e n m E e n
m h m m
?
? ? ?
?
? ? ?
? ? ?
? ? ?
??
?
?
上式中 E[ ] 表示求统计平均值, m1和 m2分别
表示两个噪声源的统计平均值, 这里 m1=m2=0,因
此,
0fm ?
第 9章 数字信号处理的实现
由于 e1(n)和 e2(n)互不相关, 求输出端噪声方差时,
可分别求其在输出端的方差, 再相加 。 这里, 每个噪
声源的方差均为
22
22
2
22
12
1
,2
12
[ ( ( ) ) ]
[ ( ) ]
[ ( ) ] [ ( ) ]
b
e
f f f
f
ff
qq
E e n m
E e n
E e n E e n
?
?
?
??
??
?
??
输出端的噪声 ef(n)的方差为
第 9章 数字信号处理的实现
式中,e f1 (n)和 e f2 (n)分别表示 e1(n)和 e2(n)在输出
端的输出;
22
2
2
1 1 1
00
11
00
2
00
22
0
2 2 2 2
0
[ ( ) ]
[ ( ) ] [ ( ) ( ) ( ) ( ) ]
( ) ( ) [ ( ) ( ) ]
( ) ( ) ( )
()
()
ef
f
ml
ml
e
ml
e
m
f e e
m
E e n
E e n E h m e n m h l e n l
h m h l E e n m e n l
h m h l m l
hm
hm
?
??
?
? ? ?
??
??
??
??
??
??
?
?
?
?
?
? ? ?
? ? ?
??
?
??
??
??
??
?
?
第 9章 数字信号处理的实现
根据帕斯维尔定理 (2.5.29)式, 也可以用下式计算,
2 2 1 2
1
1
1
( ) ( )
2
1
()
1
f e e
dz
H z H z
jz
bz
Hz
az
? ? ?
?
?
?
?
??
?
?
?
??
第 9章 数字信号处理的实现
2) 网络结构对输出噪声的影响
例 9.1.1 已知网络系统函数为
1
12
0, 4 0, 2( ),0, 9
1 1, 7 0, 7
zH z z
zz
?
??
???
??
网络采用定点补码制, 尾数处理采用舍入法 。 试
分别计算直接型, 级联型和并联型结构输出噪声功率 。

1
12
1
11
11
0,4 0,2
()
1 1,7 0,7
0,4 0,2 1
1 0,9 1 0,8
5,6 5,2
1 0,9 1 0,8
z
Hz
zz
z
zz
zz
?
??
?
??
??
?
?
??
?
?
??
?
??
??
g
第 9章 数字信号处理的实现
图 9.1.4 例 9.1.1 的网络结构图
e
2
( n ) e
1
( n )
x ( n )
1, 7 0, 2
z
- 1
e
0
( n )
e
3
( n )
z
- 1
0, 4
0, 7 2-
y ( n ) + e
f
( n )y ( n )
^

e
1
( n )
x ( n )
0, 9
z
- 1
z
- 1
e
0
( n )
e
2
( n )
e
3
( n )
5, 6
5, 2-
( a ) ( c )
e
3
( n )
x ( n )
0, 2
z
- 1
e
1
( n )
e
0
( n )
z
- 1
0, 4
y ( n ) + e
f
( n )y ( n )
^

0, 9 0, 8
e
2
( n )
( b )
0, 8
y ( n ) + e
f
( n )y ( n )
^

第 9章 数字信号处理的实现
(1) 直接型 。
0 1 2 3
2 2 2 1
( ) ( ) ( ) [ ( ) ( )] ( )
1 1 1
2 2 ( ) ( )
1 2 1 2 2
f
fc
e n e n e n e n e n h n
dz
q q H z H z
jz
?
?
?
? ? ? ? ?
?? ?g g g ?
式中
1
1
11
11
2 2 2 2
1 1 0,4 0,2 0,4 0,2
( ) ( )
2 2 ( 1 0,9 ) ( 1 0,8 ) ( 1 0,9 ) ( 1 0,8 )
R e [ ( ) ( ),0,9 ] R e [ ( ) ( ),0,8 ]
61,0 53 28,8 99 32,1 64
11
32,1 64 5,52 7
66
cc
f
dz z z dz
H z H z
j z j z z z z z
s H z H z s H z H z
q q q
??
?
?
?
??
??
??
?
? ? ? ?
??
? ? ?
? ? ?
?? g
g

第 9章 数字信号处理的实现
2) 级联型。
0 1 2 3 2
1
2 2 21
2 2 1 2 1
2
1
22 1
1
22
( ) ( ) ( ) [ ( ) ( ) ( ) ] ( )
1
( ),( ) [ ( ) ]
1 0,8
1 1 3 1
( ) ( ) ( )
12 2 12 2
1 1 1
( ) ( )
2 2 ( 1 0,8 ) ( 1 0,8 )
R e [ ( ) ( )
f
f c c
cc
e n e n h n e n e n e n h n
H z h z Z T H z
z
dz dz
q H z H z q H z
j z j z
dz dz
H z H z
j z j z z z
s H z H z z
?
??
??
?
?
??
?
?
??
? ? ? ? ? ?
??
?
??
?
??
?
??
??
gg


1
,0,8 ] 2,77 8?
式中
第 9章 数字信号处理的实现
3) 并联型。
0 1 1 0 1 2
1 1 11
2 2 21
2 2 2 2 2
12
00
22
22
2
( ) [ ( ) ( ) ] ( ) [ ( ) ( ) ] ( )
1
( ) [ ( ) ],( ) 0.9 ( )
1 0.9
1
( ) [ ( ) ],( ) 0.8 ( )
1 0.8
11
2 ( ) 2 ( )
12 12
1 1 1 1
6 1 0.9 6 1 0.8
1.3 4
f
n
n
f
nn
e n e n e n h n e n e n h n
H z Z T h n h n u n
z
H z Z T h n h n u n
z
q h n q h n
qq
q
?
?
?
??
??
? ? ? ? ? ?
? ? ?
?
? ? ?
?
??
??
??
?
??g g g g
g
第 9章 数字信号处理的实现
输入信号 x(n)方差为, 均值 mx=0,输出端信
号功率用 表示,
2x?
2y?
2 2 2 2 1
0
1( ) ( ) ( )
2y y x cn
dzh n H z H z
jz? ? ? ?
?
?
?
??? ?
输出信噪比 S/N用信号和噪声的功率比计算
2
2
f
y
S
N
?
??
第 9章 数字信号处理的实现
3) 防止溢出的措施
可以采用限制输入信号动态范围的方法来防止溢
出 。 设网络节点用 vi表示, 从输入节点 x(n)到 vi节点的
单位取样响应为 hi(n),
0
m a x
0
( ) ( )
()
ii
m
ii
m
v h m x n m
v x h m
?
?
?
?
??
?
?
?
式中, xmax为 x(n)的最大绝对幅度值, 为保证节
点 vi不溢出, 要求 |vi|<1,那么要求,
m a x
0
1
()i
m
x
hm
?
?
?
?
(9.1.6)
第 9章 数字信号处理的实现
上式即是对输入信号动态范围的限制 。 例如, 一
阶 IIR网络, 单位取样响应 h(n)=anu(n),|a|<1,
m a x
0
1
1
()n
n
xa
a u n
?
?
? ? ?
?
图 9.1.5 一阶滤波网络
x ( n )
z - 1
y ( n )A
a
第 9章 数字信号处理的实现
例如, 在图 9.1.5 中, 为防止溢出, 在输入支路
上加衰减因子 A,
0
( ) ( ) ( )
m
y n A h m x n m
?
?
???
设 |x(n)|max=|xmax|,则有 m a x
0
m a x
0
( ) ( ),0
1
()
m
m
y n A x h m A
A
x h m
?
?
?
?
??
?
?
?
为防止溢出, 要求 |y(n)|<1,即
(9.1.7)
第 9章 数字信号处理的实现
对于该例,有
m a x
1 aA
x
?? (9.1.8)
对于级联型或并联型结构, 可在每个基本节的输
入支路加衰减因子, 如图 9.16 所示 。 如果 |xmax|=1,
图中 A1和 A2均按下式计算,
0
1
()
m
A
hm
?
?
?
?
(9.1.9)
第 9章 数字信号处理的实现
最后要指出的是按照 (9.1.7)式或 (9.1.9)式选择衰减
因子是比较保守或者说是比较苛刻的 。 经常用下式计
算,
1 / 22
0
1
[ ( )
m
A
hm?
?
?
?
?
(9.1.10)
式中,δ是大于 1 的数,如果输入信号是方差为 1
的白噪声,可选 δ≥5。
第 9章 数字信号处理的实现
图 9.1.6 级联型与并联型的衰减因子
y ( n )
x ( n )
b
1
z
- 1
b
2
a
2
a
1
A
1
A
2
z
- 1
b
3
z
- 1
b
4
a
4
a
3
z
- 1
y ( n )x ( n ) A
1
b
1
z
- 1
b
2
a
2
a
1
z
- 1
z
- 1
a
A
2
第 9章 数字信号处理的实现
9.2 数字信号处理技术的软件实现
一个数字网络或数字滤波器设计完毕, 知道其差
分方程, 可根据差分方程直接编写其程序 。 图 9.2.1(a)
是一个一般二阶基本网络, 其差分方程为
y(n)=a1y(n1)+a2y(n2)+b0x(n)+b1x(n1)+b2x(n2)
式中, a1,a2,b0,b1,b2是已知参数; x(n)是输入信
号, 一般 x(n)是一些离散的数据 。
第 9章 数字信号处理的实现
图 9.2.1 二阶网络结构及其级联型
y ( n )x ( n )
b
1
b
2
a
2
a
1
y ( n )x ( n )
b
1
b
2
a
2
a
1
b
3
b
4
a
4
a
3
( a ) ( b )
b
0 w ( n )
b
0
b
5
第 9章 数字信号处理的实现
ω(n)=a1ω(n1)+a2ω(n2)+b0x(n)+b1x(n1)+b2x(n2)
y(n)=a3y(n1)+a4y(n2)+b3ω(n)+b4ω(n1)+b5ω(n2)
从 n=0开始加入 x(n)信号, x(-1)=0,x(-2)=0,初始
条件为,ω(-1)=0,ω(-2)=0,y(-1)=0,y(-2)=0,a1,a2,a3,
a4,b0,b1,b2,b3,b4,b5均为已知参数, 其软件流程图如
图 9.2.2 所示 。
第 9章 数字信号处理的实现
图 9.2.2 两个二阶网络的级联结构软件流程图
w ( - 1) = 0,w ( - 2) = 0,y ( - 1) = 0,y ( - 2) = 0,x ( - 1) = 0,x ( - 2) = 0
n > ( N - 1)
输出, y ( n )
结束
x ( n ),n = 0,1,2,3 …N - 1
a
1
,a
2
,a
3
,a
4
,b
0
,b
1
,b
2
,b
3
,b
4
,b
5
输入:
n = 0
w ( n ) = a
1
w ( n - 1) + a
2
w ( n - 2) + b
0
x ( n ) + b
1
x ( n - 1) + b
2
x ( n - 2)
y ( n ) = a
3
w ( n - 1) + a
4
y ( n - 2) + b
3
w ( n ) + b
4
w ( n - 1) + b
5
w ( n - 2)
n = n + 1
N
Y
第 9章 数字信号处理的实现
图 9.2.1(a)的二阶网络排序如图 9.2.3所示, 图中
圆圈中的数字表示排序 。 其运算次序如下:起始数据,
v1=0,v2=0
(1)v3=a1v1+a2v2
v4=b1v1+b2v2;
(2) v5=x(n)+v3;
(3) v6=v5;
(4) v7=b0v6+v4;
(5) y(n)=v7;
(6) 数据更新,v2=v1,v1=v6
第 9章 数字信号处理的实现
图 9.2.3 图 9.2.1(a)的节点排序
y ( n )x ( n )
b
1
b
2
a
2
a
1
b
0
v
6
v
5
v
7
z
- 1
z
- 1
0 2 3 4 5
1
v
4
0
v
2
1
v
3
0
v
1
第 9章 数字信号处理的实现
图 9.2.4 图 9.2.3软件流程图
输入, x ( n ),n = 0,1,2,3 …N
a
1
,a
2
,b
0
,b
1
,b
2
v
1
= 0,v
2
= 0
n = 0
v
3
= a
1
v
1
+ a
2
v
2
,v
4
= b
1
v
1
+ b
2
v
2
v
6
= x ( n ) + v
3
y ( n ) = b
0
v
6
+ v
4
v
2
= v
1
,v
1
= v
6
n = n + 1
n > N
输出,y ( n )
结束
N
Y
第 9章 数字信号处理的实现
图 9.2.5 图 9.2.1(b)的节点排序
y ( n )x ( n )
b
1
b
2
a
2
a
1
b
0
v
6
v
5
v
7
z
- 1
z
- 1
0 2 3 4
1
v
4
0
v
2
1
v
3
0
v
1
b
4
b
5
a
4
a
3
b
3
v
13
v
14
z
- 1
z
- 1
6 7 8
1
v
11
0
v
9
1
v
10
0
v
8
5
v
12
第 9章 数字信号处理的实现
图 9.2.6 图 9.2.5的软件流程图
x ( n ),n = 0,1,2,3 …N
a
1
,a
2
,a
3
,a
4
,b
0
,b
1
,b
2
,b
3
,b
4
,b
5
输入:
v
1
= 0,v
2
= 0,v
8
= 0,v
9
= 0
n = 0
v
3
= a
1
v
1
+ a
2
v
2
,v
4
= b
1
v
1
+ b
2
v
2
v
1 0
= a
3
v
8
+ a
4
v
9
,v
1 1
= b
4
v
8
+ b
5
v
9
v
6
= x ( n ) + v
3
v
7
= b
0
v
6
+ v
4
v
1 3
= v
7
+ v
10
y ( n ) = b
3
v
1 3
+ v
11
v
2
= v
1
,v
1
= v
6
,v
9
= v
8
,v
8
= v
13
n = n + 1
n > N
输出,y ( n )
结束
Y
N
第 9章 数字信号处理的实现
9.3 数字信号处理的硬件实现
9.3.1 专用数字信号处理集成电路
DSP56200 为 28 脚双列直插封装,其引脚可分为
如下几类 (见图 9.3.1),
(1) 主计算机接口;
(2) 级联接口;
(3) 时钟;
(4) 电源 。
第 9章 数字信号处理的实现
图 9.3.1 DSP56200 引脚信号分类
数据总线
地址总线
V C C GND
C LO C K
S T A R T
S D O
S D I
SSO
SSI
S EICS
WR
RD
D0 ~ D7
A0 ~ A3









时钟
D S P 5 6 2 0 0
第 9章 数字信号处理的实现
1.主计算机接口
D0~D7 是与主计算机通信的双向数据总线。
A0~A3 为寄存器地址。
为片选信号引脚, 为低电平时可访问
DSP56200 片上的有关寄存器 。
为读信号引脚, 当 为低电平时, 使有关寄
存器的内容呈现在数据总线上 。
为写信号, 该信号让主机将有关内容写入由
A0~A3 所决定的寄存器中 。
CS CS
RD RD
WR
第 9章 数字信号处理的实现
2.级联接口
级联接口主要用于多片 DSP56200 的级联应用,如
图 9.3.2 所示。
第 9章 数字信号处理的实现
图 9.3.2 DSP56200 的级联
D S P 5 6 2 0 0
CS S T A R T
S D OS D I
SSOSSI
C L K
D0 ~ D7 A0 ~ A3 WR RD S E I
D S P 5 6 2 0 0
CS S T A R T
S D I
SSO
SSI
C L K
D0 ~ D7 A0 ~ A3 WR RD S E I
译码
电路
A4 ~ A 1 5
至主计算机
I N T
数据总线
地址总线
时 钟 电 路
S T A R T C L O C K
WR
RD
A0 ~ A3
D0 ~ D7
第 9章 数字信号处理的实现
SDI,串行数据输入引脚,用于级联模式。
SDO,串行数据输出引脚,与下一级 SDI连接。
SSI,串行和输入,用于接收前一级 SSO输出的部分和。
SSO,串行和输出,与下一级芯片的 SSI相连。
SEI,串行误差输入,用于自适应滤波模式。
第 9章 数字信号处理的实现
3,时钟与电源
CLOCK,时钟输入,用于接收时钟信号。
START,启动处理信号。
VCC,电源, +5 V。
GND,地 。
第 9章 数字信号处理的实现
9.3.2 通用数字信号处理器 (DSP)
1.DSP的主要特点及发展概况
与普通单片机相比较, DSP具有以下特点,
(1) 采用增强的哈佛结构, 将程序存储器和数据存
储器分开, 并有各自的总线结构 (程序总线和数据总
线 ),这样就减少了系统对总线的压力, 并可在执行
指令时采用流水线操作, 使读取指令, 指令译码和执
行指令等操作并行进行 。
第 9章 数字信号处理的实现
(2) 片内带有高速阵列乘法器等专用硬件, 使得
一条指令可同时完成乘法和累加等复杂运算 。
(3) 具有片上高速数据 RAM和程序存储器 。
(4) 具有高速 I/O接口, 提高数据交换速率 。
(5) 具有满足数字信号处理要求的一些高效特殊
指令 。 例如, 在数字滤波和 FFT等运算过程中, 最频
繁的操作为如下运算,
y=ax+b
第 9章 数字信号处理的实现
表 9.3.1 TI公司产品一览表
第 9章 数字信号处理的实现
2,TMS320C25的结构特点
TMS320C25的结构是在 TMS320C20 的基础上发
展起来的, 它通过更快的指令周期及改进的附加功能
增加了数字信号处理算法功能 。 ′C25 的目标代码与
′C20 完全兼容 。
第 9章 数字信号处理的实现
图 9.3.3 TMS320C25 结构框图
第 9章 数字信号处理的实现
TMS320C25,68 脚塑料封装, 各引脚的信号及
信号状态与功能请参阅产品使用手册 。
TMS320C25,内部可分为六大部分, 下面分别介
绍各部分的性能 。
1) 数据存储器
2) 程序存储器
3) 辅助寄存器组及辅助寄存器算术单元
4) 程序计数器和堆栈
5) 中央算术逻辑单元
第 9章 数字信号处理的实现
(1) 定标移位器。
(2) ALU和 ACC。
(3) 乘法器,T寄存器和 P寄存器。
图 9.3.4 TMS320C25 指令执行的流水线方式
N - 1
预取
译码
执行
N
N - 2
N + 1
N
N - 1
N + 2
N + 1
N
n + 2n + 1n
第 9章 数字信号处理的实现
6) 系统控制
(1) 定时器。
(2) 中断。
(3) 复位。
(4) 维持功耗模式。
(5) 多道处理和直接存储器存取。
3.TMS320C25 的指令系统
1) TMS320C25 的寻址方式
2) TMS320C25 的指令集
第 9章 数字信号处理的实现
表 9.3.2 间接寻址的七种形式
第 9章 数字信号处理的实现
表 9.3.3 TMS320C25 指令系统中使用的符号和缩写说明
第 9章 数字信号处理的实现
第 9章 数字信号处理的实现
第 9章 数字信号处理的实现
第 9章 数字信号处理的实现
第 9章 数字信号处理的实现
表 9.3.4 TMS320C25 指令一览表
第 9章 数字信号处理的实现
第 9章 数字信号处理的实现
第 9章 数字信号处理的实现
第 9章 数字信号处理的实现
第 9章 数字信号处理的实现
第 9章 数字信号处理的实现
第 9章 数字信号处理的实现
4,TMS320C25 的应用与开发
TMS320C25 的指令周期为 100 ns,用它来实现
FIR滤波器时, 每一抽头的乘法累加运算以及数据移
位操作仅需要 100 ns。 对于一个 256 抽头的 FIR滤波器,
其采样频率可接近 40 kHz。 TMS320C25 现已广泛应
用于很多领域 。
第 9章 数字信号处理的实现
下面举例说明 DSP在数字滤波方面的应用 。
如前面所述,FIR数字滤波器可用线性常系数差分
方程来描述,
0
( ) ( )
M
k
k
y n b x n k
?
???
式中,bk为滤波器系数,M+1 为滤波器节数 (即
h(n)的长度 )。
第 9章 数字信号处理的实现
使用重复指令 RPTK与 MACD指令对,
RPTK M
MACD pma,dma
指令 RPTK把一个 8 位立即数装入重复计数器
(RPTC)内, 从而使下一条指令重复执行 M+1次 。
指令 MACD pma,dma完成下列操作,
(1) 把 pma值装入程序计数器;
(2) 用 B1 块中 dma单元的数值乘 B0 块中程序存储
器 pma单元的内容;
(3) 将前次乘积值加到累加器中;
第 9章 数字信号处理的实现
(4) 把数据存储器 B1 中的数据复制到高一位地址
dma+1 的对应片内 RAM中, 以实现 z-1的延时 。
(5) 每次乘 /累加后, 程序计数器自动增加 1,指
向下一个滤波器系数 bk。
图 9.3.5 用 TMS320C25 实时滤波的存储配置
b
N - 1
B 0
低位地址
> FF 00
b
1
b
0
( 相乘)
高位地址
滤波器长度为 N
加权系数 b
k
x ( n )
B 1
低位地址
> 3 FF
( 1 0 2 3 )
高位地址
滤波器长度为 N
存储输入序列 x ( n )
x ( n - 1 )
x ( n - ( N - 1 ))
第 9章 数字信号处理的实现
用 TMS320C25 汇编语言写的 5 节 FIR数字滤波器
程序如下 。 程序中用 XN代表 x(n),用 XNM1 代表
x(n1),YN代表 y(n)。
CNFP ;设置 B0 为程序存储器
NXTPTIN XN,PA0 ; 由端口 PA0 取入新样本 x(n)
LRLKAR1,>3FF ; 设定 B1 高地址
LARPAR1 ; 选 AR1 为当前间址寄存器
MPYK0 ; P寄存器置 0
ZAC ; 累加器清 0
RPTK4 ; 重复 5 次
第 9章 数字信号处理的实现
MACD>FF00,* - ; 乘 /累加, AR1减 1,移位
APAC ; 累加最后一次乘积
SACHYN,1 ; 累加器高 16 位存入 YN单元
OUTYN,PA1 ; 输出滤波结果 y(n)值
B NXTPT ; 转入下一个 y(n)值的滤波运算处理
第 9章 数字信号处理的实现
N节 FIR数字滤波器程序如下,
YN EQU 45
MODE EQU 46
CLOKC EQU 47
XN EQU 48
*;
AORG 0;
B START;
第 9章 数字信号处理的实现
*;
CTABLE AORG 32 ; 20H;
CH0 DATA >H0;
CH1 DATA >H1;
CH2 DATA >H2;
…;
CHN1 DATA >HN-1;
MD DATA >000A;
SMP DATA >01F3 ; 采样率 10 kHz;
START EQU $
第 9章 数字信号处理的实现
*初始化模拟接口板
LOPK 7 ; 选 DM第 7 页 (DP← 7);
LACK MD
TBLR MODE
OUT MODE,PA0
LACK SMP
TBLR CLOCK ;
OUT CLOCK,PA1
第 9章 数字信号处理的实现
*装入滤波器系数并进行滤波处理
LARP AR0 ; 由 AR0寻址
LRLK AR0,>200 ; 指向 B0
RPTK >N ; 重复次数为 h(n)长度 (十六进制 )N;
BLKP CTABLE,*+ ; 装入从 CTABLE开始的 N个系数
CNFP ; B0为程序区
WAIT BIOZ NXTPT ; 新样值有效
B WAIT ; 新样值有效
第 9章 数字信号处理的实现
NXTPT IN XN,PA2 ; 指到新样值 XN
LRLKAR1,>3FF ; 指向 B1 末端 ;
LARP AR1
MPYK 0
ZAC
RPTK >N
MACD >FF00,*-
APAC;
SACH YN,1;
OUT YN,PA2 ; 输出 y(n)
B WAIT ; 指向下一个点
END