To put things into perspective, I initially had these four graphs in MATLAB, whose data were sampled with a rate of 10 samples/sec :-
I wanted to remove some of the spikes on the blue graphs, so I thought about making a lowpass-filter that would take care of that. I used the command d = designfilt('lowpassfir','Filterorder', 5, 'CutoffFrequency',0.1,'SampleRate',10)
. I then put the data from the blue graph through the filter, and plotted again. Now they look like this:-
As can be seen, some of the spikes have been removed and the graph have been smoothed out, which is what I desire. However, now I want to get the transfer function for the filter, but the only output I get in MATLAB is
d =
digitalFilter with properties:
Coefficients: [0.0287 0.1430 0.3283 0.3283 0.1430 0.0287]
Specifications:
FrequencyResponse: 'lowpass'
ImpulseResponse: 'fir'
SampleRate: 10
CutoffFrequency: 0.1000
FilterOrder: 5
DesignMethod: 'window'
So my question is, can I just translate the coefficients directly into a transfer function of 5th order and with no zeroes? Like this:- $$H(s) = \frac{1}{0.0287s^5 + 0.1430s^4 + 0.3283s^3 + 0.3283s^2 + 0.1430s + 0.0287} $$
If not, how can I get the transfer function from my designed filter?
Also, I didn't rigorously derive the arguments for the designfilt
command (filterorder, cutoff frequency) I just guessed at some appropriate values.