文档库 最新最全的文档下载
当前位置:文档库 › 浮点转定点算法

浮点转定点算法

浮点转定点算法
浮点转定点算法

在定点的DSP或处理器中,实现一个浮点数的运算时一个非常复杂的事情,尤其是非四则运算的函数运算,例如三角函数运算,sin,cos,tan,又比如指数运算,exp,非整数的幂运算等等。用机器来实现这样复杂的运算,会花费很多的计算指令周期。在某些程度下,用定点整数去代替浮点运算,会很大程度的节省运算时间,是应用程序达到实时运算的效果。

一DSP定点算数运算

1数的定标

在定点DSP芯片中,采用定点数进行数值运算,其操作数一般采用整型数来表示。

一个整型数的最大表示范围取决于DSP芯片所给定的字长,一般为16位或24位。

显然,字长越长,所能表示的数的范围越大,精度也越高。如无特别说明,本书均以16位字长为例。

DSP芯片的数以2的补码形式表示。每个16位数用一个符号位来表示数的正负,0表示数值为正, l则表示数值为负。其余15位表示数值的大小。因此,

二进制数0010000000000011b=8195

二进制数1111111111111100b=-4

对DSP芯片而言,参与数值运算的数就是16位的整型数。但在许多情况下,数学运算过程中的数不一

定都是整数。那么,DSP芯片是如何处理小数的呢?应该说,DSP芯片本身无能为力。那么是不是说

DSP芯片就不能处理各种小数呢?当然不是。这其中的关键就是由程序员来确定一个数的小数点处

于16位中的哪一位。这就是数的定标。

通过设定小数点在16位数中的不同位置,就可以表示不同大小和不同精度的小数了。数的定标有Q表示法

和S表示法两种。表1.1列出了一个16位数的16种Q表示、S表示及它们所能表示的十进制数值范围。

从表1.1可以看出,同样一个16位数,若小数点设定的位置不同,它所表示的数也就不同。例如,

16进制数2000H=8192,用Q0表示

16进制数2000H=0.25,用Q15表示

但对于DSP芯片来说,处理方法是完全相同的。

从表1.1还可以看出,不同的Q所表示的数不仅范围不同,而且精度也不相同。Q越大,数值范围越小,

但精度越高;相反,Q越小,数值范围越大,但精度就越低。例如,Q0的数值范围是一32768到+32767,

其精度为1,而Q15的数值范围为-1到0.9999695,精度为1/32768=0.00003051。因此,对定点数而言,

数值范围与精度是一对矛盾,一个变量要想能够表示比较大的数值范围,必须以牺牲精度为代价;而想

精度提高,则数的表示范围就相应地减小。在实际的定点算法中,为了达到最佳的性能,必须充分考虑

到这一点。

浮点数与定点数的转换关系可表示为:

浮点数(x)转换为定点数(xq):xq=(int)x*2Q

定点数(xq)转换为浮点数(x):x=(float)xq*2-Q

例如,浮点数x=0.5,定标Q=15,则定点数xq=L0.5*32768J=16384,式中LJ表示下取整。反之,

一个用

Q=15表示的定点数16384,其浮点数为16384*2-15=16384/32768=0.5。浮点数转换为定点数时,为了降

低截尾误差,在取整前可以先加上0.5。

表1.1Q表示、S表示及数值范围

Q表示S表示十进制数表示范围

Q15S0.15-1≤x≤0.9999695

Q14S1.14-2≤x≤1.9999390

Q13S2.13-4≤x≤3.9998779

Q12S3.12-8≤x≤7.9997559

Q11S4.11-16≤x≤15.9995117

Q10S5.10-32≤x≤31.9990234

Q9S6.9-64≤x≤63.9980469

Q8S7.8-128≤x≤127.9960938

Q7S8.7-256≤x≤255.9921875

Q6S9.6-512≤x≤511.9804375

Q5S10.5-1024≤x≤1023.96875

Q4S11.4-2048≤x≤2047.9375

Q3S12.3-4096≤x≤4095.875

Q2S13.2-8192≤x≤8191.75

Q1S14.1-16384≤x≤16383.5

Q0S15.0-32768≤x≤32767

2高级语言:从浮点到定点

我们在编写DSP模拟算法时,为了方便,一般都是采用高级语言(如C语言)来编写模拟程序。程序中所用的

变量一般既有整型数,又有浮点数。如例1.1程序中的变量i是整型数,而pi是浮点数,hamwindow则是浮点数组。

例1.1256点汉明窗计算

int i;+

float pi=3.14l59;

float hamwindow[256];

for(i=0;i<256;i++)hamwindow[i]=0.54-0.46*cos(2.0*pi*i/255);

如果我们要将上述程序用某种足点DSP芯片来实现,则需将上述程序改写为DSP芯片的汇编语言程序。为了DSP

程序调试的方便及模拟定点DSP实现时的算法性能,在编写DSP汇编程序之前一般需将高级语言浮点算法改写为

高级语言定点算法。下面我们讨论基本算术运算的定点实现方法。

2.1加法/减法运算的C语言定点摸拟

设浮点加法运算的表达式为:

float x,y,z;

z=x+y;

将浮点加法/减法转化为定点加法/减法时最重要的一点就是必须保证两个操作数的定标temp=x+temp;

z=temp>>(Qx-Qz),若Qx>=Qz

z=temp<<(Qz-Qx),若Qx<=Qz

例1.4结果超过16位的定点加法

设x=l5000,y=20000,则浮点运算值为z=x+y=35000,显然z>32767,因此

Qx=1,Qy=0,Qz=0,则定点加法为:

x=30000;y=20000;

temp=20000<<1=40000;

temp=temp+x=40000+30000=70000;

z=70000L>>1=35000;

因为z的Q值为0,所以定点值z=35000就是浮点值,这里z是一个长整型数。当加法或加法的结果超过16位表

示范围时,如果程序员事先能够了解到这种情况,并且需要保持运算精度时,则必须保持32位结果。如果程序

中是按照16位数进行运算的,则超过16位实际上就是出现了溢出。如果不采取适当的措施,则数据溢出会导致

运算精度的严重恶化。一般的定点DSP芯片都没有溢出保护功能,当溢出保护功能有效时,一旦出现溢出,则

累加器ACC的结果为最大的饱和值(上溢为7FFFH,下溢为8001H),从而达到防止溢出引起精度严重恶化的目的。

2.2乘法运算的C语言定点模拟

设浮点乘法运算的表达式为:

float x,y,z;

z=xy;

假设经过统计后x的定标值为Qx,y的定标值为Qy,乘积z的定标值为Qz,则

z=xy

zq*2-Qx=xq*yq*2-(Qx+Qy)

zq=(xqyq)2Qz-(Qx+Qy)

所以定点表示的乘法为:

int x,y,z;

long temp;

temp=(long)x;

z=(temp*y)>>(Qx+Qy-Qz);

例1.5定点乘法。

设x=18.4,y=36.8,则浮点运算值为=18.4*36.8=677.12;

根据上节,得Qx=10,Qy=9,Qz=5,所以

x=18841;y=18841;

temp=18841L;

z=(18841L*18841)>>(10+9-5)=354983281L>>14=21666;

因为z的定标值为5,故定点z=21666,即为浮点的z=21666/32=677.08。

2.3除法运算的C语言定点摸拟

设浮点除法运算的表达式为:

float x,y,z;

z=x/y;

假设经过统计后被除数x的定标值为Qx,除数y的定标值为Qy,商z的定标值为Qz,则

z=x/y

zq*2-Qz=(xq*2-Qx)/(yq*2-Qy)

zq=(xq*2(Qz-Qx+Qy))/yq

所以定点表示的除法为:

int x,y,z;

long temp;

temp=(long)x;

z=(temp<<(Qz-Qx+Qy))/y;

例1.6定点除法。

设x=18.4,y=36.8,浮点运算值为z=x/y=18.4/36.8=0.5;

根据上节,得Qx=10,Qy=9,Qz=15;所以有

z=18841,y=18841;

temp=(long)18841;

z=(18841L<<(15-10+9)/18841=3O8690944L/18841=16384;

因为商z的定标值为15,所以定点z=16384,即为浮点z=16384/32768=0.5。

2.4程序变量的Q值确定

在前面几节介绍的例子中,由于x,y,z的值都是已知的,因此从浮点变为定点时Q值

很好确定。在实际的DSP应用中,程序中参与运算的都是变量,那么如何确定浮点程

序中变量的Q值呢?从前面的分析可以知道,确定变量的Q值实际上就是确定变量的

动态范围,动态范围确定了,则Q值也就确定了。

设变量的绝对值的最大值为max,注意max必须小于或等于32767。取一个整数n,使满足

2n-1

则有

2-Q=2-15*2n=2-(15-n)

Q=15-n

例如,某变量的值在-1至+1之间,即max<1,因此n=0,Q=15-n=15。

既然确定了变量的max就可以确定其Q值,那么变量的max又是如何确定的呢?

一般来说,确定变量的max有两种方法。一种是理论分析法,另一种是统计分析法。

1.理论分析法

有些变量的动态范围通过理论分析是可以确定的。例如:

(1)三角函数。y=sin(x)或y=cos(x),由三角函数知识可知,y<=1。

(2)汉明窗。y(n)=0.54一0.46cos[nπn/(N-1)],0<=n<=N-1。因为-1<=cos[2πn/(N-1)]<=1,

所以0.08<=y(n)<=1.0。

(3)FIR卷积。y(n)=∑h(k)x(n-k),设∑h(k)=1.0,且x(n)是模拟信号12位量化值,即有x(n) <=211,

则y(n)<=211。

(4)理论已经证明,在自相关线性预测编码(LPC)的程序设计中,反射系数ki满足下列不等式:

ki<1.0,i=1,2,...,p,p为LPC的阶数。

2.统计分析法

对于理论上无法确定范围的变量,一般采用统计分析的方法来确定其动态范围。所谓统计分析,

就是用足够多的输入信号样值来确定程序中变量的动态范围,这里输入信号一方面要有一定的数量,

另一方面必须尽可能地涉及各种情况。例如,在语音信号分析中,统计分析时就必须来集足够多的

语音信号样值,并且在所采集的语音样值中,应尽可能地包含各种情况。如音量的大小,声音的种类

(男声、女声等)。只有这样,统计出来的结果才能具有典型性。

当然,统计分析毕竟不可能涉及所有可能发生的情况,因此,对统计得出的结果在程序设计时可采取

一些保护措施,如适当牺牲一些精度,Q值取比统计值稍大些,使用DSP芯片提供的溢出保护功能等。

2.5浮点至定点变换的C程序举例

本节我们通过一个例子来说明C程序从浮点变换至定点的方法。这是一个对语音信号(0.3~3.4kHz)

进行低通滤波的C语言程序,低通滤波的截止频率为800Hz,滤波器采用19点的有限冲击响应FIR滤波。

语音信号的采样频率为8kHz,每个语音样值按16位整型数存放在insp.dat文件中。

例1.7语音信号800Hz19点FIR低通滤波C语言浮点程序。

#include

const int length=180/*语音帧长为180点=22.5ms@8kHz采样*/

void filter(int xin[],int xout[],int n,float h[]);/*滤波子程序说明*/

/*19点滤波器系数*/

static float h[19]=

{0.01218354,-0.009012882,-0.02881839,-0.04743239,-0.04584568,

-0.008692503,0.06446265,0.1544655,0.2289794,0.257883,

0.2289794,0.1544655,0.06446265,-0.008692503,-0.04584568,

-0.04743239,-0.02881839,-0.009012882,O.01218354};

static int xl[length+20];

/*低通滤波浮点子程序*/

void filter(int xin[],int xout[],int n,float h[])

{

int i,j;

float sum;

for(i=0;i

for(i=0;i<length;i++)

{

sum=0.0;

for(j=0;j<n;j++)sum+=h[j]*x1[i-j+n-1];

xout[i]=(int)sum;

for(i=0;i<(n-l);i++)x1[n-i-2]=xin[length-1-i];

}

/*主程序*/

void main()

FILE*fp1,*fp2;

int frame,indata[length],outdata[length];

fp1=fopen(insp.dat,"rb");/*输入语音文件*/

fp2=fopen(Outsp.dat,"wb");/*滤波后语音文件*/

frame=0;

while(feof(fp1)==0)

{

frame++;

printf(“frame=%d\n”,frame);

for(i=0;i<length;i++)indata[i]=getw(fp1);/*取一帧语音数据*/

filter(indata,outdata,19,h);/*调用低通滤波子程序*/

for(i=0;i<length;i++)putw(outdata[i],fp2);/*将滤波后的样值写入文件*/

}

fcloseall();/*关闭文件*/

return(0);

}

例1.8语音信号800Hz l9点FIR低通滤波C语言定点程序。

#include

const int length=180;

void filter(int xin[],int xout[],int n,int h[]);

static int h[19]={399,-296,-945,-1555,-1503,-285,2112,5061,7503,8450,

7503,5061,2112,-285,-1503,-1555,-945,-296,399};/*Q15*/

static int x1[length+20];

/*低通滤波定点子程序*/

void filter(int xin[],int xout[],int n,int h[])

int i,j;

long sum;

for(i=0;i<length;i++)x1[n+i-111=xin][i];

for(i=0;i<1ength;i++)

sum=0;

for(j=0;j<n;j++)sum+=(long)h[j]*x1[i-j+n-1];

xout[i]=sum>>15;

for(i=0;i<(n-1);i++)x1[n-i-2]=xin[length-i-1];

}

主程序与浮点的完全一样。“

3DSP定点算术运算

定点DSP芯片的数值表示基于2的补码表示形式。每个16位数用l个符号位、i个整数位和15-i个小数位来表示。因此:

00000010.10100000

表示的值为:

21+2-1+2-3=2.625

这个数可用Q8格式(8个小数位)来表示,其表示的数值范围为-128至+l27.996,一个Q8定点数的小数

精度为1/256=0.004。

虽然特殊情况(如动态范围和精度要求)必须使用混合表示法。但是,更通常的是全部以Q15格式表示的

小数或以Q0格式表示的整数来工作。这一点对于主要是乘法和累加的信号处理算法特别现实,小数乘以

小数得小数,整数乘以整数得整数。当然,乘积累加时可能会出现溢出现象,在这种情况下,程序员应当了

解数学里面的物理过程以注意可能的溢出情况。下面我们来讨论乘法、加法和除法的DSP定点运算,汇编

程序以TMS320C25为例。

3.1定点乘法

两个定点数相乘时可以分为下列三种情况:

1.小数乘小数

例1.9Q15*Q15=Q30

0.5*0.5=0.25

0.100000000000000;Q15

*0.100000000000000;Q15

--------------------------------------------

00.010000000000000000000000000000=0.25;Q30

两个Q15的小数相乘后得到一个Q30的小数,即有两个符号位。一般情况下相乘后得到的满精度数不必全

部保留,而只需保留16位单精度数。由于相乘后得到的高16位不满15位的小数精度,为了达到15位精度,

可将乘积左移一位,下面是上述乘法的TMS320C25程序:

LT OP1;OP1=4000H(0.5/Q15)

MPY OP2;oP2=4000H(0.5/Ql5)

PAC

SACH ANS,1;ANS=2000H(0.25/Q15)

浮点数结构详解

附录D What Every Computer Scientist Should Know About Floating-Point Arithmetic 注 – 本附录是对论文《What Every Computer Scientist Should Know About Floating- Point Arithmetic》(作者:David Goldberg,发表于 1991 年 3 月号的《Computing Surveys》)进行编辑之后的重印版本。版权所有 1991,Association for Computing Machinery, Inc.,经许可重印。 D.1摘要 许多人认为浮点运算是一个深奥的主题。这相当令人吃惊,因为浮点在计算机系统中是普 遍存在的。几乎每种语言都有浮点数据类型;从 PC 到超级计算机都有浮点加速器;多 数编译器可随时进行编译浮点算法;而且实际上,每种操作系统都必须对浮点异常(如 溢出)作出响应。本文将为您提供一个教程,涉及的方面包含对计算机系统设计人员产生 直接影响的浮点运算信息。它首先介绍有关浮点表示和舍入误差的背景知识,然后讨论 IEEE 浮点标准,最后列举了许多示例来说明计算机生成器如何更好地支持浮点。 类别和主题描述符:(主要)C.0 [计算机系统组织]:概论—指令集设计;D.3.4 [程 序设计语言]:处理器—编译器,优化;G.1.0 [数值分析]:概论—计算机运算,错 误分析,数值算法(次要) D.2.1 [软件工程]:要求/规范—语言;D.3.4 程序设计语言]:正式定义和理论— 语义;D.4.1 操作系统]:进程管理—同步。 一般术语:算法,设计,语言 其他关键字/词:非规格化数值,异常,浮点,浮点标准,渐进下溢,保护数位,NaN, 溢出,相对误差、舍入误差,舍入模式,ulp,下溢。 D-1

小升初英语句型转换最全汇总

1肯定句改否定句的方法: 1、在be动词后加not。如:is not , are not , am not 2、在can,should, will等后加not。如:cannot, should not, will not; 3、上述都没有的,在动词前加助动词否定形式don’t/doesn’t/didn’t。 4、 some 改成any。 如:I am a girl. → I am not a girl. You are a student. →You are not a student. →You aren’t a student. This is Tom’s bag → This is not Tom’s bag.→ This isn’t Tom’s bag. 2肯定句改一般疑问句的方法 1、把be动词放在句首,剩下的照抄,(some 改成any,I改成you,my改成your,)句点改成问号。 2、把can,shall, will等放到句首,剩下的照抄,(some 改成any,I改成you,my改成your,)句点改成问号。 3、上述都没有的,在句首请助动词Do/Does/Did帮忙,剩下的照抄,(some 改成any,I改成you,my改成your,)句点改成问号。 注意:句首的第一个字母要大写,句尾标点应为“?”。 如: I am in Class 6. →Are you in Class 6? You are from America. →Are you from America? It is an orange. →Is it an orange? 4、就一般疑问句回答 一般疑问句有两种回答,即:肯定回答和否定回答。其中,肯定回答用yes否定回答用no。语句顺序为:Yes + 主语 + am /is/ are/was/were.|can.|do/does/did|; No + 主语+ am not/ isn’t/ aren’t 如: —Are you an English teacher?→Yes I am. /No I am not. —Is that a bird? →Yes it is./ No it isn’t. 3对划线部分提问 “就划线部分提问”是小学阶段英语学习的难点,但是一旦掌握了规律,就变得容易多了。小学英语对划线部分提问之答题口诀: 一代:用正确的疑问词代替划线部分。 二移:把疑问词移至句首 三倒:颠倒主谓语,但对主语或其定语提问时除外(some 改成any,I改成you,my改成your), 四抄:照抄句子剩余部分。 ★特殊疑问词的确定要根据划线内容而定在小学阶段常出现的有以下几种: 1划线部分是“事或物”,特殊疑问词用what 如: This is a book.---What is this? I often play football on Saturdays .---What do you often do on Saturdays ? 2划线部分是“人”,特殊疑问词用who 如:He is my brother. ---Who is he ? 3划线部分是“地点”,特殊疑问词用where 如:The box is on the desk.---Where is the box ?

数的定点表示和浮点表示

计算机处理的数值数据多数带有小数,小数点在计算机常有两种表示方法,一种是约定所有数值数据的小数点隐含在某一个固定位置上,称为定点表示法,简称定点数;另一种是小数点位置可以浮动,称为浮点表示法,简称浮点数。 1. 定点数表示法(fixed-point) 所谓定点格式,即约定机器中所有数据的小数点位置是固定不变的。在计算机常采用两种简单的约定:将小数点的位置固定在数据的最高位之前,或者是固定在最低位之后。一般常称前者为定点小数,后者为定点整数。 定点小数是纯小数,约定的小数点位置在符号位之后、有效数值部分最高位之前。若数据x的形式为x=x0.x1x2… xn(其中x0为符号位,x1~xn是数值的有效部分,也称为尾数,x1为最高有效位),则在计算机中的表示形式为: 一般说来,如果最末位xn= 1,前面各位都为0,则数的绝对值最小,即|x|min= 2-n。如果各位均为1,则数的绝对值最大,即|x|max=1-2-n。所以定点小数的表示围是:

2-n≤|x|≤1 -2-n 定点整数是纯整数,约定的小数点位置在有效数值部分最低位之后。若数据x的形式为x=x0x1x2…xn(其中x0为符号位,x1~xn是尾数,xn为最低有效位),则在计算机中的表示形式为: 定点整数的表示围是: 1≤|x|≤2n-1 当数据小于定点数能表示的最小值时,计算机将它们作0处理,称为下溢;大于定点数能表示的最大值时,计算机将无法表示,称为上溢,上溢和下溢统称为溢出。 计算机采用定点数表示时,对于既有整数又有小数的原始数据,需要设定一个比例因子,数据按其缩小成定点小数或扩大成定点整数再参加运算,运算结果,根据比例因子,还原

浮点数的表示和基本运算

浮点数的表示和基本运算 1 浮点数的表示 通常,我们可以用下面的格式来表示浮点数 S P M 其中S是符号位,P是阶码,M是尾数 对于IBM-PC而言,单精度浮点数是32位(即4字节)的,双精度浮点数是64位(即8字节)的。两者的S,P,M所占的位数以及表示方法由下表可知 S P M表示公式偏移量 1823(-1)S*2(P-127)*1.M127 11152(-1)S*2(P-1023)*1.M1023 以单精度浮点数为例,可以得到其二进制的表示格式如下 S(第31位)P(30位到 23位) M(22位到 0位) 其中S是符号位,只有0和1,分别表示正负;P是阶码,通常使用移码表示(移码和补码只有符号位相反,其余都一样。对于正数而言,原码,反码和补码都一样;对于负数而言,补码就是其绝对值的原码全部取反,然后加1.) 为了简单起见,本文都只讨论单精度浮点数,双精度浮点数也是用一样的方式存储和表示的。 2 浮点数的表示约定 单精度浮点数和双精度浮点数都是用IEEE754标准定义的,其中有一些特殊约定。 (1) 当P = 0, M = 0时,表示0。 (2) 当P = 255, M = 0时,表示无穷大,用符号位来确定是正无穷大还是负无穷大。

(3) 当P = 255, M != 0时,表示NaN(Not a Number,不是一个数)。 当我们使用.Net Framework的时候,我们通常会用到下面三个常量 Console.WriteLine(float.MaxValue); // 3.402823E+38 Console.WriteLine(float.MinValue); //-3.402823E+38 Console.WriteLine(float.Epsilon); // 1.401298E-45 //如果我们把它们转换成双精度类型,它们的值如下 Console.WriteLine(Convert.ToDouble(float.MaxValue)); // 3.40282346638529E+38 Console.WriteLine(Convert.ToDouble(float.MinValue)); //-3.40282346638529E+38 Console.WriteLine(Convert.ToDouble(float.Epsilon)); // 1.40129846432482E-45 那么这些值是如何求出来的呢? 根据上面的约定,我们可以知道阶码P的最大值是11111110(这个值是254,因为255用于特殊的约定,那么对于可以精确表示的数来说,254就是最大的阶码了)。尾数的最大值是11111111111111111111111。 那么这个最大值就是:0 11111110 11111111111111111111111。 也就是 2(254-127) * (1.11111111111111111111111)2 = 2127 * (1+1-2-23) = 3.40282346638529E+38 从上面的双精度表示可以看出,两者是一致的。最小的数自然就是- 3.40282346638529E+38。 对于最接近于0的数,根据IEEE754的约定,为了扩大对0值附近数据的表示能力,取阶码P = -126,尾数 M = (0.00000000000000000000001)2 。此时该数的二进制表示为:0 00000000 00000000000000000000001 也就是2-126 * 2-23 = 2-149 = 1.40129846432482E-45。这个数字和上面的Epsilon 是一致的。 如果我们要精确表示最接近于0的数字,它应该是 0 00000001 00000000000000000000000 也就是:2-126 * (1+0) = 1.17549435082229E-38。 3 浮点数的精度问题 浮点数以有限的32bit长度来反映无限的实数集合,因此大多数情况下都是一个近似值。同时,对于浮点数的运算还同时伴有误差扩散现象。特定精度下看似

译林版五年级上册句型转换规则归纳

句型转换规则归纳 1.含有be动词(am, is, are)的句子,改为否定句是在be动词后面加not,原来 句子中的some改为any; 改为一般疑问句的时候,将be动词直接放到句子的最前面,原来句子中的some改为any,句号改为问号。((如果主语是第一人称则变成第二人称)) 1)There is a house in the forest. (肯定句) There is not a house in the forest. (否定句) is not=isn’t Is there a house in the forest? (一般疑问句) 2)There are some classrooms in the school. (肯定句) There are not any classrooms in the school. (否定句) are not=aren’t Are there any classrooms in the school? (一般疑问句) 3) I am a new student. (肯定句) I am not a new student. (否定句)am not没有缩写形式 Are you a new student?(一般疑问句) (主语是第一人称I时,改为一般疑问句时主语要变为第二人称you) 2.含有情态动词如:can, may ,must, would,should ,could, will 的句子,改否定 句时直接在情态动词后面加not, 原来句子中的some改为any; 改为一般疑问句的时候,将情态动词直接放到句子的最前面,原来句子中的some改为any,句号改为问号。((如果主语是第一人称则变成第二人称)) 1)I can play basketball. (肯定句) I can not play basketball. (否定句) can not = can’t Can you play basketball? (一般疑问句) 3.不含有be动词,也没有情态动词的句子,改为否定句的时候需要借助助动词 don’t和doesn’t来否定,原来句子中的some改为any; 改为一般疑问句的时候需要借助Do, Does来提问,原来句子中的some改为any,句号改问号。(如果主语是第一人称则变成第二人称) 1) 主语是第三人称如He, She, It或者单数人名做主语的时候,需要借助 doesn’t否定,Does来提问,原来句子中的some改为any,在助动词后面需要用动词原形。 He has an animal friend. (肯定句) He doesn’t have an animal friend. (否定句) Does he have an animal friend? (一般疑问句) Tom wants some cakes for lunch. (肯定句) Tom doesn’t want any cakes for lunch. (否定句) Does Tom want any cakes for lunch? (一般疑问句) 2) 除第三人称外的其他主语(I, You, We, You, They),需要借助don’t否定, Do提问,原来句子中的some改为any,同样助动词后面需要用动词原形。 I have some animal friends. (肯定句) I don’t have any animal friends. ( 否定句) Do you have any animal friends? (一般疑问句)

浮点算法转换成硬件定点算法中的问题

浮点算法转换成硬件定点算法中的问题 回北京航空航天大学唐清贵夏宇闻 引言 DSP和FPGA是信号处理工程设计领域发展最快的两个分支G目前9它们的应用非常普及9但是要开发出占用资源少9运行速度快的高质量硬件体系结构比较困难G 在通常情况下9算法的硬件实现都需要采用定点运算并考虑并行结构G 但是在实际的许多应用中9比如图像处理\语音压缩等9需要进行大量复杂的数据运算9而且对数据的精度及动态范围都要求比较高9所以9算法模型大多都以浮点数为基础G另一方面9浮点算法在硬件实现上有相当大的难度9不仅占用的系统资源较多9而且硬件运行的速度也较慢9在很多场合下不能很好地满足系统实时性的要求G因此9电子工程师为了提高系统的性能9一般都会先对浮点算法进行仔细的分析9结合工程的实际要求9综合考虑诸多因素9然后再将其转化为定点算法并通过硬件来实现G 因此9如何使转化后的算法在硬件上能正确地运行是设计开发人员特别关心的问题G解决该问题的唯一途径就是使处理后的数据保持系统要求的精度和动态范围9否则就会因为数据处理不当9使系统产生莫名奇妙的故障9从而导致系统的失败G在遇到此类问题时9务必要谨慎对待9以免造成不可估量的损失G 1浮点与定点运算的比较 在开发过程中9必须要对应用的数据精度及动态范围有清楚的认识9并在开始设计硬件结构前9先进行算法定点化的研究工作9严格按照工程设计的实际需求在数学运算上对算法进行数字定点化处理并计算验证G只有这样9才能保证最终设计的硬件体系结构产生的运算结果符合设计需求G 为了更好的说明如何成功的完成浮点算法向定点算法的转化9首先对浮点数和定点数进行简要回顾G 浮点数由三部分组成C指数部分\尾数部分和符号位9如图l所示G图l中T\l分别为指数和尾数的位宽9浮点 数据的数值U f p 表示为C U f p =(_l)S"U s"Z U e 其中9S为符号位的值9U s为尾数的数值9U e是指数的数值G在I EEE754标准中9单精度浮点指数位数为89尾数位数为Z39还有l位符号位G数据绝对值最小可以是Z.O>l O-389最大可以是Z.O>l O+389双精度浮点指数位数为l l9尾数位数为5Z9同样也有l位符号位G数据绝对值最小可以是Z.O>l O-3O89最大可以是Z.O>l O+3O8G 定点数的表示方法和浮点数相对应9数据直接用二进制表示9且小数点在数据的位置固定G和浮点数相比9它的运算简单9没有浮点数尾数对齐和归一化问题G因此9在硬件上实现以定点数为基础的算法占用的面积少\性能高9故定点运算是信号处理硬件实现中最常用的一种方式G但是9由于定点数表示的范围远远小于浮点数9所以在实现过程可能会有许多的隐患9如在运算过程中9经常会碰到溢出问题和病态方程等问题G 2精度处理策略 根据上面的分析9可以看到9浮点算法与定点算法主要的不同之处在于算法中的数据精度和动态范围G因此9只要解决了转化后由于数据的精度和动态范围减小引起的问题9那就等于解决了算法的转化问题G 目前9为了保证转化后的算法能正确地实现系统功能9对数据精度处理的方法主要有舍弃最低位和采用最大字长等G前者以损失精度来保证计算中的无溢出9但是得到的结果往往与实际值有一定的差距9从而使系统在很多情况下不能稳定地运行S后者通过应用分析找出所需数据的最大字长(该字长为运算中精度无损失条件下数据的长度)9然后再以最大字长的方式进行算法中所有数据的运算9该方法虽然保证了计算结果的正确和精度9但是它的缺点在于造成了资源的巨大浪费9限制了硬件运行速度的提高9因为实现算法中的某些运算所需的字长远远小于最大字长G最佳的转化应该是使处理后算法中的数据既能 图 1 Z OO5.lZ M icrocontrollers Embedded S y ste ms75

浮点数表示方法与运算

在计算机系统的发展过程中,曾经提出过多种方法表达实数,典型的比如定点数。在定点数表达方式中,小数点位置固定,而计算机字长有限,所以定点数无法表达很大和很小的实数。最终,计算机科学发展出了表达范围更大的表达方式——浮点数,浮点数也是对实数的一种近似表达。 1.浮点数表达方式 我们知道任何一个R 进制数N 均可用下面的形式表示:N R =±S ×R ±e 其中,S—尾数,代表N 的有效数字; R—基值,通常取2、8、16;e—阶码,代表N 的小数点的实际位置(相当于数学中的指数)。 比如一个十进制数的浮点表达1.2345×102,其中1.2345为尾数,10为基数,2为阶码。一个二进制数的浮点表达0.001001×25,0.001001为尾数,2为基数,5为阶码;同时0.001001×25也可以表示成0.100100×23,0.100100为尾数,2为基数,3为阶码。浮点数就是利用阶码e 的变化达到浮动小数点的效果,从而灵活地表达更大范围的实数。 2.浮点数的规格化 一个数用浮点表示时,存在两个问题:一是如何尽可能多得保留有效数字;二是如何保证浮点表示的唯一。 对于数0.001001×25,可以表示成0.100100×23、0.00001001×27等等,所以对于同一个数,浮点有多种表示(也就是不能唯一表示)。另外,如果规定尾数的位数为6位,则0.00001001×27会丢掉有效数字,变成0.000010×27。因此在计算机中,浮点数通常采用规格化表示方法。 当浮点数的基数R 为2,即采用二进制数时,规格化尾数的定义为:1/2<=|S|<1。若尾数采用原码(1位符号位+n 位数值)表示,[S]原=S f S 1S 2S 3…S n (S f 为符号位的数符),则满足S 1=1的数称为规格化数。即当尾数的最高有效位S 1=1,[S]原=S f 1S 2S 3…S n ,表示该浮点数为规格化数。对0.001001×25进行规格化后,表示为0.100100×23。 3.浮点数的表示范围 求浮点数的表示范围,实质是求浮点数所能表示的最小负数、最大负数、最小正数和最大正数。

六年级英语句型转换 汇总

小学六年级英语句型转换汇总 1、This is my English book.(变成复数) 2、My father is an engineer. (对画线部分提问) 3、His football is on the bed. (对画线部分提问) 4、I do my homework on Sunday (改成否定句) 5、She is play basketball on the playground.(改为一般疑问句并做否定回答) 6、He can keep the book as long as you need. (对画线部分提问) 7、Which is the way to the office building?(写出同义句) 8、How old are you?(根据实际回答问题) 9、I ever saw a traveller.(改为一般疑问句) 10、He came here by plane.(对划线部分提问) 11、She is from France(对划线部分提问) 12、Tt is my first time to Xi’an. (改成否定句) 13、The weather was OK. (改为一般疑问句) 14、My trip to Xi’an was great. (对画线部分提问) 15、We can see beautiful flowers in the park. (改为一般疑问句并做肯定回答) 16、I can see green trees in the picture. (对划线部分提问) 17、Was the weather bad?(做出否定回答) 18、I have some beautiful photos of the city. (改为一般疑问句)

浮点转定点计算

一DSP定点算数运算 1 数的定标 在定点DSP芯片中,采用定点数进行数值运算,其操作数一般采用整型数来表示。一个整型数的最大表示范围取决于DSP芯片所给定的字长,一般为16位或24位。显然,字长越长,所能表示的数的范围越大,精度也越高。如无特别说明,本书均以16位字长为例。 DSP芯片的数以2的补码形式表示。每个16位数用一个符号位来表示数的正负,0表示数值为正,l则表示数值为负。其余15位表示数值的大小。因此, 二进制数0010000000000011b=8195 二进制数1111111111111100b= -4 对DSP芯片而言,参与数值运算的数就是16位的整型数。但在许多情况下,数学运算过程中的数不一定都是整数。那么,DSP芯片是如何处理小数的呢?应该说,DSP芯片本身无能为力。那么是不是说DSP芯片就不能处理各种小数呢?当然不是。这其中的关键就是由程序员来确定一个数的小数点处于16位中的哪一位。这就是数的定标。 通过设定小数点在16位数中的不同位置,就可以表示不同大小和不同精度的小数了。数的定标有Q表示法和S表示法两种。表1.1列出了一个16位数的16种Q表示、S表示及它们所能表示的十进制数值范围。 从表1.1可以看出,同样一个16位数,若小数点设定的位置不同,它所表示的数也就不同。例如, 16进制数2000H=8192,用Q0表示 16进制数2000H=0.25,用Q15表示 但对于DSP芯片来说,处理方法是完全相同的。 从表1.1还可以看出,不同的Q所表示的数不仅范围不同,而且精度也不相同。Q越大,数值范围越小,但精度越高;相反,Q越小,数值范围越大,但精度就越低。例如,Q0 的数值范围是一32768到+32767,其精度为1,而Q15的数值范围为-1到0.9999695,精度为1/32768=0.00003051。因此,对定点数而言,数值范围与精度是一对矛盾,一个变量要想能够表示比较大的数值范围,必须以牺牲精度为代价;而想精度提高,则数的表示范围就相应地减小。在实际的定点算法中,为了达到最佳的性能,必须充分考虑到这一点。 浮点数与定点数的转换关系可表示为: 浮点数(x)转换为定点数(xq):xq=(int)x* 2Q 定点数(xq)转换为浮点数(x):x=(float)xq*2-Q 例如,浮点数x=0.5,定标Q=15,则定点数xq=[0.5*32768]=16384,式中[]表示下取整。反之,一个用Q=15表示的定点数16384,其浮点数为16384/2e15=16384/32768=0.5。浮点数转换为定点数时,为了降低截尾误差,在取整前可以先加上0.5。 表1.1 Q表示、S表示及数值范围 Q表示 S表示十进制数表示范围 Q15 S0.15 -1≤x≤0.9999695 Q14 S1.14 -2≤x≤1.9999390 Q13 S2.13 -4≤x≤3.9998779 Q12 S3.12 -8≤x≤7.9997559 Q11 S4.11 -16≤x≤15.9995117 Q10 S5.10 -32≤x≤31.9990234 Q9 S6.9 -64≤x≤63.9980469 Q8 S7.8 -128≤x≤127.9960938 Q7 S8.7 -256≤x≤255.9921875

小学英语句型转换方法归纳

小学英语句型转换方法归纳 句型转换方法归纳改为一般疑问句 1 、先找 be 动词am, is, are, was, were 或情态动词 can, may ,must, would , should ,could . 如果有这些词,直接把这些词放在句子最前面, some 改成 any ,句号改成问号!其余照抄;(如果主语是第一人称则变成第二人称) 2 、如果句子中没有 be 动词或者是情态动词,要在句子最前面加助动词 do 、 does 或者是 did 。首先判断句子时态,如果句子是过去式 改为一般疑问句 1、先找be动词 am, is, are, was, were或情态动词can, may ,must, would,should ,could .如果有这些词,直接把这些词放在句子最前面, some 改成any,句号改成问号!其余照抄;(如果主语是第一人称则变成第二人称) 2、如果句子中没有be动词或者是情态动词,要在句子最前面加助动词 do 、does或者是did。 首先判断句子时态,如果句子是过去式,则要在句最前面加Did,后面动词用原型,some改成any,句号改成问号,其余照抄;(如果主语是第一人称则变成第二人称) 如果句子不是过去式,则判断是否为第三人称单数,如果第三人称单数,要在句子最前面前加助动词Does,后面动词用

原型,some 改成any,句号改成问号,其余部分照抄。(如果主语是第一人称则变成第二人称) 其他情况均要在句子最前面加助动词do,some改成any,句号改成问号,其它部分照抄.(如果主语是第一人称则变成第二人称) 改为否定句 1、先找be动词 am, is, are, was, were或情态动词can, may ,must, would,should ,could .如果有这些词,直接在这些词的后面加not, some 改成any,其余照抄; 2、如果句子中没有be动词或者是情态动词,要在动词前面加don’t 、doesn’t或者是didn’t。 首先判断句子时态,如果句子是过去式,则要在动词前面加didn’t,后面动词用原型,some改成any,其余照抄; 如果句子不是过去式,则判断是否为第三人称单数,如果第三人称单数,要在动词前面前加doesn’t,后面动词用原型,some 改成any,其余部分照抄。 其他情况均要在句子动词前面加don’t,some改成any,其它部分照抄. 对划线部分提问 第一步:先把句子改成一般问句 第二步:把提问部分省略,在句子最前面加疑问词。(如果提问部分是动词词组,要把它改成do;如果提问部分

浮点数和定点数的区别

cloudseawang 定点数与浮点数区别 最近做HDR时,经常要用NV提供的16位纹理,它的说明书16位能达到24位的精度,就很奇怪?一直搞不懂浮点数的精度怎么算的? 今天认真看了一下IEEE float point的标准,终于明白是什么了 1. 什么是浮点数 在计算机系统的发展过程中,曾经提出过多种方法表达实数。典型的比如相对于浮点数的定点数(Fixed Point Number)。在这种表达方式中,小数点固定的位于实数所有数字中间的某个位置。货币的表达就可以使用这种方式,比如99.00 或者00.99 可以用于表达具有四位精度(Precision),小数点后有两位的货币值。由于小数点位置固定,所以可以直接用四位数值来表达相应的数值。SQL 中的NUMBER 数据类型就是利用定点数来定义的。还有一种提议的表达方式为有理数表达方式,即用两个整数的比值来表达实数。 定点数表达法的缺点在于其形式过于僵硬,固定的小数点位置决定了固定位数的整数部分和小数部分,不利于同时表达特别大的数或者特别小的数。最终,绝大多数现代的计算机系统采纳了所谓的浮点数表达方式。这种表达方式利用科学计数法来表达实数,即用一个尾数(Mantissa ),一个基数(Base),一个指数(Exponent)以及一个表示正负的符号来表达实数。比如123.45 用十进制科学计数法可以表达为1.2345 × 102 ,其中1.2345 为尾数,10 为基数,2 为指数。浮点数利用指数达到了浮动小数点的效果,从而可以灵活地表达更大范围的实数。 提示: 尾数有时也称为有效数字(Significand)。尾数实际上是有效数字的非正式说法。同样的数值可以有多种浮点数表达方式,比如上面例子中的123.45 可以表达为12.345 ×101,0.12345 × 103 或者1.2345 × 102。因为这种多样性,有必要对其加以规范化以达到统一表达的目标。规范的(Normalized)浮点数表达方式具有如下形式: ±d.dd...d × β e , (0 ≤ d i < β) 其中 d.dd...d 即尾数,β 为基数,e 为指数。尾数中数字的个数称为精度,在本文中用p 来表示。每个数字d 介于0 和基数之间,包括0。小数点左侧的数字不为0。 基于规范表达的浮点数对应的具体值可由下面的表达式计算而得: ±(d 0 + d 1β-1 + ... + d p-1β-(p-1))β e , (0 ≤ d i < β) 对于十进制的浮点数,即基数β 等于10 的浮点数而言,上面的表达式非常容易理解,也很直白。计算机内部的数值表达是基于二进制的。从上面的表达式,我们可以知道,二进制数同样可以有小数点,也同样具有类似于十进制的表达方式。只是此时β 等于2,而每个数字d 只能在0 和 1 之间取值。比如二进制数1001.101 相当于1 × 2 3 + 0 × 22 + 0 ×21 + 1 ×20 + 1 ×2-1 + 0 ×2-2 + 1 ×2-3,对应于十进制的9.625。其规范浮点数表达为1.001101 × 23。 2. IEEE 浮点数 计算机中是用有限的连续字节保存浮点数的。保存这些浮点数当然必须有特定的格式,Java 平台上的浮点数类型float 和double 采纳了IEEE 754 标准中所定义的单精度32 位浮点数和双精度64 位浮点数的格式。 注意: Java 平台还支持该标准定义的两种扩展格式,即float-extended-exponent 和double-extended-exponent 扩展格式。这里将不作介绍,有兴趣的读者可以参考相应的参考资料。 在IEEE 标准中,浮点数是将特定长度的连续字节的所有二进制位分割为特定宽度的符号域,指数域和尾数域三个域,其中保存的值分别用于表示给定二进制浮点数中的符号,

浮点转定点方法总结

浮点转定点方法总结 —孔德琦

目录 定点运算方法................................................ 错误!未定义书签。 数的定标 ............................................... 错误!未定义书签。 C语言:从浮点到定点 ................................. 错误!未定义书签。 加法.................................................... 错误!未定义书签。 乘法..................................................... 错误!未定义书签。 除法..................................................... 错误!未定义书签。 三角函数运算............................................ 错误!未定义书签。 开方运算................................................ 错误!未定义书签。 附录...................................................... 错误!未定义书签。 附录1:定点函数库...................................... 错误!未定义书签。 附录2:正弦和余弦表..................................... 错误!未定义书签。

浮点数的加减乘除运算步骤

设两个浮点数X=Mx※2Ex Y=My※2Ey 实现X±Y要用如下5步完成: ①对阶操作:小阶向大阶看齐 ②进行尾数加减运算 ③规格化处理:尾数进行运算的结果必须变成规格化的浮点数,对于双符号位的补码尾数来说,就必须是001×××…×× 或110×××…××的形式, 若不符合上述形式要进行左规或右规处理。 ④舍入操作:在执行对阶或右规操作时常用“0”舍“1”入法将右移出去的尾数数值进行舍入,以确保精度。 ⑤判结果的正确性:即阶码是否溢出 若阶码下溢(移码表示是00…0),要置结果为机器0; 若阶码上溢(超过了阶码表示的最大值)置溢出标志。 例题:假定X=0 .0110011*211,Y=0.1101101*2-10(此处的数均为二进制)?? 计算X+Y;解:[X]浮:0 1010 1100110 [Y]浮:0 0110 1101101 符号位阶码尾数 第一步:求阶差:│ΔE│=|1010-0110|=0100 第二步:对阶:Y的阶码小,Y的尾数右移4位 [Y]浮变为0 1010 0000110 1101暂时保存 第三步:尾数相加,采用双符号位的补码运算 00 1100110 +00 0000110 00 1101100 第四步:规格化:满足规格化要求 第五步:舍入处理,采用0舍1入法处理 故最终运算结果的浮点数格式为:0 1010 1101101, 即X+Y=+0. 1101101*210

①阶码运算:阶码求和(乘法)或阶码求差(除法) 即[Ex+Ey]移= [Ex]移+ [Ey]补 [Ex-Ey]移= [Ex]移+ [-Ey]补 ②浮点数的尾数处理:浮点数中尾数乘除法运算结果要进行舍入处理 例题:X=0 .0110011*211,Y=0.1101101*2-10 求X※Y 解:[X]浮:0 1 010 ******* [Y]浮:0 0 110 1101101 第一步:阶码相加 [Ex+Ey]移=[Ex]移+[Ey]补=1 010+1 110=1 000 1 000为移码表示的0 第二步:原码尾数相乘的结果为: 0 10101101101110 第三步:规格化处理:已满足规格化要求,不需左规,尾数不变,阶码不变。第四步:舍入处理:按舍入规则,加1进行修正 所以X※Y= 0.1010111※2+000

六年级英语句型转换方法归纳

句型转换方法归纳 改为一般疑问句 1、先找be动词 am, is, are, was, were或情态动词can, may ,must, would,should ,could .如果有这些词,直 接把这些词放在句子最前面, some 改成any,句号改成问号!其余照抄;(如果主语是第一人称则变成第二人称)2、如果句子中没有be动词或者是情态动词,要在句子最前面加助动词 do 、does或者是did。 首先判断句子时态,如果句子是过去式,则要在句最前面加Did,后面动词用原型,some改成any,句号改成问号,其余照抄;(如果主语是第一人称则变成第二人称) 如果句子不是过去式,则判断是否为第三人称单数,如果第三人称单数,要在句子最前面前加助动词Does,后面动词用原型,some 改成any,句号改成问号,其余部分照抄。(如果主语是第一人称则变成第二人称) 其他情况均要在句子最前面加助动词do,some改成any,句号改成问号,其它部分照抄. (如果主语是第一人称则变成第二人称) 改为否定句 1、先找be动词 am, is, are, was, were或情态动词can, may ,must, would,should ,could .如果有这些词,直 接在这些词的后面加not, some 改成any,其余照抄; 2、如果句子中没有be动词或者是情态动词,要在动词前面加don’t 、doesn’t或者是didn’t。 首先判断句子时态,如果句子是过去式,则要在动词前面加didn’t,后面动词用原型,some改成any,其余照抄; 如果句子不是过去式,则判断是否为第三人称单数,如果第三人称单数,要在动词前面前加doesn’t,后面动词用原型,some 改成any,其余部分照抄。 其他情况均要在句子动词前面加don’t,some改成any,其它部分照抄. 对划线部分提问 第一步:先把句子改成一般问句 第二步:把提问部分省略,在句子最前面加疑问词。(如果提问部分是动词词组,要把它改成do;如果提问部分是动名词词组,要把它改成doing) (注:如划线部分为主语,则用who代替,其余照抄;如划线部分为动词或动词短语,则用do代替,句前加 (注:我I 、我们we 是第一人称;你you,你们you是第二人称;剩下的全部是第三人称) 单词意思用法when 什么时间问时间who 谁问人whose 谁的问主人where 在哪里问地点which 哪一个问选择why 为什么问原因what 什么问东西what time 什么时间问时间what colour 什么颜色问颜色what about …怎么样问意见what day 星期几问星期what date 什么日期问具体日期what for 为何目的问目的how …怎么样问情况how old 多大问年龄how many 多少问数量how much 多少问价钱how about …怎么样问意见how far 多远问路程 情态动词练习 1. You _____ all those clothes. We have a washing machine to do that sort of thing. A. needn’t have washed B. shouldn’t have washed C. must not have washed D. can not have washed

定点DSP和浮点DSP的区别与比较

定点与浮点运算DSP 的比较 DSP数字信号处理器是一种特别适合于进行数字信号处理的微处理器,主要用于实时快速地实现各种数字信号处理算法。定点运算DSP 在应用中已取得了极大的成功,而且仍然是DSP 应用的主体。然而,随着对DSP 处理速度与精度、存储器容量、编程的灵活性和方便性要求的不断提高、自80 年代中后期以来,各DSP 生产厂家陆续推出了各自的32bit浮点运算DSP。 和定点运算DSP 相比,浮点运算DSP 具有许多优越性:浮点运算DSP 比定点运算DSP 的动态范围要大很多。 定点DSP 的字长每增加1bit,动态范围扩大6dB。16bit 字长的动态范围为96dB。程序员必须时刻关注溢出的发生。例如,在作图像处理时,图像作旋转、移动等,就很容易产生溢出。这时,要么不断地移位定标,要么作截尾。前者要耗费大量的程序空间和执行时间,后者则很快带来图像质量的劣化。总之,是使整个系统的性能下降。在处理低信噪比信号的场合,例如进行语音识别、雷达和声纳信号处理时,也会发生类似的问题。 32bit 浮点运算DSP 的动态范围可以作到1536dB,这不仅大大扩大了动态范围,提高了运算精度,还大大节省了运算时间和存储空间,因为大大减少了定标,移位和溢出检查。 由于浮点DSP 的浮点运算用硬件来实现,可以在单周期内完成,因而其处理速度大大高于定点DSP。这一优点在实现高精度复杂算法时尤为突出,为复杂算法的实时处理提供了保证。 32bit 浮点DSP 的总线宽度较定点DSP 宽得多,因而寻址空间也要大得多。这一方面为大型复杂算法提供了可能、因为省的DSP 目标子程序已使用到几十MB 存储器或更多;另一方面也为高级语言编译器、DSP 操作系统等高级工具软件的应用提供了条件。 DSP 的进一步发展,必然是多处理器的应用。新型的浮点DSP 已开始在通信口的设置和强化、资源共享等方面有所响应。 TMS320C6000家族为高性能DSP,包括: TMS320C62X定点DSP系列、TMS320C64X定点DSP系列、TMS320C67X定点DSP系列。 TMS320C62X系列 工作频率:150-300MHz,运行速度:1200-2400MIPS,内部2个乘法器、6个算术逻辑单元,超长指令字(VLIW)结构,大容量的片内存储器和大范围的寻址能力,4个DMA接口,2个多通道缓存串口,2个32位片内外设。 TMS320C64X系列 工作频率:400-600MHz,运行速度:3200-4800MIPS,具有特殊功能的指令集。 TMS320C67X系列,为高性能浮点DSP 工作频率:100-225MHz,运行速度:600-1350MIPS,具有4个浮点/定点算术逻辑单元,2个定点算术逻辑单元,2个浮点/定点乘法器。

初中英语句型转换专项练习

初中英语句型转换专项练习 一、用同义词(组)或近义词(组)改写。 1. The children are wearing beautiful clothes. The children are _____beautiful clothes. 2. Every day, Yao Ming receives E-mails from thousands of basketball fans. Every day,Yao Ming _____thousands of basketball fans. 3. Mr. Smith is working. Mr. Smith is__________ __________. 简析:英语中有不少同义、近义词(组),在平时学习中要注意总结归纳。如:enjoy oneself/have a good time, look after/take care of, difficult/hard, can/be able to, over/more than, receive(get)a letter from/hear from等等。 二、用反义词(组)改写。 4. Chinese is more popular than Japanese. Japanese is ___popular ______Chinese. 5. The runner couldn't catch up with the others in the race. The runner __ __the others in the race. 6. A computer is more useful than a VCD. A VCD is not ____useful __a computer. 简析:此类转换应注意有时主语位置 会改变,并要特别总结归纳反义词(组)。如:new-old, big-small, long-short, more than-less than等。 三、用同义句型改写。 7. Ann spent two weeks getting ready for the exams. It ___Ann two weeks to ____ready for the exams. 8.She spent 30 dollars on the English-Chinese dictionary. The English-Chinese dictionary __ __30 dollars. 简析:此类转换必须弄清每个句型的 构成特点,而且还要注意句中每个句 型的固定搭配。如:give sb. sth.与give sth. to sb.的转换,spend some time(in)doing sth./on sth.与It takes sb.some time to do sth.的转换等等。 四、二句并一句转换为简单句。 9. Jim doesn't like noodles,and Jack doesn't, either. ____Jim ____Jack likes noodles. 10. Mrs. Smith is my teacher. She is also my good friend. Mrs. Smith is_____ ____my teacher____ ____my good friend. 简析:英语中常用not only... but also,either... or,neither... nor,both... and等连词把两个意义相关的简单句合并成一 个简单句。解题过程中要注意连词的

相关文档
相关文档 最新文档