打印

GD32F303之数字信号卷积

[复制链接]
1338|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一、输入
输入1:正弦信号=sin(2*pi*50*t); 长度为64;
输入2:阶跃信号=ones(1,N);长度为64;

二、结果

三、测试函数
#include "dsp_conv.h"


void conv_test(void)
{
        u16 i=0;
        static float32_t psac[64],psbc[64],pout[127];
       
        for(i=0;i<64;i++)
        {
                psac[i]=arm_sin_f32(2*3.1415926*50*i/1000);
                psbc[i]=1.0;
        }
        arm_conv_f32(psac,64,psbc,64,pout);
        for(i=0;i<127;i++)
        {
                printf("%f\r\n",pout[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_conv.h"




int main(void)
{                       
        systick_config(120);
        nvic_priority_group_set(NVIC_PRIGROUP_PRE2_SUB2);
        usart0_init(115200);
    led_init();
        conv_test();
        
        while(1)
        {
                led_on();
                delay_nms(600);
                led_off();
                delay_nms(600);
        }
               
}





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

卷积.png (44.09 KB )

卷积结果

卷积结果

使用特权

评论回复
评论
zeshoufx 2019-9-5 11:03 回复TA
自己先顶一个 
沙发
QQ2224043166| | 2021-12-11 16:05 | 只看该作者
感谢分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

1977

帖子

15

粉丝