Vector operations
InfiniteVectors.downsample — Functiondownsample(vec::InfiniteArrays, m::Int)The resulting vector r satisfies r(k) = vec(mk)
InfiniteVectors.upsample — Functionupample(vec::InfiniteVector, m::Int)The resulting vector r satisfies r(k) = vec(k/m), if k is multple of m, otherwise, r(k)=0
InfiniteVectors.shift — Functionshift(vec::InfiniteArrays, m::Int)The resulting vector r satisfies r(k) = vec(k+m)
InfiniteVectors.shift! — Functionshift!(vec::InfiniteArrays, m::Int)In-place shifting of vector. (not always possible)
Base.reverse — Functionreverse(vec::BiInfiniteVector)Time-reversel: vec(-k)
Base.reverse! — Functionreverse!(vec::CompactInfiniteVector)In-place time reversel: vec(-k)
InfiniteVectors.alternating_flip — Functionalternating_flip(vec::BiInfiniteVector, pivot = 1)From a given filter $h(i)$, compute a new filter satisfying the alternating flip relation, centered around the given pivot:
$g(k) = (-1)^k h(pivot-k)$
InfiniteVectors.alternating — Functionalternating(vec::InfiniteVector)Compute a new 'alternating' filter satisfying $g(k) = (-1)^k h(k)`.$
InfiniteVectors.evenpart — Functionevenpart(vec::InfiniteVector)
Return the even part of a sequence `s`, defined by `s_e[k] = s[2k]`.InfiniteVectors.oddpart — Functionoddpart(vec::InfiniteVector)Return the odd part of a sequence s, defined by s_o[k] = s[2k+1]
Base.inv — Functioninv(a::CompactInfiniteVector{T}, m::Int)A solution of $[a*b]_{↓m}=δ$, given a.
Base.adjoint — Functionadjoint(vec::BiInfiniteVector)Returns the paraconjugate $\overline{vec(-k)}$`
Base.transpose — Functiontranspose(vec::BiInfiniteVector)Returns the time-reversed vector vec(-k)
InfiniteVectors.ztransform — Functionztransform(vec::InfiniteVector, z)The Z transform of a sequence is a continuous function of z, defined by $S(z) = \sum_{k\in ℤ} s_k z^{-k}$
InfiniteVectors.fouriertransform — Functionfouriertransform(s::BiInfiniteVector, ω)The Fourier transform of a sequence is defined by $S(ω) = \sum_{k\in ℤ} s_k e^{-i ω k}$. It is like the Z transform with $z = e^{i ω}$. The Fourier transform is a 2π-periodic continuous function of ω.
InfiniteVectors.moment — Functionmoment(vec::InfiniteVector, j)The j-th discrete moment of a sequence is defined as $\sum_{k\in ℤ} h_k k^j$.
InfiniteVectors.leastsquares_inv — Functionleastsquares_inv(v::BiInfiniteVector, m::Int)The inverse filter $f = v*[([v*v]_{↓m})^{-1}]_{↑m}$
returns by applying on b $v*[[f*b]_{↓m}]_{↑m}$ the least squares approximation of b in the range of v.
Base.:* — Function*(a::InfiniteVector, b::InfiniteVector)The convolution is defined as $c(n) = \sum_{k\in ℤ} a(k)b(n-k)$
InfiniteVectors.:⊛ — Function⊛(a::AbstractPeriodicInfiniteVector, b::AbstractPeriodicInfiniteVector)The circular convoluation defined as $c(n) = \sum_{k=1}^N a(k)b(n-k)$ for $n\in ℤ$, where N is the period of a and b.
InfiniteVectors.:⋆ — Function⋆(a::InfiniteVector, b::InfiniteVector)The convolution is defined as $c(n) = \sum_{k\in ℤ} a(k)b(n-k)$