# Compressed Sensing with R

[This article was first published on

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Compressed sensing (CS) is pretty much appealing all current signal processing research community. At the same time, popularity of R language gaining a strong foot in the research and industry. Even though historically MATLAB is a de-facto standard in signal processing community, R is becoming a serious alternative to this. For example, the quality of R in time-series analysis or medical imaging is now an accepted fact. **Scientific Memo**, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Last year, I have demonstrated how one can use R in compressed sensing research in a short tutorial in the pub, close to Liverpool street in London. The package R1magic is available in CRAN. Package provides basic interface to perform 1-D compressed sensing with l1, TV penalized minimization. There are other packages doing similar regularized minimization. However the interface of R1magic is particularly designed for CS i.e. appearance of sparse bases in the objective function.

Here is one simple example (Version 0.1):

library(R1magic)# Signal components

N <- 100

# Sparse components

K <- 4

# Up to Measurements > K LOG (N/K)

M <- 40

# Measurement Matrix (Random Sampling Sampling)

phi <- GaussianMatrix(N,M)

# R1magic generate random signal

xorg <- sparseSignal(N, K, nlev=1e-3)

y <- phi %*% xorg ;# generate measurement

T <- diag(N) ;# Do identity transform

p <- matrix(0, N, 1) ;# initial guess

# R1magic Convex Minimization ! (unoptimized-parameter)

ll <- solveL1(phi, y, T, p)

x1 <- ll$estimate

plot( 1:100, seq(0.011,1.1,0.011), type = “n”,xlab=””,ylab=””)

title(main=”Random Sparse Signal Recovery”,

xlab=”Signal Component”,ylab=”Spike Value”)

lines(1:100, xorg , col = “red”)

lines(1:100, x1, col = “blue”, cex = 1.5)

# shifted by 5 for clearity

Blue line is the reconstructed signal with R1magic.

To

**leave a comment**for the author, please follow the link and comment on their blog:**Scientific Memo**.R-bloggers.com offers

**daily e-mail updates**about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.