压缩感知 热身实验 OMP算法Python实现(详细代码注释)

本文介绍了使用Python实现一维图信号重建的压缩感知OMP算法,详细解读了实验过程及结果。
摘要由CSDN通过智能技术生成

压缩感知实验-OMP算法Python实现

一维图信号重建

# -*- coding: utf-8 -*-
"""
Created on Wed Sep 23 21:46:43 2020

@author: chen
"""
import numpy as np

def Omp(y,A,K):
    cols=A.shape[1]#传感矩阵A的列数 800
    res=y #初始化残差r0 值为y
    indexs=[]#用来保存索引的数组
    A_c=A.copy()#传感矩阵A的拷贝
    
    
    #进行K次迭代
    for i in range(0,K):
        products=[]#用来保存每次迭代产生的内积
        #对于传感矩阵A中每一列进行计算
        for col in range(cols):
            #传感矩阵A第col列与残差的内积    (32,).T*初始残差y(32,)
            products.append(np.dot(A[:,col].T,res))#获得一个内积 放入products数组
        
        
        #一轮迭代products中有800个值
        index=np.argmax(np.abs(products)) # 每列计算完成后 在products找最大内积并返回列索引值    
        
        indexs.append(index)#将最大列索引值加入索引数组indexs[]
        #使用索引集在传感矩阵中获得子集
        inv=
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值