I am receiving the signal from the hydrophone and then passing the signal through the filter(express vi) but at t=0 there is a pulse in the filtered waveform but not so in the received waveform.
Can anyone explains me why this is so?
Attaching the image of the received and filtered received waveform.
Classical filter artifact, depending on your filter architecture you have a finite (or more or less infinte) filter settling time.
Usual ways to overcome:
- read more data before the region of interest and cut it.
- mirror the start of your data and cut it.
- remove the offset of your data or init the filter with the first startpoint or ....
- finally a combination of some or all of it 😄
the step response of your filter is a good indication for the length of your settle time ( number of additional samples needed) 😉
If you read the data continously anyway, do the filter init only once at the start. (that boolean input, see help of filter vi)
Hint: Try to avoid the express vis ..
Filters (usually) don't know about signals that have occurred in the past but haven't been recorded. In particular, when you start filtering, it doesn't know the value of the signal before you started acquiring data. It (not unreasonably) assumes it was identically 0. Suppose it isn't? Let's say it's a constant 1 v -- then your filter sees a 1v "step" which it tries to "filter out" ...