How to implement first order low pass filter in Matlab?

37 次查看(过去 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 CenterFile Exchange 中查找有关 Statistics and Linear Algebra 的更多信息

产品


版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by