matlab低通滤波器的设计
文章目录
-
- matlab低通滤波器的设计
- 前言
- 一、什么是滤波器?
- 二、二。滤波器的技术指标
- 三、滤波器分类
- 四、巴特沃斯低通滤波器设计
-
- 1.输入信号设置
- 2.设计滤波器
- 3.滤波器输出信号
- 五、采用ADI公司滤波器向导设计滤波器
前言
例如,随着人工智能的不断发展,机器学习技术变得越来越重要。许多人开始学习机器学习。本文介绍了机器学习的基本内容。
一、什么是滤波器?
顾名思义,滤波器是一种具有频率选择功能的电路和操作处理系统。 根据使用器件的不同,滤波器分为。无源滤波器由无源设备的电阻、电容和电感组成,利用感应设备的阻抗特性随频率变化而变化。 无源滤波器的优点是结构简单,不需要电源,可靠性高。缺点是通频带内的信号能量会丢失,使用传感器件会引起电磁感应,大电感会影响滤波器的体积。 有源滤波器由无源设备和有源设备组成。通常,有源滤波器由集成运输、放电、电阻和电容组成,不需要电感。因此,电路体积小,重量轻。有源滤波器的优点是输出阻抗低,输入阻抗和开环增益高,多级连接相互影响小,容易形成多级滤波器,滤波器体积小,缺点是有源设备,需要电源,功耗可靠性不如无源滤波器,不适合一些高压、大功率场合。
二、二。滤波器的技术指标
滤波器的特性可以用其频率响应来描述。根据其不同的特性,可分为低通滤波器、高通滤波器、带通滤波器和带阻滤波器。滤波器的阶数和滤波器的阶数是指滤波器传输函数中的几个极点。阶数也决定了转弯区域的下降速度,通常每增加一个阶(一个极点)。 决定滤波器阶数的技术指标主要包括:(
三、滤波器分类
滤波器可根据频率响应分为巴特沃斯(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滤波器设计模块,如下图所示: 滤波器的类型为低通巴特沃斯滤波器,滤波器阶数选择为最小阶数; ( 滤波器的如下图所示: 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公司的滤波器向导还提供电路实现参考图: