sampled2continuous {gsignal} | R Documentation |
Signal reconstruction
Description
Analog signal reconstruction from discrete samples.
Usage
sampled2continuous(xn, fs, t)
Arguments
xn |
the sampled input signal, specified as a vector |
fs |
sampling frequency in Hz used in collecting |
t |
time points at which data is to be reconstructed, specified as a
vector relative to |
Details
Given a discrete signal x[n] sampled with a frequency of fs
Hz, this
function reconstruct the original analog signal x(t) at time points t
.
The function can be used, for instance, to calculate sampling rate effects on
aliasing.
Value
Reconstructed signal x(t), returned as a vector.
Author(s)
Muthiah Annamalai, muthiah.annamalai@uta.edu. Conversion to R by Geert van Boxtel, G.J.M.vanBoxtel@gmail.com.
Examples
# 'analog' signal: 3 Hz cosine
t <- seq(0, 1, length.out = 100)
xt <- cos(3 * 2 * pi * t)
plot(t, xt, type = "l", xlab = "", ylab = "", ylim = c(-1, 1.2))
# 'sample' it at 4 Hz to simulate aliasing
fs <- 4
n <- ceiling(length(t) / fs)
xn <- xt[seq(ceiling(n / 2), length(t), n)]
s4 <- sampled2continuous(xn, fs, t)
lines(t, s4, col = "red")
# 'sample' it > 6 Hz to avoid aliasing
fs <- 7
n <- ceiling(length(t) / fs)
xn <- xt[seq(ceiling(n / 2), length(t), n)]
s7 <- sampled2continuous(xn, fs, t)
lines(t, s7, col = "green")
legend("topright", legend = c("original", "aliased", "non-aliased"),
lty = 1, col = c("black", "red", "green"))
[Package gsignal version 0.3-5 Index]