Difference between revisions of "Aufgaben:Exercise 4.10: Turbo Encoder for UMTS and LTE"

From LNTwww
Line 77: Line 77:
  
  
'''(2)'''&nbsp; As the comparison of the [[Channel_Coding/Algebraic_and_Polynomial_Description#Filter_structure_with_fractional.E2.80.93rational_transfer_function|"recursive filter"]] on the data page with the [[Aufgaben:Exercise_4. 10:_Turbo_Enccoder_for_UMTS_and_LTE|"filter structure"]] in the theory section for fractional&ndash;rational $G(D)$, the <u>suggested solution 1</u> is correct.
+
'''(2)'''&nbsp; As the comparison of the [[Channel_Coding/Algebraic_and_Polynomial_Description#Filter_structure_with_fractional.E2.80.93rational_transfer_function|"recursive filter"]] on the data page with the [[Aufgaben:Exercise_4. 10:_Turbo_Encoder_for_UMTS_and_LTE|"filter structure"]] in the theory section for fractional&ndash;rational $G(D)$, the <u>proposed solution 1</u> is correct.
  
  
'''(3)'''&nbsp; Richtig sind die <u>Lösungsvorschläge 2 und 3</u>:
+
'''(3)'''&nbsp; Correct are the <u>proposed solutions 2 and 3</u>:
  
Die obere Grafik verdeutlicht die Polynomdivision $(1 + D + D^3) \ / \ (1 + D^2 + D^3)$. Zur Erläuterung:
+
The upper graph illustrates the polynomial division $(1 + D + D^3) \ / \ (1 + D^2 + D^3)$. For explanation:
* Abgebrochen ist die Darstellung mit dem Rest $D^8 + D^9 = D^7 \cdot (D + D^2)$.  
+
*Cancelled is the representation with the remainder $D^8 + D^9 = D^7 \cdot (D + D^2)$.  
*Damit gilt auch:
+
*Thus also holds:
:$$(D^8 + D^9) \hspace{0.05cm} /\hspace{0.05cm} (1+ D^2+ D^3 ) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} D^7 \cdot (D+ D^2+ D^3 + D^6) + {\rm Rest_2}$$
+
:$$(D^8 + D^9) \hspace{0.05cm} /\hspace{0.05cm} (1+ D^2+ D^3 ) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} D^7 \cdot (D+ D^2+ D^3 + D^6) + {\rm rest_2}$$
*Nach Zusammenfassen:
+
*After summarizing:
 
:$$G(D) = 1 + D + D^2 + D^3 + D^6 + D^8+ D^9+ D^{10} + D^{13} + \hspace{0.05cm}\text{ ... }\hspace{0.05cm} \hspace{0.05cm}. $$
 
:$$G(D) = 1 + D + D^2 + D^3 + D^6 + D^8+ D^9+ D^{10} + D^{13} + \hspace{0.05cm}\text{ ... }\hspace{0.05cm} \hspace{0.05cm}. $$
  
* Die $D$&ndash;Rücktransformierte ergibt den Lösungsvorschlag 2:
+
* The $D$&ndash;inverse transform gives the proposed solution 2:
 
:$$\underline{g}= (\hspace{0.05cm}1\hspace{0.05cm},
 
:$$\underline{g}= (\hspace{0.05cm}1\hspace{0.05cm},
 
\hspace{0.05cm} 1\hspace{0.05cm},
 
\hspace{0.05cm} 1\hspace{0.05cm},
Line 106: Line 106:
 
\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm}\text{ ... }\hspace{0.05cm})\hspace{0.05cm}. $$
 
\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm}\text{ ... }\hspace{0.05cm})\hspace{0.05cm}. $$
  
* Die Impulsantwort setzt sich bis ins Unendliche fort &nbsp; &#8658; &nbsp; Lösungsvorschlag 3 ist ebenfalls richtig.
+
* The impulse response continues to infinity &nbsp; &#8658; &nbsp; Solution proposal 3 is also correct.
  
  
[[File:P_ID3061__KC_A_4_10d_v2.png|right|frame|Zustandsübergangsdiagramm und Impulsantwort]]
+
[[File:P_ID3061__KC_A_4_10d_v2.png|right|frame|State transition diagram and impulse response]]
'''(4)'''&nbsp;  Die Impulsantwort kann wie folgt ausgedrückt werden:
+
'''(4)'''&nbsp;  The impulse response can be expressed as follows:
 
:$$\underline{g}=  \Big (\hspace{0.03cm}1\hspace{0.03cm},
 
:$$\underline{g}=  \Big (\hspace{0.03cm}1\hspace{0.03cm},
 
  \big [ \hspace{0.03cm} 1\hspace{0.03cm},
 
  \big [ \hspace{0.03cm} 1\hspace{0.03cm},
Line 122: Line 122:
 
\hspace{0.05cm}. $$
 
\hspace{0.05cm}. $$
  
Im Zustandsübergangsdiagramm (rechts) ist die Impulsantwort $\underline{g}$ gelb hinterlegt. Die Impulsantwort ergibt sich als die Paritysequenz&nbsp; $\underline{p}$&nbsp; für die Informationssequenz&nbsp; $\underline{u} = (1, \, 0, \, 0, \, 0, \, 0, \, \text{ ... })$.
+
In the state transition diagram (right), the impulse response $\underline{g}$ is highlighted in yellow. The impulse response results as the parity-check sequence&nbsp; $\underline{p}$&nbsp; for the information sequence&nbsp; $\underline{u} = (1, \, 0, \, 0, \, 0, \, 0, \, \text{ ... })$.
* Die Übergänge im Diagramm sind mit "$u_i\hspace{0.05cm}|\hspace{0.05cm}\underline{x}_i$" beschriftet, was gleichbedeutend ist mit "$u_i\hspace{0.05cm}|\hspace{0.05cm}u_i \hspace{0.05cm}p_i$".  
+
* The transitions in the diagram are labeled "$u_i\hspace{0.05cm}|\hspace{0.05cm}\underline{x}_i$", which is equivalent to "$u_i\hspace{0.05cm}|\hspace{0.05cm}u_i \hspace{0.05cm}p_i$".  
*Die Paritysequenz&nbsp; $\underline{p} \ (=$ Impulsantwort&nbsp; $\underline{g})$&nbsp; ergibt sich somit aus dem jeweiligen zweiten Coderausgangssymbol.
+
*The parity-check sequence&nbsp; $\underline{p} \ (=$ impulse response&nbsp; $\underline{g})$&nbsp; thus results from the respective second coder output symbol.
* $\underline{g}$ wird durch folgende Zustände repräsentiert:
+
* $\underline{g}$ is represented by the following states:
 
:$$S_0 &#8594; [S_1 &#8594; S_2 &#8594; S_5 &#8594; S_3 &#8594; S_7 &#8594; S_6 &#8594; S_4 ] &#8594; [S_1 &#8594; \ ... \ &#8594; S_4] &#8594; \ \text{ ... } $$
 
:$$S_0 &#8594; [S_1 &#8594; S_2 &#8594; S_5 &#8594; S_3 &#8594; S_7 &#8594; S_6 &#8594; S_4 ] &#8594; [S_1 &#8594; \ ... \ &#8594; S_4] &#8594; \ \text{ ... } $$
  
  
'''(5)'''&nbsp; Die folgende Grafik zeigt die Lösung anhand der Generatormatrix $\mathbf{G}$. Es gilt $\underline{u} = (0, \, 1, \, 1, \, 0, \, 0, \, \text{ ... } )$.  
+
'''(5)'''&nbsp; The following graphic shows the solution using the generator matrix $\mathbf{G}$. It holds $\underline{u} = (0, \, 1, \, 1, \, 0, \, 0, \, \text{ ... } )$.  
  
 
[[File:P_ID3062__KC_A_4_10e_v1.png|right|frame|$\underline{p} = (0, \, 1, \, 1, \, \text{ ... } ) \cdot \mathbf{G}$]]
 
[[File:P_ID3062__KC_A_4_10e_v1.png|right|frame|$\underline{p} = (0, \, 1, \, 1, \, \text{ ... } ) \cdot \mathbf{G}$]]
  
Man erkennt, dass die <u>Lösungsvorschläge 1, 2 und 3</u> richtig sind:
+
It can be seen that <u>solutions 1, 2 and 3</u> are correct:
* Die vorliegende Paritysequenz $\underline{p}$ hat die gleiche Periode $P = 7$ wie die Impulsantwort $\underline{g}$.
+
* The present parity-check sequence $\underline{p}$ has the same period $P = 7$ as the impulse response $\underline{g}$.
* Das Hamming&ndash;Gewicht der (begrenzten) Eingangsfolge ist tatsächlich $w_{\rm H}(\underline{u}) = 2$.
+
* The Hamming weight of the (bounded) input sequence is actually $w_{\rm H}(\underline{u}) = 2$.
* Der Vorschlag 4 ist falsch. Vielmehr gilt hier für die semi&ndash;infinite Ausgangssequenz: $w_{\rm H}(\underline{p}) &#8594; \infty$.
+
* Proposition 4 is incorrect. Rather, the semi&ndash;infinite output sequence here is $w_{\rm H}(\underline{p}) &#8594; \infty$.
  
  
Im Übergangsdiagramm werden zunächst die Zustände $S_0 &#8594; S_0 &#8594; S_1 &#8594; S_3 &#8594; S_7 &#8594; S_6 &#8594; S_4 &#8594; S_1$ durchlaufen. Danach folgt (unendlich oft) der periodische Anteil $S_1 &#8594; S_2 &#8594; S_5 &#8594; S_3 &#8594; S_7 &#8594; S_6 &#8594; S_4 &#8594; S_1$.
+
In the transition diagram, the states $S_0 &#8594; S_0 &#8594; S_1 &#8594; S_3 &#8594; S_7 &#8594; S_6 &#8594; S_4 &#8594; S_1$ are passed through first. This is followed (infinitely often) by the periodic portion $S_1 &#8594; S_2 &#8594; S_5 &#8594; S_3 &#8594; S_7 &#8594; S_6 &#8594; S_4 &#8594; S_1$.
  
  
  
  
'''(6)'''&nbsp; Die letzte Grafik zeigt die Lösung für $U(D) = D + D^8 \Rightarrow \underline{u} = (0, \, 1, \, 0, \, 0, \, 0, \, 0, \, 0, \, 0, \, 1, \, 0, \, 0, \, \text{ ... })$.
+
'''(6)'''&nbsp; The last graph shows the solution for $U(D) = D + D^8 \Rightarrow \underline{u} = (0, \, 1, \, 0, \, 0, \, 0, \, 0, \, 0, \, 0, \, 1, \, 0, \, 0, \, \text{ ... })$.
  
 
[[File:P_ID3063__KC_A_4_10f_v2.png|right|frame|$\underline{p} = (0, \, 1, \, 0, \, 0, \, 0, \, 0, \, 0, \, 0, \, 1, \, 0, \, 0, \, \text{ ... }) \cdot \mathbf{G}$]]
 
[[File:P_ID3063__KC_A_4_10f_v2.png|right|frame|$\underline{p} = (0, \, 1, \, 0, \, 0, \, 0, \, 0, \, 0, \, 0, \, 1, \, 0, \, 0, \, \text{ ... }) \cdot \mathbf{G}$]]
  
Richtig sind die <u>Lösungsvorschläge 3 und 4</u>:  
+
Correct are the <u>proposed solutions 3 and 4</u>:  
*Die Eingangssequenz $\underline{u}$ beinhaltet zwei Einsen und die Ausgangssequenz $\underline{p}$ sechs Einsen.
+
*The input sequence $\underline{u}$ contains two ones and the output sequence $\underline{p}$ six ones.
*Ab der Position 10 ist nun die Ausgangssequenz $\underline{p} \equiv\underline{0}$ &nbsp; <br>&#8658; &nbsp; die Vorschläge 1 und 2 treffen also nicht zu.  
+
*From position 10 now the output sequence $\underline{p} \equiv\underline{0}$ &nbsp; <br>&#8658; &nbsp; proposals 1 and 2 therefore do not apply.  
 
<br clear=all>
 
<br clear=all>
''Weitergehende Hinweise:''
+
''Further notes:''
* Für einen Turbocode sind insbesondere solche Eingangsfolgen $\underline{u}$, deren $D$&ndash;Transformierte als $U(D) = f(D) \cdot [1 + D^{P}]$ darstellbar sind, äußerst ungünstig.  
+
* For a turbo code, especially those input sequences $\underline{u}$ whose $D$&ndash;transforms are representable as $U(D) = f(D) \cdot [1 + D^{P}]$ are extremely unfavorable.  
*Sie bewirken den <i>Error Floor</i>, wie er auf der Seite  [[Channel_Coding/The_Basics_of_Turbo_Codes#Performance_of_the_turbo_codes|"Leistungsfähigkeit der Turbocodes"]] im Theorieteil zu erkennen ist.  
+
*They cause the <i>error floor</i> as seen on the [[Channel_Coding/The_Basics_of_Turbo_Codes#Performance_of_the_turbo_codes|"Performance of Turbo Codes"]] page in the theory section.  
*$P$&nbsp; gibt dabei die Periode der Impulsantwort&nbsp; $\underline{g}$ an.  
+
*$P$&nbsp; here indicates the period of the impulse response&nbsp; $\underline{g}$.  
*In unserem Beispiel gilt&nbsp; $f(D) = D$&nbsp; und&nbsp; $P = 7$.
+
*In our example&nbsp; $f(D) = D$&nbsp; and&nbsp; $P = 7$.
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  

Revision as of 23:53, 29 November 2022

Turbocoder for UMTS and LTE

The mobile communications standards  "UMTS"  and  "LTE"  each use a turbo code that is largely identical to the encoder described in the  "The Basics of Turbo Codes"  chapter.

  • The  $1/n$ convolutional code is systematic, meaning that the code sequence  $\underline{x}$  includes the information sequence  $\underline{u}$  as a component.
  • The parity-check sequences  $\underline{p}_1$  and  $\underline{p}_2$  are based on the same transfer function:
$$G_1(D) = G_2(D) = G(D).$$
  • $\underline{p}_1$  and  $\underline{p}_2$  however, use different input sequences  $\underline{u}$  and  $\underline{u}_{\pi}$, respectively. Here,  ${\rm \Pi}$  marks the interleaver, for UMTS and LTE mostly a  $S$ random interleaver.


Given filter structure







The main difference compared to the description in the theory part results from a different transfer function  $G(D)$ given by the recursive filter structure drawn on the left.


Hints:

$$\underline{u}= (\hspace{0.05cm}0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm}0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm}\hspace{0.05cm} \text{...}\hspace{0.05cm}) \quad \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\quad U(D) = D+ D^2\hspace{0.05cm},$$
$$\underline{u}= (\hspace{0.05cm}0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm}0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 1\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm} 0\hspace{0.05cm}\hspace{0.05cm} \text{...}\hspace{0.05cm}) \quad \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\quad U(D) = D+ D^8\hspace{0.05cm}.$$



Questions

1

What are the characteristics of the considered turbo code (memory  $m$,  influence length  $\nu$,  rate $R$)?

$ m \hspace{0.2cm} = \ $

$ \nu \hspace{0.3cm} = \ $

$R \hspace{0.2cm} = \ $

2

What are the (identical) transfer functions  $G_1(D) = G_2(D) = G(D)$?

  $G(D) = (1 + D + D^3)/(1 + D^2 + D^3)$.
  $G(D) = (1 + D^2 + D^3)/(1 + D + D^3)$.

3

What is the impulse response  $\underline{g}$ ?

  $\underline{g} = (1, \, 1, \, 1, \, 0, \, 1, \, 1, \, 0, \, 1, \, 1, \, 0, \, 1, \, 1, \, 0, \, 1, \, 1, \hspace{0.05cm} \text{...}\hspace{0.05cm})$
  $\underline{g} = (1, \, 1, \, 1, \, 1, \, 0, \, 0, \, 1, \, 0, \, 1, \, 1, \, 1, \, 0, \, 0, \, 1, \, 0, \hspace{0.05cm} \text{...}\hspace{0.05cm})$.
  $\underline{g}$  continues to infinity.

4

Are there periodic components within the impulse response  $\underline{g}$ ?

Yes, with the period  $P = 7$.
Yes, with the period  $P = 8$.
No.

5

Let $U(D) = D + D^2$. Which statements are true?

The initial sequence  $\underline{p}$  contains a periodic component.
The period  $P$  is unchanged from  $\underline{g}$ .
The Hamming weight of the input sequence is  $w_{\rm H}(\underline{u}) = 2$.
The Hamming weight of the output sequence is  $w_{\rm H}(\underline{p}) = 6$.

6

Which statements are true for  $U(D) = D + D^8$ ?

The initial sequence  $\underline{p}$  contains a periodic component.
The period  $P$  is unchanged from  $\underline{g}$ .
The Hamming weight of the input sequence is  $w_{\rm H}(\underline{u}) = 2$.
The Hamming weight of the output sequence  is $w_{\rm H}(\underline{p}) = 6$.


Solution

Polynomial division for subtask (3)': $G(D) = (1 + D + D^3) \ / \ (1 + D^2 + D^3)$

(1)  The code parameters are $k = 1$ and $n = 3$   ⇒   Code rate $\underline{R = 1/3}$.

  • The memory is $\underline{m = 3}$.
  • The influence lengths result in $\nu = 1, \ \nu_2 = 4$ and $\nu_3 = 4$  ⇒  Total influence length $\underline{\nu = 9}$.


(2)  As the comparison of the "recursive filter" on the data page with the "filter structure" in the theory section for fractional–rational $G(D)$, the proposed solution 1 is correct.


(3)  Correct are the proposed solutions 2 and 3:

The upper graph illustrates the polynomial division $(1 + D + D^3) \ / \ (1 + D^2 + D^3)$. For explanation:

  • Cancelled is the representation with the remainder $D^8 + D^9 = D^7 \cdot (D + D^2)$.
  • Thus also holds:
$$(D^8 + D^9) \hspace{0.05cm} /\hspace{0.05cm} (1+ D^2+ D^3 ) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} D^7 \cdot (D+ D^2+ D^3 + D^6) + {\rm rest_2}$$
  • After summarizing:
$$G(D) = 1 + D + D^2 + D^3 + D^6 + D^8+ D^9+ D^{10} + D^{13} + \hspace{0.05cm}\text{ ... }\hspace{0.05cm} \hspace{0.05cm}. $$
  • The $D$–inverse transform gives the proposed solution 2:
$$\underline{g}= (\hspace{0.05cm}1\hspace{0.05cm}, \hspace{0.05cm} 1\hspace{0.05cm}, \hspace{0.05cm} 1\hspace{0.05cm}, \hspace{0.05cm} 1\hspace{0.05cm}, \hspace{0.05cm} 0\hspace{0.05cm}, \hspace{0.05cm} 0\hspace{0.05cm}, \hspace{0.05cm} 1\hspace{0.05cm}, \hspace{0.05cm} 0\hspace{0.05cm}, \hspace{0.05cm} 1\hspace{0.05cm}, \hspace{0.05cm} 1\hspace{0.05cm}, \hspace{0.05cm} 1\hspace{0.05cm}, \hspace{0.05cm} 0\hspace{0.05cm}, \hspace{0.05cm} 0\hspace{0.05cm}, \hspace{0.05cm} 1\hspace{0.05cm}, \hspace{0.05cm} 0\hspace{0.05cm},\hspace{0.05cm}\text{ ... }\hspace{0.05cm})\hspace{0.05cm}. $$
  • The impulse response continues to infinity   ⇒   Solution proposal 3 is also correct.


State transition diagram and impulse response

(4)  The impulse response can be expressed as follows:

$$\underline{g}= \Big (\hspace{0.03cm}1\hspace{0.03cm}, \big [ \hspace{0.03cm} 1\hspace{0.03cm}, \hspace{0.03cm} 1\hspace{0.03cm}, \hspace{0.03cm} 1\hspace{0.03cm}, \hspace{0.03cm} 0\hspace{0.03cm}, \hspace{0.03cm} 0\hspace{0.03cm}, \hspace{0.03cm} 1\hspace{0.03cm}, \hspace{0.03cm} 0\hspace{0.03cm} \big ]_{\rm per} \Big ) \hspace{0.15cm}\Rightarrow \hspace{0.15cm} \underline{P = 7} \hspace{0.05cm}. $$

In the state transition diagram (right), the impulse response $\underline{g}$ is highlighted in yellow. The impulse response results as the parity-check sequence  $\underline{p}$  for the information sequence  $\underline{u} = (1, \, 0, \, 0, \, 0, \, 0, \, \text{ ... })$.

  • The transitions in the diagram are labeled "$u_i\hspace{0.05cm}|\hspace{0.05cm}\underline{x}_i$", which is equivalent to "$u_i\hspace{0.05cm}|\hspace{0.05cm}u_i \hspace{0.05cm}p_i$".
  • The parity-check sequence  $\underline{p} \ (=$ impulse response  $\underline{g})$  thus results from the respective second coder output symbol.
  • $\underline{g}$ is represented by the following states:
$$S_0 → [S_1 → S_2 → S_5 → S_3 → S_7 → S_6 → S_4 ] → [S_1 → \ ... \ → S_4] → \ \text{ ... } $$


(5)  The following graphic shows the solution using the generator matrix $\mathbf{G}$. It holds $\underline{u} = (0, \, 1, \, 1, \, 0, \, 0, \, \text{ ... } )$.

$\underline{p} = (0, \, 1, \, 1, \, \text{ ... } ) \cdot \mathbf{G}$

It can be seen that solutions 1, 2 and 3 are correct:

  • The present parity-check sequence $\underline{p}$ has the same period $P = 7$ as the impulse response $\underline{g}$.
  • The Hamming weight of the (bounded) input sequence is actually $w_{\rm H}(\underline{u}) = 2$.
  • Proposition 4 is incorrect. Rather, the semi–infinite output sequence here is $w_{\rm H}(\underline{p}) → \infty$.


In the transition diagram, the states $S_0 → S_0 → S_1 → S_3 → S_7 → S_6 → S_4 → S_1$ are passed through first. This is followed (infinitely often) by the periodic portion $S_1 → S_2 → S_5 → S_3 → S_7 → S_6 → S_4 → S_1$.



(6)  The last graph shows the solution for $U(D) = D + D^8 \Rightarrow \underline{u} = (0, \, 1, \, 0, \, 0, \, 0, \, 0, \, 0, \, 0, \, 1, \, 0, \, 0, \, \text{ ... })$.

$\underline{p} = (0, \, 1, \, 0, \, 0, \, 0, \, 0, \, 0, \, 0, \, 1, \, 0, \, 0, \, \text{ ... }) \cdot \mathbf{G}$

Correct are the proposed solutions 3 and 4:

  • The input sequence $\underline{u}$ contains two ones and the output sequence $\underline{p}$ six ones.
  • From position 10 now the output sequence $\underline{p} \equiv\underline{0}$  
    ⇒   proposals 1 and 2 therefore do not apply.


Further notes:

  • For a turbo code, especially those input sequences $\underline{u}$ whose $D$–transforms are representable as $U(D) = f(D) \cdot [1 + D^{P}]$ are extremely unfavorable.
  • They cause the error floor as seen on the "Performance of Turbo Codes" page in the theory section.
  • $P$  here indicates the period of the impulse response  $\underline{g}$.
  • In our example  $f(D) = D$  and  $P = 7$.