当前位置: 首页 > news >正文

RC高通滤波器Bode图分析(传递函数零极点)

RC高通滤波器

在这里插入图片描述

我们使得R=1K,C=1uF;电容C的阻抗为Xc;

传递函数

H ( s ) = u o u i = R X C + R = R 1 s C + R = s R C 1 + s R C (其中 s = j ω ) H(s)=\frac{u_{o} }{u_{i} } =\frac{R }{X_{C}+R} =\frac{R }{\frac{1}{sC}+R} =\frac{sRC}{1+sRC}(其中s=j\omega ) H(s)=uiuo=XC+RR=sC1+RR=1+sRCsRC(其中s=
将传递函数进一步整理可得:
H = ( ω R C ) 2 + j ω R C 1 + ( ω R C ) 2 H=\frac{\left ( \omega RC \right ) ^{2} +j\omega RC}{1+\left ( \omega RC \right ) ^{2} } H=1+(ωRC)2(ωRC)2+RC
由上式可得出传递函数的实部和虚部:
r e a l = ( ω R C ) 2 1 + ( ω R C ) 2 i m a g e = ω R C 1 + ( ω R C ) 2 \begin{matrix}real=\frac{\left ( \omega RC \right ) ^{2} }{1+\left ( \omega RC \right ) ^{2} } \\image=\frac{\omega RC}{1+\left ( \omega RC \right ) ^{2} } \end{matrix} real=1+(ωRC)2(ωRC)2image=1+(ωRC)2ωRC
进一步求出幅值和相位表达式:
幅值 = r e a l 2 + i m a g e 2 = ( ω R C ) 2 1 + ( ω R C ) 2 相位 = a r c t a n ( i m a g e r e a l ) = a r c t a n ( 1 ω R C ) ( 其中 ω = 2 π f ) \begin{matrix}幅值=\sqrt{real^{2}+image^{2} } =\sqrt{\frac{\left ( \omega RC \right ) ^{2}}{1+( \omega RC)^{2} } } \\相位=arctan\left (\frac{image}{real} \right ) =arctan\left (\frac{1}{\omega RC} \right ) \\(其中 \omega =2\pi f) \end{matrix} 幅值=real2+image2 =1+(ωRC)2(ωRC)2 相位=arctan(realimage)=arctan(ωRC1)(其中ω=2πf)

截止频率

f r = 1 2 π R C f_{r}=\frac{1}{2\pi RC} fr=2πRC1
有关截止频率的计算可以看之前的文章:https://editor.csdn.net/md/?articleId=139279203

零点与极点

由传递函数可求出零点与极点:
H ( s ) = u o u i = R X C + R = R 1 s C + R = s R C 1 + s R C (其中 s = j ω ) H(s)=\frac{u_{o} }{u_{i} } =\frac{R }{X_{C}+R} =\frac{R }{\frac{1}{sC}+R} =\frac{sRC}{1+sRC}(其中s=j\omega ) H(s)=uiuo=XC+RR=sC1+RR=1+sRCsRC(其中s=
零点:令传递函数的分子为0可求出零点,得:
s = 0 (注意单位问题,我们平常计算时需要计算出频率;如果计算出负值,需要取其绝对值) s=0(注意单位问题,我们平常计算时需要计算出频率;如果计算出负值,需要取其绝对值) s=0(注意单位问题,我们平常计算时需要计算出频率;如果计算出负值,需要取其绝对值)

极点:令传递函数的分子为0可求出极点,得:
s = − 1 R C (注意单位问题,我们平常计算时需要计算出频率;如果计算出负值,需要取其绝对值) s=-\frac{1 }{RC }(注意单位问题,我们平常计算时需要计算出频率;如果计算出负值,需要取其绝对值) s=RC1(注意单位问题,我们平常计算时需要计算出频率;如果计算出负值,需要取其绝对值)

Bode图绘制与分析

现在,我们使用matlab来画出这个RC滤波器的bode图,如下:
在这里插入图片描述
我们来进一步分析这个bode图:

  1. 在截止频率处f,=fr≈159.15Hz处,对应的幅值和相位计算如下: 幅值 = ( ω R C ) 2 1 + ( R C ) 2 = ( 2 π f r R C ) 2 1 + ( 2 π f r R C ) 2 = 2 2 (即 − 3 d B ) 相位 = a r c t a n ( 1 ω R C ) = a r c t a n ( 1 2 π f r R C ) = a r c t a n ( 1 ) = 45 ° \begin{matrix} 幅值=\sqrt{\frac{\left ( \omega RC \right ) ^{2}}{1+( RC)^{2} } } =\sqrt{\frac{(2\pi f_{r}RC)^{2}}{1+ (2\pi f_{r}RC)^{2} } } =\frac{\sqrt{2} }{2} (即-3dB) \\相位=arctan\left (\frac{1}{\omega RC} \right ) =arctan\left (\frac{1}{2\pi f_{r} RC} \right ) =arctan\left (1 \right )=45° \end{matrix} 幅值=1+(RC)2(ωRC)2 =1+(2πfrRC)2(2πfrRC)2 =22 (即3dB相位=arctan(ωRC1)=arctan(2πfrRC1)=arctan(1)=45°
  2. 在截止频率左侧,当f<<fr时,对应的幅值和相位计算如下: 幅值 = ( ω R C ) 2 1 + ( ω R C ) 2 = ( 2 π f R C ) 2 1 + ( 2 π f R C ) 2 (随着频率减小幅值减小,斜率为 20 d B / 10 d e c ,即频率每减小 10 倍,幅值衰减 20 d B ) 相位 = a r c t a n ( 1 ω R C ) = a r c t a n ( 1 2 π f R C ) = a r c t a n ( ∞ ) = 90 ° \begin{matrix} 幅值=\sqrt{\frac{\left ( \omega RC \right ) ^{2}}{1+( \omega RC)^{2} } } =\sqrt{\frac{(2\pi fRC)^{2} }{1+ (2\pi fRC)^{2} } } \\(随着频率减小幅值减小,斜率为20dB/10dec,即频率每减小10倍,幅值衰减20dB) \\相位=arctan\left (\frac{1}{\omega RC} \right ) =arctan\left (\frac{1}{2\pi fRC} \right ) =arctan(∞ )=90° \end{matrix} 幅值=1+(ωRC)2(ωRC)2 =1+(2πfRC)2(2πfRC)2 (随着频率减小幅值减小,斜率为20dB/10dec,即频率每减小10倍,幅值衰减20dB相位=arctan(ωRC1)=arctan(2πfRC1)=arctan()=90°
  3. 在截止频率右侧,当f>>fr时,对应的幅值和相位计算如下: 幅值 = ( ω R C ) 2 1 + ( ω R C ) 2 = ( 2 π f R C ) 2 1 + ( 2 π f R C ) 2 ≈ 1 (即 0 d B ) 相位 = a r c t a n ( 1 ω R C ) = a r c t a n ( 1 2 π f R C ) = a r c t a n ( ∞ 0 ) = 0 ° \begin{matrix} 幅值=\sqrt{\frac{\left ( \omega RC \right ) ^{2}}{1+( \omega RC)^{2} } } =\sqrt{\frac{(2\pi fRC)^{2} }{1+ (2\pi fRC)^{2} } }≈1(即0dB) \\相位=arctan\left (\frac{1}{\omega RC} \right ) =arctan\left (\frac{1}{2\pi fRC} \right ) =arctan(∞0)=0° \end{matrix} 幅值=1+(ωRC)2(ωRC)2 =1+(2πfRC)2(2πfRC)2 1(即0dB相位=arctan(ωRC1)=arctan(2πfRC1)=arctan(∞0)=
  4. 对于RC高通滤波器来说,其极点对应的频率与截止频率数值上相等,bode图上也可以看出,均为159.19Hz;
    每增加一个极点,可以使得bode图的幅值变化-20dB/dec,相位变化-90°;
    每增加一个零点,可以使得bode图的幅值变化20dB/dec,相位变化90°;
    bode图上:
    极点前后幅值由20dB/dec变为0dB/dec,变化-20dB/dec,左侧幅值变化-20dB/dec;极点前后相位由90°变化为0°,变化-90°;
    零点右侧幅值为20dB/dec,变化20dB/dec;零点相位为90°,变化90°;

matlab代码

R=1000;
C=1*10^(-6);
H=tf([(R*C) 0],[(R*C) 1]);% 获取零极点
z = zero(H);
p = pole(H);opts = bodeoptions;
opts.FreqUnits = 'Hz'; % 设置频率单位为Hzbode(H, opts);
grid on% 获取当前坐标轴
h = findobj(gcf, 'Type', 'axes');% 设置增益图的横纵坐标显示值
set(h(1), 'XScale', 'log'); % 设置横坐标为对数刻度
set(h(1), 'XLim', [0,1000000]);
set(h(1), 'XTick', [0,1,10,100,1000,10000,100000,1000000]); % 设置横坐标刻度
set(h(1), 'YLim', [-40, 0]); % 设置纵坐标范围
set(h(1), 'YTick',[-40,-30,-20,-10,0]); % 设置纵坐标刻度% 设置相位图的横纵坐标显示值
set(h(2), 'XScale', 'log'); % 设置横坐标为对数刻度
set(h(1), 'XLim', [1,1000000]);
set(h(2), 'XTick', [0,1,10,100,1000,10000,100000,1000000]); % 设置横坐标刻度
%set(h(2), 'YLim', [0, 90]); % 设置纵坐标范围
set(h(2), 'YTick', [0,15,30,45,60,75,90]); % 设置纵坐标刻度% 计算截止频率
%RC = 1 / abs(p); % 截止频率为极点的绝对值的倒数
cutoff_freq = 1 / (2 * pi * R*C); % 截止频率(Hz)% 在增益图上标示零点和极点
for i = 1:length(h)if i == 1 % 增益图% 标示零点for j = 1:length(z)if ~isinf(z(j)) % 排除无穷大hold on;% 将零点从弧度转换为赫兹freq_hz = real(z(j)) / (2 * pi);plot([freq_hz, freq_hz], [-90, 90], 'r--'); % 画虚线text(freq_hz, 90, sprintf('Zero: %.2f Hz', freq_hz), 'Color', 'r'); % 添加文本标注endend% 标示极点for j = 1:length(p)if ~isinf(p(j)) % 排除无穷大hold on;% 计算频率freq_hz = (p(j)) / (2 * pi); % 使用虚部计算频率% 处理负频率if freq_hz < 0freq_hz_positive = -freq_hz; % 转换为正频率elsefreq_hz_positive = freq_hz; % 保持正频率end% 标示正频率plot([freq_hz_positive, freq_hz_positive], [-100, 10], 'g--'); % 画虚线text(freq_hz_positive, 80, sprintf('Pole: %.2f Hz', freq_hz_positive), 'Color', 'g'); % 添加文本标注endend% 标示截止频率%hold on;%plot([cutoff_freq, cutoff_freq], [-90, 90], ':'); % 画截止频率虚线%text(cutoff_freq, -70, sprintf('Cutoff: %.2f Hz', cutoff_freq), 'Color', 'b');elseif i == 2 % 增益图% 标示零点for j = 1:length(z)if ~isinf(z(j)) % 排除无穷大hold on;% 将零点从弧度转换为赫兹freq_hz = real(z(j)) / (2 * pi);plot([freq_hz, freq_hz], [-90, 90], 'r--'); % 画虚线text(freq_hz, 90, sprintf('Zero: %.2f Hz', freq_hz), 'Color', 'r'); % 添加文本标注endend% 标示极点for j = 1:length(p)if ~isinf(p(j)) % 排除无穷大hold on;% 计算频率freq_hz = (p(j)) / (2 * pi); % 使用虚部计算频率% 处理负频率if freq_hz < 0freq_hz_positive = -freq_hz; % 转换为正频率elsefreq_hz_positive = freq_hz; % 保持正频率end% 标示正频率plot([freq_hz_positive, freq_hz_positive], [-100, 10], 'g--'); % 画虚线text(freq_hz_positive, -80, sprintf('Pole: %.2f Hz', freq_hz_positive), 'Color', 'g'); % 添加文本标注endend% 标示截止频率hold on;plot([cutoff_freq, cutoff_freq], [-90, 90], ':'); % 画截止频率虚线text(cutoff_freq, 70, sprintf('Cutoff: %.2f Hz', cutoff_freq), 'Color', 'b');end
end
http://www.lryc.cn/news/478397.html

相关文章:

  • SpeechT5 模型
  • 网站用户行为分析:方法、工具与实践
  • 医疗医药企业新闻稿怎么写?健康行业品牌宣传背书的报纸期刊杂志媒体有哪些
  • 2024-11-06 问AI: [AI面试题] 人工智能如何用于欺诈检测和网络安全?
  • 个人3DCoat设置分享
  • Spark 程序开发与提交:本地与集群模式全解析
  • Linux编程:DMA增加UDP 数据传输吞吐量并降低延迟
  • 鸿蒙开启无线调试
  • C. DS循环链表—约瑟夫环 (Ver. I - B)
  • 【刷题】优选算法
  • Python 在PDF中绘制形状(线条、矩形、椭圆形等)
  • 《今日制造与升级》是什么级别的期刊?是正规期刊吗?能评职称吗?
  • loading为什么不更新
  • Rust 力扣 - 1652. 拆炸弹
  • 使用Golang实现开发中常用的【并发设计模式】
  • 基于Zynq FPGA对雷龙SD NAND的性能测试评估
  • 4.WebSocket 配置与Nginx 的完美结合
  • Docker:镜像构建 DockerFile
  • 浮动路由:实现出口线路的负载均衡冗余备份。
  • 二叉树的遍历和线索二叉树
  • SpringBoot3 集成Junit4
  • Scala的set的添加删减和查询
  • 基于微信小程序的移动学习平台的设计与实现+ssm(lw+演示+源码+运行)
  • 【spark面试题】RDD和DataFrame以及DataSet有什么异同
  • [Python]关于Tensorflow+Keras+h5py+numpy一些骚操作备忘
  • 深度学习:Transformer 详解
  • jmeter 性能测试步骤是什么?
  • 前端入门一之JS最基础、最基础语法
  • 解决Swp交换空间被占满问题
  • 草地景观中的土地覆被变化:将增强型大地遥感卫星数据组成、LandTrendr 和谷歌地球引擎中的机器学习分类与 MLP-ANN 场景预测相结合