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

主要是获取滤波器参数和卷积算法,参数根据自己的滤波器特性用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);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/536585.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浏览器拦截跨域请求处理方法(已阻止跨源请求:同源策略禁止读取远程资源)

原文地址&#xff1a;http://my.oschina.net/lichaoqiang/blog/317823 在浏览器请求中&#xff0c;出现跨域访问资源的问题&#xff0c;我们肯定会遇到。如果跨域请求被阻止&#xff0c;有可能导致css、js 、ajax请求、font字体等资源出现无法正常访问的问题。接下来&#xff0…

C程序设计语言上机13,《高级语言程序设计》北大上机试题(十三)

C语言上机试题&#xff1a;131&#xff0e;题目&#xff1a;编一C程序&#xff0c;其功能是能把读入一串英文单词(以单词end做为结束标记&#xff0c;单个单词字母数≤20)&#xff0c;并按字典顺序输出。(注&#xff1a;可执行程序命名为e13_1.exe)程序设计&#xff1a;#includ…

Activiti6.0 java项目框架 spring5 SSM 工作流引擎 审批流程

即时通讯&#xff1a;支持好友&#xff0c;群组&#xff0c;发图片、文件&#xff0c;消息声音提醒&#xff0c;离线消息&#xff0c;保留聊天记录 &#xff08;即时聊天功能支持手机端&#xff0c;详情下面有截图&#xff09;工作流模块-------------------------------------…

c语言变量强制转换,C语言——“=”中的强制类型转换

前言&#xff1a;在写程序时候遇到了一些关于数据类型转换的问题&#xff0c;编译器也没有报错&#xff0c;运行时才发现数据不对&#xff0c;找bug花费了很多时间&#xff0c;但最终也发现是一些细节上的问题&#xff0c;特地在这里整理出一篇文章记录。实验环境&#xff1a;芯…

Spring框架IOC和AOP的实现原理(概念)

IoC&#xff08;Inversion of Control&#xff09; (1). IoC&#xff08;Inversion of Control&#xff09;是指容器控制程序对象之间的关系&#xff0c;而不是传统实现中&#xff0c;由程序代码直接操控。控制权由应用代码中转到了外部容器&#xff0c;控制权的转移是所谓反…

面向视频的全新AI架构 —— 阿里云智能视觉技术全解

2019独角兽企业重金招聘Python工程师标准>>> 我们都知道&#xff0c;AI技术正在以可见的速度被应用于各行各业&#xff0c;然而绝大部分业务场景想应用AI技术&#xff0c;都需要算法工程师根据自身业务的标注数据&#xff0c;来进行单独训练&#xff0c;才能打磨出合…

c语言巩固,巩固一下C语言中的指针

写了几段代码&#xff0c;再巩固一下C语言知识。我的记忆方法跟文章中的不一样。*是取值符号&#xff0c;&取地址符号&#xff0c;()限定子表达式的符号,[]是按索引取数组乘员的符号。优先级方面()>[]>*,&。对于int *(*p(int))[3]; 。我是这么分析的&#xff1a;…

c语言程序设计课程设计学生信息管理系统,C语言程序设计课程设计报告----学生信息管理系统.doc...

河南理工大学计算机学院《C语言程序设计》课程设计报告题目&#xff1a; 学生信息管理系统专业&#xff1a; 计算机科学与技术班级&#xff1a; 计算机XX班学号&#xff1a; 311009033232姓名&#xff1a; *****日期&#xff1a;2012年3月21日1.2意义熟悉C语言程序的编程环境、…

【转】利用python的KMeans和PCA包实现聚类算法

转自&#xff1a;https://www.cnblogs.com/yjd_hycf_space/p/7094005.html 题目&#xff1a; 通过给出的驾驶员行为数据&#xff08;trip.csv&#xff09;&#xff0c;对驾驶员不同时段的驾驶类型进行聚类,聚成普通驾驶类型&#xff0c;激进类型和超冷静型3类 。 利用Python的s…

c 语言str.size,C/C++ strlen(str)和str.length()和str.size()的区别

strlen(str)和str.length()和str.size()都可以求字符串长度,返回字符串中字符的长度&#xff0c;不包括‘/0’。其中str.length()和str.size()是同义词&#xff0c;返回同样的值。strlen(str)是用于求字符数组的长度&#xff0c;其参数是char*。#include #include using namesp…

想跑次高频策略?快来看看Numpy处理真格量化tick数据的技巧

使用澎博真格量化时&#xff0c;很多用户希望用numpy处理tick数据&#xff0c;包括tick数据的留存和运算。 这里有一些技巧。 因为tick数据量比较大&#xff0c;为了降低系统的运算负担&#xff0c;我们不应该在内存里保存大量tick数据。 比如我们只想保存过去10个tick。 可以在…

if语句写阶跃函数C语言,C语言第四章分支语句.ppt

C语言第四章分支语句.ppt例&#xff1a; 输入三个实数&#xff0c;按从小到大的顺序输出。 main( ) {float a,b,c,t; scanf(“%f,%f,%f ”,&a,&b,&c); if (a>b) { ta; ab; bt; } if (a>c) { ta; ac; ct; } if (b>c) { tb; bc; ct; } printf(“%5.2f,%5.2f…

日本显示屏巨头JDI不敌业务压力,宣布接受中方注资...

本次10亿美元的融资金额中&#xff0c;其中7.2亿美元据传来自中国丝绸之路基金。 最初&#xff0c;在液晶领域日本企业一直都占据着主要市场&#xff0c;如夏普、NEC、东芝等。后来随着韩国三星、LG的强势进入&#xff0c;日本企业的生存空间开始被抢占&#xff0c;现如今中国…

c语言中 d 1是啥意思,空开D/C是什么意思?终于有人把它说清楚了!

原标题&#xff1a;空开D/C是什么意思&#xff1f;终于有人把它说清楚了&#xff01;空气开关是每个人家里必用的东西&#xff0c;但是你到五金店一看&#xff0c;大大小小的开关插座多了去&#xff0c;让人眼花缭乱。怎么选呢&#xff1f;空开有各种字母型号&#xff0c;这些字…

微信小程序开发 | 官方问答精选

2019独角兽企业重金招聘Python工程师标准>>> SF问答精选《七》 多组件显示与隐藏如何实现、function中的...SF问答精选《六》canvas不显示问题SF问答精选《五》菜单内容左右联动、生命周期函数SF问答精选《四》eslint 配置使用 co function&#xff1b;apache 反向代…

36岁自学C语言,C语言的数据类型

在C语言中&#xff0c;数据类型可以分为&#xff1a;基本数据类型&#xff0c;构造数据类型&#xff0c;指针类型&#xff0c;空类型四大类。基本数据类型基本数据类型最主要的特点是&#xff0c;其值不可以再分解为其他类型。也就是说&#xff0c;基本数据类型是自我说明。构造…

清北学堂培训2019.4.4

第一次培训&#xff0c;心情有点激动&#xff08;尽管没了清明节&#xff09;&#xff0c;还见到了各地的dalao们&#xff0c;十分开森 Day 1&#xff08;李昊dalao&#xff09; 上午篇 上午呢&#xff0c;主要讲了关于高精&#xff0c;快速幂&#xff0c;膜模意义下的运算&…

国二c语言作弊用u盘,计算机等级考试可以插u盘吗(全国计算机等级考试报名系统官网)...

&#xff1a;不可以 会有嘀嘀嘀的报警声的&#xff1a;我以前考时不让带的&#xff0c;人家让你不能用优盘的话电脑会控制没法用的。&#xff1a;首先肯定回你&#xff0c;不可以带优盘或者其他作弊设备。很多计算机二级考点会把主机箱锁死&#xff0c;根本插不了优盘。在你进入…

「SCOI2011」棘手的操作

传送门 Description 有\(N\)个节点&#xff0c;标号从\(1\)到\(N\)&#xff0c;这\(N\)个节点一开始相互不连通。第$ i\(个节点的初始权值为\)a_i$ &#xff0c;接下来有如下一些操作&#xff1a; U x y 加一条边&#xff0c;连接第 \(x\) 个节点和第\(y\) 个节点。 A1 x v 将…

swft c 语言 数组,如何在swift中实现数组的深拷贝

在Objective-C中如果想将一个数组赋值给另外一个数组&#xff0c;同时想让两个数组之间相互独立(即改变其中的一个数组&#xff0c;不影响另外的一个)&#xff0c;有很多的办法&#xff0c;比如我们可以直接copy,用类方法创建新数组。这样得到的数组和原来的数组就是两个完全独…