matlab设计低通滤波器

matlab设计低通滤波器滤波器设计

matlab设计低通滤波器


前言

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


一、什么是滤波器?

顾名思义,滤波器就是具有频率选择作用的电路和运算处理系统。
滤波器按照使用器件的不同分为有源滤波器和无源滤波器。无源滤波器由无源器件电阻、电容、电感组成,利用感容器件的阻抗特性随频率变化而变化的原理。
无源滤波器的优点是结构简单,不需要电源供电,可靠性高,缺点是通频带内的信号能量会有损失,使用感性器件会引起电磁感应,电感较大时会影响滤波器的体积。
有源滤波器是由有无源器件和有源器件组成,通常有源滤波器由集成运放和电阻,电容组成,不需要电感,因此电路体积小,重量轻。有源滤波器的优点是其输出阻抗很低,输入阻抗和开环增益较高,多级相连时相互影响比较小,很容易构成多级滤波器,而且滤波器的体积较小,缺点是由于有源器件,需要电源供电,要消耗功率可靠性不如无源滤波器,不适用于一些高压、大功率场合。

二、滤波器的技术指标

滤波器特性可以用其频率响应来描述,按其特性的不同,可以分为低通滤波器,高通滤波器,带通滤波器和带阻滤波器等。滤波器的阶数,滤波器的阶数是指在滤波器的传递函数中有几个极点,阶数同时也决定了转折区的下降速度,一般每增加一阶(一个极点)。
决定滤波器阶数的技术指标主要有:(1)通带截至频率(2)阻带截止频率(3)通带衰减(4)阻带衰减。

三、滤波器的分类

按照频率响应的不同,滤波器可以分为巴特沃斯(Butterworth)滤波器、贝塞
尔(Bassel)滤波器、切比雪夫(Chebyshev)滤波器、椭圆(Eliptic)滤波器等种
类。这四种滤波器的特性比较如表所示:

滤波器种类 特性
巴特沃斯滤波器 通带和阻带没有起伏,在通带范围内的特性曲线是最平坦的
贝塞尔滤波器 阻带内的衰减比巴特沃斯小,截止特性差,具有良好的相移特性
切比雪夫滤波器 具有更陡峭的过渡带,在通带内等波纹起伏
椭圆滤波器 具有最陡峭的过渡带衰减特性,截止特性最好

四、巴特沃斯低通滤波器设计

1.输入信号设置

代码如下(示例):

%% Parameter Interface
Frequence0          = 60;        %单位:Hz    
Frequence1          = 1e3;       %单位:Hz
Frequence2          = 1.8e3;       %单位:Hz
SampleFre           = 4e3;       %单位:Hz
SampleLen           = SampleFre; %采样点数
%% Main
%-------------------产生三路信号
t = 0:1/SampleLen:1/SampleFre*(SampleLen-1);
SignalData0 = sin(2*pi*Frequence0*t);
SignalData1 = 2*sin(2*pi*Frequence1*t);
SignalData2 = 3*sin(2*pi*Frequence2*t);
SignalData3 = SignalData0+SignalData1+SignalData2;
figure;hold on

plot(t(1:150),SignalData0(1:150),'b')
plot(t(1:150),SignalData1(1:150),'r')
plot(t(1:150),SignalData2(1:150),'k')
title('输入信号成分')
hold off
figure;plot(t(1:150),SignalData3(1:150))
title('三路信号求和')
%-------------------输入信号频域图
FFT_Data = abs(fft(SignalData3));
m = FFT_Data(1:length(FFT_Data)/2);
n = length(SignalData3);
f = (1:n/2)*(SampleFre/n);

figure;
plot(f,m)
xlabel('Frequency')
ylabel('Power')
title('输入信号频谱')

输入信号为:sin(2pi60t)+2sin(2pi1000t)+sin(2pi18000t)
输入信号的时域图:
在这里插入图片描述

输入信号的频域图:
在这里插入图片描述
输入信号采样频率为4000Hz。

2.设计滤波器

利用命令filterDesigner启动matlab滤波器设计模块,如下图所示:
在这里插入图片描述
滤波器的类型为低通巴特沃斯滤波器,滤波器阶数选择为最小阶数;
1)通带截至频率为800Hz
(2)阻带截止频率为1600Hz
(3)通带衰减为1dB
(4)阻带衰减为80dB。

滤波器的幅频和相频特性如下图所示:
在这里插入图片描述
matlab自带的滤波器设计工具,可以将该设计好的滤波器变量导出至工作区
在这里插入图片描述
工作区就会出现一个Hd的对象,再用filter函数对输入信号进行滤波,代码如下:

%% 滤波器设计
 filterDesigner
 %% 信号滤波后
 y = filter(Hd,SignalData3);
 figure;plot(t(1:150),y(1:150));title('输出信号时域')
 
y_Data = abs(fft(y));
m = y_Data(1:length(y_Data)/2);
n = length(y);
f = (1:n/2)*(SampleFre/n);

figure;
plot(f,m);
title('输出信号频谱')
xlabel('Frequency')
ylabel('Power')

matlab设计的滤波器可以导出至simulink实现
在这里插入图片描述

3.滤波器输出信号

输入信号经过滤波器滤除掉了高于频率1.6KHz的信号分量。
所以输出信号时域图为:
在这里插入图片描述
输出信号的频域图为:
在这里插入图片描述

五、采用ADI公司的滤波器向导设计滤波器

在这里插入图片描述
ADI公司的滤波器向导还提供电路实现参考图:
在这里插入图片描述

今天的文章matlab设计低通滤波器分享到此就结束了,感谢您的阅读。

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

(0)
编程小号编程小号

相关推荐

发表回复

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