binVector <- function(n, min.length) { result <- integer() i <- 0 while (n != 0) { result <- c(n %% 2, result) n = n %/% 2 i <- i + 1 } zeros <- rep(0, times = min.length) result <- c(zeros, result) return(paste(tail(result,min.length), collapse = "")) } vecToPoly = function(vec){ fun_factory = function(vec){ i = length(vec) function(x){ i <<- i-1 if(x>0 && i>0){ paste0("x^{",i, "}") }else if(i == 0 && x>0){ "1" }else{ "" } } } vec = sapply(vec, fun_factory(vec)) return (paste0(vec[vec != ""],collapse=" + ")) } decToBin <- function(x) { if (all(x<2)) x else paste(decToBin(x%/%2), x%%2, sep="") } octalToDec <- function(x) { res <- numeric() for(j in 1:length(x)) { dec <- 0 i <- 0 while (x[j] > 0) { dec <- dec + (x[j] %% 10) * (8^i) i <- i + 1 x[j] <- x[j] %/% 10 } res[j] <- dec } return(res) } gcd <- function(n, m) { if (n == 0 && m == 0) return(0) n <- abs(n); m <- abs(m) if (m > n) { t <- n; n <- m; m <- t } while (m > 0) { t <- n n <- m m <- t %% m } return(n) }
node.short <- 20 node.long <- 45 dots <- function (v, node) if(length(v) > node) ", ..." else "" if (params$encoder$type == 'BCH') { art.coder <- paste0("BCH (",params$encoder$code.length,",",params$encoder$data.length,",",params$encoder$code.t*2+1,")") gen.poly.print <- vecToPoly(rev(params$encoder$gen.poly)) coder.info <- paste0("- Generatorpolynom : $$g(x) = ", gen.poly.print,"$$\n\n - Verbesserbare Fehler pro Block: $$",params$encoder$code.t,"$$\n\n") } else { art.coder <- paste0("Hamming (",params$encoder$code.length,",",params$encoder$data.length,")") gen.matrix <- apply(params$encoder$gen.matrix, 1, function(x) paste0(x, collapse ="&")) gen.matrix <- paste0(gen.matrix, collapse = "\\\\") gen.matrix <- paste0("\\begin{pmatrix}",gen.matrix, "\\end{pmatrix}", collapse="") coder.info <- paste0("- Generatormatrix : $$G = ", gen.matrix,"$$\n\n") }
r art.coder
Kodierer
r coder.info
r params$encoder$data.length
}{r params$encoder$code.length
} \approx r round(params$encoder$data.length/params$encoder$code.length,2)
$$r params$message.length
r params$iterations.per.db
r params$min.db
r params$max.db
r params$db.interval
df <- params$dataframe if (max(df$ber) == 0) { ggplot2::ggplot(df,ggplot2::aes(db))+ggplot2::geom_line(ggplot2::aes(y = ber))+ggplot2::xlab("Signal Rausch Verh\u00e4ltnis [dB]")+ggplot2::ylab("Bitfehlerrate") } else { ggplot2::ggplot(df,ggplot2::aes(db))+ggplot2::geom_line(ggplot2::aes(y = ber))+ggplot2::scale_y_log10(limits = c(min(df$ber) / 2, max(df$ber) * 2))+ggplot2::xlab("Signal Rausch Verh\u00e4ltnis [dB]")+ggplot2::ylab("Bitfehlerrate") }
Bitefehlerrate:
summary(df$ber)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.