Signal processing’s free lunch The accurate recovery of undersampled signals
It’s not really free It’s reduced price You don’t pay for what you don’t need
Nyquist-Shannon sampling We need to sample at twice the bandwidth Expensive to gather and store all this data We end up compressing it anyway
Compressed Sensing Sample your signal in its compressed form Only gather what you need How do we do this?
It’s linear algebra Represent measuring as underdetermined system Sampling matrix * full signal = short measurement
How is this possible to solve? Either 0 or ∞ solutions We know there’s a solution We can get the solution
What is this magic?
There’s a catch Measuring device and signal must be incoherent Signals we measure are structured Randomness is not Random measuring works best
How it’s done in Matlab
Example in Matlab A 1024-point long signal with 32 nonzero coefficients 256 measurements collected Undersampled by a factor 4
The Code A = randn(256,1024); x0 = zeros(1024,1); for i = 0:32; x0(randi(1024,1)) = randn(1); end b = A*x0; xGuess = A\b; xSolved = l1eq_pd(xGuess, A, [], b);
The result
Not just time domain Frequency domain sampling possible Apply basis transform Difficult to do in Matlab
The End Questions?