matlab设计低通滤波器

matlab设计低通滤波器

文章目录

    • matlab设计低通滤波器
  • 前言
  • 一、什么是滤波器?
  • 二、滤波器的技术指标
  • 三、滤波器的分类
  • 四、巴特沃斯低通滤波器设计
    • 1.输入信号设置
    • 2.设计滤波器
    • 3.滤波器输出信号
  • 五、采用ADI公司的滤波器向导设计滤波器


前言

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


一、什么是滤波器?

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

二、滤波器的技术指标

滤波器特性可以用其频率响应来描述,按其特性的不同,可以分为低通滤波器,高通滤波器,带通滤波器和带阻滤波器等。滤波器的阶数,滤波器的阶数是指在滤波器的传递函数中有几个极点,阶数同时也决定了转折区的下降速度,一般每增加一阶(一个极点)。
决定滤波器阶数的技术指标主要有:(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)
输入信号的时域图:
matlab设计低通滤波器_第1张图片

输入信号的频域图:
matlab设计低通滤波器_第2张图片
输入信号采样频率为4000Hz。

2.设计滤波器

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

滤波器的幅频和相频特性如下图所示:
matlab设计低通滤波器_第4张图片
matlab自带的滤波器设计工具,可以将该设计好的滤波器变量导出至工作区
matlab设计低通滤波器_第5张图片
工作区就会出现一个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实现
matlab设计低通滤波器_第6张图片

3.滤波器输出信号

输入信号经过滤波器滤除掉了高于频率1.6KHz的信号分量。
所以输出信号时域图为:
matlab设计低通滤波器_第7张图片
输出信号的频域图为:
matlab设计低通滤波器_第8张图片

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

matlab设计低通滤波器_第9张图片
ADI公司的滤波器向导还提供电路实现参考图:
matlab设计低通滤波器_第10张图片

你可能感兴趣的:(硬件电路知识,matlab,开发语言)