How to implement first order low pass filter in Matlab?

79 views (last 30 days)
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

Accepted Answer

Jesús Zambrano
Jesús Zambrano on 30 Jul 2019
Edited: Jesús Zambrano on 30 Jul 2019
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.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by