train

Functions

int main(int argc, char *argv[])

train [ option ]

  • -l int

    • output length \((1 \le L)\)

  • -m int

    • output order \((0 \le L - 1)\)

  • -p double

    • frame period \((1 \le P)\)

  • -n int

    • normalization type \((0 \le N \le 2)\)

      • 0 none

      • 1 power

      • 2 magnitude

  • stdout

    • double-type pulse sequence

The output of this command is

\[ \begin{array}{cccc} x(0), & x(1), & \ldots, & x(L-1) \end{array} \]
where \(x(l)\) is non-zero at every \(P\) period. If \(L\) is not given, an infinite pulse sequence is generated.

There are three kind of normalization types:

\[\begin{split}\begin{eqnarray} \sum_{l=0}^{P-1} x(l+a) &=& 1, \quad (N=0) \\ \frac{1}{P} \sum_{l=0}^{P-1} x^2(l+a) &=& 1, \quad (N=1) \\ \frac{1}{P} \sum_{l=0}^{P-1} x(l+a) &=& 1, \quad (N=2) \end{eqnarray}\end{split}\]
where \(a\) is any index.

Parameters:
  • argc[in] Number of arguments.

  • argv[in] Argument vector.

Returns:

0 on success, 1 on failure.

See also

excite