Creating 16-Bit Sine Table w/ 8-Bit Verilog & Sin Table

  • Thread starter Thread starter david90
  • Start date Start date
  • Tags Tags
    Sin Table
Click For Summary

Discussion Overview

The discussion revolves around the creation of a 16-bit sine table using two 8-bit sine tables in Verilog. Participants explore methods for combining sine values and converting sine tables to cosine tables, addressing both theoretical and practical aspects of digital signal processing.

Discussion Character

  • Technical explanation, Conceptual clarification, Debate/contested

Main Points Raised

  • One participant inquires about using two 8-bit sine tables to create a 16-bit sine table, suggesting the use of the formula sin(theta + delta*theta).
  • Another participant questions the feasibility of creating a 16-bit resolution from two 8-bit values, stating that combining them would yield a 9-bit result instead.
  • A different participant provides a method for converting a sine table to a cosine table, referencing the relationship \sin(\theta)=\cos(\theta-\frac{\pi}{2}) and noting the need for adjustments based on the number of tics per quarter arc.

Areas of Agreement / Disagreement

Participants express differing views on the possibility of creating a 16-bit sine table from two 8-bit tables, with at least one participant asserting it is not feasible. The discussion on converting sine to cosine appears to have some agreement on the method but lacks consensus on implementation details.

Contextual Notes

There are unresolved assumptions regarding the definitions of resolution and the specific implementation of the sine and cosine conversions in Verilog.

david90
Messages
311
Reaction score
2
How do I use two 8-bit sine table to make one 16-bit sine table?

Here is my 8-bit sine table in verilog

char sintable[256]
for(int i=0;i<256;i++)
sintable=sin(2*pi*i/256)*128


I know I have to somehow use: sin(theta+ delta*theta)

theta would be the first 8-bit and delta*theta would be the last 8 bit. Combine and u get 16-bit.
 
Engineering news on Phys.org
also, how do you convert a sine table to a cosine table? I want to instaniate a sine table module and then somehow convert it into a cosine.
 
david90 said:
How do I use two 8-bit sine table to make one 16-bit sine table?
What are you trying to do? You can't make a 16-bit resolution something out of two 8-bit somethings. Two 8-bit somethings makes a 9-bit something.
 
Well, in radians:
[tex]\sin(\theta)=\cos(\theta-\frac{\pi}{2})[/tex]
So switching between the two isn't that hard.
Of course, you'll have to adjust that to compensate for how many tics you'll be using per quarter arc.
 

Similar threads

  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 14 ·
Replies
14
Views
2K
  • · Replies 6 ·
Replies
6
Views
7K
  • · Replies 3 ·
Replies
3
Views
4K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
Replies
2
Views
7K
  • · Replies 2 ·
Replies
2
Views
2K