Vector operations

InfiniteVectors.upsampleFunction
upample(vec::InfiniteVector, m::Int)

The resulting vector r satisfies r(k) = vec(k/m), if k is multple of m, otherwise, r(k)=0

source
Base.reverse!Function
reverse!(vec::CompactInfiniteVector)

In-place time reversel: vec(-k)

source
InfiniteVectors.alternating_flipFunction
alternating_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)$

source
Base.invFunction
inv(a::CompactInfiniteVector{T}, m::Int)

A solution of $[a*b]_{↓m}=δ$, given a.

source
Base.adjointFunction
adjoint(vec::BiInfiniteVector)

Returns the paraconjugate $\overline{vec(-k)}$`

source
Base.transposeFunction
transpose(vec::BiInfiniteVector)

Returns the time-reversed vector vec(-k)

source
InfiniteVectors.ztransformFunction
ztransform(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}$

source
InfiniteVectors.fouriertransformFunction
fouriertransform(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 -periodic continuous function of ω.

source
InfiniteVectors.momentFunction
moment(vec::InfiniteVector, j)

The j-th discrete moment of a sequence is defined as $\sum_{k\in ℤ} h_k k^j$.

source
InfiniteVectors.leastsquares_invFunction
leastsquares_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.

source
Base.:*Function
*(a::InfiniteVector, b::InfiniteVector)

The convolution is defined as $c(n) = \sum_{k\in ℤ} a(k)b(n-k)$

source
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.

source
InfiniteVectors.:⋆Function
⋆(a::InfiniteVector, b::InfiniteVector)

The convolution is defined as $c(n) = \sum_{k\in ℤ} a(k)b(n-k)$

source