首页 > 技术文章 > 一阶RC无源低通滤波器 数字化推导

eesaltedfish 2021-09-07 16:47 原文

参考链接:一阶RC低通数字滤波器算法实现

一阶RC无源低通滤波器电路图如下图所示

bbda91c7432e4005feb5d25368670f9a.png

从时域角度可以列写出输出电压与输入电压的关系:

\[\left\{ {\begin{array}{*{20}{c}} {{V_{in}} - {V_{out}} = R \cdot i}\\ {i = C \cdot \frac{{d{V_{out}}}}{{dt}}} \end{array}} \right. \]

下式带入上式得到:

\[% MathType!MTEF!2!1!+- % feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn % hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr % 4rNCHbWexLMBbXgBd9gzLbvyNv2CaeHbl7mZLdGeaGqipu0Je9sqqr % pepC0xbbL8F4rqqrFfpeea0xe9Lq-Jc9vqaqpepm0xbba9pwe9Q8fs % 0-yqaqpepae9pg0FirpepeKkFr0xfr-xfr-xb9adbaqaaeGaciGaai % aabeqaamaabaabauaakeaacaWGsbGaam4qaiabgwSixpaalaaabaGa % amizaiaadAfadaWgaaWcbaGaam4BaiaadwhacaWG0baabeaaaOqaai % aadsgacaWG0baaaiabgUcaRiaadAfadaWgaaWcbaGaam4Baiaadwha % caWG0baabeaakiabg2da9iaadAfadaWgaaWcbaGaamyAaiaad6gaae % qaaaaa!5282! RC \cdot \frac{{d{V_{out}}}}{{dt}} + {V_{out}} = {V_{in}} \]

采用后(前)向差分,对上式进行离散化:

\[% MathType!MTEF!2!1!+- % feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn % hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr % 4rNCHbWexLMBbXgBd9gzLbvyNv2CaeHbl7mZLdGeaGqipu0Je9sqqr % pepC0xbbL8F4rqqrFfpeea0xe9Lq-Jc9vqaqpepm0xbba9pwe9Q8fs % 0-yqaqpepae9pg0FirpepeKkFr0xfr-xfr-xb9adbaqaaeGaciGaai % aabeqaamaabaabauaakeaacaWGsbGaam4qaiabgwSixpaalaaabaGa % amOvamaaBaaaleaacaWGVbaabeaakmaabmaabaGaam4AaaGaayjkai % aawMcaaiabgkHiTiaadAfadaWgaaWcbaGaam4BaaqabaGcdaqadaqa % aiaadUgacqGHsislcaaIXaaacaGLOaGaayzkaaaabaGaamivamaaBa % aaleaacaWGZbaabeaaaaGccqGHRaWkcaWGwbWaaSbaaSqaaiaad+ga % aeqaaOWaaeWaaeaacaWGRbaacaGLOaGaayzkaaGaeyypa0JaamOvam % aaBaaaleaacaWGPbaabeaakmaabmaabaGaam4AaaGaayjkaiaawMca % aaaa!5B6D! RC \cdot \frac{{{V_o}\left( k \right) - {V_o}\left( {k - 1} \right)}}{{{T_s}}} + {V_o}\left( k \right) = {V_i}\left( k \right) \]

\[% MathType!MTEF!2!1!+- % feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn % hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr % 4rNCHbWexLMBbXgBd9gzLbvyNv2CaeHbl7mZLdGeaGqipu0Je9sqqr % pepC0xbbL8F4rqqrFfpeea0xe9Lq-Jc9vqaqpepm0xbba9pwe9Q8fs % 0-yqaqpepae9pg0FirpepeKkFr0xfr-xfr-xb9adbaqaaeGaciGaai % aabeqaamaabaabauaakeaacaWGsbGaam4qaiabgwSixpaalaaabaGa % amOvamaaBaaaleaacaWGVbaabeaakmaabmaabaGaam4AaiabgUcaRi % aaigdaaiaawIcacaGLPaaacqGHsislcaWGwbWaaSbaaSqaaiaad+ga % aeqaaOWaaeWaaeaacaWGRbaacaGLOaGaayzkaaaabaGaamivamaaBa % aaleaacaWGZbaabeaaaaGccqGHRaWkcaWGwbWaaSbaaSqaaiaad+ga % aeqaaOWaaeWaaeaacaWGRbaacaGLOaGaayzkaaGaeyypa0JaamOvam % aaBaaaleaacaWGPbaabeaakmaabmaabaGaam4AaaGaayjkaiaawMca % aaaa!5B62! RC \cdot \frac{{{V_o}\left( {k + 1} \right) - {V_o}\left( k \right)}}{{{T_s}}} + {V_o}\left( k \right) = {V_i}\left( k \right) \]

化简得到:

\[% MathType!MTEF!2!1!+- % feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn % hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr % 4rNCHbWexLMBbXgBd9gzLbvyNv2CaeHbl7mZLdGeaGqipu0Je9sqqr % pepC0xbbL8F4rqqrFfpeea0xe9Lq-Jc9vqaqpepm0xbba9pwe9Q8fs % 0-yqaqpepae9pg0FirpepeKkFr0xfr-xfr-xb9adbaqaaeGaciGaai % aabeqaamaabaabauaakeaacaWGwbWaaSbaaSqaaiaad+gaaeqaaOWa % aeWaaeaacaWGRbaacaGLOaGaayzkaaGaeyypa0ZaaSaaaeaacaWGsb % Gaam4qaaqaaiaadkfacaWGdbGaey4kaSIaamivamaaBaaaleaacaWG % ZbaabeaaaaGccqGHflY1caWGwbWaaSbaaSqaaiaad+gaaeqaaOWaae % WaaeaacaWGRbGaeyOeI0IaaGymaaGaayjkaiaawMcaaiabgUcaRmaa % laaabaGaamivamaaBaaaleaacaWGZbaabeaaaOqaaiaadkfacaWGdb % Gaey4kaSIaamivamaaBaaaleaacaWGZbaabeaaaaGccqGHflY1caWG % wbWaaSbaaSqaaiaadMgaaeqaaOWaaeWaaeaacaWGRbaacaGLOaGaay % zkaaaaaa!616C! {V_o}\left( k \right) = \frac{{RC}}{{RC + {T_s}}} \cdot {V_o}\left( {k - 1} \right) + \frac{{{T_s}}}{{RC + {T_s}}} \cdot {V_i}\left( k \right) \]

\[% MathType!MTEF!2!1!+- % feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn % hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr % 4rNCHbWexLMBbXgBd9gzLbvyNv2CaeHbl7mZLdGeaGqipu0Je9sqqr % pepC0xbbL8F4rqqrFfpeea0xe9Lq-Jc9vqaqpepm0xbba9pwe9Q8fs % 0-yqaqpepae9pg0FirpepeKkFr0xfr-xfr-xb9adbaqaaeGaciGaai % aabeqaamaabaabauaakeaacaWGwbWaaSbaaSqaaiaad+gaaeqaaOWa % aeWaaeaacaWGRbGaey4kaSIaaGymaaGaayjkaiaawMcaaiabg2da9m % aabmaabaGaaGymaiabgkHiTmaalaaabaGaamivamaaBaaaleaacaWG % ZbaabeaaaOqaaiaadkfacaWGdbaaaaGaayjkaiaawMcaaiabgwSixl % aadAfadaWgaaWcbaGaam4BaaqabaGcdaqadaqaaiaadUgaaiaawIca % caGLPaaacqGHRaWkdaWcaaqaaiaadsfadaWgaaWcbaGaam4Caaqaba % aakeaacaWGsbGaam4qaaaacqGHflY1caWGwbWaaSbaaSqaaiaadMga % aeqaaOWaaeWaaeaacaWGRbaacaGLOaGaayzkaaGaeyypa0JaamOvam % aaBaaaleaacaWGVbaabeaakmaabmaabaGaam4AaaGaayjkaiaawMca % aiabgUcaRmaalaaabaGaamivamaaBaaaleaacaWGZbaabeaaaOqaai % aadkfacaWGdbaaamaadmaabaGaamOvamaaBaaaleaacaWGPbaabeaa % kmaabmaabaGaam4AaaGaayjkaiaawMcaaiabgkHiTiaadAfadaWgaa % WcbaGaam4BaaqabaGcdaqadaqaaiaadUgaaiaawIcacaGLPaaaaiaa % wUfacaGLDbaaaaa!7519! {V_o}\left( {k + 1} \right) = \left( {1 - \frac{{{T_s}}}{{RC}}} \right) \cdot {V_o}\left( k \right) + \frac{{{T_s}}}{{RC}} \cdot {V_i}\left( k \right) = {V_o}\left( k \right) + \frac{{{T_s}}}{{RC}}\left[ {{V_i}\left( k \right) - {V_o}\left( k \right)} \right] \]

其中:

\[% MathType!MTEF!2!1!+- % feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn % hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr % 4rNCHbWexLMBbXgBd9gzLbvyNv2CaeHbl7mZLdGeaGqipu0Je9sqqr % pepC0xbbL8F4rqqrFfpeea0xe9Lq-Jc9vqaqpepm0xbba9pwe9Q8fs % 0-yqaqpepae9pg0FirpepeKkFr0xfr-xfr-xb9adbaqaaeGaciGaai % aabeqaamaabaabauaakeaacaWGsbGaam4qaiabg2da9maalaaabaGa % aGymaaqaaiaaikdacqaHapaCcaWGMbWaaSbaaSqaaiaadogacaWG1b % GaamiDaaqabaaaaaaa!48D9! RC = \frac{1}{{2\pi {f_{cut}}}} \]

1. 已知截止频率,求系数

将RC表达式带入输入输出表达式中,得到下式:

\[{V_o}\left( k \right) = \frac{1}{{1 + 2\pi {f_{cut}} \cdot {T_s}}} \cdot {V_o}\left( {k - 1} \right) + \frac{{2\pi {f_{cut}} \cdot {T_s}}}{{1 + 2\pi {f_{cut}} \cdot {T_s}}} \cdot {V_i}\left( k \right) \]

\[% MathType!MTEF!2!1!+- % feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn % hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr % 4rNCHbWexLMBbXgBd9gzLbvyNv2CaeHbl7mZLdGeaGqipu0Je9sqqr % pepC0xbbL8F4rqqrFfpeea0xe9Lq-Jc9vqaqpepm0xbba9pwe9Q8fs % 0-yqaqpepae9pg0FirpepeKkFr0xfr-xfr-xb9adbaqaaeGaciGaai % aabeqaamaabaabauaakeaaqaaaaaaaaaWdbiaadAfapaWaaSbaaSqa % a8qacaWGVbaapaqabaGcpeWaaeWaa8aabaWdbiaadUgaaiaawIcaca % GLPaaacqGH9aqpdaqadaqaaiaaigdacqGHsislcaaIYaGaeqiWdaNa % amOza8aadaWgaaWcbaWdbiaadogacaWG1bGaamiDaaWdaeqaaOWdbi % abgwSixlaadsfadaWgaaWcbaGaam4CaaqabaaakiaawIcacaGLPaaa % cqGHflY1caWGwbWdamaaBaaaleaapeGaam4BaaWdaeqaaOWdbmaabm % aapaqaa8qacaWGRbGaeyOeI0IaaGymaaGaayjkaiaawMcaaiabgUca % RiaaikdacqaHapaCcaWGMbWdamaaBaaaleaapeGaam4yaiaadwhaca % WG0baapaqabaGcpeGaeyyXICTaamivamaaBaaaleaacaWGZbaabeaa % kiabgwSixlaadAfapaWaaSbaaSqaa8qacaWGPbaapaqabaGcpeWaae % Waa8aabaWdbiaadUgaaiaawIcacaGLPaaaaaa!6F06! {V_o}\left( k \right) = \left( {1 - 2\pi {f_{cut}} \cdot {T_s}} \right) \cdot {V_o}\left( {k - 1} \right) + 2\pi {f_{cut}} \cdot {T_s} \cdot {V_i}\left( k \right) \]

2. 已知系数,求截止频率

按照上式,所以两个系数表达式分别为:

\[% MathType!MTEF!2!1!+- % feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn % hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr % 4rNCHbWexLMBbXgBd9gzLbvyNv2CaeHbl7mZLdGeaGqipu0Je9sqqr % pepC0xbbL8F4rqqrFfpeea0xe9Lq-Jc9vqaqpepm0xbba9pwe9Q8fs % 0-yqaqpepae9pg0FirpepeKkFr0xfr-xfr-xb9adbaqaaeGaciGaai % aabeqaamaabaabauaakeaadaGabaqaauaabeqaceaaaeaacaWGJbGa % am4BaiaadAgadaWgaaWcbaGaaGymaaqabaGccqGH9aqpdaWcaaqaai % aaigdaaeaacaaIXaGaey4kaSIaaGOmaiabec8aWjaadAgadaWgaaWc % baGaam4yaiaadwhacaWG0baabeaakiabgwSixlaadsfadaWgaaWcba % Gaam4CaaqabaaaaaGcbaGaam4yaiaad+gacaWGMbWaaSbaaSqaaiaa % ikdaaeqaaOGaeyypa0ZaaSaaaeaacaaIYaGaeqiWdaNaamOzamaaBa % aaleaacaWGJbGaamyDaiaadshaaeqaaOGaeyyXICTaamivamaaBaaa % leaacaWGZbaabeaaaOqaaiaaigdacqGHRaWkcaaIYaGaeqiWdaNaam % OzamaaBaaaleaacaWGJbGaamyDaiaadshaaeqaaOGaeyyXICTaamiv % amaaBaaaleaacaWGZbaabeaaaaaaaaGccaGL7baaaaa!6E09! \left\{ {\begin{array}{*{20}{c}} {co{f_1} = \frac{1}{{1 + 2\pi {f_{cut}} \cdot {T_s}}}}\\ {co{f_2} = \frac{{2\pi {f_{cut}} \cdot {T_s}}}{{1 + 2\pi {f_{cut}} \cdot {T_s}}}} \end{array}} \right. \]

\[% MathType!MTEF!2!1!+- % feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn % hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr % 4rNCHbWexLMBbXgBd9gzLbvyNv2CaeHbl7mZLdGeaGqipu0Je9sqqr % pepC0xbbL8F4rqqrFfpeea0xe9Lq-Jc9vqaqpepm0xbba9pwe9Q8fs % 0-yqaqpepae9pg0FirpepeKkFr0xfr-xfr-xb9adbaqaaeGaciGaai % aabeqaamaabaabauaakeaadaGabaqaauaabeqaceaaaeaacaWGJbGa % am4BaiaadAgadaWgaaWcbaGaaGymaaqabaGccqGH9aqpcaaIXaGaey % OeI0IaaGOmaiabec8aWjaadAgadaWgaaWcbaGaam4yaiaadwhacaWG % 0baabeaakiabgwSixlaadsfadaWgaaWcbaGaam4Caaqabaaakeaaca % WGJbGaam4BaiaadAgadaWgaaWcbaGaaGOmaaqabaGccqGH9aqpcaaI % YaGaeqiWdaNaamOzamaaBaaaleaacaWGJbGaamyDaiaadshaaeqaaO % GaeyyXICTaamivamaaBaaaleaacaWGZbaabeaaaaaakiaawUhaaaaa % !60D6! \left\{ {\begin{array}{*{20}{c}} {co{f_1} = 1 - 2\pi {f_{cut}} \cdot {T_s}}\\ {co{f_2} = 2\pi {f_{cut}} \cdot {T_s}} \end{array}} \right. \]

若采样频率为Ts,所以截止频率为

\[% MathType!MTEF!2!1!+- % feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn % hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr % 4rNCHbWexLMBbXgBd9gzLbvyNv2CaeHbl7mZLdGeaGqipu0Je9sqqr % pepC0xbbL8F4rqqrFfpeea0xe9Lq-Jc9vqaqpepm0xbba9pwe9Q8fs % 0-yqaqpepae9pg0FirpepeKkFr0xfr-xfr-xb9adbaqaaeGaciGaai % aabeqaamaabaabauaakeaacaWGMbWaaSbaaSqaaiaadogacaWG1bGa % amiDaaqabaGccqGH9aqpdaWcaaqaaiaaigdacqGHsislcaWGJbGaam % 4BaiaadAgadaWgaaWcbaGaaGymaaqabaaakeaacaaIYaGaeqiWdaNa % amivamaaBaaaleaacaWGZbaabeaakiabgwSixlaadogacaWGVbGaam % OzamaaBaaaleaacaaIXaaabeaaaaGccqGH9aqpdaWcaaqaaiaadoga % caWGVbGaamOzamaaBaaaleaacaaIYaaabeaaaOqaaiaaikdacqaHap % aCcaWGubWaaSbaaSqaaiaadohaaeqaaOGaeyyXIC9aaeWaaeaacaaI % XaGaeyOeI0Iaam4yaiaad+gacaWGMbWaaSbaaSqaaiaaikdaaeqaaa % GccaGLOaGaayzkaaaaaaaa!6675! {f_{cut}} = \frac{{1 - co{f_1}}}{{2\pi {T_s} \cdot co{f_1}}} = \frac{{co{f_2}}}{{2\pi {T_s} \cdot \left( {1 - co{f_2}} \right)}} \]

\[% MathType!MTEF!2!1!+- % feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn % hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr % 4rNCHbWexLMBbXgBd9gzLbvyNv2CaeHbl7mZLdGeaGqipu0Je9sqqr % pepC0xbbL8F4rqqrFfpeea0xe9Lq-Jc9vqaqpepm0xbba9pwe9Q8fs % 0-yqaqpepae9pg0FirpepeKkFr0xfr-xfr-xb9adbaqaaeGaciGaai % aabeqaamaabaabauaakeaacaWGMbWaaSbaaSqaaiaadogacaWG1bGa % amiDaaqabaGccqGH9aqpdaWcaaqaaiaaigdacqGHsislcaWGJbGaam % 4BaiaadAgadaWgaaWcbaGaaGymaaqabaaakeaacaaIYaGaeqiWdaNa % amivamaaBaaaleaacaWGZbaabeaakmaaBaaaleaacaaIXaaabeaaaa % GccqGH9aqpdaWcaaqaaiaadogacaWGVbGaamOzamaaBaaaleaacaaI % YaaabeaaaOqaaiaaikdacqaHapaCcaWGubWaaSbaaSqaaiaadohaae % qaaaaaaaa!5826! {f_{cut}} = \frac{{1 - co{f_1}}}{{2\pi {T_s}_1}} = \frac{{co{f_2}}}{{2\pi {T_s}}} \]

推荐阅读