THD+N (Asin wt) - sine wave without multiplier is infinity

Status
Not open for further replies.

jasonkee111

Junior Member level 3
Joined
Feb 8, 2009
Messages
28
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,501
Hi. I generated 1 sine wave (24bit output[23:0]). In order to control the amplitude, the output multiply with a ratio(fixed point multiplier). for fix point multiplication,

verilog declaration
sin [23:-10]//zero pad
ratio [0:-10]
result_mult [24:-20]

Asin <= result[23:0]

After the simulation, i realised that the THD+N is 74(-80db to -6)(the THD+N of sine wave without multiplier is infinity).

May i know what is the problem to cause this? How to reduce this?
Any better way to control the amplitude? using floating point mult?

Besides, why the result_mult have to be [24:-20] instead of [23:-20]? if use [23:-20]. the result_mult always 2 times less than the correct one.

thanks a lot
 

Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…