一阶LC滤波器算法的仿真和FPGA实现

一阶LC滤波器算法的仿真和FPGA实现
滤波器设计是一个很麻烦的事情,在实际的项目设计时一般都是利用数字滤波来代替模拟滤波,但是数字滤波有时候需要很多资源也很难达到仅仅需要一个电容和电阻实现的模拟滤波电路。在实际的数字滤波器设计时基本的滤波算法都是根据LC模型来进行推导和演变来的。针对LC滤波这里把物理模型进行详细的推导建模,并利用仿真软件进行仿真,这样能有直观的感受。

1、 高频截至的LC电路模型

一阶RC低通滤波器的硬件电路如图:
在这里插入图片描述

首先根据基尔霍夫定律写出这个RC无源网络的动态方程。
在这里插入图片描述
在这里插入图片描述

对上面模型仿真,输入信号源为偏置1V,峰峰值为2V的正弦波信号,电阻为1K,电容为1uF,统时域输入输出关系如下图:
在这里插入图片描述

系统的噪声响应如图
在这里插入图片描述

系统的频率特性如下图所示

在这里插入图片描述

系统的相位特性如下图所示

在这里插入图片描述

上面仅仅分析了其中一种情况,其他类型的分析过程和上面是一致的,总结一阶LC低通滤波器如下表格:

在这里插入图片描述

C语言代码实现:

void HighPassFilter_RC_1order(float *Vi, float
*Vi_p, float *Vo, float *Vo_p, float sampleFrq )

{

   float CutFrq, RC, Coff;

   CutFrq = 0.5;

   RC = (float)1.0/2.0/PI/CutFrq;

   Coff = RC/(RC + 1/sampleFrq);

   *Vo = ((*Vi) - (*Vi_p) +(*Vo_p) )*Coff ;                   

   *Vo_p = *Vo;   

   *Vi_p = *Vi;               

}

根据上面分析总结一阶LC高通滤波器特性如下表:

在这里插入图片描述

一阶LC高通滤波器系统离散模型函数:
在这里插入图片描述

对一阶LC高通滤波器模型仿真,输入信号源为偏置1V,峰峰值为2V的正弦波信号,电阻为1K,电容为1uF,统时域输入输出关系如下图:
在这里插入图片描述

系统的频率特性如下图所示

在这里插入图片描述

系统的相位特性如下图所示
在这里插入图片描述

C语言代码实现:

void
HighPassFilter_RC_1order(float *Vi, float *Vi_p, float *Vo, float *Vo_p, float
sampleFrq )

{

   float CutFrq, RC, Coff;

   //high pass filter @cutoff frequency =0.5 Hz                 

   CutFrq = 0.5;

   RC = (float)1.0/2.0/PI/CutFrq;

   Coff = RC/(RC + 1/sampleFrq);

   *Vo = ((*Vi) - (*Vi_p) +(*Vo_p) )*Coff ;              

   *Vo_p = *Vo;  

   *Vi_p = *Vi;              

}

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值