TI论坛
直播中

李春梅

8年用户 1981经验值
私信 关注
[问答]

spwm滤波后的正弦半波频率与理论值不一样是哪里出了问题?


  • 用dsp28035来产生spwm,三角波频率为30khz,正弦波频率为50hz,载波比为n=600;

    时基的周期数值为1000,

    比较器的值;

    duty=500*sin(6.28*k/n)

    部分程序如下:


    EPwm2Regs.TBPRD = 1000;

       EPwm2Regs.TBPHS.half.TBPHS = 0x0000;

       EPwm2Regs.TBCTR = 0x0000;



       EPwm2Regs.CMPA.half.CMPA =500;

       EPwm2Regs.CMPB = 500;



    EPwm2Regs.AQCTLA.bit.CAU = AQ_CLEAR;

       EPwm2Regs.AQCTLA.bit.CAD =AQ_SET;

       EPwm2Regs.AQCTLB.bit.CAU = AQ_SET;

       EPwm2Regs.AQCTLB.bit.CAD = AQ_CLEAR;


    中断程序:


    duty=500*(sin(6.283*k/600));

       EPwm2Regs.CMPA.half.CMPA = duty;

       EPwm2Regs.CMPB = duty;

       k1++;




    产生的spwm滤波后,馒头波频率为10hz,和理论值50hz,不一样,这是哪里出错了,求帮忙啊

回帖(2)

余姗姗

2025-1-13 09:43:55
 这样的问题, 想想也只有是时间计算错误或者设置错误了
再好好查查, 还有寄存器值.
举报

叹久

2025-1-14 17:50:57
从您提供的代码和描述来看,您在使用DSP28035产生SPWM(Sinusoidal Pulse Width Modulation)信号时,滤波后的正弦半波频率与理论值不一致。以下是一些可能的原因和解决方案:

1. 滤波器设计问题:滤波器的设计可能不适合您的应用,导致滤波后的信号频率与理论值不一致。您可以尝试调整滤波器的设计参数,例如截止频率、阶数等,以获得更好的滤波效果。

2. 采样频率不足:在数字信号处理中,采样频率需要满足奈奎斯特定理,即采样频率至少为信号最高频率的两倍。在您的例子中,正弦波频率为50Hz,三角波频率为30kHz,因此采样频率至少需要60kHz。请检查您的DSP28035的采样频率是否满足这个要求。

3. 载波比计算错误:您提供的载波比为n=600,但是根据您提供的代码,EPwm2Regs.CMPA.half.CMPA = 500; EPwm2Regs.CMPB = 500; 这里的值应该是载波比的一半,即300。请检查您的载波比计算是否正确。

4. 正弦波生成问题:您提供的正弦波生成公式为duty=500*sin(6.28*k/n),这个公式是正确的。但是,请确保您的k值是从0到n-1的整数,否则可能会导致正弦波生成错误。

5. 代码错误:请仔细检查您的代码,确保没有语法错误或者逻辑错误。如果可能,请尝试使用仿真工具进行调试,以便更容易地发现问题。

综上所述,您需要检查滤波器设计、采样频率、载波比计算、正弦波生成公式以及代码本身是否存在问题。希望这些建议能帮助您解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分