CN1498364A - 产生具有可变精度的对数信号近似 - Google Patents
产生具有可变精度的对数信号近似 Download PDFInfo
- Publication number
- CN1498364A CN1498364A CNA028070038A CN02807003A CN1498364A CN 1498364 A CN1498364 A CN 1498364A CN A028070038 A CNA028070038 A CN A028070038A CN 02807003 A CN02807003 A CN 02807003A CN 1498364 A CN1498364 A CN 1498364A
- Authority
- CN
- China
- Prior art keywords
- digital signal
- search
- circuit
- supplied
- signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 23
- 238000006073 displacement reaction Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 8
- 238000013341 scale-up Methods 0.000 description 4
- 239000000758 substrate Substances 0.000 description 4
- 241001673391 Entandrophragma candollei Species 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000002940 Newton-Raphson method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000005264 electron capture Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/556—Logarithmic or exponential functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/74—Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
Description
/******************************************************** **** *Implementation of Log2( )employing loops for binary bit search *y=Log2(n,numbits2scale) *get linear interpolated scaled Log2( ) *′x′is the number to take Log2(x),′s′is the number of bits to scale up *i.e.,Log2scaled(2235,7)would return 128*Log2(2235) */ long Log2scaled(long x,long s) { long j,v=x,f=0;/*declare local variables*/ for(j=16;j>0;j>>=1)/*perform binary search for the highest set bit*/ if(x>(1<<j)){f+=j;x>>j;} /*Next line is variable precision linear interpolation with offset. Shifts are utilized perform multiplications by powers of two. Multiply operations are represented by the′<<′symbol while divides are represented by‘>>’. */ return(f<<s)+(1<<s>>5)+((f>s)?((v+(1<<f)>>(f-s)): ((v+(1<<f))<<(s+f))); <dp n="d5"/> } /******************************************************** **** *Implementation of Log2( )employing if statements for binary bit search *y=Log2(n,numbits2scale) *get linear interpolated scaled Log2( ) *′x′is the number to take Log2(x),′s′is the number of bits to scale up *i.e.,Log2scaled(2235,7)would return 128*Log2(2235) */ long Log2scaled(long x,long s) { long v=x,f=0;/*declare local variables*/ if(x>(1<<16)){f+=16;x>>=16;}/*perform binary search for highest set bit*/ if(x>(1<<8)){f+=8;x>>=8;} if(x>(1<<4)){f+=4;x>>=4;} if(x>(1<<2)){f+=2;x>>=2;} if(x>(1<<1)){f++;} /*Next line is variable precision linear interpolation withoffset. Shifts are utilized perform multiplications by powers of two. Multiply operations are represented by the′<<′symbol while divides are represented by‘>>’. */ return(f<<s)+(1<<s>>5)+((f>s)?((v+(1<<f))>>(f+s)): ((v+(1<<f))<<(s+f))); }
/******************************************************** *** *Implementation of Log( )to other bases employing loops for binary bit search *In this case the logarithmic base is chosen to be ′e′or the natural logarithm. *y=Ln(n,numbits2scale) *get linear interpolated scaled Ln( ) *′x′is the number to take Ln(x),′s′is the number of bits to scale up *i.e.,Lnscaled(2235,7)would return 128*Log2(2235) */ long Lnscaled(long x,long s) { long j,v=x,f=0;/*declare local variables*/ for(j=16;j>0;j>>=1)/*perform binary search for highest set bit*/ if(x>(1<<j)){f+=j;x>>=j;} /*Next line is variable precision linear interpolation with offset. Shifts are utilized perform multiplications by powers of two. Multiply operations are represented by the′<<′while divides are represented by‘>>’. */ <dp n="d7"/> return(f<<s)+(1<<s>>5)+((f>s)?((v+(1<<f))>>(f-s)): ((v+(1<<f))<<(s+f))); /*Next line converts from Log2(x) to Ln by computing log2(x)/log2(e).*/ return(v>>1)+(v>>2)-(v>>4)+(v>>7)-(v>>9)-(v>>12)+(v>>15); } /******************************************************** *** *Implementation of Log( )to other bases employing if statements for binary bit search *In this case the logarithmic base is chosen to be′e′or the natural logarithm. *y=Ln(n,numbits2scale) *get linear interpolated scaled Ln( ) *′x′is the number to take Ln(x),′s′is the number of bits to scale up *i.e.,Lnscaled(2235,7)would return 128*Log2(2235) */ long Lnscaled(long x,long s) { long v=x,f=0;/*declare local variables*/ if(x>(1<<16)){f+=16;x>>=16;}/*perform binary search for highest set bit*/ if(x>(1<<8)){f+=8;x>>=8;} if(x>(1<<4){f+=4;x>>=4;} if(x>(1<<2)){f+=2;x>>=2;} if(x>(1<<1)){f++;} /*Next line is variable precision linear interpolation with offset. Shifts are utilized perform multiplications by powers of two. <dp n="d8"/> Multiply operations are represented by the′<<′symbol while divides are represented by‘>>’. */ return(f<<s)+(1<<s>>5)+((f>s)?((v+(1<<f))>>(f+s)): ((v+(1<<f))<<((s+f))); /*Next line converts from Log2(x) to Ln by computing log2(x)/log2(e).*/ return(v>>1)+(v>>2)-(v>>4)+(v>>7)-(v>>9)-(v>>12)+(v>>15); }
Claims (18)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/815,033 | 2001-03-22 | ||
US09/815,033 US6502118B1 (en) | 2001-03-22 | 2001-03-22 | Fast system and method for producing a logarithmic signal approximation with variable precision |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1498364A true CN1498364A (zh) | 2004-05-19 |
CN1271508C CN1271508C (zh) | 2006-08-23 |
Family
ID=25216673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN02807003.8A Expired - Fee Related CN1271508C (zh) | 2001-03-22 | 2002-03-05 | 产生具有可变精度的对数信号近似 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6502118B1 (zh) |
CN (1) | CN1271508C (zh) |
GB (1) | GB2390197B (zh) |
WO (1) | WO2002077797A1 (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7712053B2 (en) | 1998-12-04 | 2010-05-04 | Tegic Communications, Inc. | Explicit character filtering of ambiguous text entry |
US8938688B2 (en) | 1998-12-04 | 2015-01-20 | Nuance Communications, Inc. | Contextual prediction of user words and user actions |
US7881936B2 (en) | 1998-12-04 | 2011-02-01 | Tegic Communications, Inc. | Multimodal disambiguation of speech recognition |
US7720682B2 (en) | 1998-12-04 | 2010-05-18 | Tegic Communications, Inc. | Method and apparatus utilizing voice input to resolve ambiguous manually entered text input |
US7679534B2 (en) * | 1998-12-04 | 2010-03-16 | Tegic Communications, Inc. | Contextual prediction of user words and user actions |
US7610194B2 (en) | 2002-07-18 | 2009-10-27 | Tegic Communications, Inc. | Dynamic database reordering system |
US7286115B2 (en) | 2000-05-26 | 2007-10-23 | Tegic Communications, Inc. | Directional input system with automatic correction |
US7821503B2 (en) | 2003-04-09 | 2010-10-26 | Tegic Communications, Inc. | Touch screen and graphical user interface |
US7750891B2 (en) | 2003-04-09 | 2010-07-06 | Tegic Communications, Inc. | Selective input system based on tracking of motion parameters of an input device |
WO2000074240A1 (en) | 1999-05-27 | 2000-12-07 | America Online | Keyboard system with automatic correction |
US7030863B2 (en) | 2000-05-26 | 2006-04-18 | America Online, Incorporated | Virtual keyboard system with automatic correction |
US6678710B1 (en) * | 2000-11-03 | 2004-01-13 | Sun Microsystems, Inc. | Logarithmic number system for performing calculations in a processor |
US7107300B2 (en) * | 2002-05-17 | 2006-09-12 | Texas Instruments Incorporated | Circuits, systems, and methods implementing approximations for inverse logarithm |
US7171435B2 (en) * | 2002-05-17 | 2007-01-30 | Texas Instruments Incorporated | Circuits, systems, and methods implementing approximations for logarithm, inverse logarithm, and reciprocal |
US8583440B2 (en) | 2002-06-20 | 2013-11-12 | Tegic Communications, Inc. | Apparatus and method for providing visual indication of character ambiguity during text entry |
US7080364B2 (en) * | 2003-04-28 | 2006-07-18 | Intel Corporation | Methods and apparatus for compiling a transcendental floating-point operation |
US20050089237A1 (en) * | 2003-10-24 | 2005-04-28 | Jaehwa Park | Method and apparatus for bezier curve approximation data compression |
US7636083B2 (en) * | 2004-02-20 | 2009-12-22 | Tegic Communications, Inc. | Method and apparatus for text input in various languages |
US8095364B2 (en) | 2004-06-02 | 2012-01-10 | Tegic Communications, Inc. | Multimodal disambiguation of speech recognition |
US7475103B2 (en) * | 2005-03-17 | 2009-01-06 | Qualcomm Incorporated | Efficient check node message transform approximation for LDPC decoder |
US8504606B2 (en) | 2005-11-09 | 2013-08-06 | Tegic Communications | Learner for resource constrained devices |
US7587378B2 (en) * | 2005-12-09 | 2009-09-08 | Tegic Communications, Inc. | Embedded rule engine for rendering text and other applications |
US7580925B2 (en) | 2006-04-19 | 2009-08-25 | Tegic Communications, Inc. | Efficient storage and search of word lists and other text |
US8201087B2 (en) | 2007-02-01 | 2012-06-12 | Tegic Communications, Inc. | Spell-check for a keyboard system with automatic correction |
US8225203B2 (en) | 2007-02-01 | 2012-07-17 | Nuance Communications, Inc. | Spell-check for a keyboard system with automatic correction |
US8103499B2 (en) * | 2007-03-22 | 2012-01-24 | Tegic Communications, Inc. | Disambiguation of telephone style key presses to yield Chinese text using segmentation and selective shifting |
US8299943B2 (en) | 2007-05-22 | 2012-10-30 | Tegic Communications, Inc. | Multiple predictions in a reduced keyboard disambiguating system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0572695A1 (en) * | 1992-06-03 | 1993-12-08 | International Business Machines Corporation | A digital circuit for calculating a logarithm of a number |
JP2861687B2 (ja) * | 1992-12-04 | 1999-02-24 | 日本電気株式会社 | 対数演算回路 |
US5629884A (en) * | 1995-07-28 | 1997-05-13 | Motorola, Inc. | Log converter utilizing offset and method of use thereof |
US5951629A (en) * | 1997-09-15 | 1999-09-14 | Motorola, Inc. | Method and apparatus for log conversion with scaling |
US6289367B1 (en) * | 1998-11-16 | 2001-09-11 | Texas Instruments Incorporated | Digital signal processing circuits, systems, and method implementing approximations for logarithm and inverse logarithm |
-
2001
- 2001-03-22 US US09/815,033 patent/US6502118B1/en not_active Expired - Lifetime
-
2002
- 2002-03-05 WO PCT/US2002/006629 patent/WO2002077797A1/en not_active Application Discontinuation
- 2002-03-05 CN CN02807003.8A patent/CN1271508C/zh not_active Expired - Fee Related
- 2002-03-05 GB GB0321742A patent/GB2390197B/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
GB2390197A (en) | 2003-12-31 |
CN1271508C (zh) | 2006-08-23 |
GB0321742D0 (en) | 2003-10-15 |
GB2390197B (en) | 2005-03-30 |
WO2002077797A1 (en) | 2002-10-03 |
US6502118B1 (en) | 2002-12-31 |
US20030005006A1 (en) | 2003-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1271508C (zh) | 产生具有可变精度的对数信号近似 | |
CN107077416B (zh) | 用于以选择性舍入模式进行向量处理的装置和方法 | |
Schulte et al. | Hardware designs for exactly rounded elementary functions | |
US5515308A (en) | Floating point arithmetic unit using modified Newton-Raphson technique for division and square root | |
US5042001A (en) | Method and apparatus for performing mathematical functions using polynomial approximation and a rectangular aspect ratio multiplier | |
US5386375A (en) | Floating point data processor and a method for performing a floating point square root operation within the data processor | |
US5144574A (en) | Modular multiplication method and the system for processing data | |
EP0381161A2 (en) | Modular multipication method and the system | |
US5671170A (en) | Method and apparatus for correctly rounding results of division and square root computations | |
JPH08185309A (ja) | 4倍精度演算の実行方法 | |
EP0572695A1 (en) | A digital circuit for calculating a logarithm of a number | |
US7921149B2 (en) | Division and square root arithmetic unit | |
JPH02196328A (ja) | 浮動小数点演算装置 | |
US7698357B2 (en) | Modular multiplication with parallel calculation of the look-ahead parameters | |
Arnold et al. | Redundant logarithmic arithmetic | |
KR100465371B1 (ko) | 덧셈 및 반올림 연산을 동시에 수행하는 부동 소수점alu 연산 장치 | |
US7478363B2 (en) | Method for translating a given source program into an object program containing computing expressions | |
Tsai et al. | Algorithm 812: BPOLY: An object-oriented library of numerical algorithms for polynomials in Bernstein form | |
KR100627993B1 (ko) | 3입력 분할 가산기 | |
US5379244A (en) | Small-sized, low power consumption multiplication processing device with a rounding recoding circuit for performing high speed iterative multiplication | |
US8041927B2 (en) | Processor apparatus and method of processing multiple data by single instructions | |
Koç | A Tutorial on p-adic Arithmetic | |
US5602768A (en) | Method and apparatus for reducing the processing time required to solve square root problems | |
US7266578B2 (en) | Method and hardware for computing reciprocal square root and program for the same | |
KR100805272B1 (ko) | 부호화를 이용하는 곱셈 장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: NIUANSI COMMUNICATION CO., LTD. Free format text: FORMER OWNER: MOTOROLA INC. Effective date: 20101008 |
|
C41 | Transfer of patent application or patent right or utility model | ||
COR | Change of bibliographic data |
Free format text: CORRECT: ADDRESS; FROM: ILLINOIS STATE, USA TO: DELAWARE STATE, USA |
|
TR01 | Transfer of patent right |
Effective date of registration: 20101008 Address after: Delaware Patentee after: NUANCE COMMUNICATIONS INC Address before: Illinois Patentee before: Motorola Inc. |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060823 Termination date: 20170305 |
|
CF01 | Termination of patent right due to non-payment of annual fee |