diff options
author | Eugeniy E. Mikhailov <evgmik@gmail.com> | 2021-01-29 16:23:05 -0500 |
---|---|---|
committer | Eugeniy E. Mikhailov <evgmik@gmail.com> | 2021-01-29 16:23:05 -0500 |
commit | 3983eb46023c1edd00617729ba929057fda8d0bd (patch) | |
tree | 816ad084f355000656c43da9160f1c257bbb1ddc /Measurements/At_f.m | |
download | l1magic-1.11.tar.gz l1magic-1.11.zip |
Initial import from https://statweb.stanford.edu/~candes/software/l1magic/v1.11
Additional Clean up of Mac dirs and tex generated files
Diffstat (limited to 'Measurements/At_f.m')
-rw-r--r-- | Measurements/At_f.m | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Measurements/At_f.m b/Measurements/At_f.m new file mode 100644 index 0000000..9addfe3 --- /dev/null +++ b/Measurements/At_f.m @@ -0,0 +1,32 @@ +% At_f.m +% +% Adjoint for "scrambled Fourier" measurements. +% +% Usage: x = At_f(b, N, OMEGA, P) +% +% b - K vector = [real part; imag part] +% +% N - length of output x +% +% OMEGA - K/2 vector denoting which Fourier coefficients to use +% (the real and imag parts of each freq are kept). +% +% P - Permutation to apply to the input vector. Fourier coeffs of +% x(P) are embedded. +% Default = 1:N (no scrambling). +% +% Written by: Justin Romberg, Caltech +% Created: October 2005 +% Email: jrom@acm.caltech.edu +% + + +function x = At_f(b, N, OMEGA, P) + +if (nargin < 4), P = 1:N; end + +K = length(b); +fx = zeros(N,1); +fx(OMEGA) = sqrt(2)*b(1:K/2) + i*sqrt(2)*b(K/2+1:K); +x = zeros(N,1); +x(P) = sqrt(N)*real(ifft(fx)); |