GD32F303之数字信号卷积

[复制链接]
1646|2
 楼主| zeshoufx 发表于 2019-9-5 10:49 | 显示全部楼层 |阅读模式
一、输入
输入1:正弦信号=sin(2*pi*50*t); 长度为64;
输入2:阶跃信号=ones(1,N);长度为64;

二、结果
406855d7077aebb882.png
三、测试函数
  1. #include "dsp_conv.h"


  2. void conv_test(void)
  3. {
  4.         u16 i=0;
  5.         static float32_t psac[64],psbc[64],pout[127];
  6.        
  7.         for(i=0;i<64;i++)
  8.         {
  9.                 psac[i]=arm_sin_f32(2*3.1415926*50*i/1000);
  10.                 psbc[i]=1.0;
  11.         }
  12.         arm_conv_f32(psac,64,psbc,64,pout);
  13.         for(i=0;i<127;i++)
  14.         {
  15.                 printf("%f\r\n",pout[i]);
  16.         }
  17. }



四、主函数

  1. /*
  2.     昆明电器科学研究所 张恩寿 2019年5月3日
  3.        
  4.        
  5. */
  6. #include "bitband.h"
  7. #include "led_config.h"
  8. #include "systick.h"
  9. #include "usart.h"
  10. #include "spi_flash.h"
  11. #include "tft.h"
  12. #include "key_lookup.h"
  13. #include "dsp_conv.h"




  14. int main(void)
  15. {                       
  16.         systick_config(120);
  17.         nvic_priority_group_set(NVIC_PRIGROUP_PRE2_SUB2);
  18.         usart0_init(115200);
  19.     led_init();
  20.         conv_test();
  21.         
  22.         while(1)
  23.         {
  24.                 led_on();
  25.                 delay_nms(600);
  26.                 led_off();
  27.                 delay_nms(600);
  28.         }
  29.                
  30. }





五、总结
结果与MATLAB卷积结果一致,并且输出结果长度为64+64-1=127,符合卷积结论,效果非常好。

卷积结果

卷积结果

评论

自己先顶一个  发表于 2019-9-5 11:03
QQ2224043166 发表于 2021-12-11 16:05 | 显示全部楼层
感谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

1991

帖子

15

粉丝
快速回复 在线客服 返回列表 返回顶部