Hilbert Transformer processing block by block
The key to block (or stream) filtering in Matlab is using the filter's command ability to return and reuse its internal state.

To illustrate, first create a filter that implements the Hilbert transform.

hilb = designfilt('hilbertfir','FilterOrder',60, ...
       'TransitionWidth',400,'SampleRate',1e4);


This example is taken directly from the documentation (type doc hilbert in Matlab).

Now, we need this form of the filter command (see doc filter):

[y, zo] = filter(b,a,x,zi)


which uses initial conditions zi and returns final conditions in zf.

To put everything together, say you have incoming data and store it in variable block. Then, you can do something like:

block = acquire_block_of_data();
[output, zo] = filter(hilb, 1, block);
while 1
    block = acquire_block_of_data();
    zi = zo;
    [output, zo] = filter(hilb, 1, block, zi)
end


Note that we need an initial call to filter without state; alternatively, you can set let zi have an initial value equal to a vector of zeros with the same length as the filter order.