-
2022-02-21 03:30:59
目标
实现一个sallenkey二阶低通滤波器,其中的电阻用开关电容电路替换。
电路模型
二阶低通sallenkey电路
开关电容电路
其可以等效为一个电阻R,因此我们可以将此电路替换掉sallenkey滤波器当中的R1和R2。其中的非门逻辑以及开关1,2我们可以分别用两个器件实现:CD40106B和CD4016B。所需器件
CD40106B
一个40106有6组非门逻辑。(14个引脚,1个源,1个地,另外12个两两构成一个非门)CD4016B
可以看出,sallekey 电路中有2个R,置换成开关电容电路后一共有4个switch,而4016正好提供4个swtich,因此我们只需要一个4016就能实现。LM741
我们采用L741放大器用于sallenkey电路。接线图
——————————————————————————————
2022.3.1 更正
接线图中:
4016的7号引脚:接地改为接-5v
LM741的4号引脚:接地改为接-5v
40106的7号引脚:接地改为接-5v更多相关内容 -
分数阶二阶滤波器的脉冲响应不变离散化:该函数计算离散时间传递函数到分数阶二阶低通滤波器。-matlab开发
2021-05-30 22:56:43irid_fsof 函数准备计算离散时间有限维 (z) 传递函数以近似连续时间分数二阶低通滤波器 (LPF) [1/(s^2 + a*s + b)]^r ,其中“s”是拉普拉斯变换变量; “r”是(0,1)范围内的实数; a 和 b 是 LPF [1/(s^2 + a*s + b... -
二阶巴特沃斯低通滤波器(BLPF)
2019-05-08 22:36:47巴特沃斯滤波器通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零。在振幅的对数对角频率的波得图上,从某一边界角频率开始,振幅随着角频率的增加而逐步减少,趋向负无穷大。 -
二阶有源带通滤波器设计及参数计算.doc
2020-11-24 23:02:37二阶有源带通滤波器设计及参数计算,有详细的计算过程,应用在全国大学生电子设计竞赛的综合测评里,提取基波,三次谐波,五次谐波 -
对一阶二阶低通滤波器推导,并用IMU数据验证算法效果
2021-05-09 21:43:07文章背景 一直想学习一下数字信号处理算法,而不是每次遇到数据处理就求平均,求最值,看容差...这里先以一阶低通滤波算法为例,在硬件电路中我们可以通过RC电路实现低通滤波功能,利用的便是电容原件的充放电特性。在文章背景
一直想学习一下数字信号处理算法,而不是每次遇到数据处理就求平均,求最值,看容差,做滑动窗。。。
数字信号处理算法已经很成熟了,但网上大部分还是用matlab跑仿真,设计几个不同频率的sin信号相加,来验证算法的有效性。但是实际工程中该如何去使用这个算法,资料还是比较少的,这篇文章重心放在实际工程,对于工程中遇到的常见信号做处理。一阶算法推导
学习一个算法,掌握其思想和推导是必不可少的路。这里先以一阶低通滤波算法为例,在硬件电路中我们可以通过RC电路实现低通滤波功能,利用的便是电容原件的充放电特性。在代码里如何实现这个硬件电路呢?
这里推导大体思路如下:
- 根据物理模型(也就是电路状态变量之间的关系)推导出电路的时域关系和频域关系,也就是电路的传递函数H(s)。
- 有了传递函数H(s)就可以通过一阶差分方程(双线性变换)将函数从s域变换到z域,对应的含义便是将函数从连续的频域转化为离散的频域。
- 这个时候我们得到了H(z),然后通过z变换求出关于X(输入)和Y(输出)的离散时域函数,最终我们调用的便是这个函数。
具体的推导过程懒得手写,这里直接上图:
matlab 验证算法
首先我们通过stm32抓取一组IMU数据,这里IMU用的是博世的BMI160,先只抓取z轴的重力加速度。这里上一下matlab代码:
// // create by wxc on 2021.5.9 // e-mail:550791785@qq.com // >> clear >> fs = 200; >> dt = 1 / fs; >> N = length(acc_z); >> n = 5240; >> y = fft(acc_z,n); >> y_abs = abs(y); >> f = (0:n-1)*fs/n; >> subplot(211);plot(acc_z);axis([0 6000 9.9 10.1]); >> subplot(212);plot(f(1:n/2),y_abs(1:n/2));axis([0 100 0 5]);
这里只是仿真了原始数据的波形和对应的幅频曲线。
由图中可以看出,在35-40Hz,45-50Hz,55Hz均由较大的扰动需要滤除,幅值较低的可以认为是白噪声干扰。
这里我们添加一个截止频率为15Hz的低通滤波器,看一下效果
>> y_lowpass = fft(Mix_LowPass,5240); >> y_lowpass_abs = abs(y_lowpass); >> lpf0 = 0; >> lpf1 = 0; >> for a = 1:1:length(acc_z) lpf1 = lpf0+(1 / (1 + 1 / (2.0 * 3.14 * (1 / fs) * 15))) * (acc_z(a) - lpf0); lpf0 = lpf1; Mix_LowPass(a) = lpf1; end >> subplot(211);plot(Mix_LowPass);axis([0 6000 9.9 10.1]); >> subplot(212);plot(f(1:n/2),y_lowpass_abs(1:n/2);axis([0 100 0 30]);
可以明显看到高频噪声被抑制了,而且原始波形也能看出在相同尺度下,振幅明显减小。这里波形稍微有点向上倾斜是因为采集数据的时候手拿着难免有移动,并且为了制造噪声干扰我还拍了几下桌子。
二阶算法推导
二阶低通滤波器的推导思路基本一致,就是由电路推导出传递函数这一步我们直接查表获取,具体步骤见图:
matlab 验证算法
对于加速度计z轴的原始数据图形这里不再展示,下面直接上matlab二阶低通滤波器处理后的时域波形和频域的幅频特性曲线。
>> fc = 15; >> fs = 200; >>> n = 5240; >> f = (0:n-1)*fs/n; >> [B,A] = butter(2,(2*pi*fc*2)/(2*pi*fs)); >> my_iir_2_low_pass = filter(B,A,acc_z); >> subplot(211);plot(my_iir_2_low_pass);axis([0 6000 9.9 10.1]); >> y_iir2 = fft(my_iir_2_low_pass); >> y_iir2_abs = abs(y_iir2); >> subplot(212);plot(f(1:n/2),y_iir2_abs(1:n/2));axis([0 100 0 50]);
这里直接用matlab自带的巴特沃斯滤波器求出iir二阶低通滤波器系数,然后对原始数据做滤波。然后我们用刚才推导的公式去求取滤波后的幅频曲线和原始图形
>> fs = 200; >> fc = 15; >> fr = fs / fc; >> MY_PI = 3.1415926; >> ohm = tan(MY_PI/fr); >> c = 1.0 + 2 * cos(MY_PI/4)*ohm+ohm*ohm; >> b0 = ohm * ohm / c; >> b1 = 2 * b0; >> b2 = b0; >> a1 = 2 * (ohm * ohm - 1) / c; >> a2 = (1 - 2 * cos(MY_PI / 4) * ohm + ohm * ohm ) / c; >> delay_1 = 0; >> delay_2 = 0; >> for i = 1 : 1 : length(acc_z) delay_element_0 = acc_z(i) - delay_1 * a1 - delay_2 * a2; out = delay_element_0 * b0 + delay_1 * b1 + delay_2 *b2; delay_2 = delay_1; delay_1 = delay_element_0; acc_z_lowpass(i)=out; end >> mag_y = abs(fft(acc_z_lowpass,length(acc_z))); >> f = (0:length(acc_z)-1)*fs/length(acc_z); >> subplot(211);plot(acc_z_lowpass);axis([0 6000 9.9 10.1]); >> subplot(212);plot(f(1:length(acc_z)/2),mag_y(1:length(acc_z)/2));axis([0 100 0 40]);
其求出图形如下:
这里可以看出求出的图形和matlab推导出来的图形基本一致,证明算法的有效性!!!这里用stm32实现这个滤波器,并把原始波形和滤波波形打印出来对比滤波前后效果。如下图所示:
这个波形是IMU平放桌子上,拍打几次桌子,观察震动波形
下图这个是晃动观察波形跟随性
放大这个图片可以看出,波形相比原信号少了很多毛刺部分,但是确实有几个周期的滞后现象。
总结
iir滤波器全称为无限长冲击响应滤波器,如它的名字而已,这个滤波器的结果与信号整个的生命周期相关,同时也与滤波器本身的输出有关。这个特性可以理解成PID控制器的中积分器,优点是冲击信号不易对系统产生较大影响,缺点是会把每次冲击都引入滤波器中,如果冲击量大,则滤波效果较差。这个特性还可以使滤波后的信号更加平滑,即最大平坦度。
fir滤波器全称为有限长冲击响应滤波器,也即它滤波的结果只与最近的几次结果有关,缺点就是滤波后的结果会有旁瓣产生,而且无论通带还是阻带都有旁瓣,对原信号还原性没有iir那么好。我们平时代码中使用的求平均,比如采集5个数据取平均,就是某一个截止频率的fir滤波器,加权平均也是如此,因为它们的结果都与最近的几个数据相关。
-
一阶二阶电路滤波器的软件实现方式
2020-08-27 04:33:21我身边有些朋友说现在在学校学习什么拉氏变换,Z变换,傅立叶变换没有用,传递函数没有用,差分方程没有用,只是纸上谈兵,我这里先就传递函数和拉氏变换和差分方程介绍几点不自量力的看法 -
IIR 滤波器设计 - 巴特沃斯滤波器 - 高通和低通滤波器:IIR 滤波器设计 - 巴特沃斯滤波器 - 高通和低通...
2021-05-29 16:30:29IIR 滤波器设计 - 巴特沃斯滤波器 - 高通和低通滤波器 -
Matlab数字滤波器-MATLAB数字低通滤波器仿真.pdf
2019-08-13 10:16:49Matlab数字滤波器-MATLAB数字低通滤波器仿真.pdf 贴篇论文。。 -
音频均衡器:该项目在 Simulink 中实现...它使用 5 个带通滤波器和一个低通滤波器来过滤不同的频率-matlab开发
2021-05-29 09:25:49它使用 5 带通滤波器和一个低通滤波器来过滤低频中频和高频。 首先低通滤波器滤除低于 125 Hz 的频率,然后带通滤波器滤除 125 到 250,250 到 750,750 到 2000,2000 到 4000,4000 到 6750,6750 到 11k,11 k 到 18k ... -
二阶iir低通滤波.rar
2020-03-27 15:34:32二阶iir低通滤波器,具体滤波参数可以通过matlab得出后修改 由于是很久以前写的测试程序,所以没做多少注释,看不懂的可以私聊我 -
matlab设计理想高斯巴特沃斯低通滤波器_方程推导:二阶有源带通滤波器设计!(下载:教程+原理图+视频+代码...
2020-11-21 09:26:241、背景对于微弱的信号的处理方式一般是:放大和滤波,这个过程中就涉及到放大电路的选取、滤波器的选择以及偏置电路的设计。本例以实例的方式讲解并附带参数计算、仿真、实物测试三个环节。假设需要处理一个20mV的...
1、背景 对于微弱的信号的处理方式一般是: 放大和滤波,这个过程中就涉及到放大电路的选取、滤波器的选择以及偏置电路的设计。 本例以实例的方式讲解并附带参数计算、仿真、实物测试三个环节。 假设需要处理一个20mV的正弦信号,该信号的频率范围是15~35Hz,经过处理后幅值不超过3.3V,且需要经过带通滤波器滤除杂波。 2、滤波器定义 滤波电路又称为滤波器,是一种选频电路,能够使特定频率范围的信号通过,而且其他频率的信号大大衰减即阻止其通过。 按滤波器工作频率范围的不同,可分为: 低通滤波器 (Low-pass Filter,LPF) 高通滤波器( High-pass Filter,HPF) 带通滤波器 (Band-pass Filter,BPF) 带阻滤波器 (Band-rejection Filter,BRF) 全通滤波器 (All-pass Filter,APF)仅由电阻、电容、电感这些无源器件组成的滤 波电路称为无源滤波器。 如果滤波电路中含有有源元件,如集成运放等,则称为有源滤波器。 与无源滤波器相比,有源滤波器具有效率高、带负载能力强、频率特性好,而且在滤波的同时还可以将有用信号放大等一系列有点而得到广泛应用。 2.1、滤波器种类 2.1.1、低通滤波器 从f0~f2频率之间,幅频特性平直,它可以使信号中低于f2的频率成分几乎不受衰减地通过,而高于f2的频率成分受到极大地衰减。图1低通滤波器 2.1.2、高通滤波器 与低通滤波相反,从频率f1~∞,其幅频特性平直。 它使信号中高于f1的频率成分几乎不受衰减地通过,而低于f1的频率成分将受到极大地衰减。
图2高通滤波器 2.1.3、带通滤波器 它的通频带在f1~f2之间。 它使信号中高于f1而低于f2的频率成分可以不受衰减地通过,而其它成分受到衰减。
图3带通滤波器 实际上将低通滤波器和高通滤波器串联,即可构成带通滤波器,此处需要注意高通滤波器的截止频率一定要小于低通滤波器的截止频率即fH
图4低通滤波器与高通滤波器的串联 2.1.4、带阻滤波器 与带通滤波相反,阻带在频率f1~f2之间。 它使信号中高于f1而低于f2的频率成分受到衰减,其余频率成分的信号几乎不受衰减地通过。
图 5带阻滤波器 实际上将低通滤波器和高通滤波器并联,即可构成带通滤波器带阻滤波器。 此处需要注意高通滤波器的截止频率一定要大于低通滤波器的截止频率即fH>fL,否则新构成的滤波器就会变成全通滤波器。
图 6低通滤波器与高通滤波器的并联 2.2、滤波器的基本参数 理想滤波器是不存在的,在实际滤波器的幅频特性图中,通带和阻带之间应没有严格的界限。 在通带和阻带之间存在一个过渡带。 在过渡带内的频率成分不会被完全抑制,只会受到不同程度的衰减。 当然,希望过渡带越窄越好,也就是希望对通带外的频率成分衰减得越快、越多越好。 因此,在设计实际滤波器时,总是通过各种方法使其尽量逼近理想滤波器。 如图所示为理想带通(虚线)和实际带通(实线)滤波器的幅频特性。 由图中可见,理想滤波器的特性只需用截止频率描述,而实际滤波器的特性曲线无明显的转折点,两截止频率之间的幅频特性也非常数,故需用更多参数来描述。
图7实际滤波器 2.2.1、纹波幅度d 在一定频率范围内,实际滤波器的幅频特性可能呈波纹变化,其波动幅度d与幅频特性的平均值A0相比,越小越好,一般应远小于-3dB。 2.2.2、截止频率fc 截止频率(CutoffFrequency): 指低通滤波器的通带右边频点或高通滤波器的通带左边频点。 通常以1dB或3dB相对损耗点的标准定义。 相对损耗的参考基准为: 低通以DC处插入损耗为基准,高通则以未出现寄生阻带足够高的通带频率处插入损为基准。 2.2.3、中心频率(Center Frequency): 滤波器通带的中心频率f0,一般取f0=(f1+f2)/2,f1、f2为带通或带阻滤波器左、右相对下降1dB或3dB边频点。 窄带滤波器常以插入损耗最小点为中心频率计算通带带宽。 2.2.4、带宽B和品质因数Q值 上下两截止频率之间的频率范围称为滤波器带宽,或-3dB带宽,单位为Hz。 带宽决定着滤波器分离信号中相邻频率成分的能力——频率分辨力。 在电工学中,通常用Q代表谐振回路的品质因数。 在二阶振荡环节中,Q值相当于谐振点的幅值增益系数, Q=1/2ξ(ξ——阻尼率)。 对于带通滤波器,通常把中心频率f0和带宽 B之比称为滤波器的品质因数Q。 例如一个中心频率为500Hz的滤波器,若其中-3dB带宽为10Hz,则称其Q值为50。 Q值越大,表明滤波器频率分辨力越高。 2.2.5、倍频程选择性W 在两截止频率外侧,实际滤波器有一个过渡带,这个过渡带幅频曲线的倾斜程度表明了幅频特性衰减的快慢,它决定着滤波器对带宽外频率成分衰阻的能力。 通常用倍频程选择性来表征。 所谓倍频程选择性,是指在上截止频率fc2与 2fc2之间,或者在下截止频率fc1与fc1/2之间幅频特性的衰减值,即频率变化一个倍频程时的衰减量或倍频程衰减量以dB/oct表示(octave,倍频程)。 显然,衰减越快(即W值越大),滤波器的选择性越好。 对于远离截止频率的衰减率也可用10倍频程衰减数表示之。 即[dB/10oct]。 2.2.6、滤波器因数(或矩形系数) 滤波器因数是滤波器选择性的另一种表示方式 ,它是利用滤波器幅频特性的 -60dB带宽与-3dB带宽的比值来衡量滤波器选择性.即理想滤波器 =1,常用滤波器 =1~5,显然,越接近于1,滤波器选择性越好。 2.2.7、插入损耗(Insertion Loss): 滤波器插入电路之前传播送到负载阻抗的功率与滤波器插入之后传送到负载阻抗的比值的对数,称为滤波器插入损耗。 常以中心或截止频率处损耗表征。 3、计算过程 3.1、1.65V偏置电路计算 抬升电路本质上是一个加法器,其原理是在输入信号的基础加一个偏置量。 此处需要将被测信号抬升至0~3.3V范围内,假设信号为正弦信号,且在0V上下波动,因此需要将信号抬升1.65V。 整个计算过程使用虚短、虚断的假设,列出如下两个方程,将②式化简并带入①式,可以求得③式。 从化简后的③式可以看出: u0=ku2+gu1,其中k、g仅与电阻的大小有关,k为加法电路偏置,g为输入信号增益,此处仅实现1.65V偏置,因此k=2,g=1。 如需在偏置的基础上增加对输入信号的放大,可以适当调节电阻阻值,此处不再赘述。 为简化电阻选值,假设R1=R3,则、R2=2R1=2R3。 该结论适用于同类的抬升电路。
图8偏置电路图
图9偏置电路 根据虚短、虚断列出下面两个方程: 推导出下式: 则是偏置电压的偏置常数,是闭环增益,此处希望,,带入可得: 。 即偏置电路中的二等分偏置电阻是反馈电阻的两倍,反馈端对地电阻和反馈电阻相等。 对于有电容的电路,上式电阻(R)可以用阻抗(z)的形式表示。 此处选择输入电阻为100KΩ,则偏置电路电阻为200KΩ。 3.2、滤波器计算 3.2.1、一阶有源滤波器
图10一阶LPF 3.2.2、二阶低通滤波器 为改善滤波效果,使f>>f0时,信号衰减的更快,一般在上图所示的一阶低通滤波器的基础上再增加一级RC电路就构成二阶有源低通滤波器,如下图所示。
图11二阶LPF 3.2.3、二阶压控型低通滤波器 二阶压控型低通有源滤波器中的一个电容器C1原来是接地的,现在改接到输出端。 显然C1的改接不影响通带增益。
图12二阶压控型LPF 二阶LPF传递函数:
通带增益:
上式表明,该滤波器的通带增益应小于3,才能保障电路稳定工作。 3.2.4、二阶高通滤波器 高通滤波器电路与低通滤波器在电路上具备对偶性,通过把低通滤波器电路中的R、C互换位置即可得到高通滤波器,并且相应的截止频率也具备这种特性。
图13二阶HPF 二阶HPF传递函数:
通带增益:
3.2、二阶滤波器计算 当时,幅频特性曲线最平坦 成为Butterworth滤波器;当Q=1时,称为Chebyshev滤波器;当Q>0.707时后,特性曲线将出现峰值,Q值越大,峰值越高 LPF: 假设待计算滤波器Q=0.7(读者可以根据实际情况取值,此处仅以0.7为例设计)f=35Hz、。 根据RC滤波器求解RC值: 电容值一般取1uF以下,此处以1uF为例计算。 则
求得R=4.549kΩ,实际取值R=4.3 kΩ。 根据Q值求解R1和R2,当f=f0时,
则:
解得: R1=25.06kΩ,R2=14.29kΩ 实际取值: R1=24kΩ,R2=15kΩ(实际电阻值是离散数据,选取相近阻值即可)。 HPF: 由于同类型LPF和HPF具有对偶性,实际计算按照LPF计算,电路中替换RC位置即可。 假设待计算滤波器Q=0.7(读者可以根据实际情况取值,此处仅以0.7为例设计)、f0=15hz。 根据RC滤波器求解RC值: 电容值一般取1uF以下,此处以1uF为例计算。 则
求得R=10.615kΩ,实际取值R=10 kΩ。 根据Q值求解R1和R2,当f=f0时,
则:
解得: R1=58.479kΩ,R2=33.333kΩ 实际取值: R1=56kΩ,R2=33kΩ(实 际电阻值是离散数据,选取相近阻值即可)。 同理可以计算出Q=1时 LPF: R1=R2=18.19kΩ,实际取值R1=R2=18kΩ HPF: R1=R2=42.46 kΩ,R1=R2=43kΩ 同理可以计算出Q=2.5时 LPF: R1=14.784kΩ,R2=23.6548 kΩ,实际取值R1=15kΩ、R2=24kΩ HPF: R1= 34.499 kΩ,R2=55.198 kΩ,实际取值R1=33 kΩ、R2=56kΩ 3.3、Matlab频谱相应仿真 取Q=0.1~3,步长取0.2,绘制滤波器的波特图,其结果如下图所示,matlab绘图程序详见附录。
图14带通滤波器不同Q值下的波特图 4、Multisim仿真 4.1、搭建仿真电路图
图15仿真电路图 4.2、仿真结果 4.2.1、Q=0.7时 波特图:
图16 Q=0.7时幅频特性图
图17 Q=0.7时相频特性图 各点波形输出: (注: 紫色: LPF滤波后波形,蓝色: HPF滤波后波形,黄色: 1.65V抬升后波形)
图18仿真波形图 4.2.2、Q=1时 仿真图:
图19仿真电路图 波特图:
图20 Q=1时幅频特性图
图21 Q=1时相频特性图 各点波形输出: (注: 紫色: LPF滤波后波形,蓝色: HPF滤波后波形,黄色: 1.65V抬升后波形)
图22仿真波形图 4.2.3、Q=2.5时 仿真图:
图23仿真图 波特图: (注意: 此处F=50dB)
图24 Q=2.5幅频特性图
图25 Q=2.5时相频特性图 各点波形输出: ((注: 紫色: LPF滤波后波形,蓝色: HPF滤波后波形,黄色: 1.65V抬升后波形)
图26仿真波形图 从上面Q值的对比可以发现: Q 因子的值越低,滤波器的带宽越宽,因此 Q 因子越高,滤波器越窄,“选择性”越强。 由于有源带通滤波器(二阶系统)的品质因数与滤波器响应在其中心谐振频率(fr )附近的“锐度”有关,因此它也可以被认为是“阻尼系数”。 因为滤波器的阻尼越大,其响应越平坦,同样,滤波器的阻尼越小,其响应越敏锐。 5、硬件设计 此处使用Atium Designer软件设计原理图和PCB,该部分硬件源文件均开源,可以直接下载附件。 5.1、原理图设计: 由于LM358D不是轨到轨运放,用于1.65偏置电路时无法提供0~3.3V的动态范围,抬升电路部分先择LMV358。 此处应当注意两款芯片的电压范围不同。 从理论计算可知,修改输入端RC可以改变滤波器的截止频率,修改反馈端电阻会影响滤波器品质因数Q。 该部分电路结构相同,仅需修改电路中电阻、电容参数,便可以实现不同的带通效果,另外修改高通和低通的截止频率还可以实现带阻。 读者可以直接根据生产文件,打样、测试,在实际的测试中探索其中的奥妙。
图27硬件原理图 5.2、PCB设计: PCB部分根据实际生产的需求制作了两种拼版文件: V-cut和邮票孔,此部分可以直接使用,读者也可以实际动手操作一遍,此处使用到高级粘贴功能,具体操作此处不再赘述没有兴趣的读者可以自行了解,另外在做V-cut拼版时需要注意各家板厂V-cut使用钻头的直径,实际拼板中需要根据V-cut钻头的直径预留两个相邻板间的间距,此处按照默认0.4mm设计。 5.2.1、3D效果
图28PCBA渲染图 5.2.2、邮票孔拼版效果图:
图29邮票孔拼版图 5.2.3、V-cut拼版效果图
图30V-Cut拼版图 5.3、实际测试 前一级AD620放大和滤波运放LM358耐压范围较高,测试时可以使用5V正负电源供电,后一级LMV358默认不与正5V电源相连,读者可以将P2与正5V相连,如果使用大于正负5V的电源供电,此处可以使用另一路5V电源单独供电。
图31实物图 5.3.1、测试结果 示波器中蓝色为原始输入信号,第一级放大倍数G=20,黄色为滤波并偏置1.65V的信号。 注意观察两个通道的刻度不同。 f=12Hz时:
图32 f=12Hz时的波形对比 f=20Hz时
图33 f=20Hz时的波形对比 f=60Hz时:
图34 f=60Hz时波形对比图 注: 此部分测试结果可以参见附件视频。
附录
Matlab 绘制bode图代码
%有源二阶模拟带通滤波器%LPF 传递函数计算f0=35Hz C = 1uF,R = R=4.549kΩ g1=k3/(s2+k1*s1+k2) c1 =1e-6;r1 =4549;%HPF 传递函数计算f0=15Hz C = 1uF,R = R=4.549kΩ g2=k6*s2/(s2+k4*s1+k5) c2 =1e-6;r2 =10615;for q=0.1:0.2:3 %LPF Avp1 = 3-(1/q); %R1 = 2*r1*Avp1/(Avp1-1); %R2 = 2*r1*Avp1; k1 = (3-Avp1)/(c1*r1); k2 = 1/(c1*c1*r1*r1); k3 = Avp1/(c1*c1*r1*r1); num1=[k3]; %传递函数分子 den1=[1 k1 k2]; %传递函数分母式为:s2+k1s+k2 G1=tf(num1,den1); %HPF Avp2 = 3-(1/q); %R1 = 2*r2*Avp2/(Avp2-1); %R2 = 2*r2*Avp2; k4 = (3-Avp2)/(c2*r2); k5 = 1/(c2*c2*r2*r2); k6 = Avp2; num2=[k60 0]; %传递函数分子,此处为s2需要特别注意 den2=[1 k4 k5]; %传递函数分母格,式为:s2+k4s+k5 G2=tf(num2,den2); p=bodeoptions; p.FreqUnits='Hz'; p.Grid= 'on'; [num,den] = series(num1,den1,num2,den2); %计算串联传递函数,串联传递函数需要相乘 printsys(num,den) %显示串联后的总传递函数 hold on; bode(num,den,p); %绘制波特图% hold on;% bode(G1,p);% hold on;% bode(G2,p); Endlegend('0.1','0.3','0.5','0.7','0.9','1.1','1.3','1.5','1.7','1.9','2.1','2.3','2.5','2.7','2.9');title('有源二阶模拟带通滤波器相频特性'); %标题
-
二阶有源低通滤波器的设计和仿真分析
2010-10-21 10:52:32本设计有源低通二阶滤波器(又称Sallen-Key 低通滤波器)使用公式法计算得到各参数,本设计从运算放大器的输出到同相端输入间引入一个负反馈构建而成。本文详细叙述了如何用计算法设计有源低通二阶滤波器的方法,并用... -
matlab设计理想高斯巴特沃斯低通滤波器_完整二阶有源带通滤波器设计!(下载:教程+原理图+视频+代码)...
2020-11-21 09:26:241、背景对于微弱的信号的处理方式一般是:放大和滤波,这个过程中就涉及到放大电路的选取、滤波器的选择以及偏置电路的设计。本例以实例的方式讲解并附带参数计算、仿真、实物测试三个环节。假设需要处理一个20mV的...1、背景 对于微弱的信号的处理方式一般是: 放大和滤波,这个过程中就涉及到放大电路的选取、滤波器的选择以及偏置电路的设计。 本例以实例的方式讲解并附带参数计算、仿真、实物测试三个环节。 假设需要处理一个20mV的正弦信号,该信号的频率范围是15~35Hz,经过处理后幅值不超过3.3V,且需要经过带通滤波器滤除杂波。 2、滤波器定义 滤波电路又称为滤波器,是一种选频电路,能够使特定频率范围的信号通过,而且其他频率的信号大大衰减即阻止其通过。 按滤波器工作频率范围的不同,可分为: 低通滤波器 (Low-pass Filter,LPF) 高通滤波器( High-pass Filter,HPF) 带通滤波器 (Band-pass Filter,BPF) 带阻滤波器 (Band-rejection Filter,BRF) 全通滤波器 (All-pass Filter,APF)仅由电阻、电容、电感这些无源器件组成的滤波电路称为无源滤波器。 如果滤波电路中含有有源元件,如集成运放等,则称为有源滤波器。 与无源滤波器相比,有源滤波器具有效率高、带负载能力强、频率特性好,而且在滤波的同时还可以将有用信号放大等一系列有点而得到广泛应用。 2.1、滤波器种类 2.1.1、低通滤波器 从f0~f2频率之间,幅频特性平直,它可以使信号中低于f2的频率成分几乎不受衰减地通过,而高于f2的频率成分受到极大地衰减。图1低通滤波器 2.1.2、高通滤波器 与低通滤波相反,从频率f1~∞,其幅频特性平直。 它使信号中高于f1的频率成分几乎不受衰减地通过,而低于f1的频率成分将受到极大地衰减。
图2高通滤波器 2.1.3、带通滤波器 它的通频带在f1~f2之间。 它使信号中高于f1而低于f2的频率成分可以不受衰减地通过,而其它成分受到衰减。
图3带通滤波器 实际上将低通滤波器和高通滤波器串联,即可构成带通滤波器,此处需要注意高通滤波器的截止频率一定要小于低通滤波器的截止频率即fH
图4低通滤波器与高通滤波器的串联 2.1.4、带阻滤波器 与带通滤波相反,阻带在频率f1~f2之间。 它使信号中高于f1而低于f2的频率成分受到衰减,其余频率成分的信号几乎不受衰减地通过。
图 5带阻滤波器 实际上将低通滤波器和高通滤波器并联,即可构成带通滤波器带阻滤波器。 此处需要注意高通滤波器的截止频率一定要大于低通滤波器的截止频率即fH>fL,否则新构成的滤波器就会变成全通滤波器。
图 6低通滤波器与高通滤波器的并联 2.2、滤波器的基本参数 理想滤波器是不存在的,在实际滤波器的幅频特性图中,通带和阻带之间应没有严格的界限。 在通带和阻带之间存在一个过渡带。 在过渡带内的频率成分不会被完全抑制,只会受到不同程度的衰减。 当然,希望过渡带越窄越好,也就是希望对通带外的频率成分衰减得越快、越多越好。 因此,在设计实际滤波器时,总是通过各种方法使其尽量逼近理想滤波器。 如图所示为理想带通(虚线)和实际带通(实线)滤波器的幅频特性。 由图中可见,理想滤波器的特性只需用截止频率描述,而实际滤波器的特性曲线无明显的转折点,两截止频率之间的幅频特性也非常数,故需用更多参数来描述。
图7实际滤波器 2.2.1、纹波幅度d 在一定频率范围内,实际滤波器的幅频特性可能呈波纹变化,其波动幅度d与幅频特性的平均值A0相比,越小越好,一般应远小于-3dB。 2.2.2、截止频率fc 截止频率(CutoffFrequency): 指低通滤波器的通带右边频点或高通滤波器的通带左边频点。 通常以1dB或3dB相对损耗点的标准定义。 相对损耗的参考基准为: 低通以DC处插入损耗为基准,高通则以未出现寄生阻带足够高的通带频率处插入损为基准。 2.2.3、中心频率(Center Frequency): 滤波器通带的中心频率f0,一般取f0=(f1+f2)/2,f1、f2为带通或带阻滤波器左、右相对下降1dB或3dB边频点。 窄带滤波器常以插入损耗最小点为中心频率计算通带带宽。 2.2.4、带宽B和品质因数Q值 上下两截止频率之间的频率范围称为滤波器带宽,或-3dB带宽,单位为Hz。 带宽决定着滤波器分离信号中相邻频率成分的能力——频率分辨力。 在电工学中,通常用Q代表谐振回路的品质因数。 在二阶振荡环节中,Q值相当于谐振点的幅值增益系数, Q=1/2ξ(ξ——阻尼率)。 对于带通滤波器,通常把中心频率f0和带宽 B之比称为滤波器的品质因数Q。 例如一个中心频率为500Hz的滤波器,若其中-3dB带宽为10Hz,则称其Q值为50。 Q值越大,表明滤波器频率分辨力越高。 2.2.5、倍频程选择性W 在两截止频率外侧,实际滤波器有一个过渡带,这个过渡带幅频曲线的倾斜程度表明了幅频特性衰减的快慢,它决定着滤波器对带宽外频率成分衰阻的能力。 通常用倍频程选择性来表征。 所谓倍频程选择性,是指在上截止频率fc2与 2fc2之间,或者在下截止频率fc1与fc1/2之间幅频特性的衰减值,即频率变化一个倍频程时的衰减量或倍频程衰减量以dB/oct表示(octave,倍频程)。 显然,衰减越快(即W值越大),滤波器的选择性越好。 对于远离截止频率的衰减率也可用10倍频程衰减数表示之。 即[dB/10oct]。 2.2.6、滤波器因数(或矩形系数) 滤波器因数是滤波器选择性的另一种表示方式 ,它是利用滤波器幅频特性的 -60dB带宽与-3dB带宽的比值来衡量滤波器选择性.即理想滤波器 =1,常用滤波器 =1~5,显然,越接近于1,滤波器选择性越好。 2.2.7、插入损耗(Insertion Loss): 滤波器插入电路之前传播送到负载阻抗的功率与滤波器插入之后传送到负载阻抗的比值的对数,称为滤波器插入损耗。 常以中心或截止频率处损耗表征。 3、计算过程 3.1、1.65V偏置电路计算 抬升电路本质上是一个加法器,其原理是在输入信号的基础加一个偏置量。 此处需要将被测信号抬升至0~3.3V范围内,假设信号为正弦信号,且在0V上下波动,因此需要将信号抬升1.65V。 整个计算过程使用虚短、虚断的假设,列出如下两个方程,将②式化简并带入①式,可以求得③式。 从化简后的③式可以看出: u0=ku2+gu1,其中k、g仅与电阻的大小有关,k为加法电路偏置,g为输入信号增益,此处仅实现1.65V偏置,因此k=2,g=1。 如需在偏置的基础上增加对输入信号的放大,可以适当调节电阻阻值,此处不再赘述。 为简化电阻选值,假设R1=R3,则、R2=2R1=2R3。 该结论适用于同类的抬升电路。
图8偏置电路图
图9偏置电路 根据虚短、虚断列出下面两个方程: 推导出下式: 则是偏置电压的偏置常数,是闭环增益,此处希望,,带入可得: 。 即偏置电路中的二等分偏置电阻是反馈电阻的两倍,反馈端对地电阻和反馈电阻相等。 对于有电容的电路,上式电阻(R)可以用阻抗(z)的形式表示。 此处选择输入电阻为100KΩ,则偏置电路电阻为200KΩ。 3.2、滤波器计算 3.2.1、一阶有源滤波器
图10一阶LPF 3.2.2、二阶低通滤波器 为改善滤波效果,使f>>f0时,信号衰减的更快,一般在上图所示的一阶低通滤波器的基础上再增加一级RC电路就构成二阶有源低通滤波器,如下图所示。
图11二阶LPF 3.2.3、二阶压控型低通滤波器 二阶压控型低通有源滤波器中的一个电容器C1原来是接地的,现在改接到输出端。 显然C1的改接不影响通带增益。
图12二阶压控型LPF 二阶LPF传递函数:
通带增益:
上式表明,该滤波器的通带增益应小于3,才能保障电路稳定工作。 3.2.4、二阶高通滤波器 高通滤波器电路与低通滤波器在电路上具备对偶性,通过把低通滤波器电路中的R、C互换位置即可得到高通滤波器,并且相应的截止频率也具备这种特性。
图13二阶HPF 二阶HPF传递函数:
通带增益:
3.2、二阶滤波器计算 当时,幅频特性曲线最平坦 成为Butterworth滤波器;当Q=1时,称为Chebyshev滤波器;当Q>0.707时后,特性曲线将出现峰值,Q值越大,峰值越高 LPF: 假设待计算滤波器Q=0.7(读者可以根据实际情况取值,此处仅以0.7为例设计)f=35Hz、。 根据RC滤波器求解RC值: 电容值一般取1uF以下,此处以1uF为例计算。 则
求得R=4.549kΩ,实际取值R=4.3 kΩ。 根据Q值求解R1和R2,当f=f0时,
则:
解得: R1=25.06kΩ,R2=14.29kΩ 实际取值: R1=24kΩ,R2=15kΩ(实际电阻值是离散数据,选取相近阻值即可)。 HPF: 由于同类型LPF和HPF具有对偶性,实际计算按照LPF计算,电路中替换RC位置即可。 假设待计算滤波器Q=0.7(读者可以根据实际情况取值,此处仅以0.7为例设计)、f0=15hz。 根据RC滤波器求解RC值: 电容值一般取1uF以下,此处以1uF为例计算。 则
求得R=10.615kΩ,实际取值R=10 kΩ。 根据Q值求解R1和R2,当f=f0时,
则:
解得: R1=58.479kΩ,R2=33.333kΩ 实际取值: R1=56kΩ,R2=33kΩ(实 际电阻值是离散数据,选取相近阻值即可)。 同理可以计算出Q=1时 LPF: R1=R2=18.19kΩ,实际取值R1=R2=18kΩ HPF: R1=R2=42.46 kΩ,R1=R2=43kΩ 同理可以计算出Q=2.5时 LPF: R1=14.784kΩ,R2=23.6548 kΩ,实际取值R1=15kΩ、R2=24kΩ HPF: R1= 34.499 kΩ,R2=55.198 kΩ,实际取值R1=33 kΩ、R2=56kΩ 3.3、Matlab频谱相应仿真 取Q=0.1~3,步长取0.2,绘制滤波器的波特图,其结果如下图所示,matlab绘图程序详见附录。
图14带通滤波器不同Q值下的波特图 4、Multisim仿真 4.1、搭建仿真电路图
图15仿真电路图 4.2、仿真结果 4.2.1、Q=0.7时 波特图:
图16 Q=0.7时幅频特性图
图17 Q=0.7时相频特性图 各点波形输出: (注: 紫色: LPF滤波后波形,蓝色: HPF滤波后波形,黄色: 1.65V抬升后波形)
图18仿真波形图 4.2.2、Q=1时 仿真图:
图19仿真电路图 波特图:
图20 Q=1时幅频特性图
图21 Q=1时相频特性图 各点波形输出: (注: 紫色: LPF滤波后波形,蓝色: HPF滤波后波形,黄色: 1.65V抬升后波形)
图22仿真波形图 4.2.3、Q=2.5时 仿真图:
图23仿真图 波特图: (注意: 此处F=50dB)
图24 Q=2.5幅频特性图
图25 Q=2.5时相频特性图 各点波形输出: ((注: 紫色: LPF滤波后波形,蓝色: HPF滤波后波形,黄色: 1.65V抬升后波形)
图26仿真波形图 从上面Q值的对比可以发现: Q 因子的值越低,滤波器的带宽越宽,因此 Q 因子越高,滤波器越窄,“选择性”越强。 由于有源带通滤波器(二阶系统)的品质因数与滤波器响应在其中心谐振频率(fr )附近的“锐度”有关,因此它也可以被认为是“阻尼系数”。 因为滤波器的阻尼越大,其响应越平坦,同样,滤波器的阻尼越小,其响应越敏锐。 5、硬件设计 此处使用Atium Designer软件设计原理图和PCB,该部分硬件源文件均开源,可以直接下载附件。 5.1、原理图设计: 由于LM358D不是轨到轨运放,用于1.65偏置电路时无法提供0~3.3V的动态范围,抬升电路部分先择LMV358。 此处应当注意两款芯片的电压范围不同。 从理论计算可知,修改输入端RC可以改变滤波器的截止频率,修改反馈端电阻会影响滤波器品质因数Q。 该部分电路结构相同,仅需修改电路中电阻、电容参数,便可以实现不同的带通效果,另外修改高通和低通的截止频率还可以实现带阻。 读者可以直接根据生产文件,打样、测试,在实际的测试中探索其中的奥妙。
图27硬件原理图 5.2、PCB设计: PCB部分根据实际生产的需求制作了两种拼版文件: V-cut和邮票孔,此部分可以直接使用,读者也可以实际动手操作一遍,此处使用到高级粘贴功能,具体操作此处不再赘述没有兴趣的读者可以自行了解,另外在做V-cut拼版时需要注意各家板厂V-cut使用钻头的直径,实际拼板中需要根据V-cut钻头的直径预留两个相邻板间的间距,此处按照默认0.4mm设计。 5.2.1、3D效果
图28PCBA渲染图 5.2.2、邮票孔拼版效果图:
图29邮票孔拼版图 5.2.3、V-cut拼版效果图
图30V-Cut拼版图 5.3、实际测试 前一级AD620放大和滤波运放LM358耐压范围较高,测试时可以使用5V正负电源供电,后一级LMV358默认不与正5V电源相连,读者可以将P2与正5V相连,如果使用大于正负5V的电源供电,此处可以使用另一路5V电源单独供电。
图31实物图 5.3.1、测试结果 示波器中蓝色为原始输入信号,第一级放大倍数G=20,黄色为滤波并偏置1.65V的信号。 注意观察两个通道的刻度不同。 f=12Hz时:
图32 f=12Hz时的波形对比 f=20Hz时
图33 f=20Hz时的波形对比 f=60Hz时:
图34 f=60Hz时波形对比图 注: 此部分测试结果可以参见附件视频。
附录
Matlab 绘制bode图代码
%有源二阶模拟带通滤波器%LPF 传递函数计算f0=35Hz C = 1uF,R = R=4.549kΩ g1=k3/(s2+k1*s1+k2) c1 =1e-6;r1 =4549;%HPF 传递函数计算f0=15Hz C = 1uF,R = R=4.549kΩ g2=k6*s2/(s2+k4*s1+k5) c2 =1e-6;r2 =10615;for q=0.1:0.2:3 %LPF Avp1 = 3-(1/q); %R1 = 2*r1*Avp1/(Avp1-1); %R2 = 2*r1*Avp1; k1 = (3-Avp1)/(c1*r1); k2 = 1/(c1*c1*r1*r1); k3 = Avp1/(c1*c1*r1*r1); num1=[k3]; %传递函数分子 den1=[1 k1 k2]; %传递函数分母式为:s2+k1s+k2 G1=tf(num1,den1); %HPF Avp2 = 3-(1/q); %R1 = 2*r2*Avp2/(Avp2-1); %R2 = 2*r2*Avp2; k4 = (3-Avp2)/(c2*r2); k5 = 1/(c2*c2*r2*r2); k6 = Avp2; num2=[k60 0]; %传递函数分子,此处为s2需要特别注意 den2=[1 k4 k5]; %传递函数分母格,式为:s2+k4s+k5 G2=tf(num2,den2); p=bodeoptions; p.FreqUnits='Hz'; p.Grid= 'on'; [num,den] = series(num1,den1,num2,den2); %计算串联传递函数,串联传递函数需要相乘 printsys(num,den) %显示串联后的总传递函数 hold on; bode(num,den,p); %绘制波特图% hold on;% bode(G1,p);% hold on;% bode(G2,p); Endlegend('0.1','0.3','0.5','0.7','0.9','1.1','1.3','1.5','1.7','1.9','2.1','2.3','2.5','2.7','2.9');title('有源二阶模拟带通滤波器相频特性'); %标题
-
一阶数字低通滤波器-C语言/matlab实现
2021-10-11 09:19:361.一阶硬件滤波器 原理: 计算: 实验: 2.一阶数字滤波器 原理: 计算: 实验: 应用及注意事项: 3.一阶数字滤波器代码实现 代码: 实验数据: -
二阶无源RC滤波的MATLAB仿真
2021-04-20 10:15:12在网上搜了很长时间都没找到二阶无源RC滤波参数的MATLAB仿真,没办法,自己编了。二阶RC滤波回路的分析可采用拉式变换法进行比较简单,令1/CS代替C即得容抗,通过分压电路分析即得二阶RC滤波电路的传递函数,另wj... -
巴特沃斯滤波器(内含完整的MATLAB代码)
2020-04-11 15:42:00巴特沃斯滤波器(内含完整的MATLAB代码) -
二阶低通巴特沃斯滤波C语言实现
2021-04-20 15:44:27=================================你给的要求太少,但是怎么说也能设计了,先给你个吧。==================你可以自己使用fdatool去弄以下一个结果:通带5Hz,1db,阻带8Hz,40dbb=[0.0117 -0.0329 0.0451 -0.0329 ... -
MATLAB自修课_巴特沃斯二阶数字带通滤波器设计
2021-11-02 10:21:30MATLAB自修课_巴特沃斯二阶带通数字滤波器设计 设计注意:带通滤波器的阶次必须为偶次 设计验证: 输入表达式 input = (15sin(2×pi×20×t)+8)+(2×sin(2×pi×70×t))+random(-4,4) 采样周期:1000HZ 滤波要求:... -
双二阶滤波器之MATLAB设计及C语言实现
2019-06-01 22:36:39双二阶滤波器 本文中的例子和代码放在Github First,什么是双二阶滤波器?wiki上是这么说的:二阶、递归、线性,含有两个极点和两个零点,“双二阶”的名字来源于它的传递函数是两个二次多项式的比值。 In signal ... -
[转载]Matlab滤波器设计
2021-04-18 15:17:21滤波器设计是一个创建满足指定滤波要求的滤波器参数的过程。滤波器的实现包括滤波器结构的选择和滤波器参数的计算。只有完成了滤波器的设计和实现,才能最终完成数据的滤波。滤波器设计的目标是实现数据序列的频率... -
基于MATLAB的LC二阶低通滤波网络频域分析
2021-04-21 06:35:53基于MA T LAB 的LC 二阶低通滤波网络频域分析 周习祥 (益阳职业技术学院机电系,湖南益阳413049)[摘要]在信号处理过程中,L C 二阶低通滤波网络的应用非常广泛,电路参数的选择决定了滤波网络的性能。对L C 二阶低通... -
设计数字低通滤波器(用matlab实现).doc
2021-05-05 10:24:01范文 范例 参考word版整理DSP设计滤波器报告姓名:张胜男 班级:07级电信(1)班 学号:078319120一·低通滤波器的设计(一)实验目的:掌握IIR数字低通滤波器的设计方法。(二)实验原理:1、滤波器的分类滤波器分两大类... -
用matlab做巴特沃斯低通滤波器
2020-07-11 23:00:39用matlab做巴特沃斯低通滤波器的干货 基本数据 fs=100 N=1024 n=-N/2:N/2-1 f=n*fs/N也可以表示为f=linspace(-fs/2,fs/2,N); t=n/fs 第一步:做出原信号的频谱函数 注意:用fft函数作频谱分析,得到的是0~fs内的频谱... -
基于matlab的各类滤波器设计
2021-04-18 06:02:32描述一. 采用fir1采用了窗函数设计方法语法如下:各项参数意义:b:返回的FIR滤波器单位脉冲响应,脉冲响应为偶对称,...如果wn是单个数值,且ftype参数为low,则表示设计截止频率为wn的低通滤波器,如ftype参数为... -
butterworth低通滤波matlab程序
2018-07-09 15:33:34傅里叶变化 通过处理得到Butterworth低通滤波图像,经过验证,程序可以运行,有需要的朋友可以下载。 -
二阶rc无源低通滤波电路
2021-04-21 10:16:31并以二阶RC无源低通滤波电路为例对此过程进行说明,与模拟滤波电路和传统的数字滤波相比,该方法不仅比传统的数字滤波算法简单快捷,而且可有效防止模拟电路中器件的寄生参数、精度、温度等的影响,使滤波更加稳定。... -
Steerable filter:这个包实现了一阶和二阶高斯导数可控滤波器-matlab开发
2021-05-30 12:14:02这个包实现了论文的高斯函数的一阶导数和二阶导数的可控滤波器 WT Freeman 和 EH Adelson,“可控滤波器的设计和使用”,IEEE PAMI,1991。 致谢:此文件的灵感来自 Douglas Lanman 在... -
二阶 巴特沃斯 带通滤波器设计
2013-06-07 10:10:53二阶巴特沃斯带通滤波器仿真电路图,二阶巴特沃斯带通滤波器仿真电路图 -
二阶有源低通滤波器幅频特性
2016-10-20 12:52:00http://wenku.baidu.com/link?url=wk71A6l6PznKA9i4Jz36rEhwLrrQLJXs_JJkQrRg6lSl3uPFEzur8jW6QwftjVwzsWKZiNrj8ghhS9j9FT16XT1wNV-SJxGYMiHEZ0BWBd3 转载于:https://www.cnblogs.com/prayer521/p/5980443.html