高通滤波器c语言实现

调谐/滤波

26人已加入

描述

  高通滤波器,又称低截止滤波器、低阻滤波器,允许高于某一截频的频率通过,而大大衰减较低频率的一种滤波器。它去掉了信号中不必要的低频成分或者说去掉了低频干扰。

  高通滤波器是一种让某一频率以上的信号分量通过,而对该频率以下的信号分量大大抑制的电容、电感与电阻等器件的组合装置。其特性在时域及频域中可分别用冲激响应及频率响应描述。后者是用以频率为自变量的函数表示,一般情况下它是一个以复变量jω为自变量的的复变函数,以H(jω)表示。它的模H(ω)和幅角φ(ω)为角频率ω的函数,分别称为系统的“幅频响应”和“相频响应”,它分别代表激励源中不同频率的信号成分通过该系统时所遇到的幅度变化和相位变化。可以证明,系统的“频率响应”就是该系统“冲激响应”的傅里叶变换。当线性无源系统可以用一个N阶线性微分方程表示时,频率响应H(jω)为一个有理分式,它的分子和分母分别与微分方程的右边和左边相对应。

  高通滤波器分类:

  按照滤波器的数学特性:分为一阶高通滤波器、二阶高通滤波器

  按照所采用的器件分:有源高通滤波器、无源高通滤波器

  以上两种分类方法相互独立。有源高通滤波器更为常见,如一阶有源高通滤波器、二阶有源高通滤波器等。其中一阶有源高通滤波器较为简单。

  一阶有源高通滤波器:

C语言

  一阶有源高通滤波器幅频特性曲线:

C语言

  高通滤波器c语言实现:

  clc wp=2*2250/15000;

  ws=2*1500/15000;

  Bt=wp-ws N0=ceil(6.6/Bt);

  N=N0+mod(N0+1,2) wc=(wp+ws)/2;

  b=fir1(N-1, wc,‘high’,hamming(N));freqz(b,1,512,15000)%可以查看幅度响应、冲激响应等

  h=buffer(round(b*32768),8)’ ; %参数*2^15,把小数点移最高位后面后取 % 整,然后排成8个一行便于输出。

  csvwrite(‘table.txt’,h) %参数表输出到文件table.txt中

  #include “math.h”

  #include “tms320.h”

  #include “dsplib.h”

  #define NX 300

  #define NH 67

  #define PI 3.1415926

  #pragma

  DATA_SECTION(h,“.coeffs”)

  DATA h[NH]={-18,-0,21,34,29,-0,-42,-72, -61,-0,88,147,122,-0,-167,-275, -225,-0,297,483,391,-0,-516,-841, -689,-0,949,1610,1399,-0,-2411,-5168, -7354,24557,-7354,-5168,-2411,-0,1399,1610, 949,-0,-689,-841,-516,-0,391,483, 297,-0,-225,-275,-167,-0,122,147, 88,-0,-61,-72,-42,-0,29,34, 21,-0,-18};

  #pragma DATA_SECTION(db,“.dbuffer”)

  DATA db[NH+2] ; DATA r[NX];

  DATA *dbptr = &db[0];

  void main()

  { int i;

  short x[NX];

  for(i=0;i《NX;i++)x[i]=0;

  for (i=0;i《NX;i++)

  {x[i]=(short)(((1+sin(PI*6000*i/15000))*sin(PI*8000*i/15000)*32768/3)); }

  for (i=0; i《NX; i++) r[i] = 0; // clear output buffer (optional)

  for (i=0; i《NH+2; i++) db[i] = 0; // clear delay buffer (a must) //

  fir2(x, h, r, dbptr, NX, NH);//双MAC运算,速度快

  fir(x, h, r, dbptr, NX, NH);//单MAC运算,速度相对双MAC要慢一些

  while(1);

  }

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分