Files
gr-ieee802-11/utils/create_long.R
2014-02-26 14:04:49 +01:00

27 lines
1019 B
R

fft.shift <- function(sym) {
sym <- matrix(sym, ncol=64)
# the explicit dimensions are required
# if sym contains only one row
m1 <- matrix(sym[,33:64], ncol=32)
m2 <- matrix(sym[, 1:32], ncol=32)
return(cbind(m1, m2))
}
### symbols as defined in the standard
sym <- c(1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 0, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1)
freq <- c(rep(0, 6), sym, rep(0, 5))
pre <- fft(fft.shift(freq), inverse=T) / sqrt(52)
for(i in seq(1, 64, 4)) {
cat("\t\tgr_complex(", sprintf("% .4f", Re(pre[ i])), ", ", sprintf("% .4f", Im(pre[ i])), "), ", sep="")
cat( "gr_complex(", sprintf("% .4f", Re(pre[i+1])), ", ", sprintf("% .4f", Im(pre[i+1])), "), ", sep="")
cat( "gr_complex(", sprintf("% .4f", Re(pre[i+2])), ", ", sprintf("% .4f", Im(pre[i+2])), "), ", sep="")
cat( "gr_complex(", sprintf("% .4f", Re(pre[i+3])), ", ", sprintf("% .4f", Im(pre[i+3])), "),\n", sep="")
}