当前位置:首页 > 公众号精选 > 小麦大叔
[导读]1 预备知识 2 simulink 仿真 3 simulink 运行结果 4 matlab实现 5 matlab运行结果 6 C语言实现 7 C语言运行结果 1 预备知识 低通滤波器(LPF)可以滤除频率高于截止频率的信号,类似的还有高通滤波器,带通滤波器,带阻滤波器。一阶RC低通滤波器的电路如下图


  • 1 预备知识

  • 2 simulink 仿真

  • 3 simulink 运行结果

  • 4 matlab实现

  • 5 matlab运行结果

  • 6 C语言实现

  • 7 C语言运行结果


1 预备知识

低通滤波器(LPF)可以滤除频率高于截止频率的信号,类似的还有高通滤波器,带通滤波器,带阻滤波器。一阶RC低通滤波器的电路如下图所示;

参考了Wiki了,然后推导了一遍;首先输入输出的关系如下;

所以电容的 的充电时间为 因此满足以下条件;

所以由①,②可得:

将方程进行离散化,如果输入 和输出输入 按照 的时间采样,那么可以将输入和输出序列化,则 序列化为:

序列化为:

因此可以将③式转化为:

因此最终滤波输出的序列 如下所示;同样进行简化之后可以得到;

后面可以根据这个公式进行程序设计;另外,截止频率 满足;

2 simulink 仿真

这里直接根据公式③构建一搞Subsystem

Subsystem整体的仿真图如下:其中Sine Wave频率设置为2*pi*50

其中Sine Wave1频率设置为2*pi

所以这里需要使得2*pi*50的信号衰减,所以根据,截止频率 的计算公式,可以改变增益的值,具体如下所示;

3 simulink 运行结果

最终的仿真的运行结果如下图所示;Gain Value0.005Gain Value0.0318

4 matlab实现

根据公式

实现数字一阶RC低通滤波器,具体matlab程序如下;


Serial = 0:0.1:100;
Fs = 1;
Phase = 0;
Amp = 1;

% 高频信号
N0 = 2*pi*Fs*Serial - Phase;
X0 = Amp*sin(N);
subplot(4,1,1);
plot(X0);

% 低频信号
Fs = 0.02;
N1 = 2*pi*Fs*Serial - Phase;
X1 = Amp*sin(N1);
subplot(4,1,2);
plot(X1);

% 高频低频叠加的信号
X2=X0+X1;
subplot(4,1,3);
plot(X2);

%Xi-Yi=RC*(Yi - Yi-1)/DetalT
len = length(X2);
X3=X2;
p=0.05;

% 一阶RC滤波得到X3
for i=2:len
    X3(i) = p*X2(i)+(1-p)*X3(i-1);
end

subplot(4,1,4)
;
plot(X3);

5 matlab运行结果

运行结果如下所示;

6 C语言实现

low_filter.h

typedef struct
{

     int16_t  Input;
     int16_t  Output[2];
     int32_t  FilterTf;  
     int32_t  FilterTs;
     int32_t  Kr;
     int32_t  Ky;
 
} low_filter;


void low_filter_init(low_filter *v);
int16_t low_filter_calc(low_filter *v);

其中;

  • FilterTs为采样时间;
  • FilterTfRC时间常数

具体参考下图;

low_filter.c

void low_filter_init(low_filter *v){
 
     v->Kr = v->FilterTs*1024/(v->FilterTs + v->FilterTf);
     v->Ky = v->FilterTf*1024/(v->FilterTs + v->FilterTf);
}

int16_t low_filter_calc(low_filter *v){

    int32_t tmp = 0;

    tmp = ((int32_t)v->Kr*v->Input + v->Ky*v->Output[1])/1024;
 
    if(tmp>32767){
      tmp = 32767;
    }
 
   if( tmp < -32768){
    tmp = -32768;
   }
 
    v->Output[0] = (int16_t)tmp;
    v->Output[1] = v->Output[0];
   return v->Output[0];
}

7 C语言运行结果

实际测试结果;


如果本文帮到了你,帮忙点个赞;如果本文帮到了你,帮忙点个赞;如果本文帮到了你,帮忙点个赞;


长按下图二维码关注,独自前进,走得快;结伴而行,走得远;在这里除了肝出来的文章,还有一步一个脚印学习的点点滴滴;






免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

随着利率上升,房屋销售大幅下滑,美国各地的房地产经纪人、抵押贷款经纪人和评估师正面临大范围裁员。对于那些在房地产市场和房地产相关行业工作的人来说,美联储(Fed)为降低通胀而采取的激进举措产生了迅速而严重的效果。(全球企...

关键字: 低通

滤波器是对波进行过滤的器件,是一种让某一频带内信号通过,同时又阻止这一频带外信号通过的电路。滤波器主要有低通滤波器、高通滤波器和带通滤波器三种,按照电路工作原理又可分为无源和有源滤波器两大类。

关键字: 滤波器 低通

编码和调制是无线通信技术中最核心最深奥的部分,被誉为通信技术的皇冠,体现着一个国家通信科学基础理论的整体实力——这也是华为主推的极化码入选5G标准为什么会引发业界内外舆论广泛关注的原因。

关键字: CODE POLAR 低通 通信

韩联社11月29日报道,韩国科学技术信息通信部崔基荣部长就任后首次举办了运营商CEO座谈会,就检验5G商用成果、扩大5G建网投资和进一步降低通信费用等话题展开讨论。 崔基荣表示

关键字: 5G 人工智能 低通 模型

近期,不断有新兴科技公司运用自己的优势技术加入其中,为抗击新型冠状病毒肺炎各显神通。其中,无人机喊话等各种新奇的操作被广大市民调侃为硬核土味防疫,给在严峻的疫情阴霾中的人们带来一丝新奇愉悦与安全

关键字: 无人机 APP 低通 智能化

3月4日消息,近日,哈啰出行发布《哈啰顺风车城市复工出行数据报告》,从全国范围和重点城市两大维度,对复工期间广大乘客使用顺风车出行情况和相关防疫举措进行了梳理。同时,报告还公布了哈啰顺风车上线一年来的

关键字: APP 防护 低通 微型

实现了一种全集成可变带宽中频宽带低通滤波器,讨论分析了跨导放大器-电容(OTA—C)连续时间型滤波器的结构、设计和具体实现,使用外部可编程电路对所设计滤波器带宽进

关键字: 低通 带宽 滤波器 电源技术解析 ota—c

现代电台的特点主要是多用途、多制式、多频段。随着数字技术的发展,中频以下通常采用数字化处理,中频到射频用混频器进行频率变换。对频率合成器的设计提出了更高的要求,例如分辨率、转换速度、工作频

关键字: 低通 时钟 相位 设计教程 频率

一到年底,各种盘点报告进入了“高发期”。高盛近日发布了100张经济图表,号称是“世界最重要的图表”。作为全球第二大经济体,关于中国的数据图表不少。看到其中一张工资涨幅,我和我的小伙伴们都惊呆了,从国际劳工组织公布的06年...

关键字: IP 低通 TV PI

滤波器在通信、军事、测试测量等领域应用广泛,尤其在近几年的在微波及毫米波电路中有着广泛的应用。在低频段的应用中, 集总参数滤波器有着良好的表现,但是随着频率升高到微波频段以上,集总参数元件(电容、电感

关键字: 低通 滤波器 cmrc
关闭
关闭