• Nenhum resultado encontrado

Course on (algebraic aspects of) Convolutional Codes

N/A
N/A
Protected

Academic year: 2022

Share "Course on (algebraic aspects of) Convolutional Codes"

Copied!
42
0
0

Texto

(1)

Course on (algebraic aspects of) Convolutional Codes

Diego Napp

Department of Mathematics, Universidad of Aveiro, Portugal

CIMPA RESEARCH SCHOOL

July 6, 2017

(2)

My most heartfelt thanks to the organizers CIMPA RESEARCH SCHOOL

ALGEBRAIC METHODS IN CODING THEORY .

(3)

Overview

1 Error-correcting codes: From block codes to convolutional codes Basics: Polynomial encoders

2 Distance properties of convolutional codes

Maximum Distance Profile (MDP) and Maximum Distance Separable (MDS)

Construction of MDP and MDS: Superregular matrices

3 Decoding of Convolutional codes Viterbi algorithm

Decoding of convolutional codes over the erasure channel

4 Network coding with convolutional codes

5 Avenues for further research

Motivated by applications: Video streaming and storage systems More theoretical: Multidimensional convolutional codes and

(4)

Day 4: Convolutional codes for Network coding

(5)

Network Coding

We live in a network world.

How is the best way to disseminate information over a network?

Linear random network coding

It has been proven that network coding is enough to achieve the upper bound in multicast problems with one or more sources. It optimizes the throughput.

(6)

Network Coding

We live in a network world.

How is the best way to disseminate information over a network?

Linear random network coding

It has been proven that network coding is enough to achieve the upper bound in multicast problems with one or more sources. It optimizes the throughput.

(7)

Linear Network Coding

(8)

Linear Network Coding

(9)

Linear Network Coding

(10)

Linear Network Coding

During oneshot the transmitter injects a number of packets into the network, each of which may be regarded as a row vector over a finite field Fqm.

These packets propagate through the network. Each node creates a random -linear combination of the packets it has available and transmits this random combination.

Finally, the receiver collects such randomly generated packets and tries to infer the set of packets injected into the network

(11)

Linear Network Coding

During oneshot the transmitter injects a number of packets into the network, each of which may be regarded as a row vector over a finite field Fqm.

These packets propagate through the network. Each node creates a random -linear combination of the packets it has available and transmits this random combination.

Finally, the receiver collects such randomly generated packets and tries to infer the set of packets injected into the network

(12)

Linear Network Coding

During oneshot the transmitter injects a number of packets into the network, each of which may be regarded as a row vector over a finite field Fqm.

These packets propagate through the network. Each node creates a random -linear combination of the packets it has available and transmits this random combination.

Finally, the receiver collects such randomly generated packets and tries to infer the set of packets injected into the network

(13)

Subspaces remain the same under any linear operations on the basis

Subspace codes recently received a lot of attention since Koetter and Kschischang showed (in a award winning paper in 2008) that they are exactly what is needed for error-correction in random network coding. The generalized projective space Pq(n) of ordern overFq is the set of all subspaces of Fnq . The set of all subspaces of dimension k is the GrassmannianGq(k,n).

A metric on Pq(n) is given by

dS(U,V) = dim(U) + dim(V)−2 dim(U ∩V) OnGq(k,n) it turns to

dS(U,V) = 2(k−dim(U ∩V))

A subspace code is simply a subset of Pq(n), a constant dimension code (CDC) is a subset of Gq(k,n) . If the distance between any two elements of a CDC is greater than or equal to 2 we say that the code has minimum distance 2

(14)

Subspaces remain the same under any linear operations on the basis Subspace codes recently received a lot of attention since Koetter and Kschischang showed (in a award winning paper in 2008) that they are exactly what is needed for error-correction in random network coding.

The generalized projective space Pq(n) of ordern overFq is the set of all subspaces of Fnq . The set of all subspaces of dimension k is the GrassmannianGq(k,n).

A metric on Pq(n) is given by

dS(U,V) = dim(U) + dim(V)−2 dim(U ∩V) OnGq(k,n) it turns to

dS(U,V) = 2(k−dim(U ∩V))

A subspace code is simply a subset of Pq(n), a constant dimension code (CDC) is a subset of Gq(k,n) . If the distance between any two elements of a CDC is greater than or equal to 2 we say that the code has minimum distance 2

(15)

Subspaces remain the same under any linear operations on the basis Subspace codes recently received a lot of attention since Koetter and Kschischang showed (in a award winning paper in 2008) that they are exactly what is needed for error-correction in random network coding.

The generalized projective space Pq(n) of ordern overFq is the set of all subspaces of Fnq . The set of all subspaces of dimension k is the GrassmannianGq(k,n).

A metric on Pq(n) is given by

dS(U,V) = dim(U) + dim(V)−2 dim(U ∩V) OnGq(k,n) it turns to

dS(U,V) = 2(k−dim(U ∩V))

A subspace code is simply a subset of Pq(n), a constant dimension code (CDC) is a subset of Gq(k,n) . If the distance between any two elements of a CDC is greater than or equal to 2 we say that the code has minimum distance 2

(16)

Subspaces remain the same under any linear operations on the basis Subspace codes recently received a lot of attention since Koetter and Kschischang showed (in a award winning paper in 2008) that they are exactly what is needed for error-correction in random network coding.

The generalized projective space Pq(n) of ordern overFq is the set of all subspaces of Fnq . The set of all subspaces of dimension k is the GrassmannianGq(k,n).

A metric on Pq(n) is given by

dS(U,V) = dim(U) + dim(V)−2 dim(U∩V)

OnGq(k,n) it turns to

dS(U,V) = 2(k−dim(U ∩V))

A subspace code is simply a subset of Pq(n), a constant dimension code (CDC) is a subset of Gq(k,n) . If the distance between any two elements of a CDC is greater than or equal to 2 we say that the code has minimum distance 2

(17)

Subspaces remain the same under any linear operations on the basis Subspace codes recently received a lot of attention since Koetter and Kschischang showed (in a award winning paper in 2008) that they are exactly what is needed for error-correction in random network coding.

The generalized projective space Pq(n) of ordern overFq is the set of all subspaces of Fnq . The set of all subspaces of dimension k is the GrassmannianGq(k,n).

A metric on Pq(n) is given by

dS(U,V) = dim(U) + dim(V)−2 dim(U∩V) OnGq(k,n) it turns to

dS(U,V) = 2(k−dim(U ∩V))

A subspace code is simply a subset of Pq(n), a constant dimension code (CDC) is a subset of Gq(k,n) . If the distance between any two elements of a CDC is greater than or equal to 2 we say that the code has minimum distance 2

(18)

Subspaces remain the same under any linear operations on the basis Subspace codes recently received a lot of attention since Koetter and Kschischang showed (in a award winning paper in 2008) that they are exactly what is needed for error-correction in random network coding.

The generalized projective space Pq(n) of ordern overFq is the set of all subspaces of Fnq . The set of all subspaces of dimension k is the GrassmannianGq(k,n).

A metric on Pq(n) is given by

dS(U,V) = dim(U) + dim(V)−2 dim(U∩V) OnGq(k,n) it turns to

dS(U,V) = 2(k−dim(U ∩V))

A subspace code is simply a subset of Pq(n), a constant dimension code (CDC) is a subset of Gq(k,n) . If the distance between any two elements of a CDC is greater than or equal to 2 we say that the code has minimum distance 2

(19)

Rank metric codes are used in Network Coding

Silva, Kschischang, and Koetter show that the subspace distance between U = rowspan[I A] andV = rowspan[I B] is

dS(U,V) = 2 rank (A−B)

Rank metric code: a block code overFqm, where each codewordv is associated with a matrix φ(v); row i of φ(v) is the expansion ofvi

w.r.t. a fixed basis for Fqm over Fq.

Since Fm×nq ∼=Fnqm, any rank-metric code over the extension field can also be considered as a matrix code over the base field.

Rank metric codes are matrix codes C ⊂Fm×nq , armed with the rank distance

drank(X,Y) =rank(X −Y), whereX,Y ∈Fn×mq .

(20)

Rank metric codes are used in Network Coding

Silva, Kschischang, and Koetter show that the subspace distance between U = rowspan[I A] andV = rowspan[I B] is

dS(U,V) = 2 rank (A−B)

Rank metric code: a block code overFqm, where each codewordv is associated with a matrix φ(v); row i of φ(v) is the expansion ofvi

w.r.t. a fixed basis forFqm over Fq.

Since Fm×nq ∼=Fnqm, any rank-metric code over the extension field can also be considered as a matrix code over the base field.

Rank metric codes are matrix codes C ⊂Fm×nq , armed with the rank distance

drank(X,Y) =rank(X −Y), whereX,Y ∈Fn×mq .

(21)

Rank metric codes are used in Network Coding

Silva, Kschischang, and Koetter show that the subspace distance between U = rowspan[I A] andV = rowspan[I B] is

dS(U,V) = 2 rank (A−B)

Rank metric code: a block code overFqm, where each codewordv is associated with a matrix φ(v); row i of φ(v) is the expansion ofvi

w.r.t. a fixed basis forFqm over Fq.

Since Fm×nq ∼=Fnqm, any rank-metric code over the extension field can also be considered as a matrix code over the base field.

Rank metric codes are matrix codes C ⊂Fm×nq , armed with the rank distance

drank(X,Y) =rank(X −Y), whereX,Y ∈Fn×mq .

(22)

Rank metric codes are used in Network Coding

Silva, Kschischang, and Koetter show that the subspace distance between U = rowspan[I A] andV = rowspan[I B] is

dS(U,V) = 2 rank (A−B)

Rank metric code: a block code overFqm, where each codewordv is associated with a matrix φ(v); row i of φ(v) is the expansion ofvi

w.r.t. a fixed basis forFqm over Fq.

Since Fm×nq ∼=Fnqm, any rank-metric code over the extension field can also be considered as a matrix code over the base field.

Rank metric codes are matrix codes C ⊂Fm×nq , armed with the rank distance

drank(X,Y) =rank(X −Y), whereX,Y ∈Fn×mq .

(23)

Rank metric codes are used in Network Coding

For linear (n,k) rank metric codes overFqm with m≥n the following analog of the Singleton bound holds,

drank(C)≤n−k+ 1.

The code that achieves this bound is called Maximum Rank Distance (MRD). Gabidulin codes are a well-known class of MRD codes. We will assume n≤m and study MRD codes C ⊂Fm×nq that are Fqm-linear. These codes have a generator matrix G ∈Fk×nqm and a respective parity check matrix H∈F(n−k)×nqm .

(24)

Rank metric codes are used in Network Coding

For linear (n,k) rank metric codes overFqm with m≥n the following analog of the Singleton bound holds,

drank(C)≤n−k+ 1.

The code that achieves this bound is called Maximum Rank Distance (MRD). Gabidulin codes are a well-known class of MRD codes.

We will assume n≤m and study MRD codes C ⊂Fm×nq that are Fqm-linear. These codes have a generator matrix G ∈Fk×nqm and a respective parity check matrix H∈F(n−k)×nqm .

(25)

Rank metric codes are used in Network Coding

For linear (n,k) rank metric codes overFqm with m≥n the following analog of the Singleton bound holds,

drank(C)≤n−k+ 1.

The code that achieves this bound is called Maximum Rank Distance (MRD). Gabidulin codes are a well-known class of MRD codes.

We will assume n≤m and study MRD codes C ⊂Fm×nq that are Fqm-linear. These codes have a generator matrix G ∈Fk×nqm and a respective parity check matrix H∈F(n−k)×nqm .

(26)

Example

(27)
(28)
(29)
(30)

THE IDEA: Multi-shot

Coding can also be performed over multiple uses of the network, whose internal structure may change at each shot

Creating dependencies among the transmitted codewords of different shots can improve the error-correction capabilities (Nobrega, R., Uchoa-Filho (2010), Wachter-Zeh, A., Stinner, M., Sidorenko (2015), Mahmood, R., Badr, A., Khisti(2015)).

Ideal coding techniques for streaming communications must operate sequential encoding and decoding constrains, and as such they must inherently have aconvolutional structure.

We propose the use of convolutional codes to add complex dependencies to data streams in a quite simple way.

Although theuse of convolutional codesis widespread, its application to video streaming (or using the rank metric) is yet unexplored.

(31)

THE IDEA: Multi-shot

Coding can also be performed over multiple uses of the network, whose internal structure may change at each shot

Creating dependencies among the transmitted codewords of different shots can improve the error-correction capabilities (Nobrega, R., Uchoa-Filho (2010), Wachter-Zeh, A., Stinner, M., Sidorenko (2015), Mahmood, R., Badr, A., Khisti(2015)).

Ideal coding techniques for streaming communications must operate sequential encoding and decoding constrains, and as such they must inherently have aconvolutional structure.

We propose the use of convolutional codes to add complex dependencies to data streams in a quite simple way.

Although theuse of convolutional codesis widespread, its application to video streaming (or using the rank metric) is yet unexplored.

(32)

THE IDEA: Multi-shot

Coding can also be performed over multiple uses of the network, whose internal structure may change at each shot

Creating dependencies among the transmitted codewords of different shots can improve the error-correction capabilities (Nobrega, R., Uchoa-Filho (2010), Wachter-Zeh, A., Stinner, M., Sidorenko (2015), Mahmood, R., Badr, A., Khisti(2015)).

Ideal coding techniques for streaming communications must operate sequential encoding and decoding constrains, and as such they must inherently have aconvolutional structure.

We propose the use of convolutional codes to add complex dependencies to data streams in a quite simple way.

Although theuse of convolutional codesis widespread, its application to video streaming (or using the rank metric) is yet unexplored.

(33)

THE IDEA: Multi-shot

Coding can also be performed over multiple uses of the network, whose internal structure may change at each shot

Creating dependencies among the transmitted codewords of different shots can improve the error-correction capabilities (Nobrega, R., Uchoa-Filho (2010), Wachter-Zeh, A., Stinner, M., Sidorenko (2015), Mahmood, R., Badr, A., Khisti(2015)).

Ideal coding techniques for streaming communications must operate sequential encoding and decoding constrains, and as such they must inherently have aconvolutional structure.

We propose the use of convolutional codes to add complex dependencies to data streams in a quite simple way.

Although theuse of convolutional codesis widespread, its application to video streaming (or using the rank metric) is yet unexplored.

(34)

THE IDEA: Multi-shot

Coding can also be performed over multiple uses of the network, whose internal structure may change at each shot

Creating dependencies among the transmitted codewords of different shots can improve the error-correction capabilities (Nobrega, R., Uchoa-Filho (2010), Wachter-Zeh, A., Stinner, M., Sidorenko (2015), Mahmood, R., Badr, A., Khisti(2015)).

Ideal coding techniques for streaming communications must operate sequential encoding and decoding constrains, and as such they must inherently have aconvolutional structure.

We propose the use of convolutional codes to add complex dependencies to data streams in a quite simple way.

Although theuse of convolutional codesis widespread, its application to video streaming (or using the rank metric) is yet unexplored.

(35)

Network streaming problem

Assume the network is used once at every time instance andj the decoding deadline.

A=diag(A0,A1,. . .,At+j) is the channel matrix,Ai ∈Fn×nq

(y0,y1, . . . ,yt+j) = (v0,v1, . . . ,vt+j)

 A0

. .. At+j

rank(Ai) =n during a perfect communication. But erasures may occur and rank drops.

We want to obtain thevt’s

(36)

Network streaming problem

Assume the network is used once at every time instance andj the decoding deadline.

A=diag(A0,A1,. . .,At+j) is the channel matrix,Ai ∈Fn×nq

(y0,y1, . . . ,yt+j) = (v0,v1, . . . ,vt+j)

 A0

. .. At+j

rank(Ai) =n during a perfect communication. But erasures may occur and rank drops.

We want to obtain thevt’s

(37)

Network streaming problem

Assume the network is used once at every time instance andj the decoding deadline.

A=diag(A0,A1,. . .,At+j) is the channel matrix,Ai ∈Fn×nq

(y0,y1, . . . ,yt+j) = (v0,v1, . . . ,vt+j)

 A0

. ..

At+j

rank(Ai) =n during a perfect communication. But erasures may occur and rank drops.

We want to obtain thevt’s

(38)

Network streaming problem

Assume the network is used once at every time instance andj the decoding deadline.

A=diag(A0,A1,. . .,At+j) is the channel matrix,Ai ∈Fn×nq

(y0,y1, . . . ,yt+j) = (v0,v1, . . . ,vt+j)

 A0

. ..

At+j

rank(Ai) =n during a perfect communication. But erasures may occur and rank drops.

We want to obtain thevt’s

(39)

Network streaming problem

Assume the network is used once at every time instance andj the decoding deadline.

A=diag(A0,A1,. . .,At+j) is the channel matrix,Ai ∈Fn×nq

(y0,y1, . . . ,yt+j) = (v0,v1, . . . ,vt+j)

 A0

. ..

At+j

rank(Ai) =n during a perfect communication. But erasures may occur and rank drops.

We want to obtain thevt’s

(40)

Distance notions

Definition

The sum rank distanceof C is defined as dSR(C) = min

06=X(D)∈C rank (X(D)) := min

06=X(D)∈C

X

i≥0

rank (Xi)

where

rank (Xi) :=

K−1

X

j=0

rank (Xij).

And the column sum rank distanceof C is defined as

dSRj (C) = min

X(D)∈C and X006=0 j

X

i=0

rank (Xi),

(41)

Convolutional codes maximum Column Rank distance

Theorem [Mahmood, R., Badr, A., Khisti(2015)]

Let C be a convolutional code with djc(C) =d and A=diag(A0,A1,. . .,Aj) the channel matrix. If

rank(A) =n(j + 1)−d+ 1, then every message vt is recoverable by time j. Conversely, if rankA=n(j + 1)−d then there exists at least one codeword for whichx0 cannot be recovered.

Problem

How do we construct G(D) to achieve the maximum column sum distance??

(42)

Thanks for your attention

Referências

Documentos relacionados

The materials used in this work were the computational codes (MCNPX and “Star codes”) and a prototype of a radiation detector for aircraft measurements, based on the ICRU sphere

Levando-se em conta que a geopolítica brasileira esteve sempre ligada aos militares, é evidente que as redes de informações desempenharam papel importante na consolidação

Os resultados do estudo mostraram uma prevalência de peso excessivo ligeiramente superior nas raparigas, o que poderá ser explicado por uma menor frequência de actividade

Nesse sentido, os autores Alegre (2005); Kenski( 2007); Mattar (2010); Rogério( 2006) concordam que as tecnologias oferecem ferramentas (Computador, Internet, Google, You

ensino de qualidade, com estabelecimentos escolares devidamente aparelhados e, por- tanto existentes para além das casas dos próprios professores, como ainda ocorre em nossa Região.

Para as ações na comunidade lançou-se como meta a realização de atividades educativas que contemplasse as datas comemorativas conforme instituídas pelo Ministério

Tendo como animador Mark Oftedal e com o uso da tecnologia interativa e imersiva, essa animação mudou a forma de contar histórias.. Na tela do aplicativo

Os objetivos deste trabalho foram testar os genótipos de aveia mais utilizados no Sul do Brasil quanto à sua capacidade de regeneração in vitro e verificar a rota