This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 使用 IQ15sinPu 生成的正弦波频率不正确

Guru**** 2576215 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/647415/sine-wave-generation-using-iq15sinpu-incorrect-frequency

大家好、

我使用 IQ15sinPu 在30K 频率的中断服务中生成50Hz 正弦波。 但我测量的频率实际上是49.4Hz。

下面是我的配置:

if (theta < 32768) theta += 54;

否则 θ= 0;

a =_IQ15sinPu (theta & 0x7FFF);

b =_IQ15sinPu ((theta - 10922)&0x7FFF);

C =_IQ15sinPu ((theta + 10922)&0x7FFF;

是否有人可以给我一些关于提高准确性的建议?

BR、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Sheldon、
    限制是定点的角度分辨率。 如果使用15位、则无法表示所需的精确角度增量。 您可以使用具有更多小数位的 IQ 格式、也可以维持一个 ISR 计数器、该计数器每600个中断将 θ 重置为零。
    此致、
    Richard