工具/软件:Code Composer Studio
大家好
我对三角函数或同步的代码有一些问题、我将使用下一个函数:
sin (w*t)*Vin 和 cos (w*t)*Vin
正弦和余弦为我提供了正确的值、我可以通过输入断点并逐步执行(或通过计算这些值、我实现预期值)来确认这些值、 但是、我需要通过将正弦和余弦乘以我从 ADC 读取的一个信号来应用低通滤波器(在相同的中断期间)。 问题是我没有达到预期的值、而获得所需值(正确的值)的唯一方法是从外部读取正弦和余弦(也通过 ADC 并从同一个源读取)
在代码中(内部中断,我将在 ADC_SOC 示例中应用)
读取值(ADC):
SinRT_DSP = AdcResult.ADCRESULT4;
sinRT =((((double) sinRT_DSP)/4096*3.3* 20/33)-1;//缩放因子33/20可在输出端实现3.3V 电压,因此正弦余弦将从-1变为1
CosRT_DSP = AdcResult.ADCRESULT5;
CosRT =((((double) cosRT_DSP)/4096*3.3* 20/33)-1;//缩放因子33/20在 输出端实现3.3V 电压,因此正弦余弦将从-1变为1
生成的正弦值
u_one = sin (wp*2*pI*tot_time)*Vin;
u2_one = cos (wp*2*pI*tot_time)*Vin;
两个值都介于-1和1之间、BUTR I 不会收敛到相同的结果、并且我知道读取 ADC 值的值正常工作。
希望有人能帮助我理解这个问题。 提前感谢
最棒的!
Maria