I have a signal that's monotonic and roughly linear and have been looking at using Linear Predictive Coding to encode information and compress my signal. I guess my first general question is if this is even possible for general signals? I also see LPC mentioned in the context of speech so I'm wondering if LPC is particularly effective for one type of signal and would be really bad for another type of signal. Here's how I understand the process so far:
We have an input signal $x(n)$ that we look to model as $$x(n) = \sum_{i=1}^{p} a_i x(n-i) + e(n)$$
where the $a_i$ are our prediction coefficients and $e(n)$ is the error. We can find the error $e(n)$ by filtering the inverse transfer function $\frac{1}{H(z)}$ with our signal $x(n)$. Thus, if we can closely model the error with a small number of a parameters, our signal has been reduced to our prediction coefficients and these small parameters.
I see why LPC is often used for speech compression - because the error $e(n)$ is roughly white and so we can roughly model it by its variance. However, my intuition tells me that it should be much easier to compress something like perfectly linear signal than a highly nonstationary signal like a vocal sample. So I guess my questions are (provided I'm understanding LPC correctly):
Do people use LPC for things other than speech, and if so, how do they go about modeling $e(n)$ to achieve compression?
If my intuition is correct about it being easier to compress a linear signal using LPC, how would one do it in this case? I'm confused because since a perfectly linear signal is exactly predictable, it should produce $0$ for all $e(n)$. However, filtering a linear signal with prediction coefficients $[2,-1]$ produces a non-zero $e(n)$.