一阶惯性环节低通滤波_二阶有源低通滤波器原理

一阶惯性环节低通滤波_二阶有源低通滤波器原理一阶惯性滤波传递函数为采用后向差分离散化可得其中Tsam是采样周期,将z函数写成差分递推式(1)浮点型//k为时间常数,是采样周期的k倍。Target_Value被滤波的值。*temp_IQ_fifter是滤波后的值。voidFifter_P…


Jetbrains全系列IDE稳定放心使用

目录

1.引言

2.时域

3.频域

4.传递函数和波特图

5.数字化的实现


1.引言

一阶惯性滤波,常见的是RC电路,属于低通滤波器,加运算放大器就构成了有源低通滤波器。

可大于截止频率的信号衰减,低于截止频率的通过。主要是用来滤除噪声。

2.时域

一阶惯性环节低通滤波_二阶有源低通滤波器原理

3.频域

一阶惯性环节低通滤波_二阶有源低通滤波器原理

 是阻抗和容抗的串联分压计算。

4.传递函数和波特图

传递函数为

                                                      G(s)=\frac{1}{Ts+1}

其中T是滤波时间常数为电路中R和C的乘积。s是拉普拉斯的算子,在复频域

上式中有一个零点和一个极点,零点是?极点是?

极点就是让传递函数极大的点,叫极点。极点的相频特性是-45度,意味着,输出比输入滞后45度,比如之前输入和输出没有相位差,二者相位差是0度,频率到极点的时候,输出变为45度,滞后了45度。在补偿中,极点算滞后补偿。

零点就是让传递函数小到到零的点,故叫零点。零点的会让输出在原来输出的基础上,向前移动45度,同上面,频率为极点的时候,会滞后45度,此时在该频率加上一个零点,输入和输出之间的相位差就补偿回来了。补偿中,零点算超前补偿。

当s=-\frac{1}{T}    是传递函数趋于无穷大,故此处存在一个极点。

当s=∞ 时候,传递函数趋于0 ,故s无穷大时,存在零点,(输入频率无穷大,滤波器不衰减了)

波特图如下

一阶惯性环节低通滤波_二阶有源低通滤波器原理

波特图采用mathcad 绘制,详见

https://blog.csdn.net/u011041241/article/details/99729791

 

如何通过计算绘制波特图呢?

参照http://m.elecfans.com/article/646954.html

借用里面的图

一阶惯性环节低通滤波_二阶有源低通滤波器原理

一阶惯性环节低通滤波_二阶有源低通滤波器原理

一阶惯性环节低通滤波_二阶有源低通滤波器原理

一阶惯性环节低通滤波_二阶有源低通滤波器原理

5.数字化的实现

采用后向差分法,将s域转换为z域,可得

一阶惯性环节低通滤波_二阶有源低通滤波器原理  (5-1)

其中Tsam是采样周期,将z函数逆变换成差分递推式(便于微处理器实现迭代计算),通过查下表。

一阶惯性环节低通滤波_二阶有源低通滤波器原理

z^{^{-1}}逆变换是\delta(t-T),表示前一拍的采样值。

对公式(5-1) 进行变换,用k替换z,k-1(前一拍)代替z^{^{-1}}可得以下公式

一阶惯性环节低通滤波_二阶有源低通滤波器原理

令T= n*Tsam

得 y(k) = n/(n+1)*y(k-1) + 1/(n+1)*u(k)

令1/(n+1) = TempD

得 y(k) = (1-TempD)*y(k-1) + TempD*u(k)

当n=9,y(k) = 0.9*y(k-1) + 0.1*u(k) 表示时间常数为9倍的采样时间

(1)带浮点运算微处理器C语言代码实现

//k为时间常数,是采样周期的k倍。Target_Value被滤波的值。*temp_IQ_fifter是滤波后的值。
void filterLowPass(float k,float Target_Value,float *temp_IQ_fifter)
{
    float TempD=0.0,temp_sum1=0.0,temp_sum2=0.0;
    TempD=1.0/(k+1.0);

    temp_sum1 = (1.0-TempD) * (*temp_IQ_fifter);
    temp_sum2 = TempD * (float)Target_Value;
    *temp_IQ_fifter = temp_sum1 + temp_sum2;
}

如调用filterLowPass(2,adc1,&temp)函数;

k=2时,时间常数为2倍的采样Tsam,滤波结果存在temp中。

一阶惯性环节低通滤波_二阶有源低通滤波器原理

(2)无浮点运算的MCU中,为了避免小数,采用右移处理。

取            T=(2^{}n-1)*T\,_s_a_m

得一阶惯性环节低通滤波_二阶有源低通滤波器原理

无浮点处理的微处理器C语言代码实现实现方法如下:

u32 PQ_calc(u32 *x,u32 u_Q12,u8 N)
{
    u_Q12=u_Q12<<N;
    (*x) = (*x)- ((*x) >> N) + ( u_Q12 >> N);
    return (*x)>>N;
}

调用方法:

PQ_calc(&Pq_temp,ADC_Value[0],12);

为避免右移将数值变为0,故先定标,先  u_Q12=u_Q12<<N;左移后右移动。

参考链接:

相关术语:

(A)Z变换(英文:z-transformation)可将时域信号(即:离散时间序列)变换为在复频域的表达式。它在离散时间信号处理中的地位,如同拉普拉斯变换在连续时间信号处理中的地位。离散时间信号的Z变换是分析线性时不变离散时间系统问题的重要工具,在数字信号处理、计算机控制系统等领域有着广泛的应用。 (百度百科)

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186075.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java解析xml文档并保存到数据库

    java解析xml文档并保存到数据库java解析xml文档并保存到数据库:sadf说明:用xml文档简单写一份新闻如下:洛阳未来一周将持续高温天气中国气象局洛阳未来一周将持续高温天气,局部地区温度高达39度!请大家做好防范高温,谨防中暑!河南科技大学跻身世界顶尖大学中国教育网据权威机构综合测评之后,河南科技大学全世界排名超前,成功跻身世界顶尖大学!洛阳牡丹甲天下中国旅游网洛阳牡丹甲不是

    2022年5月29日
  • 最近在学习mars老师的视频。按计划的。学习安卓

    转眼之间暑假就过去一大半了。还有14天就开学了。估计再过个一周,同学们就陆续回校了。这个假期借了很多书,虽然没有想象中那么高的效率,学习太多东西,不过还是学了点东西,起码自我感觉还算可以。我是先看了看java的基础知识,一本国外的java面向对象程序设计,说实话书挺好,不过对我不合适,学过c++之后,很多里面讲的思想差不多懂了,然后例子很多,看得有点头疼,应该找一本专门讲java语法的书的。那

    2022年3月8日
  • 计算机专业的男生喜欢你,男生真心喜欢你的五个表现

    计算机专业的男生喜欢你,男生真心喜欢你的五个表现原标题:男生真心喜欢你的五个表现男生真心喜欢你的五个表现。不知从什么时候起,“爱”成了一个不太确切的词。像是,我们平时跟人业务联系,表达感谢都会直接说,“爱你哦”,情绪却未丝丝入扣地跟上。“爱”被滥用得廉价了,“喜欢”这个词才更小心翼翼了起来。而我也跟万千少女一样,饱受“他究竟喜欢我吗?”这一终极拷问的困扰。现代人的真心,被层层规则与圈套拢住,是要费点机灵脑筋,拨云才能见日的。每天翻新暧昧的说辞…

    2022年7月25日
  • java检验数组重复_java – 如何遍历数组并检查重复项?「建议收藏」

    java检验数组重复_java – 如何遍历数组并检查重复项?「建议收藏」您可以使用嵌套循环遍历数组以查看新输入是否存在.在函数中执行此操作会更好.此外,在执行此操作时,您需要确保您不在第一个元素,否则您将获得空指针异常.for(inti=0;i<=stringArray.length;i++){booleanisInArray=false;System.out.println(“\nEnterastring”);Stringinpu…

    2022年9月15日
  • Android Studio的安装,史上最详细(超多图)!!

    Android Studio的安装,史上最详细(超多图)!!androidstudio的安装,史上最详细!!欢迎前来观看,感觉有用就点波关注吧!custom欢迎前来观看,感觉有用就点波关注吧!1、首先下载Androidstudio安装包,可以从http://www.android-studio.org/下载最新版本,这里采用3.0版本进行演示,对应安装包为android-studio-ide-183.5522156-windows,…

    2022年6月14日
  • C语言位运算符详解「建议收藏」

    C语言位运算符详解「建议收藏」目录位运算符简介1、按位与位运算符简介C语言既具有高级语言的特点,又具有低级语言的特性,如支持位运算就是其具体体现。这是因为,C语言1、按位与

    2022年10月5日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号