主要是获取滤波器参数和卷积算法,参数根据自己的滤波器特性用matlab上面的一个fdatool工具配置生成,然后将这些参数写入程序里面即可(参数可适当的乘以一个系数,对滤波没任何影响),我这里Fs = 2k,Fpass= 1k,Fstop = 2k,至于输入数据你可以自己产生几个不同频率正弦波的叠加。我这里随便给的一个输入例子:

f1=1k,f2=6k,fs=20k

采样数据:200

3012-35-2 -10911-14-18-10-19-1213 7-10-14-3 153010-35 -4-9119-16 -17-10 -20-9 144-1113 -317297-2 5-5-8127 -17-16 -11-20 -7152-102 2-220285 -25-7-614 4-19-15-12-20-415 0-1031-1 22263-15 -8-4142-20 -13-12 -20-1 15-2-940 1252510 4-9-215-1 -20-12 -13-20 214-4-85 -132622-1 13-10015 -4-20 -12-15 -19414-6-7 5-252820 -222-102 15-7-20-11-16-177 12-8-55-2 72917-33 1-11414-9 -20-10 -17-16 911-9-45 -3103015-3 4-1-10713 -12-19 -10-18 -1411 9-10-25-3 1230

39阶参数:

110-2-5 -9-13 -18-22 -23-21 -130173964 88109 124133 133124 10988 6439170-13 -21-23 -22-18 -13-9 -5-2011

#include

#include

#define samples 200

#define taps 40

int input[samples] = {30,12,-3,5,-2,-10,9,11,-14,-18,-10,-19,-12,13,7,-10,-1,4,-3,15,30,10,-3,5,-4,-9,11,9,-16,-17,-10,-20,-9,14,4,-11,1,3,-3,17,29,7,-2,5,-5,-8,12,7,-17,-16,-11,-20,-7,15,2,-10,2,2,-2,20,28,5,-2,5,-7,-6,14,4,-19,-15,-12,-20,-4,15,0,-10,3,1,-1,22,26,3,-1,5,-8,-4,14,2,-20,-13,-12,-20,-1,15,-2,-9,4,0,1,25,25,1,0,4,-9,-2,15,-1,-20,-12,-13,-20,2,14,-4,-8,5,-1,3,26,22,-1,1,3,-10,0,15,-4,-20,-12,-15,-19,4,14,-6,-7,5,-2,5,28,20,-2,2,2,-10,2,15,-7,-20,-11,-16,-17,7,12,-8,-5,5,-2,7,29,17,-3,3,1,-11,4,14,-9,-20,-10,-17,-16,9,11,-9,-4,5,-3,10,30,15,-3,4,-1,-10,7,13,-12,-19,-10,-18,-14,11,9,-10,-2,5,-3,12,30};

int output[samples];

int coefficients[taps] = {1,1,0,-2,-5,-9,-13,-18,-22,-23,-21,-13,0,17,39,64,88,109,124,133,133,124,109,88,64,39,17,0,-13,-21,-23,-22,-18,-13,-9,-5,-2,0,1,1};

int state[taps+1]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

main()

{

int temp;

int i;

int j;

int k;

for (k = 0; k < samples; k++)

{

state[0] = input[k];

for (i = 0, temp = 0; i < taps; i++)

temp += coefficients[i] * state[i];

output[k] = temp;

for (j = taps-1; j > -1 ; j--)

state[j+1] = state[j];

}

for( i = 0; i<200;i++){

printf("%d,",&output[i]);

}

exit(0);

}

下面使用matlab仿真的结果

fs =20000; f1 = 1000; f2 = 3000; f3 = 6000;   T=10*10^(-3); t=linspace(0,T,fs*T); y =round(10*cos(2*pi*f1*t)+10*cos(2*pi*f2.*t)+10*cos(2*pi*f3.*t)); lpf=[11 0-2-5-9-13 -18-22 -23-21 -130173964 88109 124133 133124 10988 6439170-13 -21-23 -22-18 -13-9 -5-2011]   y1 =conv(y,lpf);     figure; plot(y); figure; plot(y1);

数字带通滤波器c语言程序,C语言编写FIR数字低通滤波器相关推荐

  1. c语言0x前缀的作用,有趣的问题,C语言程序中,为什么十六进制数字以前缀0x开头呢?...

    C语言允许程序员逐位操作变量,此时,最直观的数字表示方式自然是二进制.不过这样常常会让数字看起来"过长",例如十进制的 255 使用二进制表示为 11111111,因此,在C语言程 ...

  2. 使用notepad 开发c语言程序,使用notepad++编写程序

    很多初学者不是很能够理解notepad++这一类编辑器的作用:比如说这个东西好像是查错比较困难什么的,反正我现在不会用编辑器查错.毕竟只是一个编辑器嘛.但是到了后来你随时随地想到一个程序像编写了运行一 ...

  3. 棱形旋转c语言程序_C 语言时隔 5 年重回巅峰,这 20 个热门项目拿去练手!

    在上个月的 TIOBE 编程语言排名中,C 语言和 Java 的差距只有 0.01%.在近日 TIOBE 公布的 2020 年 5 月编程语言排行榜中,C 语言成功超越了 Java,重返第一的王者宝座 ...

  4. 蜂鸣器发出7种音阶c语言程序_C语言编程新思路

    第一章 单元测试 1.单选题: 关于一个C语言程序执行的起点和终点,以下选项正确的是 ( ). 选项: A: main 任意 B: main 最后一个 C: main main D: 第一个 最后一个 ...

  5. 我的世界c语言程序,C语言基本知识

    软件是将一组程序组织起来 每个程序由一组指令组成 数据结构+算法 数据结构 在程序中要指定数据的类型和数据的组织形式. 算法(程序的灵魂) 就是为了解决实际问题而提出的具体方法与步骤. 算法的特点 有 ...

  6. 文件的记录c语言程序,c语言程序学生籍贯信息记录簿设计.docx

    c 语言程序学生籍贯信息记录簿设计 学生籍贯信息记录簿 课程设计报告书 班 级: 方 0909-1 学 号:姓 名: 苑 小 叶 指导教师 : 康 亚 男 石家庄铁道大学四方学院 2010年 07月 ...

  7. 学生实验平台搭建c语言程序,c语言程序设计实验学生用.doc

    c语言程序设计实验学生用 C语言程序设计 实验指导 (学生用) 计算机基础教研室 <C语言程序设计>课程组 2012年9月 前 言 <C语言程序设计>是计算机科学技术系面向全校 ...

  8. 青花瓷音乐的单片机c语言程序,c语言曲谱_单片机c语言音乐简谱代码

    51单片机曲谱编写音乐程序,我看不懂曲谱,谁能教下我! //<世上只有妈妈好>51单片机C语言程序和音乐采灯程序 //此程序在硬件上调试通过 //本程序的单片机晶振采用11.0592MHZ ...

  9. 框图c语言程序,C语言程序设计框图

    <C语言程序设计框图>由会员分享,可在线阅读,更多相关<C语言程序设计框图(86页珍藏版)>请在人人文库网上搜索. 1.第三章控制结构,返回总目录,目录,3.1节目结构框,3. ...

  10. 简单谱子C语言程序,c语言曲谱_单片机c语言音乐简谱代码

    51单片机曲谱编写音乐程序,我看不懂曲谱,谁能教下我! //<世上只有妈妈好>51单片机C语言程序和音乐采灯程序 //此程序在硬件上调试通过 //本程序的单片机晶振采用11.0592MHZ ...

最新文章

  1. 【FFmpeg】使用过的命令汇总(持续更新中...)
  2. 【博士论文】分形计算系统
  3. 关于mysql启动问题---mysqld_safe mysqld from pid file * ended
  4. @有两个含义:1,在参数里,以表明该变量为伪参数 ,在本例中下文里将用@name变量代入当前代码中2,在字串中,@的意思就是后面的字串以它原本的含义显示,如果不...
  5. java ajax 获取headers_jquery ajax 怎么获得返回的response headers
  6. window系统下安装TensorFlow-gpu
  7. CTabCtrl控件标签的相关设置
  8. 软件测试--数据库基础知识
  9. 马哥Linux培训第二周课程作业
  10. iOS开发之画图板(贝塞尔曲线)
  11. ajax上传文件 基于jquery form表单上传文件
  12. java自动机字符串匹配_【算法】利用有限自动机进行字符串匹配
  13. 国产麒麟操作系统kylin V10 sp2操作系统安装openldap和kerberos
  14. 嵌入式Linux:移植USB接口的RTL8188EUS、RTL8188ETV WIFI模块
  15. 常见latch闩锁等待
  16. DELL安装不了mysql_dell电脑win10怎么安装mysql
  17. 前端 css实现文字竖向排列
  18. 神奇智能搜索引擎:perplexity智能搜索引擎(ChatGPT与Edge合体——联网版chatGPT)
  19. win下 远程控制(教程+工具+黑客常用命令)
  20. NDK开发——FFmpeg实现视频转YUV、视频转RGB显示、音频转PCM、音频播放、音视频同步

热门文章

  1. mysql 集群怎么卸载节点_Greenplum移除节点
  2. win7装mysql一直未响应6_win7重装mysql最后一步无响应解决方法
  3. 计算机控制系统EHA,优·计算机控制技术第四章.doc
  4. php post 微信沙箱,微信支付平台错误:获取沙箱密钥失败,确保交易密钥是
  5. java报错空指针异常_java – 空指针异常错误,没有明显的代码错误
  6. 编译型与解释型、动态语言与静态语言、强类型语言与弱类型语言概念辨析
  7. 对比损失的PyTorch实现详解
  8. java拼三级魔方_魔方秘籍(详细解法)《三阶》
  9. java移动端接口测试_使用java如何进行接口测试
  10. linux18配置静态ip,ubuntu18配置静态IP地址