[go: up one dir, main page]

WO1997018623A1 - System, method and program product for generating a sine or cosine waveform utilizing combined look-up tables - Google Patents

System, method and program product for generating a sine or cosine waveform utilizing combined look-up tables Download PDF

Info

Publication number
WO1997018623A1
WO1997018623A1 PCT/KR1996/000162 KR9600162W WO9718623A1 WO 1997018623 A1 WO1997018623 A1 WO 1997018623A1 KR 9600162 W KR9600162 W KR 9600162W WO 9718623 A1 WO9718623 A1 WO 9718623A1
Authority
WO
WIPO (PCT)
Prior art keywords
sine
cosine
look
waveform
composition value
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.)
Ceased
Application number
PCT/KR1996/000162
Other languages
French (fr)
Inventor
Mal Seob Kwak
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority to JP9518752A priority Critical patent/JPH10513029A/en
Priority to DE19681167T priority patent/DE19681167T1/en
Priority to GB9714207A priority patent/GB2313243B/en
Publication of WO1997018623A1 publication Critical patent/WO1997018623A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • G06F1/0321Waveform generators, i.e. devices for generating periodical functions of time, e.g. direct digital synthesizers
    • G06F1/0342Waveform generators, i.e. devices for generating periodical functions of time, e.g. direct digital synthesizers for generating simultaneously two or more related waveforms, e.g. with different phase angles only
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/80Generating trains of sinusoidal oscillations

Definitions

  • the present invention relates to the generation of waveforms and more particularly to the generation of sine waveforms and corresponding cosine waveforms.
  • a sine and cosine waveform is required.
  • a sine or cosine waveform is required in a digital video processor, it is common to use a sine/cosine look-up table to generate the sine and cosine waveforms.
  • a video decoder which decodes a composite video signal into components or a video encoder which converts the components into a composite signal uses a sinusoidal wave signal of a color subcarrier. Generating the color subcarrier is generally carried out utilizing a sine/cosine look-up table.
  • a sine or cosine look-up table waveform generator creates a waveform by cycling through at specified intervals addresses which are utilized to access a table of values corresponding to the value of the sine wave or the cosine wave at the time in the period of the wave corresponding to the each address.
  • One example of a conventional sine/cosine look-up table is illustrated by a look-up table with an eight bit address input and a ten bit output value.
  • the look-up table receives an eight bit address as an input and converts this address into a ten bit sine or cosine waveform value. With an eight bit address, the address may range from 0 to 255.
  • sine waveform or cosine waveform is divided by 256 and each segment of the waveform quantized to obtain a discrete value associated with each of the 256 addresses.
  • i represents the numeric value of the input address (in the present example between 0 and 255) .
  • sine output INT[1024/2 * sin(2 ⁇ r/256*i) ]
  • cosine output INT[1024/2 * cos (27r/256*i) ]
  • INT represents an integer value quantized by either rounding or truncation.
  • a conventional sine/cosine waveform generator which utilizes look-up tables having one quarter of a period of a sine waveform and a cosine waveform quantized and stored in two look-up tables.
  • the first quarter period of a cosine waveform is encoded in the COS Code table 14 and the first quarter period of a sine waveform is encoded in the SIN Code table 15.
  • the cosine waveform output is generated entirely from the COS Code table 14 and the sine waveform output is generated entirely from the SIN Code table 15. This is accomplished by selectively rotating the quarter waveforms about the x axis and y axis to create a complete sine period and a complete cosine period. This selective rotation is accomplished by the Table address decoder 13 which rotates the waveforms about the y axis, the first sign detector 11 which determines when the COS values are to be rotated about the x axis and the second sign detector 12 which determines when the SIN values are to be rotated about the x axis.
  • the first sign appending module 16 receives the output of the COS Code table 14 and either utilizes that output as the cosine waveform value or rotates that output about the x axis to generate the cosine waveform value.
  • the second sign appending module 17 receives the output of the SIN Code table 15 and either utilizes that output as the sine waveform value or rotates that output about the x axis to generate the sine waveform value. In such a manner only the first quadrant periods of a sine waveform and a cosine waveform are used in the conventional sine/cosine waveform generator so that the second, third and fourth quadrant periods of the sine waveform and the cosine waveform are generated from the first quadrant periods of the sine waveform and the cosine waveform.
  • the second quadrant is generated by a symmetric value of the first quadrant around the y axis
  • the third quadrant is generated by a symmetric value of the first quadrant around the x axis
  • the fourth quadrant is generated by a symmetric value of the first quadrant around the y axis and then the x axis.
  • the second quadrant is generated by symmetric values of the first quadrant around the y axis and then the x axis
  • the third quadrant is generated by symmetric values of the first quadrant around the x axis
  • the fourth quadrant is generated by symmetric values of the first quadrant around the y axis.
  • the use of an entire period or a quarter period of both a sine waveform and a cosine waveform typically requires complex circuitry to decode and resequence addresses uniquely through each quarter period of the address values.
  • a large amount of storage capability with a corresponding amount of power consumed and material costs are associated with storing entire waveforms or quarter periods of waveforms for waveform generation.
  • a sine/cosine waveform generator which reduces the amount of storage required to produce a sine waveform and the corresponding cosine waveform.
  • Another object of the present invention is to provide a sine/cosine generator with reduced complexity.
  • It is another object of the invention to provide a sine/cosine generator with reduced power consumption.
  • Yet another object of the present invention is to reduce the cost of providing a sine/cosine generator.
  • the present invention provides a sine cosine generator which may utilizes reduced size look-up tables which may correspondingly reduce the storage required, the complexity of the circuitry, the power consumption and the cost of the sine/cosine generator.
  • a first look-up table data corresponding to quantized values of a portion of the period of a cosine waveform
  • a second look-up table data corresponding to quantized values of a portion of the period of a sine waveform corresponding to the period of the cosine waveform quantized values from both the first and the second look ⁇ up tables may be to generate a sine waveform.
  • quantized values from both the first and the second look-up tables may also be utilized to generate a cosine waveform.
  • the size of the look-up table may be reduced.
  • a reduction of look-up table size may also reduce the complexity of the circuitry associated with the waveform generator and may reduce the power required by the waveform generator.
  • the waveform generator of the present invention may cost less to produce than waveform generators with larger look-up tables.
  • Additional embodiments of the waveform generator may be provided as a method, system or program product which stores in a first look-up table data corresponding to quantized values of a portion of the period of a cosine waveform.
  • a second look-up table stores data corresponding to quantized values of a portion of the period of a sine waveform corresponding to the period of the cosine waveform.
  • first composition value or the second composition value is selected to provide a sine composition value corresponding to the segment of the sine waveform associated with the sine/cosine generation address.
  • first composition value or the second composition value is selected to provide a cosine composition value corresponding to the segment of the cosine waveform associated with the sine/cosine generation address.
  • the sine/cosine generation address is also utilized to determine whether the sine composition value should be inverted and whether the cosine composition value should be inverted.
  • the value of the segment of the sine waveform corresponding to the sine/cosine generation address is then generated from the inverted sine composition value if it is determined that the sine composition value should be inverted and from the sine composition value if it is determined that the sine composition value should not be inverted.
  • the value of the segment of the cosine waveform corresponding to the sine/cosine generation address is generated from the inverted cosine composition value if it is determined that the cosine composition value should be inverted and from the cosine composition value if it is determined that the cosine composition value should not be inverted.
  • the first look-up table data corresponds to quantized values of one eighth of the period of a cosine waveform and the second look-up table data corresponds to quantized values of one eighth of the period of a sine waveform corresponding to the one eighth period of the cosine waveform. It is also preferable that the cosine waveform and the sine waveform are generated concurrently. Furthermore, the one eighth periods may comprise the first one eighth period of the sine wave and the first one eighth period of the cosine wave.
  • the look-up tables are selectively accessed by alternatingiy incrementing upward and then decrementing downward through a range of permissible addresses of a plurality of addresses which access the stored values of the first and second look-up tables.
  • This increment or decrement of the look-up table addresses occurs as the sine/cosine generation address increments through a range of permissible addresses of the sine/cosine generation address such that each change of the address to the look ⁇ up tables corresponds to a change in the sine/cosine generation address.
  • a sine/cosine waveform generator includes a first look-up table of data corresponding to quantized values of a portion of the period of a cosine waveform, wherein the data of the first look-up table is accessed by a plurality of addresses.
  • a second look-up table of data corresponding to quantized values of a portion of the period of a sine waveform corresponding to the period of the cosine waveform and wherein the data of the second look-up table is accessed by a plurality of addresses is also provided.
  • a table address generator receives a sine/cosine generation address and generates an address for accessing the first look-up table and the second look-up table based on the sine/cosine generation address so as to selectively access the first and second look-up tables to generate a sine composition value and a cosine composition value.
  • a first sign detector determines from the sine/cosine generation address whether the cosine composition value should be inverted and generates a first sign signal based upon the determination.
  • a second sign detector for determines from the sine/cosine generation address whether the sine composition value should be inverted and generates a second sign signal based upon the determination.
  • a look-up table selector generates a selection signal for selecting between data from the first look-up table and data from the second look-up table based upon the sine/cosine generation address and a data router selectively provides sine composition values and cosine composition values from the first and the second look-up tables based upon the selection signal.
  • a first output waveform generator receives the cosine composition values from the data router and the first sign signal from the first sign detector and generates a cosine output waveform from the received cosine composition values and from the first sign signal.
  • a second output waveform generator receives the sine composition values from the data router and the second sign signal from the second sign detector and generates a sine output waveform from the received sine composition values and from the second sign signal.
  • Figure 1 is a block diagram illustrating a conventional sine/cosine waveform generator
  • Figure 2 is a block diagram illustrate a sine/cosine generator according to the present invention
  • Figure 3 is a diagram illustrating the output of a sine/cosine generator according to the present invention
  • Figure 4 is a flow chart illustrating the operation of a sine/cosine generator of Figure 2.
  • Figure 5 is a flow chart illustrating a preferred embodiment of the present invention.
  • a sine/cosine waveform generator includes a first look-up table 24
  • the portion of the cosine waveform which is encoded is the first one eighth period of the cosine waveform.
  • the first one eighth period of the cosine waveform is quantized to 32 discrete values such that the cosine values stored in the look-up table 24 are accessed by addresses ranging from 0 to 31.
  • a second look-up table 25 (labeled Lower code table in FIG. 2) is also shown in FIG. 2.
  • the second look-up table 25 stores data corresponding to quantized values of a portion of the period of a sine waveform corresponding to the period of the cosine waveform stored in the first look-up table 24.
  • the data of the second look-up table is also accessed by a plurality of addresses which for the present example also range from 0 to 31. Because the portion of the sine waveform quantized and stored in the second look-up table 25 corresponds to the cosine waveform stored in the first look-up table 24, in the present example the first one eighth period of the sine waveform is stored in the second look-up table 25.
  • the first and second look-up tables may be implemented utilizing any suitable storage media.
  • random access memory, read only memory, or other memory devices may be utilized to implement the look-up tables.
  • the look-up tables may be implemented in a single integrated circuit or in a combination of integrated circuits or discrete components.
  • the look-up tables may be implemented as arrays in which the data is stored in computer memory, on a hard disk, or on some other form of storage device.
  • a table address generator 23 (labeled Table address decoder in FIG. 2) which receives a sine/cosine generation address and generates an address for accessing the first and second look up tables 24 and 25.
  • the creation of the look-up table address selectively rotates the waveforms stored in the look-up tables about the y axis. This is accomplished by reversing the order in which the look-up tables are accessed. For example, to obtain the unrotated waveform values from the look-up tables the look-up tables are accessed sequentially with increasing addresses beginning with the lowest address of the look-up tables and ending with the highest address of the look-up tables (for example, 0 to 31) .
  • the look-up tables are accessed sequentially with decreasing addresses beginning with the highest address of the look-up tables and ending with the lowest address of the look-up tables (for example, 31 to 0) .
  • the sine/cosine generation address which is the address supplied to the waveform generator which has a range corresponding to the total number of quantized values in the period of the sine or cosine waveforms.
  • the sine/cosine generation address ranges from 0 to 255 because one eighth of the total period of the waveforms is encoded as 32 discrete levels.
  • 32 X 8 results in 256 total addresses required to generate the complete period of the waveforms.
  • the table address generator 23 may, therefore, base the generation of the look-up table addresses on the sine/cosine generation address so as to selectively access the first and the second look-up tables to generate a sine composition value and a cosine composition value which are properly rotated about the y axis for the location within the period of the waveforms.
  • the addresses to the look-up tables may be alternatingiy incremented to the maximum address value and then decremented from the maximum value to generate the proper rotation about the y axis for the look-up table values.
  • the table address generator 23 may be implemented as an up/down counter which switches direction when either 0 or the maximum address of the look-up tables is reached.
  • the counter then need only be synchronized to the sine/cosine generation address by zeroing the counter when the sine/cosine generation address is zero and then causing a change in the counter for each change in the sine/cosine generation address.
  • the generation of the addresses to the look-up tables could be conducted by decoding the sine/cosine generation address either in hardware, software or a combination of the both. Because less than a complete quarter period is stored in the each look-up table, values from both look ⁇ up tables are utilized to generate the sine waveform and the cosine waveform.
  • the association of which look-up table is utilized for the generation of a particular portion of the total waveform period is carried out by a look-up table selector 26 (labeled Upper-lower code table detector in FIG. 2) .
  • the look-up table selector 26 generates a selection signal for selecting between data from the first look-up table and data from the second look-up table based upon the sine/cosine generation address.
  • a data router 27 (labeled Upper-lower code converter in FIG. 2) then selectively provides the sine composition values and cosine composition values from the first and the second look-up tables based upon the selection signal.
  • the output of this data router 27 are two data streams, one for the sine waveform and one for the cosine waveform which are properly rotated about the y axis for generation of the final waveforms but are not properly rotated about the x axis.
  • the term signal is utilized to refer to any type of condition indicator, such as an electricl signal, a flag or variable in a software application or other methods of signifying status or the result of a determination known to those of skill in the art.
  • the rotation about the x axis is determined by a first sign detector 21 for determining from the sine/cosine generation address whether the cosine composition value output by the data router 27 should be inverted and generates a first sign signal based upon that determination.
  • a second sign detector 22 determines from the sine/cosine generation address whether the cosine composition value output by the data router 27 should be inverted and generates a second sign signal based upon that determination.
  • inverted refers to a rotation about the x axis of the waveform values stored in the look-up tables and output by the data router.
  • this rotation about the x axis may, in some instances mean reversing the sign of the value from positive to negative or negative to positive.
  • the rotation may be about the D.C. offset value in which case the rotation about the x axis may be accomplished by subtracting the value from the D.C. offset of the waveform.
  • the final cosine waveform is created by a first output waveform generator 28 (labeled First sign restoration module in FIG. 2) .
  • the first output waveform generator 28 receives the cosine composition values from the data router 27 and the first sign signal from the first sign detector 21 and generates a cosine output waveform from the cosine composition values and from the first sign signal. This generation of an output waveform may simply be storing the values for a period of the waveform or it may include conversion of the digital values to analog signals by use of, for example, a digital to analog converter.
  • a second output waveform generator 29 (labeled Second sign restoration module in FIG. 2) similarly receives the sine composition values from the data router 27 and the second sign signal from the second sign detector 22 and generates a sine output waveform from the sine composition values and from the second sign signal.
  • FIG. 3 illustrates the output waveforms of a waveform generator according to the present invention.
  • the complete period of a cosine waveform and a sine waveform are generated by cycling through the sine/cosine generation address (labeled Input Address) which ranges from 0 to 255 for the present example.
  • the table below illustrates how the table address generator 23 and the first and second sign detectors 21 and 22 would convert the input sine/cosine generation address to the control information for the look-up tables 24 and 25 and the data router 27.
  • FIG. 4 and FIG. 5 are flowchart illustrations of methods, apparatus (systems) and computer program products according to the invention. It will be understood that each block of the flowchart illustrations, and combinations of blocks in the flowchart illustrations, can be implemented by computer program instructions. These computer program instructions may be loaded onto a computer or other programmable data processing apparatus to produce a machine, such that the instructions which execute on the computer or other programmable data processing apparatus create means for implementing the functions specified in the flowchart block or blocks.
  • These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart block or blocks.
  • the computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks.
  • blocks of the flowchart illustrations support combinations of means for performing the specified functions, combinations of steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each block of the flowchart illustrations, and combinations of blocks in the flowchart illustrations, can be implemented by special purpose hardware-based computer systems which perform the specified functions or steps, or combinations of special purpose hardware and computer instructions.
  • a portion of the period of a cosine waveform is stored in a first look-up table (block 30) and a portion of the period of a sine waveform corresponding to the stored portion of the cosine waveform is stored in a second look-up table (block 32) .
  • the first and second look-up tables are selectively accessed based upon the received sine/cosine generation address as reflected in block 36.
  • the output of one of the look-up tables is selected to create a sine composition value.
  • the output of one of the look-up tables is selected to create a cosine composition value.
  • the cosine composition value needs to be inverted. If the cosine composition value needs to be inverted, then, as seen in block 52, the cosine composition value is inverted and used as the generated cosine value. If the cosine composition value does not need to be inverted, then, as seen in block 50, the cosine composition value is used as the generated cosine value.
  • the generation process beginning with block 34 is then repeated for each sine/cosine generation address received. In such a manner a complete period of the sine and cosine waveforms is generated for each cycle through the range of sine/cosine generation addresses.
  • the portion of the sine and cosine waveforms stored in the look-up tables comprises the first one eighth of the period of the waveforms.
  • the storing of the first one eighth period of the cosine waveform in the first look-up table is reflected in block 60 and the storing of the first one eighth period of the sine waveform in the second look-up table is reflected in block 62.
  • a sine/cosine generation address is then obtained as seen in block 64.
  • blocks 66, 70, 74, 78, 82, 86, and 90 the one eighth period of the waveform corresponding to the sine/cosine generation address is determined.
  • the first and second look-up tables are accessed utilizing the sine/cosine generation address as the look-up address and the output of the first look-up table is utilized as the cosine value while the output of the second look-up table is utilized as the sine value.
  • the first and second look-up tables may be accessed utilizing the generation address minus the number of addresses in one- eighth the period of the waveform as an offset subtracted from the last address of the first and second look-up tables.
  • the second look-up table output is the used as the cosine value and the first look-up table output is utilized as the sine value.
  • a ⁇ seen in block 76 if the sine/cosine generation address falls within the third one eighth period of the waveform then the first and second look-up tables may be accessed utilizing the generation address minus the number of addresses in one fourth the period of the waveform a ⁇ an offset added to the first address of the first and second look-up tables.
  • the second look-up table output is then inverted and used as the cosine value and the first look-up table output is utilized as the sine value.
  • the first and second look-up tables may be accessed utilizing the generation address minus the number of addresses in three eighths the period of the waveform as an offset subtracted from the last address of the first and second look-up tables.
  • the first look-up table output is then inverted and used as the cosine value and the second look-up table output is utilized as the sine value.
  • the first and second look-up tables may be accessed utilizing the generation address minus the number of addresses in one half the period of the waveform as an offset added to the first address of the first and second look-up tables.
  • the first look-up table output is then inverted and used as the cosine value and the second look-up table output is inverted and utilized as the sine value.
  • the first and second look-up tables may be accessed utilizing the generation address minus the number of addresses in five eighths the period of the waveform as an offset subtracted from the last address of the first and second look-up tables.
  • the second look-up table output is then inverted and used as the cosine value and the first look-up table output is inverted and utilized as the sine value.
  • the first and second look-up tables may be accessed utilizing the generation address minus the number of addresses in three quarters the period of the waveform as an offset added to the first address of the first and second look-up tables.
  • the second look-up table output is then used as the cosine value and the first look-up table output is inverted and utilized as the sine value.
  • the first and second look-up tables may be accessed utilizing the generation address minus the number of addresses in three eighths the period of the waveform as an offset subtracted from the last address of the first and second look-up tables.
  • the first look-up table output is then used as the cosine value and the second look-up table output is inverted and utilized as the sine value.
  • the generation process beginning with block 64 is then repeated for each sine/cosine generation address received. In such a manner a complete period of the sine and cosine waveforms is generated for each cycle through the range of sine/cosine generation addresses.
  • the preferred embodiment of the present invention encodes only one eighth period of a sine and cosine waveform to convert an input address into a sine and cosine waveform. It is further preferred that the one eighth period of the stored sine waveform always correspond to the one eighth period of the stored cosine waveform. While the present invention has been described with respect to the first look-up table 24 storing the first one eighth period of the cosine waveform and the second look-up table 25 storing the first one eighth period of the sine waveform, as will be appreciated by those of skill in the art, other combinations of portions of the waveforms may be utilized.
  • the second one eighth period of a cosine waveform is stored in the first look-up table 24, then the second one eighth period of a sine waveform may be stored in the second look-up table 25.
  • the third one eighth period of a cosine waveform is stored in the first look-up table 24, then the third one eighth period of a sine waveform may be stored in the second look-up table 25.
  • the look-up tables are interchangeable with appropriate modifications such that, for example, the first look-up table 24 may 623 PC17KR96/00162
  • the second look-up table 25 store a cosine waveform.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)

Abstract

A method, system or program product for generating a sine waveform and a cosine waveform is provided by providing in a first look-up table (24) data corresponding to quantized values of a portion of the period of a cosine waveform and providing in a second look-up table (25) data corresponding to quantized values of a portion of the period of a sine waveform corresponding to the period of the cosine waveform quantized values from both the first (24) and the second (25) look-up tables may be to generate a sine waveform. Furthermore, quantized values from both the first (24) and the second (25) look-up tables may also be utilized to generate a cosine waveform.

Description

SYSTEM METHOD AND PROGRAM PRODUCT FOR GENERATING A SINE OR COSINE WAVEFORM UTILIZING COMBINED LOOK-UP TABLES
Field of the Invention
The present invention relates to the generation of waveforms and more particularly to the generation of sine waveforms and corresponding cosine waveforms.
Background of the Invention
In modern video processors it is quite common that a sine and cosine waveform is required. When a sine or cosine waveform is required in a digital video processor, it is common to use a sine/cosine look-up table to generate the sine and cosine waveforms. For example, a video decoder which decodes a composite video signal into components or a video encoder which converts the components into a composite signal uses a sinusoidal wave signal of a color subcarrier. Generating the color subcarrier is generally carried out utilizing a sine/cosine look-up table.
A sine or cosine look-up table waveform generator creates a waveform by cycling through at specified intervals addresses which are utilized to access a table of values corresponding to the value of the sine wave or the cosine wave at the time in the period of the wave corresponding to the each address. One example of a conventional sine/cosine look-up table is illustrated by a look-up table with an eight bit address input and a ten bit output value. In such an example, the look-up table receives an eight bit address as an input and converts this address into a ten bit sine or cosine waveform value. With an eight bit address, the address may range from 0 to 255. One period of the sine waveform or cosine waveform is divided by 256 and each segment of the waveform quantized to obtain a discrete value associated with each of the 256 addresses. In such a case the relationship between the input address and the output value is: sine output value = sin(2ιr/256 * i) , for a sine waveform look-up table and: cosine output value = cos(2τr/256 * i) , for a cosine waveform look-up table. In the above equations, i represents the numeric value of the input address (in the present example between 0 and 255) .
When the sine and cosine waveforms are then quantized to ten bits of information the above equations become: sine output = INT[1024/2 * sin(2ιr/256*i) ] , and cosine output = INT[1024/2 * cos (27r/256*i) ] , where INT represents an integer value quantized by either rounding or truncation. These quantized values may then be stored in a look-up table and accessed through the address i. The addresses may then be cycled through to recall from the look-up table the quantized values and thereby recreate the sine or cosine waveforms. The frequency with which the addresses are cycled then determines the frequency of the waveform.
Further details on conventional systems related to the present invention may be found in (1) C. P. Sandbank, Digi tal Television , pp.139-141 and (2) Keith Jack, Video Demystified, pp.220-223. Referring now to Fig. 1, a conventional sine/cosine waveform generator is illustrated which utilizes look-up tables having one quarter of a period of a sine waveform and a cosine waveform quantized and stored in two look-up tables. As seen in Fig. 1, the first quarter period of a cosine waveform is encoded in the COS Code table 14 and the first quarter period of a sine waveform is encoded in the SIN Code table 15. The cosine waveform output is generated entirely from the COS Code table 14 and the sine waveform output is generated entirely from the SIN Code table 15. This is accomplished by selectively rotating the quarter waveforms about the x axis and y axis to create a complete sine period and a complete cosine period. This selective rotation is accomplished by the Table address decoder 13 which rotates the waveforms about the y axis, the first sign detector 11 which determines when the COS values are to be rotated about the x axis and the second sign detector 12 which determines when the SIN values are to be rotated about the x axis. The first sign appending module 16 receives the output of the COS Code table 14 and either utilizes that output as the cosine waveform value or rotates that output about the x axis to generate the cosine waveform value. Likewise, the second sign appending module 17 receives the output of the SIN Code table 15 and either utilizes that output as the sine waveform value or rotates that output about the x axis to generate the sine waveform value. In such a manner only the first quadrant periods of a sine waveform and a cosine waveform are used in the conventional sine/cosine waveform generator so that the second, third and fourth quadrant periods of the sine waveform and the cosine waveform are generated from the first quadrant periods of the sine waveform and the cosine waveform.
For the output of a sine waveform, in order to obtain a whole period of the sine waveform, the second quadrant is generated by a symmetric value of the first quadrant around the y axis, the third quadrant is generated by a symmetric value of the first quadrant around the x axis, and the fourth quadrant is generated by a symmetric value of the first quadrant around the y axis and then the x axis.
For the output of a cosine waveform, in order to obtain a whole period of the cosine waveform, the second quadrant is generated by symmetric values of the first quadrant around the y axis and then the x axis, the third quadrant is generated by symmetric values of the first quadrant around the x axis, and the fourth quadrant is generated by symmetric values of the first quadrant around the y axis. However, the use of an entire period or a quarter period of both a sine waveform and a cosine waveform typically requires complex circuitry to decode and resequence addresses uniquely through each quarter period of the address values. Furthermore, a large amount of storage capability with a corresponding amount of power consumed and material costs are associated with storing entire waveforms or quarter periods of waveforms for waveform generation.
In view of the above limitations of conventional sine/cosine waveform generators, there still exists a need for improved sine/cosine waveform generators.
Object and Summary of the Invention In view of the foregoing, it is one object of the present invention to provide a sine/cosine waveform generator which reduces the amount of storage required to produce a sine waveform and the corresponding cosine waveform. Another object of the present invention is to provide a sine/cosine generator with reduced complexity. It is another object of the invention to provide a sine/cosine generator with reduced power consumption. Yet another object of the present invention is to reduce the cost of providing a sine/cosine generator.
In view of the above objects, the present invention provides a sine cosine generator which may utilizes reduced size look-up tables which may correspondingly reduce the storage required, the complexity of the circuitry, the power consumption and the cost of the sine/cosine generator. By providing in a first look-up table data corresponding to quantized values of a portion of the period of a cosine waveform and providing in a second look-up table data corresponding to quantized values of a portion of the period of a sine waveform corresponding to the period of the cosine waveform quantized values from both the first and the second look¬ up tables may be to generate a sine waveform. Furthermore, quantized values from both the first and the second look-up tables may also be utilized to generate a cosine waveform.
By utilizing both look-up tables in the generation of the sine and cosine waveforms, the size of the look-up table may be reduced. A reduction of look-up table size may also reduce the complexity of the circuitry associated with the waveform generator and may reduce the power required by the waveform generator. Furthermore, because the look-up table may be smaller, the waveform generator of the present invention may cost less to produce than waveform generators with larger look-up tables.
Additional embodiments of the waveform generator may be provided as a method, system or program product which stores in a first look-up table data corresponding to quantized values of a portion of the period of a cosine waveform. A second look-up table stores data corresponding to quantized values of a portion of the period of a sine waveform corresponding to the period of the cosine waveform. When a sine/cosine generation address corresponding to a predetermined segment of a sine waveform and a corresponding predetermined segment of a cosine waveform is received, the first and the second look-up tables are selectively accessed to generate a first composition value from one of the look¬ up tables and a second composition value from the other of the look-up tables. These composition values correspond to a predetermined segment of the sine waveform and a predetermined segment of the cosine waveform associated with the received sine/cosine generation address.
Either the first composition value or the second composition value is selected to provide a sine composition value corresponding to the segment of the sine waveform associated with the sine/cosine generation address. Likewise, either the first composition value or the second composition value is selected to provide a cosine composition value corresponding to the segment of the cosine waveform associated with the sine/cosine generation address. The sine/cosine generation address is also utilized to determine whether the sine composition value should be inverted and whether the cosine composition value should be inverted. The value of the segment of the sine waveform corresponding to the sine/cosine generation address is then generated from the inverted sine composition value if it is determined that the sine composition value should be inverted and from the sine composition value if it is determined that the sine composition value should not be inverted. The value of the segment of the cosine waveform corresponding to the sine/cosine generation address is generated from the inverted cosine composition value if it is determined that the cosine composition value should be inverted and from the cosine composition value if it is determined that the cosine composition value should not be inverted. By repeating the value generation for each address in a range of addresses corresponding to the period of the waveforms, the entire period of the waveform may be generated.
In a preferred embodiment of the present invention, the first look-up table data corresponds to quantized values of one eighth of the period of a cosine waveform and the second look-up table data corresponds to quantized values of one eighth of the period of a sine waveform corresponding to the one eighth period of the cosine waveform. It is also preferable that the cosine waveform and the sine waveform are generated concurrently. Furthermore, the one eighth periods may comprise the first one eighth period of the sine wave and the first one eighth period of the cosine wave. In one further embodiment of the present invention, the look-up tables are selectively accessed by alternatingiy incrementing upward and then decrementing downward through a range of permissible addresses of a plurality of addresses which access the stored values of the first and second look-up tables. This increment or decrement of the look-up table addresses occurs as the sine/cosine generation address increments through a range of permissible addresses of the sine/cosine generation address such that each change of the address to the look¬ up tables corresponds to a change in the sine/cosine generation address.
In a particular embodiment of the present invention, a sine/cosine waveform generator includes a first look-up table of data corresponding to quantized values of a portion of the period of a cosine waveform, wherein the data of the first look-up table is accessed by a plurality of addresses. A second look-up table of data corresponding to quantized values of a portion of the period of a sine waveform corresponding to the period of the cosine waveform and wherein the data of the second look-up table is accessed by a plurality of addresses is also provided. A table address generator receives a sine/cosine generation address and generates an address for accessing the first look-up table and the second look-up table based on the sine/cosine generation address so as to selectively access the first and second look-up tables to generate a sine composition value and a cosine composition value. A first sign detector determines from the sine/cosine generation address whether the cosine composition value should be inverted and generates a first sign signal based upon the determination. A second sign detector for determines from the sine/cosine generation address whether the sine composition value should be inverted and generates a second sign signal based upon the determination.
A look-up table selector generates a selection signal for selecting between data from the first look-up table and data from the second look-up table based upon the sine/cosine generation address and a data router selectively provides sine composition values and cosine composition values from the first and the second look-up tables based upon the selection signal.
A first output waveform generator receives the cosine composition values from the data router and the first sign signal from the first sign detector and generates a cosine output waveform from the received cosine composition values and from the first sign signal. A second output waveform generator receives the sine composition values from the data router and the second sign signal from the second sign detector and generates a sine output waveform from the received sine composition values and from the second sign signal.
The foregoing and other objects, advantages and features of the invention, and the manner in which the same are accomplished, will become more readily apparent upon consideration of the following detailed description of the invention taken in conjunction with the accompanying drawings, which illustrate preferred and exemplary embodiments, and wherein: Description of the Drawings
Figure 1 is a block diagram illustrating a conventional sine/cosine waveform generator;
Figure 2 is a block diagram illustrate a sine/cosine generator according to the present invention; Figure 3 is a diagram illustrating the output of a sine/cosine generator according to the present invention;
Figure 4 is a flow chart illustrating the operation of a sine/cosine generator of Figure 2; and
Figure 5 is a flow chart illustrating a preferred embodiment of the present invention.
Detailed Description The present invention now will be described more fully hereinafter with reference to the accompanying drawings, in which preferred embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.
One embodiment of the present invention is illustrated in FIG. 2. As seen in FIG. 2, a sine/cosine waveform generator includes a first look-up table 24
(labeled Upper Code table in FIG. 2) which contains data corresponding to quantized values of a portion of the period of a cosine waveform. This data is accessed by a plurality of addresses such that each address corresponds to a quantized value of the portion of the cosine waveform. As illustrated in FIG. 2, in one embodiment of the present invention, the portion of the cosine waveform which is encoded is the first one eighth period of the cosine waveform. Furthermore, for purposes of example, the first one eighth period of the cosine waveform is quantized to 32 discrete values such that the cosine values stored in the look-up table 24 are accessed by addresses ranging from 0 to 31.
A second look-up table 25 (labeled Lower code table in FIG. 2) is also shown in FIG. 2. The second look-up table 25 stores data corresponding to quantized values of a portion of the period of a sine waveform corresponding to the period of the cosine waveform stored in the first look-up table 24. The data of the second look-up table is also accessed by a plurality of addresses which for the present example also range from 0 to 31. Because the portion of the sine waveform quantized and stored in the second look-up table 25 corresponds to the cosine waveform stored in the first look-up table 24, in the present example the first one eighth period of the sine waveform is stored in the second look-up table 25.
As will be appreciated by those of skill in the art, the first and second look-up tables may be implemented utilizing any suitable storage media. For example, random access memory, read only memory, or other memory devices may be utilized to implement the look-up tables. Furthermore, because of the small size required by the look-up tables they may be implemented in a single integrated circuit or in a combination of integrated circuits or discrete components. Finally, in a software implementation of the present invention, the look-up tables may be implemented as arrays in which the data is stored in computer memory, on a hard disk, or on some other form of storage device.
Also included in the waveform generator of the present invention is a table address generator 23 (labeled Table address decoder in FIG. 2) which receives a sine/cosine generation address and generates an address for accessing the first and second look up tables 24 and 25. The creation of the look-up table address selectively rotates the waveforms stored in the look-up tables about the y axis. This is accomplished by reversing the order in which the look-up tables are accessed. For example, to obtain the unrotated waveform values from the look-up tables the look-up tables are accessed sequentially with increasing addresses beginning with the lowest address of the look-up tables and ending with the highest address of the look-up tables (for example, 0 to 31) . To rotate the waveforms stored in the look-up tables about the y axis the look-up tables are accessed sequentially with decreasing addresses beginning with the highest address of the look-up tables and ending with the lowest address of the look-up tables (for example, 31 to 0) .
Whether the values in the look-up tables are to be rotated or not is determined by the sine/cosine generation address which is the address supplied to the waveform generator which has a range corresponding to the total number of quantized values in the period of the sine or cosine waveforms. In the present example, the sine/cosine generation address ranges from 0 to 255 because one eighth of the total period of the waveforms is encoded as 32 discrete levels. Thus, 32 X 8 results in 256 total addresses required to generate the complete period of the waveforms. The table address generator 23 may, therefore, base the generation of the look-up table addresses on the sine/cosine generation address so as to selectively access the first and the second look-up tables to generate a sine composition value and a cosine composition value which are properly rotated about the y axis for the location within the period of the waveforms.
In operation the addresses to the look-up tables may be alternatingiy incremented to the maximum address value and then decremented from the maximum value to generate the proper rotation about the y axis for the look-up table values. Accordingly, as will be appreciated by those of skill in the art, the table address generator 23 may be implemented as an up/down counter which switches direction when either 0 or the maximum address of the look-up tables is reached. In the present example, the counter then need only be synchronized to the sine/cosine generation address by zeroing the counter when the sine/cosine generation address is zero and then causing a change in the counter for each change in the sine/cosine generation address. Alternatively, the generation of the addresses to the look-up tables could be conducted by decoding the sine/cosine generation address either in hardware, software or a combination of the both. Because less than a complete quarter period is stored in the each look-up table, values from both look¬ up tables are utilized to generate the sine waveform and the cosine waveform. The association of which look-up table is utilized for the generation of a particular portion of the total waveform period is carried out by a look-up table selector 26 (labeled Upper-lower code table detector in FIG. 2) . The look-up table selector 26 generates a selection signal for selecting between data from the first look-up table and data from the second look-up table based upon the sine/cosine generation address. The relationship of the look-up tables to the output waveforms is illustrated in the table below. A data router 27 (labeled Upper-lower code converter in FIG. 2) then selectively provides the sine composition values and cosine composition values from the first and the second look-up tables based upon the selection signal. The output of this data router 27 are two data streams, one for the sine waveform and one for the cosine waveform which are properly rotated about the y axis for generation of the final waveforms but are not properly rotated about the x axis. As used herein the term signal is utilized to refer to any type of condition indicator, such as an electricl signal, a flag or variable in a software application or other methods of signifying status or the result of a determination known to those of skill in the art.
The rotation about the x axis is determined by a first sign detector 21 for determining from the sine/cosine generation address whether the cosine composition value output by the data router 27 should be inverted and generates a first sign signal based upon that determination. A second sign detector 22 determines from the sine/cosine generation address whether the cosine composition value output by the data router 27 should be inverted and generates a second sign signal based upon that determination. As used herein the term inverted refers to a rotation about the x axis of the waveform values stored in the look-up tables and output by the data router. As will be appreciated by those of skill in the art, this rotation about the x axis may, in some instances mean reversing the sign of the value from positive to negative or negative to positive. However, if a D.C. offset exists in the output waveform, the rotation may be about the D.C. offset value in which case the rotation about the x axis may be accomplished by subtracting the value from the D.C. offset of the waveform. The final cosine waveform is created by a first output waveform generator 28 (labeled First sign restoration module in FIG. 2) . The first output waveform generator 28 receives the cosine composition values from the data router 27 and the first sign signal from the first sign detector 21 and generates a cosine output waveform from the cosine composition values and from the first sign signal. This generation of an output waveform may simply be storing the values for a period of the waveform or it may include conversion of the digital values to analog signals by use of, for example, a digital to analog converter. Likewise, a second output waveform generator 29 (labeled Second sign restoration module in FIG. 2) similarly receives the sine composition values from the data router 27 and the second sign signal from the second sign detector 22 and generates a sine output waveform from the sine composition values and from the second sign signal.
FIG. 3 illustrates the output waveforms of a waveform generator according to the present invention. As is seen in FIG. 3, the complete period of a cosine waveform and a sine waveform are generated by cycling through the sine/cosine generation address (labeled Input Address) which ranges from 0 to 255 for the present example. Thus, for the present example, the table below illustrates how the table address generator 23 and the first and second sign detectors 21 and 22 would convert the input sine/cosine generation address to the control information for the look-up tables 24 and 25 and the data router 27.
Look-up Table Address and Sign Signals as a Function of Input Address
Input Generat Table Sign Table Sign Signal Address ed Selecti Signal for Selecti for Sine
Look-up on for Cosine on for Waveform
Table Cosine Waveform Sine
Address Wavefor Wavefor m m
0 to 31 0 to 31 First Non- Second Non- inverted Inverted
32 to 63 31 to 0 Second Non- First Non- inverted Inverted
64 to 95 0 to 31 Second Inverted First Non- Inverted
96 to 127 31 to 0 First Inverted Second Non- Inverted
128 to 0 to 31 First Inverted Second Inverted 159 160 to 31 to 0 Second Inverted First Inverted 191
192 to 0 to 31 Second Non- First Inverted 223 inverted
224 to 31 to 0 First Non- Second Inverted 255 inverted
The operation of a waveform generator according to the present invention will now be described with reference to FIG. 4 and FIG. 5. Figures 4 and 5 are flowchart illustrations of methods, apparatus (systems) and computer program products according to the invention. It will be understood that each block of the flowchart illustrations, and combinations of blocks in the flowchart illustrations, can be implemented by computer program instructions. These computer program instructions may be loaded onto a computer or other programmable data processing apparatus to produce a machine, such that the instructions which execute on the computer or other programmable data processing apparatus create means for implementing the functions specified in the flowchart block or blocks. These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks.
Accordingly, blocks of the flowchart illustrations support combinations of means for performing the specified functions, combinations of steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each block of the flowchart illustrations, and combinations of blocks in the flowchart illustrations, can be implemented by special purpose hardware-based computer systems which perform the specified functions or steps, or combinations of special purpose hardware and computer instructions. As seen in FIG. 4, a portion of the period of a cosine waveform is stored in a first look-up table (block 30) and a portion of the period of a sine waveform corresponding to the stored portion of the cosine waveform is stored in a second look-up table (block 32) . When a sine/cosine generation address is received (block
34) the first and second look-up tables are selectively accessed based upon the received sine/cosine generation address as reflected in block 36. As seen in block 38, the output of one of the look-up tables is selected to create a sine composition value. Similarly, as seen in block 40, the output of one of the look-up tables is selected to create a cosine composition value. Then, as seen in block 42, it is determined if the sine composition value should be inverted. If the sine composition value should be inverted, then as seen in block 46 the sine composition value is inverted and then used as the value of the generated sine waveform. If the sine composition value does not need to be inverted, then, as seen in block 44, the sine composition value is utilized as the generated sine value. Similarly, as seen in block 48, it is determined if the cosine composition value needs to be inverted. If the cosine composition value needs to be inverted, then, as seen in block 52, the cosine composition value is inverted and used as the generated cosine value. If the cosine composition value does not need to be inverted, then, as seen in block 50, the cosine composition value is used as the generated cosine value. The generation process beginning with block 34 is then repeated for each sine/cosine generation address received. In such a manner a complete period of the sine and cosine waveforms is generated for each cycle through the range of sine/cosine generation addresses. FIG. 5, illustrates a preferred embodiment where the portion of the sine and cosine waveforms stored in the look-up tables comprises the first one eighth of the period of the waveforms. The storing of the first one eighth period of the cosine waveform in the first look-up table is reflected in block 60 and the storing of the first one eighth period of the sine waveform in the second look-up table is reflected in block 62. A sine/cosine generation address is then obtained as seen in block 64. As seen in blocks 66, 70, 74, 78, 82, 86, and 90 the one eighth period of the waveform corresponding to the sine/cosine generation address is determined. As seen in block 68 if it is determined that the sine/cosine generation address corresponds to the first one-eighth period of the waveform then the first and second look-up tables are accessed utilizing the sine/cosine generation address as the look-up address and the output of the first look-up table is utilized as the cosine value while the output of the second look-up table is utilized as the sine value. As seen in block 72, if the sine/cosine generation address falls within the second one eighth period of the waveform then the first and second look-up tables may be accessed utilizing the generation address minus the number of addresses in one- eighth the period of the waveform as an offset subtracted from the last address of the first and second look-up tables. The second look-up table output is the used as the cosine value and the first look-up table output is utilized as the sine value.
Aβ seen in block 76, if the sine/cosine generation address falls within the third one eighth period of the waveform then the first and second look-up tables may be accessed utilizing the generation address minus the number of addresses in one fourth the period of the waveform aβ an offset added to the first address of the first and second look-up tables. The second look-up table output is then inverted and used as the cosine value and the first look-up table output is utilized as the sine value.
As seen in block 80, if the sine/cosine generation address falls within the fourth one eighth period of the waveform then the first and second look-up tables may be accessed utilizing the generation address minus the number of addresses in three eighths the period of the waveform as an offset subtracted from the last address of the first and second look-up tables. The first look-up table output is then inverted and used as the cosine value and the second look-up table output is utilized as the sine value.
As seen in block 84, if the sine/cosine generation address falls within the fifth one eighth period of the waveform then the first and second look-up tables may be accessed utilizing the generation address minus the number of addresses in one half the period of the waveform as an offset added to the first address of the first and second look-up tables. The first look-up table output is then inverted and used as the cosine value and the second look-up table output is inverted and utilized as the sine value.
As seen in block 88, if the sine/cosine generation address falls within the sixth one eighth period of the waveform then the first and second look-up tables may be accessed utilizing the generation address minus the number of addresses in five eighths the period of the waveform as an offset subtracted from the last address of the first and second look-up tables. The second look-up table output is then inverted and used as the cosine value and the first look-up table output is inverted and utilized as the sine value.
As seen in block 92, if the sine/cosine generation address falls within the seventh one eighth period of the waveform then the first and second look-up tables may be accessed utilizing the generation address minus the number of addresses in three quarters the period of the waveform as an offset added to the first address of the first and second look-up tables. The second look-up table output is then used as the cosine value and the first look-up table output is inverted and utilized as the sine value.
As seen in block 94, if the sine/cosine generation address falls within the last one eighth period of the waveform then the first and second look-up tables may be accessed utilizing the generation address minus the number of addresses in three eighths the period of the waveform as an offset subtracted from the last address of the first and second look-up tables. The first look-up table output is then used as the cosine value and the second look-up table output is inverted and utilized as the sine value. The generation process beginning with block 64 is then repeated for each sine/cosine generation address received. In such a manner a complete period of the sine and cosine waveforms is generated for each cycle through the range of sine/cosine generation addresses. As is evident from the description above, the preferred embodiment of the present invention encodes only one eighth period of a sine and cosine waveform to convert an input address into a sine and cosine waveform. It is further preferred that the one eighth period of the stored sine waveform always correspond to the one eighth period of the stored cosine waveform. While the present invention has been described with respect to the first look-up table 24 storing the first one eighth period of the cosine waveform and the second look-up table 25 storing the first one eighth period of the sine waveform, as will be appreciated by those of skill in the art, other combinations of portions of the waveforms may be utilized. For example, if the second one eighth period of a cosine waveform is stored in the first look-up table 24, then the second one eighth period of a sine waveform may be stored in the second look-up table 25. Also, if the third one eighth period of a cosine waveform is stored in the first look-up table 24, then the third one eighth period of a sine waveform may be stored in the second look-up table 25. Furthermore, as will be appreciated by those of skill in the art, the look-up tables are interchangeable with appropriate modifications such that, for example, the first look-up table 24 may 623 PC17KR96/00162
22 store a sine waveform and the second look-up table 25 store a cosine waveform.
In the drawings and specification, there have been disclosed typical preferred embodiments of the invention and, although specific terms are employed, they are used in a generic and descriptive sense only and not for purposes of limitation, the scope of the invention being set forth in the following claims.

Claims

THAT WHICH IS CLAIMED IS:
1. A sine/cosine waveform generator, comprising: a first look-up table of data corresponding to quantized values of a portion of a period of a cosine waveform, wherein the data of said first look-up table is accessed by a plurality of addresses; a second look-up table of data corresponding to quantized values of a portion of a period of a sine waveform corresponding to the period of the cosine waveform and wherein the data of said second look-up table is accessed by a plurality of addresses; a table address generator which receives a sine/cosine generation address and generates an address for accessing said first look-up table and said second look-up table based on said sine/cosine generation address so as to selectively access said first and said second look-up tables to generate a sine composition value and a cosine composition value; a first sign detector which determines from the sine/cosine generation address whether the cosine composition value should be inverted and generates a first sign signal based upon the determination; a second sign detector which determines from the sine/cosine generation address whether the sine composition value should be inverted and generates a second sign signal based upon the determination; a look-up table selector which generates a selection signal and selects between data from said first look-up table and data from said second look-up table based upon the sine/cosine generation address; a data router which selectively provides sine composition values and cosine composition values from said first and said second look-up tables based upon said selection signal; a first output waveform generator which receives said cosine composition values from said data router and receives said first sign signal from said first sign detector and generates a cosine output waveform from said received cosine composition values and from said first sign signal; and a second output waveform generator which receives said sine composition values from said data router and receives said second sign signal from said second sign detector and generates a sine output waveform from said received sine composition values and from said second sign signal.
2. The sine/cosine waveform generator of Claim 1, wherein the data of said first look-up table comprises data corresponding to quantized values of one eighth of the period of a cosine wave and wherein the data of said second look-up table comprises data corresponding to quantized values of one eighth of the period of a sine waveform corresponding to the one eighth period of the cosine waveform.
3. The sine/cosine waveform generator according to Claim 2 wherein said one eighth periods comprise the first one eighth period of the sine wave and the first one eighth period of the cosine wave.
4. The sine/cosine waveform generator according to Claim 1, wherein said table address generator alternatingiy increments upward and then downward through a range of permissible addresses of said plurality of addresses which access said first and said second look-up tables as said sine/cosine generation address increments through a range of permissible addresses of said sine/cosine wherein each change of the address to said look-up tables corresponds to a change in the sine/cosine generation address.
5. A method of generating a sine waveform and a cosine waveform, the method comprising:
(a) providing in a first look-up table data corresponding to quantized values of a portion of the period of a cosine waveform, wherein the data of the first look-up table is accessed by a plurality of addresses;
(b) providing in a second look-up table data corresponding to quantized values of a portion of the period of a sine waveform corresponding to the period of the cosine waveform and wherein the data of the second look-up table is accessed by a plurality of addresses;
(c) receiving a sine/cosine generation address corresponding to a predetermined segment of a sine waveform and a corresponding predetermined segment of a cosine waveform; and then
(d) selectively accessing the first and the second look-up tables to generate a first composition value from one of the look-up tables and a second composition value from the other of the look-up tables corresponding to the predetermined segment of the sine waveform and the predetermined segment of the cosine waveform associated with the received sine/cosine generation address; (e) selecting, based upon the sine/cosine generation address, one of the first composition value from the first look-up table and the second composition value from the second look-up table to provide a sine composition value corresponding to the segment of the sine waveform associated with the sine/cosine generation address;
(f) selecting, based upon the sine/cosine generation address, one of the first composition value from the first look-up table and the second composition value from the second look-up table to provide a cosine composition value corresponding to the segment of the cosine waveform associated with the sine/cosine generation address;
(g) determining from the sine/cosine generation address whether the sine composition value should be inverted;
(h) determining from the sine/cosine generation address whether the cosine composition value should be inverted;
(i) generating the value of the segment of the sine waveform corresponding to the sine/cosine generation address from the inverted sine composition value if said step of determining from the sine/cosine generation address whether the sine composition value should be inverted determines that the sine composition value should be inverted and from the sine composition value if said step of determining from the sine/cosine generation address whether the sine composition value should be inverted determines that the sine composition value should not be inverted; and
(j) generating the value of the segment of the cosine waveform corresponding to the sine/cosine generation address from the inverted cosine composition value if said step of determining from the sine/cosine generation address whether the cosine composition value should be inverted determines that the cosine composition 3
27 value should be inverted and from the cosine composition value if said step of determining from the sine/cosine generation address whether the cosine composition value should be inverted determines that the cosine composition value should not be inverted.
6. The method according to Claim 5, further comprising the step of repeating steps (c) through (j) for each address corresponding to the segments of a period of the sine waveform and the cosine waveform to be generated.
7. The method according to Claim 5, wherein said step of providing in a first look-up table comprises providing in a first look-up table data corresponding to quantized values of one eighth of the period of a cosine waveform and wherein βaid step of providing in a second look-up table comprises providing in a second look-up table data corresponding to quantized values of one eighth of the period of a sine waveform corresponding to the one eighth period of the cosine waveform.
8. The method according to Claim 7, wherein the cosine waveform and the sine waveform are generated concurrently.
9. The method according to Claim 7, wherein said one eighth periods comprise the first one eighth period of the sine wave and the first one eighth period of the cosine wave.
10. The method according to Claim 6, wherein said step of selectively accessing comprises the step of alternatingiy incrementing upward and then decrementing downward through a range of permissible addresses of said plurality of addresses which access the first and the second stored look-up tables as the sine/cosine generation address increments through a range of permissible addresses of the sine/cosine generation address wherein each change of the address to the stored look-up tables corresponds to a change in the sine/cosine generation address.
11. A waveform generator for generating a sine waveform and a cosine waveform, the waveform generator comprising: means for providing in a first look-up table data corresponding to quantized values of a portion of the period of a cosine waveform, wherein the data of the first look-up table is accessed by a plurality of addresses; means providing in a second look-up table data corresponding to quantized values of a portion of the period of a sine waveform corresponding to the period of the cosine waveform and wherein the data of the second look-up table is accessed by a plurality of addresses; means for receiving a sine/cosine generation address; means, responsive to said means for receiving, for selectively accessing the first and the second look-up tables to generate a first composition value from one of the look-up tables and a second composition value from the other of the look-up tables corresponding to a predetermined segment of a sine waveform and a predetermined segment of a cosine waveform associated with the received sine/cosine generation address; means for selecting, based upon the sine/cosine generation address, one of the first composition value from the first look-up table and the second composition value from the second look-up table to provide a sine composition value corresponding to the segment of the sine waveform associated with the sine/cosine generation address; means for selecting, based upon the sine/cosine generation address, one of the first composition value from the first look-up table and the second composition value from the second look-up table to provide a cosine composition value corresponding to the segment of the cosine waveform associated with the sine/cosine generation address; means for determining from the sine/cosine generation address whether the sine composition value should be inverted; means for determining from the sine/cosine generation address whether the cosine composition value should be inverted; means, responsive to said means for determining from the sine/cosine generation address whether the sine composition value should be inverted and said means for selecting one of the first composition value from the first look-up table and the second composition value from the second look-up table to provide a sine composition value, for generating the value of the segment of the sine waveform corresponding to the sine/cosine generation address from the inverted sine composition value if said means for determining from the sine/cosine generation address whether the sine composition value should be inverted determines that the sine composition value should be inverted and from the sine composition value if said means for determining from the sine/cosine generation address whether the sine composition value should be inverted determines that the sine composition value should not be inverted; and means, responsive to said means for determining from the sine/cosine generation address whether the cosine composition value should be inverted and said means for selecting one of the first composition value from the first look-up table and the second composition value from the second look-up table to provide a cosine composition value, for generating the value of the segment of the cosine waveform corresponding to the sine/cosine generation address from the inverted cosine composition value if said step of determining from the sine/cosine generation address whether the cosine composition value should be inverted determines that the cosine composition value should be inverted and from the cosine composition value if said step of determining from the sine/cosine generation address whether the cosine composition value should be inverted determines that the cosine composition value should not be inverted.
12. The waveform generator according to Claim 11, further comprising means for repeatedly receiving said sine/cosine generation addresses and, for each of said sine/cosine generation addresses causing: said means for selectively accessing the first and the second look-up tables to generate a first composition value from one of the look-up tables and a second composition value from the other of the look-up tables corresponding to a predetermined segment of a sine waveform and a predetermined segment of a cosine waveform associated with the received sine/cosine generation address; said means for selecting one of the first composition values from the first look-up table and the second composition value from the second look-up table to provide a sine composition value corresponding to the segment of the sine waveform associated with the sine/cosine generation address to select one of the first composition value from the first look-up table and the second composition value from the second look-up table to provide a cosine composition value corresponding to the segment of the sine waveform associated with the sine/cosine generation address; said means for selecting based upon the sine/cosine generation address one of the first composition value from the first look-up table and the second composition value from the second look-up table to provide a cosine composition value corresponding to the segment of the cosine waveform associated with the sine/cosine generation address to select one of the first composition value from the first look-up table and the second composition value from the second look-up table to provide a cosine composition value corresponding to the segment of the cosine waveform associated with the sine/cosine generation address; said means for determining from the sine/cosine generation address whether the sine composition value should be inverted to determine whether the sine composition value should be inverted; said means for determining from the sine/cosine generation address whether the cosine composition value should be inverted to determine whether the cosine composition value should be inverted; said means for generating the value of the segment of the sine waveform to generate the value of the segment of the sine waveform corresponding to the sine/cosine generation address from the inverted sine composition value if said means for determining from the sine/cosine generation address whether the sine composition value should be inverted determines that the sine composition value should be inverted and from the sine composition value if said means for determining from the sine/cosine generation addresβ whether the sine composition value should be inverted determines that the sine composition value should not be inverted; and said means for generating the value of the segment of the cosine waveform to generate the value of the segment of the waveform corresponding to the sine/cosine generation address from the inverted cosine composition value if said step of determining from the sine/cosine generation address whether the cosine composition value should be inverted determines that the cosine composition value should be inverted and from the cosine composition value if said step of determining from the sine/cosine generation address whether the cosine composition value should be inverted determines that the cosine composition value should not be inverted.
13. The waveform generator according to Claim 11, wherein said means for providing in a first look-up table comprises means for providing in a first look-up table data corresponding to quantized values of one eighth of the period of a cosine waveform and wherein said means for providing in a second look-up table comprises means for providing in a second look-up table data corresponding to quantized values of one eighth of the period of a sine waveform corresponding to the one eighth period of the cosine waveform.
14. The waveform generator according to Claim 13, wherein the segments of the cosine waveform and the segments of the sine waveform are generated concurrently.
15. The waveform generator according to Claim 13, wherein said one eighth periods comprise the first one eighth period of the sine wave and the first one eighth period of the cosine wave.
16. A computer program product for generating a sine waveform and a cosine waveform, the computer program product comprising: a computer-readable storage medium having computer- readable program code means embodied in said medium, said computer-readable program code means comprising: computer-readable program code means for providing in a first look-up table data corresponding to quantized values of a portion of the period of a cosine waveform, wherein the data of the first look-up table is accessed by a plurality of addresses; computer-readable program code means providing in a second look-up table data corresponding to quantized values of a portion of the period of a sine waveform corresponding to the period of the cosine waveform and wherein the data of the second look-up table is accessed by a plurality of addresses; computer-readable program code means for receiving a sine/cosine generation address; computer-readable program code means, responsive to said computer-readable program code means for receiving, for selectively accessing the first and the second look- up tables to generate a first composition value from one of the look-up tables and a second composition value from the other of the look-up tables corresponding to a predetermined segment of a sine waveform and a predetermined segment of a cosine waveform associated with the received sine/cosine generation address; computer-readable program code means for selecting, based upon the sine/cosine generation address, one of the first composition value from the first look-up table and the second composition value from the second look-up table to provide a sine composition value corresponding to the segment of the sine waveform associated with the sine/cosine generation address; computer-readable program code means for selecting, based upon the sine/cosine generation address, one of the first composition value from the first look-up table and the second composition value from the second look-up table to provide a cosine composition value corresponding to the segment of the cosine waveform associated with the sine/cosine generation address; computer-readable program code means for determining from the sine/cosine generation address whether the sine composition value should be inverted; computer-readable program code means for determining from the sine/cosine generation address whether the cosine composition value should be inverted; computer-readable program code means, responsive to said computer-readable program code means for determining from the sine/cosine generation address whether the sine composition value should be inverted and said computer- readable program code means for selecting one of the first composition value from the first look-up table and the second composition value from the second look-up table to provide a sine composition value, for generating the value of the segment of the sine waveform corresponding to the sine/cosine generation address from the inverted sine composition value if said computer- readable program code means for determining from the sine/cosine generation address whether the sine composition value should be inverted determines that the sine composition value should be inverted and from the sine composition value if said computer-readable program code means for determining from the sine/cosine generation address whether the sine composition value should be inverted determines that the sine composition value should not be inverted; and computer-readable program code means, responsive to said computer-readable program code means for determining from the sine/cosine generation address whether the cosine composition value should be inverted and said computer-readable program code means for selecting one of the first composition value from the first look-up table and the second composition value from the second look-up table to provide a cosine composition value, for generating the value of the segment of the cosine waveform corresponding to the sine/cosine generation address from the inverted cosine composition value if said step of determining from the sine/cosine generation address whether the cosine composition value should be inverted determines that the cosine composition value should be inverted and from the cosine composition value if said step of determining from the sine/cosine generation address whether the cosine composition value should be inverted determines that the cosine composition value should not be inverted.
17. The computer program product according to Claim 16, further comprising computer-readable program code means for repeatedly receiving said sine/cosine generation addresses and, for each of said sine/cosine generation addresses causing: said computer-readable program code means for selectively accessing the first and the second look-up tables to generate a first composition value from one of the look-up tables and a second composition value from the other of the look-up tables corresponding to a predetermined segment of a sine waveform and a predetermined segment of a cosine waveform associated with the received sine/cosine generation address; said computer-readable program code means for selecting one of the first composition values from the first look-up table and the second composition value from the second look-up table to provide a sine composition value corresponding to the segment of the sine waveform associated with the sine/cosine generation address to select one of the first composition value from the first look-up table and the second composition value from the second look-up table to provide a cosine composition value corresponding to the segment of the sine waveform associated with the sine/cosine generation address; said computer-readable program code means for selecting based upon the sine/cosine generation address one of the first composition value from the first look-up table and the second composition value from the second look-up table to provide a cosine composition value corresponding to the segment of the cosine waveform associated with the sine/cosine generation address to select one of the first composition value from the first look-up table and the second composition value from the second look-up table to provide a cosine composition value corresponding to the segment of the cosine waveform associated with the sine/cosine generation address; said computer-readable program code means for determining from the sine/cosine generation address whether the sine composition value should be inverted to determine whether the sine composition value should be inverted; said computer-readable program code means for determining from the sine/cosine generation address whether the cosine composition value should be inverted to determine whether the cosine composition value should be inverted; said computer-readable program code means for generating the value of the segment of the sine waveform to generate the value of the segment of the sine waveform corresponding to the sine/cosine generation address from the inverted sine composition value if said computer- readable program code means for determining from the sine/cosine generation address whether the sine composition value should be inverted determines that the sine composition value should be inverted and from the sine composition value if said computer-readable program code means for determining from the sine/cosine generation address whether the sine composition value should be inverted determines that the sine composition value should not be inverted; and said computer-readable program code means for generating the value of the segment of the cosine waveform to generate the value of the segment of the waveform corresponding to the sine/cosine generation address from the inverted cosine composition value if said step of determining from the sine/cosine generation address whether the cosine composition value should be inverted determines that the cosine composition value should be inverted and from the cosine composition value if said step of determining from the sine/cosine generation address whether the cosine composition value should be inverted determines that the cosine composition value should not be inverted.
18. The computer program product according to Claim 16, wherein said computer-readable program code means for providing in a first look-up table comprises computer- readable program code means for providing in a first look-up table data corresponding to quantized values of one eighth of the period of a cosine waveform and wherein said computer-readable program code means for providing in a second look-up table comprises computer-readable program code means for providing in a second look-up table data corresponding to quantized values of one eighth of the period of a sine waveform corresponding to the one eighth period of the cosine waveform.
19. The computer program product according to Claim 18, wherein the segments of the cosine waveform and the segments of the sine waveform are generated concurrently.
20. The computer program product according to Claim 18, wherein said one eighth periods comprise the first one eighth period of the sine wave and the first one eighth period of the cosine wave.
21. The computer program product according to Claim 17, wherein said computer-readable program code means for selectively accessing comprises computer-readable program code means for alternatingiy incrementing upward and then decrementing downward through a range of permissible addresses of said plurality of addresses which access the first and the second stored look-up tables as the sine/cosine generation address increments through a range of permissible addresses of the sine/cosine generation address wherein each change of the address to the stored look-up tables corresponds to a change in the sine/cosine generation address.
22. A method of generating a sine waveform and a cosine waveform, the method comprising:
(a) providing in a first look-up table data corresponding to quantized values of a portion of the period of a cosine waveform, wherein the data of the first look-up table is accessed by a plurality of addresses;
(b) providing in a second look-up table data corresponding to quantized values of a portion of the period of a sine waveform corresponding to the period of the cosine waveform and wherein the data of the second look-up table is accessed by a plurality of addresses;
(c) utiizing quantized values from both the first and the second look-up tables to generate a sine waveform; and
(d) utilizing quantized values from both the first and the second look-up tables to generate a cosine waveform.
23. The method according to Claim 22, wherein said portion of the period of a cosine waveform comprises one eighth of the period of a cosine waveform and wherein said portion of a period of a sine waveform comprises one eighth of the period of a sine waveform.
24. The method according to Claim 22, wherein the cosine waveform and the sine waveform are generated concurrently.
25. The method according to Claim 23, wherein said one eighth periods comprise the first one eighth period of the sine wave and the first one eighth period of the cosine wave.
26. A waveform generator for generating a sine waveform and a cosine waveform, comprising: means for providing in a first look-up table data corresponding to quantized values of a portion of the period of a cosine waveform, wherein the data of the first look-up table is accessed by a plurality of addresses; means for providing in a second look-up table data corresponding to quantized values of a portion of the period of a sine waveform corresponding to the period of the cosine waveform and wherein the data of the second look-up table is accessed by a plurality of addresses; means for utiizing quantized values from both the first and the second look-up tables to generate a sine waveform; and means for utilizing quantized values from both the first and the second look-up tables to generate a cosine waveform.
27. The waveform generator according to Claim 26, wherein said portion of the period of a cosine waveform comprises one eighth of the period of a cosine waveform and wherein said portion of a period of a sine waveform comprises one eighth of the period of a sine waveform.
28. The waveform generator according to Claim 26, wherein said means for utiizing quantized values from both the first and the second look-up tables to generate a sine waveform and said means for utilizing quantized values from both the first and the second look-up tables to generate a cosine waveform generate the cosine waveform and the sine waveform concurrently.
29. The waveform generator according to Claim 27, wherein said one eighth periods comprise the first one eighth period of the sine wave and the first one eighth period of the cosine wave.
30. A computer program product for generating a sine waveform and a cosine waveform, the computer program product comprising: a computer-readable storage medium having computer- readable program code means embodied in said medium, said computer-readable program code means comprising: computer-readable program code means for providing in a first look-up table data corresponding to quantized values of a portion of the period of a cosine waveform, wherein the data of the first look-up table is accessed by a plurality of addresses; computer-readable program code means for providing in a second look-up table data corresponding to quantized values of a portion of the period of a sine waveform corresponding to the period of the cosine waveform and wherein the data of the second look-up table is accessed by a plurality of addresses; computer-readable program code means for utiizing quantized values from both the first and the second look¬ up tables to generate a sine waveform; and computer-readable program code means for utilizing quantized values from both the first and the second look¬ up tables to generate a cosine waveform.
31. The computer program product according to Claim 30, wherein said portion of the period of a cosine waveform comprises one eighth of the period of a cosine waveform and wherein said portion of a period of a sine waveform comprises one eighth of the period of a sine waveform.
32. The computer program product according to Claim 30, wherein said computer-readable program code means for utiizing quantized values from both the first and the second look-up tables to generate a sine waveform and said computer-readable program code means for utilizing quantized values from both the first and the second look¬ up tables to generate a cosine waveform generate the cosine waveform and the sine waveform concurrently.
33. The computer program product according to Claim 31, wherein said one eighth periods comprise the first one eighth period of the sine wave and the first one eighth period of the cosine wave.
PCT/KR1996/000162 1995-11-15 1996-09-17 System, method and program product for generating a sine or cosine waveform utilizing combined look-up tables Ceased WO1997018623A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP9518752A JPH10513029A (en) 1995-11-15 1996-09-17 Sine or cosine waveform generation system method and program using combined lookup table
DE19681167T DE19681167T1 (en) 1995-11-15 1996-09-17 System, method and program product for generating a sine or cosine waveform using combined search tables
GB9714207A GB2313243B (en) 1995-11-15 1996-09-17 System method and program product for generating a sine or cosine waveform utilizing combined look-up tables

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1019950041535A KR0169371B1 (en) 1995-11-15 1995-11-15 Sine/cosine wave generator
KR1995/41535 1995-11-15

Publications (1)

Publication Number Publication Date
WO1997018623A1 true WO1997018623A1 (en) 1997-05-22

Family

ID=19434260

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR1996/000162 Ceased WO1997018623A1 (en) 1995-11-15 1996-09-17 System, method and program product for generating a sine or cosine waveform utilizing combined look-up tables

Country Status (7)

Country Link
JP (1) JPH10513029A (en)
KR (1) KR0169371B1 (en)
CN (1) CN1082748C (en)
DE (1) DE19681167T1 (en)
GB (1) GB2313243B (en)
TW (1) TW311303B (en)
WO (1) WO1997018623A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1349050A3 (en) * 2002-03-29 2006-06-14 Alps Electric Co., Ltd. Force feedback device
RU2408133C2 (en) * 2009-03-24 2010-12-27 Государственное образовательное учреждение высшего профессионального образования "Северо-Кавказский государственный технический университет" Method to produce analog electric signal of orthogonal component module of vector of one of two single-frequency harmonic electrical signals
CN115456186A (en) * 2022-01-27 2022-12-09 合肥本源量子计算科技有限责任公司 Sine and cosine signal generator and quantum computer control system
CN115469711A (en) * 2022-01-27 2022-12-13 合肥本源量子计算科技有限责任公司 Sine and cosine signal generator, memory and quantum computer control system
US11769275B2 (en) 2017-10-19 2023-09-26 Interdigital Vc Holdings, Inc. Method and device for predictive encoding/decoding of a point cloud

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MXPA03009272A (en) * 2001-04-16 2004-02-12 Thomson Licensing Sa A phase tracking system.
USD710598S1 (en) 2006-08-24 2014-08-12 Mark Edward Morgan Armband
USD710597S1 (en) 2006-08-24 2014-08-12 Mark Edward Morgan Armband
USD710596S1 (en) 2006-08-24 2014-08-12 Mark Edward Morgan Armband
USD700774S1 (en) 2006-08-24 2014-03-11 Armpocket Enterprises Armband
US9351551B2 (en) 2006-08-24 2016-05-31 Armpocket Enterprises Personal armband storage device
CN102520762A (en) * 2011-11-25 2012-06-27 航天科工深圳(集团)有限公司 Method for generating programming simulated signal source in electric power equipment
CN110161289A (en) * 2019-06-21 2019-08-23 江苏开放大学(江苏城市职业学院) A kind of synchronous cosine and sine signal exciting bank of novel high speed and method
KR102322147B1 (en) 2019-07-18 2021-11-04 (주)인피니어 Apparatus for generating 3 phase sine wave
CN113687613B (en) * 2021-08-16 2023-04-11 深圳市安瑞国医科技有限公司 Combined waveform generation method capable of adjusting parameters at will

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0078588A1 (en) * 1981-11-02 1983-05-11 Hewlett-Packard Company Method and apparatus for signal synthesis
DE3800141A1 (en) * 1986-12-19 1989-07-20 Duerrwaechter E Dr Doduco Circuit arrangement for generating a sinusoidal electrical signal with variable frequency

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442324A (en) * 1994-09-23 1995-08-15 At&T Corp. Digital-controlled oscillator

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0078588A1 (en) * 1981-11-02 1983-05-11 Hewlett-Packard Company Method and apparatus for signal synthesis
DE3800141A1 (en) * 1986-12-19 1989-07-20 Duerrwaechter E Dr Doduco Circuit arrangement for generating a sinusoidal electrical signal with variable frequency

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1349050A3 (en) * 2002-03-29 2006-06-14 Alps Electric Co., Ltd. Force feedback device
US7187359B2 (en) 2002-03-29 2007-03-06 Alps Electric Co., Ltd. Force feedback device
RU2408133C2 (en) * 2009-03-24 2010-12-27 Государственное образовательное учреждение высшего профессионального образования "Северо-Кавказский государственный технический университет" Method to produce analog electric signal of orthogonal component module of vector of one of two single-frequency harmonic electrical signals
US11769275B2 (en) 2017-10-19 2023-09-26 Interdigital Vc Holdings, Inc. Method and device for predictive encoding/decoding of a point cloud
CN115456186A (en) * 2022-01-27 2022-12-09 合肥本源量子计算科技有限责任公司 Sine and cosine signal generator and quantum computer control system
CN115469711A (en) * 2022-01-27 2022-12-13 合肥本源量子计算科技有限责任公司 Sine and cosine signal generator, memory and quantum computer control system

Also Published As

Publication number Publication date
GB2313243A (en) 1997-11-19
KR970031296A (en) 1997-06-26
TW311303B (en) 1997-07-21
CN1168201A (en) 1997-12-17
CN1082748C (en) 2002-04-10
DE19681167T1 (en) 1998-02-12
KR0169371B1 (en) 1999-03-20
GB9714207D0 (en) 1997-09-10
JPH10513029A (en) 1998-12-08
GB2313243B (en) 1999-10-13

Similar Documents

Publication Publication Date Title
WO1997018623A1 (en) System, method and program product for generating a sine or cosine waveform utilizing combined look-up tables
US4905177A (en) High resolution phase to sine amplitude conversion
US5954787A (en) Method of generating sine/cosine function and apparatus using the same for use in digital signal processor
US4595976A (en) Inverter control
US4410955A (en) Method and apparatus for digital shaping of a digital data stream
US20070174371A1 (en) Hardware-efficient phase-to-amplitude mapping design for direct digital frequency synthesizers
WO1992002872A1 (en) Sin/cos generator implementation
US4746880A (en) Number controlled modulated oscillator
US6263356B1 (en) Fast fourier transform calculating apparatus and fast fourier transform calculating method
JPH0736717B2 (en) Inverter
US5034977A (en) Phase accumulation dual tone multiple frequency generator
US4835721A (en) Frequency synthesizer
US4017693A (en) Synthesizer of multifrequency code signals
US6320431B1 (en) Apparatus and method of generating numerically controlled oscillator signals
US6127860A (en) Linear expansion based sine generator
EP0448034B1 (en) A musical tone generation apparatus capable of writing/reading parameters at high speed
JP2023103156A (en) Modulation module, modulation circuit, modulation device, and method of generating modulation signal
HK1010803B (en) A musical tone generation apparatus capable of writing/reading parameters at high speed
JPS6126076B2 (en)
US6611156B2 (en) Waveform data generation apparatus
JP2806490B2 (en) DTMF generation circuit
SU1631730A1 (en) Multidimensional decoder
KR100198816B1 (en) Random cord generator
JPS6215930A (en) D/A converter test method
GB2315346A (en) Approximating trigonometric funtions using look up tables and quadrant bits

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 96191402.5

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): CN DE GB JP US

ENP Entry into the national phase

Ref document number: 1997 518752

Country of ref document: JP

Kind code of ref document: A

RET De translation (de og part 6b)

Ref document number: 19681167

Country of ref document: DE

Date of ref document: 19980212

WWE Wipo information: entry into national phase

Ref document number: 19681167

Country of ref document: DE

REG Reference to national code

Ref country code: DE

Ref legal event code: 8607