压缩感知之稀疏基

  这个应该是一个收集向的。。。我会将我遇到的各种稀疏基的写法记录下来,搬运的,自己写的,各种途径收集到的,会很久吧。

1 傅里叶稀疏基

fft( eye(N) )  / sqrt(N);

2 余弦稀疏基

%% matlab 自带函数
dctmtx(N);

%% 展开写为:
[cc,rr] = meshgrid(0:n-1);
c = sqrt(2 / n) * cos(pi * (2*cc + 1) .* rr / (2 * n));
c(1,:) = c(1,:) / sqrt(2);
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
压缩感知稀疏的MATLAB代码可以使用MATLAB中的DFT或DCT变换矩阵来实现。首先,根据需要使用DFT或DCT变换矩阵生成稀疏。使用MATLAB中的dftmtx函数可以生成离散傅里叶变换矩阵,使用dctmtx函数可以生成离散余弦变换矩阵。然后,利用生成的变换矩阵,使用稀疏性算法对信号进行压缩感知重建。 下面是一个使用DFT变换矩阵实现压缩感知稀疏的MATLAB代码示例: ``` N = 256; % 稀疏的维度 M = 100; % 采样的样本数 K = 20; % 稀疏信号的非零系数个数 % 生成离散傅里叶变换矩阵 DFT_matrix = dftmtx(N)/sqrt(N); % 生成稀疏信号 x_sparse = zeros(N,1); nonzero_indices = randsample(N, K); x_sparse(nonzero_indices) = randn(K, 1); % 采样 y = DFT_matrix * x_sparse; % 压缩感知重建 cvx_begin variable x_recon(N) minimize(norm(x_recon, 1)) subject to DFT_matrix * x_recon == y cvx_end ``` 在上面的代码中,我们首先生成了一个大小为N×N的离散傅里叶变换矩阵。然后,我们生成了一个稀疏信号x_sparse,其中只有K个非零系数。接下来,我们通过将稀疏信号与离散傅里叶变换矩阵相乘得到采样结果y。最后,我们使用压缩感知的重建算法,通过最小化L1范数对x_recon进行重建,并约束重建信号与采样结果y之间的关系。 类似地,可以使用dctmtx函数生成离散余弦变换矩阵,并将其用于压缩感知稀疏实现。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [压缩感知常见稀疏matlab实现代码](https://blog.csdn.net/summer15407901/article/details/104444433)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [压缩感知算法的MATLAB代码](https://download.csdn.net/download/chichuhe/10178398)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值