压缩感知程序
A. 请问压缩感知重构omp算法中的这句代码,a=pinv(D(:,indx(1:j)))*x;广义矩阵和信号的乘积 a是求的什么呢
你对照着这个步骤再看看程序吧~
B. 什么是“压缩感知”
压缩感知(Compressed sensing),也被称为压缩采样(Compressive sampling)或稀疏采样(Sparse sampling),是一种寻找欠定线性系统的稀疏解的技术。
压缩感知被应用于电子工程尤其是信号处理中,用于获取和重构稀疏或可压缩的信号。这个方法用到讯号稀疏的特性,得以从相对较少的测量值还原出原来整个欲得知的讯号。
MRI就是一个可能使用此方法的应用。这一方法至少已经存在了四十年,由于David Donoho、Emmanuel Candès和陶哲轩的工作,最近这个领域有了长足的发展。
C. 压缩感知OMP程序
% 1-D信号压缩传感的实现(正交匹配追踪法Orthogonal Matching Pursuit)
% 测量数M>=K*log(N/K),K是稀疏度,N信号长度,可以近乎完全重构
% 编程人--香港大学电子工程系 沙威 Email: [email protected]
% 编程时间:2008年11月18日
% 文档下载: http://www.eee.hku.hk/~wsha/Freecode/freecode.htm
% 参考文献:Joel A. Tropp and Anna C. Gilbert
% Signal Recovery From Random Measurements Via Orthogonal Matching
% Pursuit,IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 53, NO. 12,
% DECEMBER 2007.
clc;clear
%% 1. 时域测试信号生成
K=7; % 稀疏度(做FFT可以看出来)
N=256; % 信号长度
M=64; % 测量数(M>=K*log(N/K),至少40,但有出错的概率)
f1=50; % 信号频率1
f2=100; % 信号频率2
f3=200; % 信号频率3
f4=400; % 信号频率4
fs=800; % 采样频率
ts=1/fs; % 采样间隔
Ts=1:N; % 采样序列
x=0.3*cos(2*pi*f1*Ts*ts)+0.6*cos(2*pi*f2*Ts*ts)+0.1*cos(2*pi*f3*Ts*ts)+0.9*cos(2*pi*f4*Ts*ts); % 完整信号
%% 2. 时域信号压缩传感
Phi=randn(M,N); % 测量矩阵(高斯分布白噪声)
s=Phi*x.'; % 获得线性测量
%% 3. 正交匹配追踪法重构信号(本质上是L_1范数最优化问题)
m=2*K; % 算法迭代次数(m>=K)
Psi=fft(eye(N,N))/sqrt(N); % 傅里叶正变换矩阵
T=Phi*Psi'; % 恢复矩阵(测量矩阵*正交反变换矩阵)
hat_y=zeros(1,N); % 待重构的谱域(变换域)向量
Aug_t=[]; % 增量矩阵(初始值为空矩阵)
r_n=s; % 残差值
for times=1:m; % 迭代次数(有噪声的情况下,该迭代次数为K)
for col=1:N; % 恢复矩阵的所有列向量
proct(col)=abs(T(:,col)'*r_n); % 恢复矩阵的列向量和残差的投影系数(内积值)
end
[val,pos]=max(proct); % 最大投影系数对应的位置
Aug_t=[Aug_t,T(:,pos)]; % 矩阵扩充
T(:,pos)=zeros(M,1); % 选中的列置零(实质上应该去掉,为了简单我把它置零)
aug_y=(Aug_t'*Aug_t)^(-1)*Aug_t'*s; % 最小二乘,使残差最小
r_n=s-Aug_t*aug_y; % 残差
pos_array(times)=pos; % 纪录最大投影系数的位置
end
hat_y(pos_array)=aug_y; % 重构的谱域向量
hat_x=real(Psi'*hat_y.'); % 做逆傅里叶变换重构得到时域信号
%% 4. 恢复信号和原始信号对比
figure(1);
hold on;
plot(hat_x,'k.-') % 重建信号
plot(x,'r') % 原始信号
legend('Recovery','Original')
norm(hat_x.'-x)/norm(x) % 重构误差
D. 压缩感知究竟是什么原理
压缩感知(compressed sensing)。所谓压缩感知,最核心的概念在于试图从原理上降低对一个信号进行测量的成本。比如说,一个信号包含一千个数据,那么按照传统的信号处理理论,至少需要做一千次测量才能完整的复原这个信号。这就相当于是说,需要有一千个方程才能精确地解出一千个未知数来。但是压缩感知的想法是假定信号具有某种特点(比如文中所描述得在小波域上系数稀疏的特点),那么就可以只做三百次测量就完整地复原这个信号(这就相当于只通过三百个方程解出一千个未知数)。可想而知,这件事情包含了许多重要的数学理论和广泛的应用前景,因此在最近三四年里吸引了大量注意力,得到了非常蓬勃的发展。陶哲轩本身是这个领域的奠基人之一(可以参考《陶哲轩:长大的神童》一文),因此这篇文章的权威性毋庸讳言。另外,这也是比较少见的由一流数学家直接撰写的关于自己前沿工作的普及性文章。需要说明的是,这篇文章是虽然是写给非数学专业的读者,但是也并不好懂,也许具有一些理工科背景会更容易理解一些。
E. 什么是“压缩感知”(压缩传感、compressed/compressive sensing)
压缩感知(Compressive Sensing, or Compressed Sampling,简称CS),是近几年流行起来的一个介于数学和信息科学的新方向,由Candes、Terres Tao等人提出,挑战传统的采样编码技术,即Nyquist采样定理。
压缩感知技术-理论
压缩感知理论为信号采集技术带来了革命性的突破,它采用非自适应线性投影来保持信号的原始结构,以远低于奈奎斯特频率对信号进行采样,通过数值最优化问题准确重构出原始信号。
压缩感知技术-概念特征
压缩感知从字面上看起来,好像是数据压缩的意思,而实则出于完全不同的考虑。经典的数据压缩技术,无论是音频压缩(例如 mp3),图像压缩(例如 jpeg),视频压缩(mpeg),还是一般的编码压缩(zip),都是从数据本身的特性出发,寻找并剔除数据中隐含的冗余度,从而达到压缩的目的。这样的压缩有两个特点:第一、它是发生在数据已经被完整采集到之后;第二、它本身需要复杂的算法来完成。相较而言,解码过程反而一般来说在计算上比较简单,以音频压缩为例,压制一个 mp3 文件的计算量远大于播放(即解压缩)一个 mp3 文件的计算量。 稍加思量就会发现,这种压缩和解压缩的不对称性正好同人们的需求是相反的。在大多数情况下,采集并处理数据的设备,往往是廉价、省电、计算能力较低的便携设备,例如傻瓜相机、或者录音笔、或者遥控监视器等等。而负责处理(即解压缩)信息的过程却反而往往在大型计算机上进行,它有更高的计算能力,也常常没有便携和省电的要求。也就是说,人们是在用廉价节能的设备来处理复杂的计算任务,而用大型高效的设备处理相对简单的计算任务。这一矛盾在某些情况下甚至会更为尖锐,例如在野外作业或者军事作业的场合,采集数据的设备往往曝露在自然环境之中,随时可能失去能源供给或者甚至部分丧失性能,在这种情况下,传统的数据采集-压缩-传输-解压缩的模式就基本上失效了。 压缩感知的概念就是为了解决这样的矛盾而产生的。既然采集数据之后反正要压缩掉其中的冗余度,而这个压缩过程又相对来说比较困难,那么我们为什么不直接“采集”压缩后的数据?这样采集的任务要轻得多,而且还省去了压缩的麻烦。这就是所谓的“压缩感知”,也就是说,直接感知压缩了的信息。
压缩感知技术-应用影响
在大量的实际问题中,人们倾向于尽量少地采集数据,或者由于客观条件所限不得不采集不完整的数据。如果这些数据和人们所希望重建的信息之间有某种全局性的变换关系,并且人们预先知道那些信息满足某种稀疏性条件,就总可以试着用类似的方式从比较少的数据中还原出比较多的信号来。到今天为止,这样的研究已经拓展地非常广泛了。 但是同样需要说明的是,这样的做法在不同的应用领域里并不总能满足上面所描述的两个条件。有的时候,第一个条件(也就是说测量到的数据包含信号的全局信息)无法得到满足,例如最传统的摄影问题,每个感光元件所感知到的都只是一小块图像而不是什么全局信息,这是由照相机的物理性质决定的。为了解决这个问题,美国Rice大学的一部分科学家正在试图开发一种新的摄影装置(被称为“单像素照相机”),争取用尽量少的感光元件实现尽量高分辨率的摄影。有的时候,第二个条件(也就是说有数学方法保证能够从不完整的数据中还原出信号)无法得到满足。这种时候,实践就走在了理论前面。人们已经可以在算法上实现很多数据重建的过程,但是相应的理论分析却成为了留在数学家面前的课题。 但是无论如何,压缩感知所代表的基本思路:从尽量少的数据中提取尽量多的信息,毫无疑问是一种有着极大理论和应用前景的想法。它是传统信息论的一个延伸,但是又超越了传统的压缩理论,成为了一门崭新的子分支。它从诞生之日起到现在不过五年时间,其影响却已经席卷了大半个应用科学。
复制的。。。。。
F. 压缩感知过时了吗
没有过时,依然是主流畅谈的话题,使用度依旧广泛。
压缩感知的核心点在于,其不遵从奈奎斯特采样定理。而这原因在于,压缩感知的采样是随机的,不等间距的,故不用管奈奎斯特。不过压缩感知也是有要求的,它需要保证信号是稀疏的。
一旦信号不稀疏,进行违背奈奎斯特的随机非等间距采样时,频域上的交叠会导致难以恢复原始信号。在压缩感知过程中,如果将采样频率降低,使得其很小,那么采样的时域间隔就会相对很大,加上一定方式的随机采样,此时采样得到的数据量就会很小,从而实现了一种压缩。
压缩感知与传统的采样+压缩的模式不同的是,它首先不遵从奈奎斯特采样定理,其次,它并没有分为采样和压缩,应该说,压缩感知的采样就是压缩。采样之后将采样的数据直接传输,之后在接收端便可以通过适当的重构算法进行重构。
G. 压缩感知理论基本介绍
姓名:王鑫磊
学号:21011110262
学院:通信工程学院
【嵌牛导读】压缩感知是信号处理领域进入21世纪以来取得的最耀眼的成果之一,并在磁共振成像、图像处理等领域取得了有效应用。压缩感知理论在其复杂的数学表述背后蕴含着非常精妙的思想。基于一个有想象力的思路,辅以严格的数学证明,压缩感知实现了神奇的效果,突破了信号处理领域的金科玉律——奈奎斯特采样定律。即,在信号采样的过程中,用很少的采样点,实现了和全采样一样的效果。
【嵌牛鼻子】压缩感知,欠采样,稀疏恢复
【嵌牛提问】压缩感知相比奈奎斯特采样定律的主要突破是什么?
【嵌牛正文】
1.CS的初步理解
CS是一个针对信号采样的技术,是在采样过程中完成数据压缩的过程。我们知道在对模拟信号按一定采样频率进行采样并得到数字信号的过程中,要想完整保留原始信号中的信息,采样频率必须大于信号中最高频率的2倍(奈奎斯特采样定理)。但Candes等人又提出了,如果信号在频域是稀疏的,那么它可以由远低于采样定理要求的采样点重建恢复。Nyquist定理中的采样为等间距采样,若采样频率低必然会引起混叠,如果不等间距采样呢?如果是随机采样呢?随机采样必然会发生频谱泄露,但泄露会均匀分布在整个频域且泄露值都较小,而最大的几个峰值可以通过设置阈值检测出来,从而有了恢复出原始信号的可能。
图1展示了一原始的模拟信号在频域是稀疏的,仅由三个频率分量组成,为了得到数字信号,首先要在时域对其进行采样,根据压缩感知理论,可以在时域进行随机亚采样,之后得到的频谱会产生如图所示的泄露,但可以通过阈值检测求出原始信号的真实频率分量,从而恢复出原始信号。
2. CS的数学模型
CS有两个前提条件:
假设:x是长度为N的原信号,稀疏度为k,它是未知的;Φ为测量矩阵,对应采样过程,也就是压缩的过程,如随机采样,是已知的;采样后的结果为:y=Φx,也是已知的;因此压缩感知问题是:在已知测量值y和测量矩阵Φ的基础上,求解原信号x的过程。然而一般信号x本身并不稀疏,需要在某种稀疏基上进行稀疏表示,即x=Ψs, 其中s为稀疏向量,即为所求的稀疏信号;Ψ为稀疏基矩阵,也叫稀疏变换矩阵,如傅里叶变换。
于是最终问题表示为:
y = ΦΨs = Θs (1)
已知y,Φ,Ψ,求s, Θ称为感知矩阵。感知矩阵需要满足约束等距原则(RIP),因此需要测量矩阵Φ和稀疏基Ψ满足不相关,即采样过程与稀疏过程不相关。Candes等人又找到了独立同分布的高斯随机测量矩阵可以称为普适的压缩感知测量矩阵,于是满足高斯分布的随机测量矩阵就成了CS最常用的观测矩阵。
3. CS的常用方法
已知(1)方程有无数解,因此需要通过增加约束来得到唯一解。方程是稀疏的,因此我们需要找到这个方程里所有解中最稀疏的内个就行了。
求解上述方程一般有三种思路:凸优化算法,贪婪算法,贝叶斯理论。CS常用算法有:
基追踪重构算法 (Basis Pursuit, BP):BP算法是一种凸优化方法。
正交匹配追踪算法 (OMP):OMP属于贪婪算法。
阈值迭代算法 : 包括软阈值迭代(ISTA)和迭代硬阈值(IHT)。ISTA的一种改进方法为快速阈值迭代(FISTA)。
【嵌牛参考】
[1]. Dandes, E. J. . “Near-optimal signal recovery from random projections.” Universal encoding strategies IEEE Transactions on Information Theory 52(2006).
[2]. Donoho, D. L. . “Compressed sensing.” IEEE Transactions on Information Theory 52.4(2006):1289-1306.
H. 急求!分布式压缩感知 的程序: DCS SOMP matlab程序 Simultaneous Orthogonal Matching Pursuit (SOMP)
赶快杀毒,不然电脑报废!