Altera_Forum
Honored Contributor
16 years agoTHD+N (Asin wt)
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