cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A007225 Number of distinct perforation patterns for deriving (v,b) = (n+4,n) punctured convolutional codes from (2,1).

This page as a plain text file.
%I A007225 M2023 #28 Mar 10 2023 03:18:47
%S A007225 2,12,52,232,952,3888,15504,61333,240350,937508,3641820,14112560,
%T A007225 54587280,210907168,814278240,3142611402,12126758436,46796872472,
%U A007225 180619420520,697320058864,2693097842512,10405151052320,40219629005920
%N A007225 Number of distinct perforation patterns for deriving (v,b) = (n+4,n) punctured convolutional codes from (2,1).
%C A007225 From _Petros Hadjicostas_, Jul 27 2020: (Start)
%C A007225 "A punctured convolutional code is a high-rate code obtained by the periodic elimination (i.e., puncturing) of specific code symbols from the output of a low-rate encoder. The resulting high-rate code depends on both the low-rate code, called the original code, and the number and specific positions of the punctured symbols." (The quote is from Haccoun and Bégin (1989).)
%C A007225 A high-rate code (v,b) (written as R = b/v) can be constructed from a low-rate code (v0,1) (written as R = 1/v0) by deleting from every v0*b code symbols a number of v0*b - v symbols (so that the resulting rate is R = b/v).
%C A007225 Even though the formulas below do not appear in the two published papers in the IEEE Transactions on Communications, from the theory in those two papers, it makes sense to replace "k|b" with "k|v0*b" (and "k|gcd(v,b)" with "k|gcd(v,v0*b)"). Pab Ter, however, uses "k|b" in the Maple program below. (End)
%D A007225 Guy Bégin, On the enumeration of perforation patterns for punctured convolutional codes, Séries Formelles et Combinatoire Algébrique, 4th colloquium, 15-19 Juin 1992, Montréal, Université du Québec à Montréal, pp. 1-10.
%D A007225 N. J. A. Sloane and Simon Plouffe, The Encyclopedia of Integer Sequences, Academic Press, 1995 (includes this sequence).
%H A007225 Guy Bégin and David Haccoun, <a href="https://doi.org/10.1109/26.44210">High rate punctured convolutions codes: Structure properties and construction techniques</a>, IEEE Transactions on Communications 37(12) (1989), 1381-1385.
%H A007225 David Haccoun and Guy Bégin, <a href="https://doi.org/10.1109/26.46505">High rate punctured convolutional codes for Viterbi and sequential coding</a>, IEEE Transactions on Communications, 37(11) (1989), 1113-1125; see Section II.
%F A007225 From _Petros Hadjicostas_, Jul 27 2020: (Start)
%F A007225 The number of perforation patterns to derive high-rate convolutional code (v,b) (written as R = b/v) from a given low-rate convolutional code (v0, 1) (written as R = 1/v0) is (1/b)*Sum_{k|gcd(v,b)} phi(k)*binomial(v0*b/k, v/k).
%F A007225 According to Pab Ter's Maple code, this is the coefficient of z^v in the polynomial (1/b)*Sum_{k|b} phi(k)*(1 + z^k)^(v0*b/k).
%F A007225 Here (v,b) = (n+4,n) and (v0,1) = (2,1), so
%F A007225 a(n) = (1/n)*Sum_{k|gcd(n+4,n)} phi(k)*binomial(2*n/k, (n+4)/k).
%F A007225 This simplifies to
%F A007225 a(n) = (1/n)*(binomial(2*n, n+4) + [(n mod 2) == 0]*binomial(n, (n/2) + 2) + 2*[(n mod 4) == 0]*binomial(n/2, (n/4) + 1)). (End)
%p A007225 with(numtheory):P:=proc(b,v0) local k: RETURN(add(phi(k)*(1+z^k)^(v0*(b/k)),k=divisors(b))/b): end; seq(coeff(P(b,2),z,b+4),b=5..40); (Pab Ter)
%t A007225 a[n_] := DivisorSum[GCD[n+4, n], EulerPhi[#]*Binomial[2n/#, (n+4)/#]&]/n;
%t A007225 Table[a[n], {n, 5, 27}] (* _Jean-François Alcover_, Mar 10 2023 *)
%Y A007225 Cf. A007223, A007224, A007229.
%K A007225 nonn
%O A007225 5,1
%A A007225 _Simon Plouffe_
%E A007225 More terms from Pab Ter (pabrlos2(AT)yahoo.com), Nov 13 2005