DSP第二章数值运算

合集下载

3.DSP的数值运算基础介绍

3.DSP的数值运算基础介绍

课程名称:DSP芯片及应用
Agenda: 3.1 引言 3.2 定点的基本概念 3.3 定点运算实现的基本原理 3.4 DSP定点算术运算实现的基本原理 3.5 非线性运算定点实现方法 3.6 浮点数的表示格式 3.7 基本的浮点运算 3.8 非线性浮点运算的快速实现 3.9 小结 3.10 习题与思考题
主讲:穆春阳
电气信息工程学院
muchunyang@
3.2 定点的基本概念
3.2.1 数的定标
计算机的定点数有3种表示法:原码、反码和补码
原码表示法:在数值前直接加一符号位,即最高位为符号位, “0”表示正,“1”表示负定点。
注 意 : a) 数 0 的 原 码 有 两 种 形 式 : [+0] 原 =00000000B 和 [-0] 原 =10000000B;b)n位二进制原码的表示范围:-2^(n-1)+1~2^(n-1)-1,例 如8位二进制原码的表示范围为-127~+127
6 muchunyang@1ຫໍສະໝຸດ
3.2 定点的基本概念
3.2.1 数的定标
定点DSP芯片的数值计算:
一般采用补码形式的整型数来表示操作数; 整型数的表示范围由DSP芯片的字长决定,一般为16或24位; 字长越长,所能表示的数的范围越大,精度也越高。 【例】以16位为例,每个16位数用一个符号位来表示数的正负(0正、 1负),其余15位表示数值的大小。 数8195的补码表示为:0010 0000 0000 0011B 数-4的补码表示为: 1111 1111 1111 1100B
9 同样的一个16位数,若Q值不同,则所表示的数也不同。 【例】不同Q值时的16进制数2000H的值。 若用Q0表示,则16进制数2000H = 8192 若用Q15表示,则16进制数2000H = 0.25 9 不同Q值所能表示的数的精度和范围都不同:①Q越大,表示的 数值范围越小,但精度越高;②相反,Q越小,表示的数值范围越 大,但精度越低。 9 不同Q值所对应的正最大值、负最大值和量化步长(即精度): • 正最大值: 2(15−Q) − 2−Q = (215 −1)× 2−Q • 负最大值: −2(15−Q) = −215 × 2−Q • 精度:

DSP原理及应用第2章ppt课件

DSP原理及应用第2章ppt课件
累加器32位
输出移位器
16位到数据总线
移位方法:
左移,移位时高位丢失,低位补0
例:
3 C F 0 F A0 3
累加器: 0011 1100 1111 0000 1111 1010 0000 0101 左移6位:0011 1100 0011 1110 1000 0001 0100 0000
用SACH指令
2.状态寄存器ST1
D15~D13
ARB
RW-x
D12
CNF
RW-0
D11
TC
RW-x
D7
D6
D5
D4
11 1
XF
RW_x
D10
SXM
RW-1
D3
1
D9
D8
C
1
RW-1
D2 D1 D0
1 PM
RW_0
ARB:辅助寄存器指针缓存器。
除LST #0,xx 指令外,每当 加载 辅助寄存器指针(ARP)时, ARP原来的值就拷贝到ARB。
Reserved CLKSRC
R-0
RW-0
D13~D12
D11~D9
D8
LPM
CLKPS Reserved
RW-0
RW-1
R-0
D7
D6
D5
D4
D3
D2
D1
D0
ADC SCI
SPI
CAN EVB
CLKEN CLKEN CLKEN CLKEN CLKE N
EVA Reserved ILLADR CLKEN
a.溢出方向为正(正向溢出),累加器被最大正数 (7FFF FFFFh)填充。
b.溢出方向为负(负向溢出),累加器被最大负数 (8000 0000h)填充。

数字信号处理DSP第二章2z反变换

数字信号处理DSP第二章2z反变换

z1
4n
4
15 2021/4/21
j Im[z]
C
1/ 4 0
4 Re[z]
5
当n 1时 F (z)在围线c内有一阶极点z 1 和-(n 1)阶极点z 0
4 而围线c外只有一阶极点z=4,且F(z)的分母多项式 阶次高于分子多项式阶次两次以上
x(n) Re s[F (z)]z4
z
4
解:X
z
1
5 z 1 z1 6z2
z2
5z z 6
5z
z 2z 3
X
z
z
z
5
2z
3
A1 z2
A2 z3
3
j Im[z]
2
0
Re[z]
A1
Res
X
z
zБайду номын сангаас
z2
z
2
z
5
2
z
3
z2
1
A2 Res
2021/4/21
X
z
z
z3
z
3
z
5
2
z
3
z 3
1
16
X z
1
1
z z2 z3
bi zi
i0 N
1 ai zi
i 1
X (z)
M N n0
Bn zn
A M r k
k1 1 zk z1
r k 1
Ck [1 zi z1]k
用留数定理求系数:
Ak
Re
s
X (z) z zzk
k 1,2,
,M r
2021/4/21
15
例:X (z)

DSP原理及应用 第二章

DSP原理及应用 第二章
第 14 页 2011-3-31 22:22
X
2.2 TMS320C54x的总线结构 的总线结构 2.数据总线CB 、DB和EB 数据总线CB DB和 3条数据总线分别与不同功能的内部单元相连接。 条数据总线分别与不同功能的内部单元相连接。 如 : CPU 、 程序地址 产生逻辑 PAGEN、 数据地址 CPU、 程序地址产生逻辑 产生逻辑PAGEN 、 产生逻辑 DAGEN、片内外设和数据存储器等。 DAGEN、片内外设和数据存储器等。 CB和DB用来传送从数据存储器读出的数据; CB和DB用来传送从数据存储器读出的数据 用来传送从数据存储器读出的数据; EB用来传送写入存储器的数据。 EB用来传送写入存储器的数据 用来传送写入存储器的数据。 3.地址总线PAB、CAB、DAB和EAB 地址总线PAB、CAB、DAB和 用来提供执行指令所需的地址。 用来提供执行指令所需的地址。
2011-3-31 22:22
第2页
X
2.1 TMS320C54x的特点和硬件组成框图 TMS320C54x的特点和硬件组成框图
TMS320 54x 简称C54x TMS320C54x(简称C54x)是TI公司为实现 320C TI公司为实现 低功耗、高速实时信号处理而专门设计的 位定点 低功耗、高速实时信号处理而专门设计的16位定点 而专门设计的16 数字信号处理器,采用改进的哈佛结构,具有高度 数字信号处理器,采用改进的哈佛结构 具有高度 哈佛结构, 的操作灵活性和运行速度, 的操作灵活性和运行速度,适应于远程通信等实时 嵌入式应用的需要,现已广泛地应用于无线电通信 嵌入式应用的需要, 系统中。 系统中。
第 13 页
2011-3-31 22:22
X
2.2 TMS320C54x的总线结构 的总线结构 1.程序总线PB 程序总线PB 主要用来传送取自程序存储器的指令代码和立即 操作数。 操作数。 PB总线既可以将程序空间的操作数据(如系数表) PB总线既可以将程序空间的操作数据 如系数表) 总线既可以将程序空间的操作数据( 送至数据空间的目标地址中,以实现数据移动, 送至数据空间的目标地址中,以实现数据移动,也可 以将程序空间的操作数据传送乘法器和加法器中, 以将程序空间的操作数据传送乘法器和加法器中,以 便执行乘法-累加操作。 便执行乘法-累加操作。

第2章 TMS320C55X系列DSP

第2章  TMS320C55X系列DSP
C55X灵活的指令Cache(高速缓冲存储器)也可以对不同类 型的代码做优化配置。改善Cache的访问率,就意味着减少片 外的访问,从而减少系统的功耗。
14
(3) 外设和片上存储器阵列的自动低功率机制。C55X的核 处理器会自动地管理片上外设和存储器阵列的功耗。这种资源 的管理完全是自动的,对用户透明。而且,这种功耗的降低, 并不影响处理器的性能。当某个片上的存储器阵列没有被使用 时,它们就自动地切换到低功率模式。当一个访问的要求到达 时,该阵列就恢复到正常的工作状态,完成存储器的访问,无 须应用程序的干预。如果没有进一步的访问,该阵列又回到低 功率状态。该处理器对片上外设也提供类似的控制。当外设没 有激活,以及CPU不需要其关注时,就进入低功率状态。外设 响应处理器的要求,退出低功率状态,也不需要程序的干预。 这种功率管理也可以在软件的外设IDLE(闲置)域控制下进行。
13
(2) 将存储器的访问减到最少。存储器的访问,无论是片 内的还是片外的,都是功率消耗的主要部分。将存储器的访问 减到最少,无疑是降低每个任务功耗所必需的。在C55X里, 指令的提取是32 bit(C54X里是16 bit)。此外,可变长度指令集 意味着,每个32 bit指令的提取可以提出一个以上的长度可变 的指令,按照所需要的信息来决定指令的长度,从而改善代码 的密度。这种指令集的设计和处理器结构的结合,就可以保证 在达到最高性能的同时,使功耗降到最小。
C55X继承了C54X的发展趋势,低功耗、低成本,在有限 的功率条件下,保持最好的性能。其工作在0.9 V下,待机功 耗低至0.12 mW,性能高达600 MIPS,并且具有业界目前最低 的待机功耗,极大地延长了电池的寿命,对数字通信等便携式 应用所提出的挑战,提供了有效的解决方案。其软件也与所有 C5000 DSP兼容。与120 MHz的C54X相比,300 MHz的C55X性 能大约提高了5倍,而功耗则降为C54X的1/6。

DSP第2章 'C54x的硬件结构2

DSP第2章 'C54x的硬件结构2

2013年8月15日
DSP原理及应用
6
3.工作方式状态寄存器PMST
主要设定和控制处理器的工作方式和存储器的配置,反映 处理器的工作状态。
15~7 6 5 4 AVIS 3 2 1 0 SST
IPTR MP/MC OVLY
DROM CLKOFF SMUL
中 断 向 量 指 针
CPU 工 作 方 式 选 择 位
③ 暂存器SPRAM。
2013年8月15日
DSP原理及应用
14
特殊功能寄存器
功能:主要用于程序的运算处理和寻址方式的选
择和设定。地址范围:0000H~001FH。 外设寄存器 ’C5402的CPU寄存器共有27个,CPU访问这 功能:用来控制片内外设电路的状态和存放数据。 些寄存器时,不需要插入等待时间。 地址范围:0020H~005FH。 包括串行口通信控制寄存器组、定时器定时控 暂存器SPRAM 制寄存器组、时钟周期设定寄存器组等。 功能:用来暂存变量。地址范围:0060H~007FH。
中断屏蔽寄存器 10H 中断标志寄存器 11H 保留 ( 用于测试 ) 12H 保留 ( 用于测试 ) 13H 保留 ( 用于测试 ) 14H 保留 ( 用于测试 ) 15H 状态寄存器0 16H 状态寄存器1 17H 累加器A低字(15~0位) 18H 累加器A高字(31~16位) 19H 累加器A保护位(39~32位) 1AH 累加器B低字(15~0位) 1BH 累加器B高字(31~16位) 1CH 累加器B保护位(39~32位) 1DH 暂存寄存器 1EH DSP原理及应用 状态转移寄存器 1FH
2013年8月15日
存储器映像的CPU寄存器, 存储器映像的外设寄存器 特殊功能寄存器

3.DSP的数值运算基础介绍

3.DSP的数值运算基础介绍
9 同样的一个16位数,若Q值不同,则所表示的数也不同。 【例】不同Q值时的16进制数2000H的值。 若用Q0表示,则16进制数2000H = 8192 若用Q15表示,则16进制数2000H = 0.25 9 不同Q值所能表示的数的精度和范围都不同:①Q越大,表示的 数值范围越小,但精度越高;②相反,Q越小,表示的数值范围越 大,但精度越低。 9 不同Q值所对应的正最大值、负最大值和量化步长(即精度): • 正最大值: 2(15−Q) − 2−Q = (215 −1)× 2−Q • 负最大值: −2(15−Q) = −215 × 2−Q • 精度:
课程名称:DSP芯片及应用
Agenda: 3.1 引言 3.2 定点的基本概念 3.3 定点运算实现的基本原理 3.4 DSP定点算术运算实现的基本原理 3.5 非线性运算定点实现方法 3.6 浮点数的表示格式 3.7 基本的浮点运算 3.8 非线性浮点运算的快速实现 3.9 小结 3.10 习题与思考题
31引言32定点的基本概念33定点运算实现的基本原理34dsp定点算术运算实现的基本原理35非线性运算定点实现方法36浮点数的表示格式37基本的浮点运算38非线性浮点运算的快速实现39小结310习题与思考题muchunyang126com3934dsp定点算术运算实现的基本原理341定点乘法两个定点数相乘二进制乘法可分解为一系列的移位和加法
【例】浮点数x=0.6,定标Q=15,求对应的定点数xq?
【例】定点数19660,定标Q=15,求对应的浮点数x?
xq = (int ) x × 2Q = ⎢⎢⎣0.6× 215 ⎥⎥⎦ = ⎢⎣ 0.6×32768⎥⎦ = 19660 注: ⎢ ⎣ ⎥⎦ 表示下取整。
x = ( float ) xq × 2−Q = 19660× 2−15 = 19660 / 32768 = 0.599975585

dsp 基本算数运算

dsp 基本算数运算

实验一:基本算数运算1 、实验目的和要求加、减、乘、除是数字信号处理中最基本的算术运算。

本实验学习使用定点DSP 实现16 位定点加、减、乘、除运算的基本方法和编程技巧。

本实验的演示文件为exer1.out。

2 、实验原理1) 定点DSP 中的数据表示方法在DSP 中一个16 进制的数可以表示不同的十进制数,或者是整数,或者是小数(如果表示小数,必定小于1),但仅仅是在做整数乘除或小数乘除时,系统对它们的处理才是有所区别的,而在加减运算时,系统都当成整数来处理。

2) 实现16 位定点加法在本实验中,我们使用下列代码来说明加法运算:ld temp1,a ;将变量temp1 装入寄存器Aadd temp2,a ;将变量temp2 与寄存器A 相加,结果放入A 中stl a,add_result ;将结果(低16 位)存入变量add_result 中。

注意,这里完成计算temp3=temp1+temp2,我们没有特意考虑temp1 和temp2 是整数还是小数,在加法和下面的减法中整数运算和定点的小数运算都是一样的。

3) 实现16 位定点减法在本实验中,我们使用下列代码来说明减法运算:stm #temp1,ar3 ;将变量temp1 的地址装入ar3 寄存器stm #temp3,ar2 ;将变量temp3 的地址装入ar2 寄存器sub *ar2+, *ar3,b ;将变量temp3 左移16 位同时变量temp1 也左移16 位,然后;相减,结果放入寄存器B(高16 位)中,同时ar2 加1。

sth b,sub_result ;将相减的结果(高16 位)存入变量sub_result。

4) 实现16 位定点整数乘法在本实验中,我们使用下列代码来说明整数乘法运算:rsbx FRCT ;清FRCT 标志,准备整数乘ld temp1,T ;将变量temp1 装入T 寄存器mpy temp2,a ;完成temp2*temp1,结果放入A 寄存器(32 位)例如,当temp1=1234H(十进制的4660),temp2=9876H(十进制的-26506),乘法的结果在A 寄存器中为0F8A343F8H(十进制的-123517960)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关系运算的结果类型为逻辑量 (0, 1)
>> x=2; >> x>3 ans =
0 >> x<=2 ans =
1
11
MATLAB语言
2.1.3 逻辑运算
逻辑运算符用于将关系表达式或逻辑量连接起来,构成 较复杂的逻辑表达式。逻辑表达式的值也是逻辑量。
运算 符号 运算 符号

&

|

~
异或
xor
例:对某一矩阵的逐个元素进行逻辑运算(yex21.m)
6.3351e+005
22
MATLAB语言
应用举例
设三个复数a=3+4i,b=1+2i,
c
i
2e 6
,计算x=ab/c
>> a=3+4i; >> b=1+2i; >> c=2*exp(i*pi/6); >> x=a*b/c x=
0.3349 + 5.5801i
23
MATLAB语言
2.4.1 矩阵的构造
※当一个方阵有复数特征值或负实特征值时,非整数幂是复数阵。
31
MATLAB语言
对于p的其它值,计算涉及特征值和特征向量。 例:>> b=a^0.5
b=
0.4498 + 0.7623i 0.5526 + 0.2068i 0.6555 -0.3487i 1.0185 + 0.0842i 1.2515 + 0.0228i 1.4844 - 0.0385i 1.5873 - 0.5940i 1.9503 - 0.1611i 2.3134 + 0.2717i
3.1416
3.1416e+000
3.14159265358979
3.141592653589793e+0 00
355/113
400921fb54442d18
3.14
9
MATLAB语言
2.1.2 关系运算
运算 符号 运算 符号
大于
>
小于
<
等于
==
不等于
~=
大于等于 >=
小于等于
<=
10
MATLAB语言
28
MATLAB语言
2.4.3 矩阵的算术运算

✓矩阵的加减运算:+(加)、-(减)
运算规则:
相加、减的两矩阵必须有相同的行和列;两矩阵对应 元素相加减。
允许参与运算的两矩阵之一是标量。标量与矩阵的所 有元素分别进行加减操作。
✓矩阵乘法:*(乘)
运算规则:
A矩阵的列数必须等于B矩阵的行数。
标量可与任何矩阵相乘。
m=
2
6
MATLAB语言
运算
加 乘 左除 右除 幂次方
基本算术运算符
符号 运算
+

*
数组相乘
\
数组左除
/
数组右除
^ 数组幂次方
符号
.* .\ ./ .^
7
MATLAB语言
例1-1 求解算术表达式的值
[12 2 (7 4)] 33
>> (12+2*(7-4))/3^3 ans =
0.6667
32
MATLAB语言
矩阵转置
运算规则: ❖ 如果矩阵A是实数阵,则矩阵A的转置是将第i行第j列的
元素与第j行第i列的元素互换; ❖ 如果矩阵A是复数阵,则A转置后的元素由A对应元素的
共轭复数构成。
X=[1 2 3;5 6 0;9 0 11]; X' Y=[2 3 0 9;5 6 0 1]; Y' Z=[3+7i 9-2i;5+2i 1];Z'
33
MATLAB语言
2.4.4 矩阵的关系运算
❖ 关系运算符:
<(小于)、
<=(小于或等于)、>(大于)
>=(大于或等于)、==(等于)、
~=(不等于)
❖ 关系运算符的运算法则:
两个矩阵的维数一致或其中一个矩阵为标量。
将两个矩阵的对应元素进行比较或将标量与矩阵中的 各个元 素进行比较
❖ 关系运算结果 若比较关系的结果为真,则置为1,否则置0。
>> A=[0 1 2];any(A) >> B=[1 0 3;2 0 1];any(B) >> C=[1 2 3;2 0 1];all(C) >> isempty(A) >> isequal(A,B) >> isreal(B) >> find(C<2)
37
MATLAB语言
2.4.6 矩阵函数
函数
第二章 matlab数值运算
2.1基本运算功能 2.2基本数据类型 2.3数学函数 2.4 矩阵 2.5向量 2.6数组 2.7多项式
2
MATLAB语言
2.1 基本运算功能
MATLAB的基本运算可分为三类:
算术运算 关系运算 逻辑运算
3
MATLAB语言
2.1.1 算术运算
4
MATLAB语言
使用变量来进行更复杂的问题求解
通过直接输入矩阵的元素构造矩阵: 用中括号[ ]把所有矩阵元素括起来 同一行的不同数据元素之间用空格或逗号间隔 用分号(;)指定一行结束 可分成几行进行输入,用回车符代替分号 数据元素可以是表达式,系统将自动计算结果
24
MATLAB语言
例:输入矩阵A、B的值
A=[1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16] B=[1,sqrt(25),9,13;2,6,10,7*2 3+sin(pi),7,11,15;4,abs(-8),12,16]
det diag eig inv
lu Poly Rank Svd
功能
计算矩阵所对应的行列式的值 抽取矩阵对角线元素 求特征值和特征向量 求矩阵的逆阵 三角分解 求特征多项式 求矩阵的秩 奇异值分解
38
MATLAB语言
求矩阵的行列式的值
>> xy=1; yx=2;
%对变量赋值
>> xy
%查看变量xy的当前数值
xy =
1
>> whos
Name Size
Bytes Class
xy 1x1
8 double array
yx 1x1
8 double array
Grand total is 2 elements using 16 bytes
>> clear xy yx
>> X(:)
%得到一个长列矢量,该矢量的元素按
X的列排列
27
MATLAB语言
例: 修改矩阵A中元素的数值
>>A=[1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16] >>A(1,1)=0 >>A(2,2)=A(1,2)+A(2,1) >>A(4,4)=cos(0)
最大的正浮点数,2^(1024)-1
最小的正浮点数,2^(-1022)
不定量,如0/0或inf/inf
虚数单位
函数输入参数个数
函数输出参数个数
存放最新的错误信息
存放最新的警告信息
18
MATLAB语言
例 变量的使用
>>clear
%删除工作区中所有定义过的变量
>>whos
%查看当前工作区内变量信息,无显示表示没 有定义的变量
%删除变量xy及yx
>> whos
>> xy
%这时变量xy已经不存在了
19
??? Undefined function or variable 'xy'.
MATLAB语言
2.3 数学函数
类型 三角函数
指数函数
函数
含义
sin(x) 正弦值 asin(x) 反正弦值 cos(x) 余弦值 acos(x) 反余弦值 tan(x) 正切 exp(x) 指数运算 log(x) 自然对数 sqrt(x) 求平方根
34
MATLAB语言
2.4.5 矩阵的逻辑运算
必须是两个同维矩阵或其中一个矩阵为标量才能进行 MATLAB提供了一些逻辑函数
逻辑函 数
all any isempty isequal isreal find
功能
如果所有的元素都是非零值,返回1;否则,返回0。 如果有一个元素为非零值,那么返回1;否则,返回0 判断是否空矩阵 判断两矩阵是否相同 判断是否是实矩阵 返回一个由非零元素的下标组成的向量
25
MATLAB语言
2.4.2 矩阵下标与子矩阵提取
A(m, n) A(:, n) A(m, :) A(m1:m2, n1:n2)
A(m:end, n) A(:)
提取第m行,第n列元素 提取第n列元素 提取第m行元素 提取第m1行到第m2行和第n1列到第n2列 的所有元素 提取从第m行到最末行和第n列的子块 得到一个长列矢量,该矢量的元素按矩 阵的列进行排列
8
MATLAB语言
format命令
MATLAB命令 含 义
format short
短格式
format short e
短格式科学格式
format long
长格式
format long e
长格式科学格式
format rat format hex format bank
相关文档
最新文档