How to implement first order low pass filter in Matlab?

59 ビュー (過去 30 日間)
Raja Vardhan Reddy Kothakapu
Raja Vardhan Reddy Kothakapu 2019 年 6 月 24 日
編集済み: Jesús Zambrano 2019 年 7 月 30 日
Hi everyone,
I have a data variable(Y) which contains some high frequency noise. I want to implement a first order low pass filter to remove the noise. Instead of using a transfer function, I'm trying to implement it in time domain with the help of following equation
Ynew = Y*(K/T)*exp(-t/T)
which is same as multiplying with first order low pass filter transfer function(G(s)=K/(TS+1)). The problem is my data won't start at t=0 seconds, instead it starts at t=4.2 seconds. I'm little confused, whether do I need to use simulation time t=0 seconds or the time at which it is measured t=4.2 seconds
Thanks!!!

採用された回答

Jesús Zambrano
Jesús Zambrano 2019 年 7 月 30 日
編集済み: Jesús Zambrano 2019 年 7 月 30 日
Hi Raja,
Since your input has a delay, then the input can be expressed as, say u(t)=f(t-a), where a is the time delay you mention.
Then, the input in Laplace domain is given by U(S)=exp(-aS)F(s). Then, your output is simply Y(S)=U(S)G(S). Then, you can use Laplace table so to describe the output in time domain. See that G(S) is not changing due to any delay in your input signal. Then, start your simulation at t=0, and if you want to describe the expression mathematically, follow what I wrote in the previous lines. I hope I understood your question correctly. Otherwise, please let me know.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDigital Filter Analysis についてさらに検索

製品


リリース

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by