美文网首页
C语言实现序列卷积

C语言实现序列卷积

作者: toknow | 来源:发表于2018-05-05 12:46 被阅读0次

    在上一篇博客中讲解了卷积和滤波的区别,本文主要介绍利用C如何实现序列卷积。
    https://www.jianshu.com/p/81e0fffe3840
    采用上文中的第一种方法实现:

    #include<stdio.h>
    #define MATRIX_DIM 1024
    #define FILTER 32
    int main(){
    //初始化参数
        float result[MATRIX_DIM + FILTER - 1];
        float a_in[FILTER];
        float b_in[MATRIX_DIM];
        float c_in[MATRIX_DIM + FILTER - 1];
        for (int i = 0; i < MATRIX_DIM; i++) {
            b_in[i] = i;
        }
        for (int i = 0; i < MATRIX_DIM + FILTER -1; i++) {
            c_in[i] = 0;
            result[i] = 0;
        }
        for (int i = 0; i < FILTER; i++) {
            a_in[i] = i*1.0;
        }
        for (int j = 0; j < MATRIX_DIM+FILTER-1 ; j++) {
            for (int k = 0; k < MATRIX_DIM; k++) {
            if ( (j - k) >= 0 && (j - k) < FILTER) {
                c_in[j] += a_in[j - k] * b_in[k];
                }       
            }
        }
    return 0;
    }
    

    相关文章

      网友评论

          本文标题:C语言实现序列卷积

          本文链接:https://www.haomeiwen.com/subject/bywsrftx.html