Relationship between remainders of shifted polynomials in polynomial divisions.

118 Views Asked by At

I'm trying to understand a digital communication protocol that is deployed in the European high-speed train balize systems (link). The goal is to implement such a system in digital hardware.

In this protocol, the concept of polynomial division (which I'm implementing using CRCs) is being used to check for the synchronization of the received message. I'm confused about the math behind one step in this procedure.

$$\begin{align}s_f(x) &= \mathrm R_{f(x)}[v(x)]\\s_f(x)&= \mathrm R_{f(x)}[x^sg(x)]\end{align}$$

where, for any two binary polynomials $c(x)$ and $d(x)$, $R_{c(x)}[d(x)]$ denotes the remainder of the division of $d(x)$ by $c(x)$. That is, the unique polynomial $r(x)$ of degree less than the degree of $c(x)$ such that $d(x)=q(x)c(x)+r(x)$, for some polynomial $q(x)$. (I'm implementing this division using LFSRs as done in calculating CRC).

Here, $v(x), f(x), g(x)$ are all known values and the goal is to find the value of $s$. I need suggestions on how to do that. I will be calculating $R_{f(x)}[v(x)]$ which will give me a remainder of the order of $f(x)$. Now I need to calculate a value of $s$ such that $R_{f(x)}[x^s g(x)]$ will also yield the same remainder. Note that $x^s g(x)$ is simply an $s$-times left shifted version of $g(x)$ when we deal with the binary representation of these polynomials. I'm also capable of calculating $R_{f(x)}[g(x)]$

EDIT: The following image show the values of $f(x)$ and $g(x)$.Note that $v(x)$ is a cyclically shifted version of $b(x)$ (the n bit message we're finally trying to recover). Further context on the whole problem can be found in the above-mentioned link.