How to implement first order low pass filter in Matlab?

37 visualizaciones (últimos 30 días)
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!!!

Respuesta aceptada

Jesús Zambrano
Jesús Zambrano el 30 de Jul. de 2019
Editada: Jesús Zambrano el 30 de Jul. de 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.

Más respuestas (0)

Categorías

Más información sobre Statistics and Linear Algebra en Help Center y File Exchange.

Productos


Versión

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by