From 363145afe722b948e9aa9e61d14e34d33e225cb5 Mon Sep 17 00:00:00 2001 From: Ksyer <> Date: Tue, 16 Jul 2024 15:41:44 +0800 Subject: [PATCH] Add example (From lyh) --- .../捷变频相变/FAR_block_sparsity_phase1.m | 48 +++++++++++++++++++ .../捷变频相变/FAR_sparsity_phase.m | 47 ++++++++++++++++++ 0 - example/lyh - 相变/捷变频相变/theoretic.m | 7 +++ .../lyh - 相变/高斯相变/gauss_phase_real.m | 27 +++++++++++ 4 files changed, 129 insertions(+) create mode 100644 0 - example/lyh - 相变/捷变频相变/FAR_block_sparsity_phase1.m create mode 100644 0 - example/lyh - 相变/捷变频相变/FAR_sparsity_phase.m create mode 100644 0 - example/lyh - 相变/捷变频相变/theoretic.m create mode 100644 0 - example/lyh - 相变/高斯相变/gauss_phase_real.m diff --git a/0 - example/lyh - 相变/捷变频相变/FAR_block_sparsity_phase1.m b/0 - example/lyh - 相变/捷变频相变/FAR_block_sparsity_phase1.m new file mode 100644 index 0000000..385b12f --- /dev/null +++ b/0 - example/lyh - 相变/捷变频相变/FAR_block_sparsity_phase1.m @@ -0,0 +1,48 @@ +close all; +clear all; +clc; +M = 4; +N = 128; +%block_sparsity = 1; +tol = 1e-5; +trial = 20; +epi = 0.02; +result = zeros(N,25); +for col = 4:N + for block_sparsity = 10:18 + success_count = 0; + for loop = 1:trial + FAR_model = zeros(N,M*N); + %Cn = randperm(M)-1 + for n = 0 : N-1 + Cn = floor(rand()*M); + for q = 0 : N-1 + for p = 0:M-1 + FAR_model(n+1,q*M+p+1) = exp(1i*2*pi*p/M*Cn+1i*2*pi*q/N*n*(1+Cn*epi)); + end + end + end + col_choose = randperm(N,col); + FAR_model = FAR_model(col_choose,:); + sparse_signal = zeros(M,N); + block = randperm(N,block_sparsity); + sparse_signal(:,block) = exp(1i*2*pi*rand(M,block_sparsity)); + y = FAR_model * sparse_signal(:); + cvx_begin + variable x(M,N) complex + norm21 = 0; + for i = 1:N + norm21 = norm21 + norm(x(:,i)); + end + minimize(norm21) + subject to + FAR_model * x(:) == y + cvx_end + if norm(x(:)-sparse_signal(:))