/*******************************************************************************

** 程序名称:FIR低通滤波器

** 程序描述:50阶FIR低通滤波器,通过频率2500Hz,截止频率3000Hz

** 性能提升:

** 程序版本:V1.0

** 程序作者:syrchina

** 最后修改:2011年8月1日

*******************************************************************************/

#include

/**********************************宏定义**************************************/

#define PI 3.1415926535

#define Size_Datas 64

/*******************************数据类型构造***********************************/

typedef float DataType;

int main(void)

{

DataType Xin[Size_Datas], Output=0, sum=0;

int n=0, i=0, nNow=0;

short int h[51] = {

-35, -219, -503, -494, -8, 347, 19, -348, 26,

404, -103, -485, 220, 579, -398, -678, 663, 774,

-1073, -859, 1769, 925, -3279, -968, 10363, 17367, 10363,

-968, -3279, 925, 1769, -859, -1073, 774, 663, -678,

-398, 579, 220, -485, -103, 404, 26, -348, 19,

347, -8, -494, -503, -219, -35};

const int ORDER = sizeof(h)/sizeof(h[0]);

for(i=0; i

{

Xin[i] = ((sin(2*PI*i*2000/10000) + sin(2*PI*i*4000/10000)));

}

n = ORDER;

while (1)

{

//input new x[]

sum = 0;

for (i=0; i

{

nNow = n - i;

if(nNow < 0)

{

nNow = Size_Datas + nNow;

}

sum = sum + h[i] * Xin[nNow];

}

Output = sum / 32767;

n = (n+1) & 0x3f;

//Output

}

return 0;

}

整理一下:

/*******************************************************************************

** 程序名称:FIR低通滤波器

** 程序描述:50阶FIR低通滤波器,通过频率2500Hz,截止频率3000Hz

** 性能提升:

** 程序版本:V1.0

** 程序作者:syrchina

** 最后修改:2011年8月1日

*******************************************************************************/

#include

/**********************************宏定义**************************************/

#define PI 3.1415926535

#define Size_Datas 64

/*******************************数据类型构造***********************************/

typedef float DataType;

int main(void)

{

DataType Xin[Size_Datas], Output=0, sum=0;

int n=0, i=0, nNow=0;

// h[]参数使用matlab的FDAtool计算获得:50阶FIR低通滤波器,通过频率2500Hz,截止频率3000Hz

short int h[51] = {

-35, -219, -503, -494, -8, 347, 19, -348, 26,

404, -103, -485, 220, 579, -398, -678, 663, 774,

-1073, -859, 1769, 925, -3279, -968, 10363, 17367, 10363,

-968, -3279, 925, 1769, -859, -1073, 774, 663, -678,

-398, 579, 220, -485, -103, 404, 26, -348, 19,

347, -8, -494, -503, -219, -35};

const int ORDER = sizeof(h)/sizeof(h[0]);

for(i=0; i

{

Xin[i] = ((sin(2*PI*i*2000/10000) + sin(2*PI*i*4000/10000)));

}

n = ORDER;

while (1)//循环演示

{

//input new x[]

sum = 0;

for (i=0; i

{

nNow = n - i;

if(nNow < 0)

{

nNow = Size_Datas + nNow;

}

sum = sum + h[i] * Xin[nNow];

}

Output = sum / 32767;

n = (n+1) & 0x3f;// 0~63循环

//Output

}

return 0;

}

fir滤波器算法c语言程序,FIR滤波器C语言代码相关推荐

  1. 8255a初始化c语言程序,8255A的c语言程序.doc

    8255A的c语言程序 8255A的c语言程序 [实例24]用8243扩展I/O端口 #include sbit ContrBit0=P1^0; sbit ContrBit1=P1^1; sbit C ...

  2. fir滤波器算法c语言程序,FIR滤波器设计C语言程序

    实际可运行的FIR滤波器系数设计的C语言程序 #include"math.h" #include"stdio.h" /*n:滤波器的阶数,n是奇数时可用来设计各 ...

  3. fir c语言程序,fir.rar fir的c语言程序 - 下载 - 搜珍网

    fir/16组实验报告/16组试验报告.doc fir/16组实验报告/源程序/Fir_c/cc_build_Debug.log fir/16组实验报告/源程序/Fir_c/Debug fir/16组 ...

  4. 数字带通滤波器c语言程序,IIR数字滤波器C语言

    1.模拟滤波器的设计 1.1巴特沃斯滤波器的次数 根据给定的参数设计模拟滤波器,然后进行变数变换,求取数字滤波器的方法,称为滤波器的间接设计.做为数字滤波器的设计基础的模拟滤波器,称之为原型滤波器.这 ...

  5. 怎么用centos7运行c语言程序_写C语言程序,如何提升程序运行效率?我的一点经验分享给你们!...

    在编写C语言程序后,经常需要对源码进行优化,以提高程序的运行效率,下面简述几个常用的优化技巧以供大家参考: 1.C于代码在程序中的优化 现在的C编译器会自动对代码进行优化,但这些优化是对执行速度和代码 ...

  6. 使用VS2019开始第一个C语言程序,环境安装配置+代码实例

    C语言文章更新目录 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程机制 C语言基础-第一个C程序 C语言基础-简单程序分 ...

  7. c语言程序的引言,C语言程序设计-第1章-引言

    <C语言程序设计-第1章-引言>由会员分享,可在线阅读,更多相关<C语言程序设计-第1章-引言(80页珍藏版)>请在人人文库网上搜索. 1.c语言编程,2,1 .你为什么学这门 ...

  8. c语言程序考试试题,C语言程序设计期末考试试题(含答案)

    <C语言程序设计期末考试试题(含答案)>由会员分享,可在线阅读,更多相关<C语言程序设计期末考试试题(含答案)(6页珍藏版)>请在人人文库网上搜索. 1.C 语言程序设计期末考 ...

  9. c语言程序编程线性方程,C语言编程求解线性方程.doc

    C语言编程求解线性方程 本 科 专 业 学 年 论 文 题目:线性方程组求解方法比较 姓 名 郭 凤 专 业 计算机科学与技术专业 班 级 08级本科(2)班 指导教师 刘 晓 娜 完成日期:2010 ...

  10. C语言程序项目计划书,C语言程序的设计课程的设计的计划书.doc

    C语言程序的设计课程的设计的计划书 C语言程序设计课程设计计划书一.目的1.熟悉并掌握C语言程序设计的基本方法与技能.2.掌握利用递归进行程序设计的方法.3.掌握对随机事件进行全程模拟的基本方法.4. ...

最新文章

  1. 什么是网络可见性?—Vecloud微云
  2. mysql百万级性能瓶颈-数据库选型
  3. aliy 数据库连接池加密_Druid实现数据库连接用户密码加密 互联网技术圈 互联网技术圈...
  4. linux防止文件和目录被意外删除或修改
  5. 300万像素导航机 喏羁押2268跌破1500
  6. membercache java_Java开发中的Memcache原理及实现
  7. C++PrimerP104
  8. 第2章 信息系统集成及服务管理
  9. VB连接数据库SQL sever
  10. 小米路由器Android,手机设置小米路由器_小米路由器用手机设置教程-192路由网
  11. 20年以后的科技发展小短文计算机,20年后的我小学想象作文
  12. 解决windows虚机系统时间与北京时间相差8小时
  13. Social Radio:像收听广播一样收听Twitter状态更新
  14. plotly绘制简单图形10--金字塔图
  15. 咋把计算机程序固定到任务栏中,win10我的电脑固定到任务栏如何操作_win10怎么把我的电脑放到任务栏...
  16. pta 7-29 螺旋矩阵
  17. 【阿里云资讯】作战指挥系统碾压美军?!阿里双11破千亿背后的重大机密......
  18. vue中input禁止输入中文_input禁止键盘及中文输入,但可以点击
  19. 百度文字转语音免费接口使用实例
  20. 小方法!教你如何下载喜欢的明星剧照当电脑桌面

热门文章

  1. 在家怎么连接到公司的网络,ssh ,ftp ,3389 ...
  2. TCP协议调试工具TcpEngine V1.3.0使用教程
  3. 为什么说无纸化会议终将淘汰纸质会议,无纸化是大势所趋
  4. PS修改PSD源文件
  5. 及时总结工作中的经验是个人成长的关键
  6. 大数据实时处理:百分点实时计算架构和算法
  7. 网吧服务器网络维护教程,网管员维护服务器过程中的反黑技巧
  8. android 时间 实现,android-日期和时间选择实现
  9. 中兴服务器400,中兴通讯高性能400G方案:攀登5G高峰
  10. hdoj4550 威威猫系列故事——打地鼠(java版)