你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 切比雪夫ii型滤波

[复制链接]
佛珠里的线-391817 提问时间:2016-11-11 11:00 /
有谁可以帮忙,我需要切比雪夫ii型的高通、低通、带通的滤波程序,对这个不是很了解,想研究下,我可以从MATLAB上把滤波系数搞定,但是不知道怎么用C语言在单片机上实现滤波,请各位大侠帮忙,急需
int16_t IIR_Filter(double *a, int Lenth_a,  
                  double *b, int Lenth_b,  
                  int16_t Input_Data,  
                  double *Memory_Buffer)   
{  
    int Count=0;  
    double Output_Data = 0;   
    int Memory_Lenth = 0;

    if(Lenth_a >= Lenth_b) Memory_Lenth = Lenth_a;  
    else Memory_Lenth = Lenth_b;  
                
    Output_Data += (*a) * Input_Data;  //a(0)*x(n)               

    for(Count = 1; Count < Lenth_a ;Count++)  
    {  
        Output_Data -= (*(a + Count)) *  
                        (*(Memory_Buffer + (Memory_Lenth - 1) - Count));                       
    }                                          
    //------------------------save data--------------------------//   
    *(Memory_Buffer +Memory_Lenth-1 ) = Output_Data;  
    Output_Data = 0;  
    //----------------------------------------------------------//   

    for(Count = 0; Count < Lenth_b ;Count++)  
    {         
        Output_Data += (*(b + Count)) *  
                       (*(Memory_Buffer + (Memory_Lenth - 1) - Count));        
    }  

    //------------------------move data--------------------------//   
    for(Count = 0 ; Count < Memory_Lenth -1 ; Count++)  
    {  
        *(Memory_Buffer + Count) = *(Memory_Buffer + Count + 1);  
    }  
    *(Memory_Buffer + Memory_Lenth - 1) = 0;  

    //-----------------------------------------------------------//  

    return (int16_t)Output_Data;   
}

这个函数只能实现低通滤波,高通实现不了,带通也不对,不知道是我用错了还是高低带通需要不同的程序来实现
收藏 2 评论12 发布时间:2016-11-11 11:00

举报

12个回答
andrewz 回答时间:2016-11-11 11:07:10
很高级的名字...曾今也在matlab上面敲过...



st.png
stary666 回答时间:2016-11-11 11:16:49
就没用过,顶一下
peter001 回答时间:2016-11-11 13:46:39
支持一下,没搞过
adlu 回答时间:2016-11-11 14:51:33
本帖最后由 adlu 于 2016-11-11 15:02 编辑

TMS320C67x DSP Library Programmers Reference Guide.pdf (400.27 KB, 下载次数: 13)

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

assssdz 回答时间:2016-11-12 11:00:15
weigr 回答时间:2016-11-12 16:46:58
很想知道c怎么实现
佛珠里的线-391817 回答时间:2016-11-21 23:01:09
谢谢,各位,通过我上面的程序都是可以的,我只是采集的时候有点问题。
xhzheng 回答时间:2016-11-22 08:30:43
没有用C编过,
高二毛 回答时间:2016-11-22 09:02:07
学习学习。。。。。
anobodykey 回答时间:2016-11-22 09:42:35
帮顶,帮顶
andypanfan 回答时间:2016-11-29 09:06:45
太高端了,还没有用过呢 !!!
5265325 回答时间:2016-11-29 09:21:22

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版