当前位置: 首页 > news >正文

C语言 低通滤波器\带通滤波器\高通滤波器_liangchaoxi的IT博客_新浪博客

[知识交流]当信号和干扰信号同时存在时,不会发生叠加吗?要如何滤掉干扰信号?

文章发表于:2007-10-21 18:16

这是对滤波的理解有误,滤波不是指滤掉干扰信号的幅值,而是滤掉它的频率。有用信号和干扰信号的频率不同,如果干扰信号的频率高,则用一个低通滤波器滤掉干扰信号,如果信号频率高,则用一个高通滤波器滤掉干扰信号。

MATLAB:

   y(m)=-(a(2)*y(m-1)+a(3)*y(m-2)+a(4)*y(m-3)+a(5)*y(m-4)+a(6)*y(m-5)+a(7)*y(m-6)+a(8)*y(m-7)+a(9)*y(m-8))+(b(1)*x(m)+b(2)*x(m-1)+b(3)*x(m-2)+b(4)*x(m-3)+b(5)*x(m-4)+b(6)*x(m-5)+b(7)*x(m-6)+b(8)*x(m-7)+b(9)*x(m-8));

C语言
以下一个结果:通带 5Hz,1db, 阻带8Hz,40db

b=[0.0117   -0.0329    0.0451   -0.0329    0.0117]
a=[1.0000   -3.6048    4.9787   -3.1156    0.7447]

int        filterBegin=5;
double xBuf[5];
double yBuf[5];
double filter(double x)
{
        //把历史数据保存,算出yBuf[]并返回
        for(int i=4;i>0;i--)
        {
            yBuf[i] = yBuf[i-1]; xBuf[i] = xBuf[i-1];
        }
       xBuf[0] = x;

    if(filterBegin>0)
    {
        filterBegin =0;
       yBuf[0] = x;
       return x;
    }
    yBuf[0] = 0.0117* ( xBuf[0] +xBuf[4])  -0.0329 * (xBuf[1 ]+xBuf[3]) +0.0451*xBuf[2 ]
                -( -3.6048* yBuf[1] + 4.9787*yBuf[2]  -3.1156*yBuf[3] +    0.7447*yBuf[4]);
    return yBuf[0];
}

2、关于FIR带通滤波器的C语言设计程序 代码

 
  
 
  
 
  
 
  
void fir(short x[], short h[], short y[])
{
 int i, j, sum0, sum1;
 short x0,x1,x2,x3,x4,x5,x6,x7,h0,h1,h2,h3,h4,h5,h6,h7;  for (j = 0; j < 100; j+=2) {
  sum0 = 0;
  sum1 = 0;
  x0 = x[j];
  for (i = 0; i < 32; i+=8){
   x1 = x[j+i+1];
   h0 = h[i];
   sum0 += x0 * h0;
   sum1 += x1 * h0;
   x2 = x[j+i+2];
   h1 = h[i+1];
   sum0 += x1 * h1;
   sum1 += x2 * h1;
   x3 = x[j+i+3];
   h2 = h[i+2];
   sum0 += x2 * h2;
   sum1 += x3 * h2;
   x4 = x[j+i+4];
   h3 = h[i+3];
   sum0 += x3 * h3;
   sum1 += x4 * h3;
   x5 = x[j+i+5];
   h4 = h[i+4];
   sum0 += x4 * h4;
   sum1 += x5 * h4;
   x6 = x[j+i+6];
   h5 = h[i+5];
   sum0 += x5 * h5;
   sum1 += x6 * h5;
   x7 = x[j+i+7];
   h6 = h[i+6];
   sum0 += x6 * h6;
   sum1 += x7 * h6;
   x0 = x[j+i+8];
   h7 = h[i+7];
   sum0 += x7 * h7;
   sum1 += x0 * h7;
   }
  y[j] = sum0 >> 15;
  y[j+1] = sum1 >> 15;
 }
}
原文: http://zhidao.baidu.com/question/231132534.html

什么是谐波?什么是基波? 

最佳答案
谐波是一个数学或物理学概念,指周期函数或周期性的波形中不能用常数、与原函数的最小正周期相同的正弦函数和余弦函数的线性组合表达的部分。
基波:将非正弦周期信号按傅里叶级数展开,频率与原信号频率相同的量。

   
在电力系统中电压和电流均为周期波形,基波是指频率为50HZ的电压或电流成分,谐波是指频率为50hz整数倍的电压或电流成分,比如3次谐波就是频率为150hz的成分。 

 
二次谐波
   谐波 产生的根本原因是由于非线性负载所致。当电流流经负载时,与所加的电压不呈线性关系,就形成非正弦电流,从而产生谐波。谐波频率是基波频率的整倍数,根据法国数学家傅立叶(M.Fourier)分析原理证明,任何重复的波形都可以分解为含有基波频率和一系列为基波倍数的谐波的正弦波分量。谐波是正弦波,每个谐波都具有不同的频率,幅度与相角。谐波可以I区分为偶次与奇次性,第3、5、7次编号的为奇次谐波,而2、4、6、8等为偶次谐波,如基波为50Hz时,2次谐波为l00Hz,3次谐波则是150Hz。

 

基波

  jībō   〖fundamentalwave〗  复合波的最低频率分量。  在复杂的周期性振荡中,包含基波和 谐波。和该振荡最长周期相等的正弦波分量称为基波。相应于这个周期的频率称为 基本频率。频率等于基本频率的整倍数的正弦波分量称为谐波。
 

通带截止频率

  是滤波器中的带通滤波器的截止频率。带通滤波器是只允许ƒ1——ƒ2间的频率成分通过,其他频率成分衰减为零。
  
C语言 <wbr>低通滤波器\带通滤波器\高通滤波器

4种滤波器的幅频特性

截止频率

  幅频特性值等于A0的根2倍所对应的频率称为滤波器的截   止频率。

相关文章:

  • C语言 低通滤波器\带通滤波器\高通滤波器
  • 如何学习matlab
  • 如何学习matlab_liangchaoxi的IT博客_新浪博客
  • 奈奎斯特抽样定理_liangchaoxi的IT博客_新浪博客
  • 奈奎斯特抽样定理
  • 数值转换成字符串 字符字符串转换成数值_liangchaoxi的IT博客_新浪博客
  • 数值转换成字符串 字符字符串转换成数值
  • 一个字母、数字、汉字所占用的内存空间_liangchaoxi的IT博客_新浪博客
  • 一个字母、数字、汉字所占用的内存空间
  • 【CRC算法】CRC算法、原理及程序_liangchaoxi的IT博客_新浪博客
  • 【CRC算法】CRC算法、原理及程序
  • n%2==1什么意思?n/2什么意思?有n\2这种写法吗?_liangchaoxi的IT博客_新浪博客
  • n%2==1什么意思?n/2什么意思?有n\2这种写法吗?
  • 【运算符】C语言的运算符_liangchaoxi的IT博客_新浪博客
  • 【运算符】C语言的运算符
  • [译]Python中的类属性与实例属性的区别
  • 2017年终总结、随想
  • Android 控件背景颜色处理
  • Android开源项目规范总结
  • eclipse(luna)创建web工程
  • HTTP那些事
  • Java新版本的开发已正式进入轨道,版本号18.3
  • learning koa2.x
  • Lucene解析 - 基本概念
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • php面试题 汇集2
  • Python连接Oracle
  • 闭包--闭包作用之保存(一)
  • 线上 python http server profile 实践
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 责任链模式的两种实现
  • 06-01 点餐小程序前台界面搭建
  • kubernetes资源对象--ingress
  • Python 之网络式编程
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • #pragma data_seg 共享数据区(转)
  • $.each()与$(selector).each()
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (10)STL算法之搜索(二) 二分查找
  • (2)STL算法之元素计数
  • (2015)JS ES6 必知的十个 特性
  • (C++)八皇后问题
  • (二)pulsar安装在独立的docker中,python测试
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (三十五)大数据实战——Superset可视化平台搭建
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)c++ std::pair 与 std::make
  • ../depcomp: line 571: exec: g++: not found
  • @Autowired多个相同类型bean装配问题
  • @Autowired和@Resource的区别
  • @Repository 注解
  • []AT 指令 收发短信和GPRS上网 SIM508/548
  • [2021]Zookeeper getAcl命令未授权访问漏洞概述与解决