Cornel,
I have no experience with BodePlot[]
whatsoever and so I do not know whether this unwrapping makes sense in this case. But anyway - here is a simple approach:
bpl = BodePlot[test, GridLines -> Automatic, PlotRange -> {Automatic, {-270, 0}}, PlotLayout -> "Phase"];
(* extracting point values from the plot: *)
pts0 = First@Cases[bpl, Line[pts__] :> pts, All];
(* "true" x-value: *)
pts = {10^#1, #2} & @@@ pts0;
{{xmin, xmax}, {ymin, ymax}} = MinMax /@ ({xVals, yVals} = Transpose[pts]);
xGrid = Flatten[Range[10] # & /@ PowerRange[xmin, xmax]];
For the unwrapping there is an elegant algorithm from @Peter Karpov in this discussion:
unWrap[\[Tau]_][a_] := a - \[Tau] Prepend[Accumulate[Round[Differences[a]/\[Tau]]], 0]
So - we get:
(* unwrapped result: *)
ptsUnWrapped = Transpose[{xVals, unWrap[ymax - ymin][yVals]}];
ListLinePlot[ptsUnWrapped, ScalingFunctions -> {"Log", None}, GridLines -> {xGrid, Automatic}, Frame -> True]
Does that help? Regards -- Henrik