FIR filter - remove padded zeros
Given a linear phase FIR filter $h[n]$ of length $L$, if you use the conv or filter function to produce the output samples $y[n]$ for a given input $x[n]$, then there will be a constant group delay $N$ associated with the type of FIR filter being used. So this delay of $N$ samples must be taken into account when evaluating the output result in applications where data phase is critical such as in the case of using a Hilbert transform to produce an analytic signal...

Assuming that you have a filter with odd length $L$ which can be expressed as
$$ L = 2 N + 1$$ then the associated group delay will be the integer $N$; i.e., the information in the output data will be shifted $N$ sample to the right, hence you may select the output after the Nth sample as such:
$$ y_i[n] = y_d[n-N] $$.

In a computer environment such as MATLAB/Octave this translates into matrix indices such that: 

xi = yd(N+1:end-N)


where $y_d$ was the matrix that holds the result of the raw convolution output;i.e., 

yd = conv(x,h)


if you have used filter function to produce the raw data than the slicing 
should be done as:

xi = yd(N+1:end)


where $yd$ now is the matrix that holds the result of the raw filter output;i.e., 

yd = filter(h,1,x)


When the filter length $L$ is an even number, there happens a half-sample delay of information associated with the raw-data output of the computation and you should consider that as well. Therefore It's better to use an odd length FIR filter unless you have convincing reasons to do the otherwise.