一、克拉克变换
输入信号:
ia=sin(2*pi*50*t);
ib=sin(2*pi*50*t+120);
二、克拉克变换测试程序
- #include "dsp_clark.h"
- void clark_test(void)
- {
- u16 i=0;
- static float32_t a[320]={0,0.309016994374947,0.587785252292473,0.809016994374948,0.951056516295154,1,0.951056516295154,
- ......};
-
- static float32_t b[320]={0.580611184212314,0.803789806568364,0.948287882324612,0.999960933048743,0.953750840508565,
- ......};
-
- float32_t iapha[320];
- float32_t ibelt[320];
- for(i=0;i<320;i++)
- {
- arm_clarke_f32(a[i],b[i],&iapha[i],&ibelt[i]);
- printf("%f\r\n",iapha[i]);
- }
-
- }
三、结果
四、主函数
- /*
- 昆明电器科学研究所 张恩寿 2019年5月3日
-
-
- */
- #include "bitband.h"
- #include "led_config.h"
- #include "systick.h"
- #include "usart.h"
- #include "spi_flash.h"
- #include "tft.h"
- #include "key_lookup.h"
- #include "dsp_clark.h"
- int main(void)
- {
- systick_config(120);
- nvic_priority_group_set(NVIC_PRIGROUP_PRE2_SUB2);
- usart0_init(115200);
- led_init();
- clark_test();
-
- while(1)
- {
- led_on();
- delay_nms(600);
- led_off();
- delay_nms(600);
- }
-
- }
五、总结
可能是昨天晚上取得数据和今天的有所误差,,不过串口打印出来的数据个别出现极大或极小,,后续将持续研究
|