热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

浅谈压缩感知(十二):压缩感知与奈奎斯特采样定理

奈奎斯特采样定理:定理:为了不失真地恢复模拟信号,离散信号系统的采样频率不小于模拟信号频谱中最高频率的2倍。在时域上,频带为F的连续信号f(t)可用一系列离散的采样值f(t1),f(t1+Δt),

奈奎斯特采样定理:

定理:为了不失真地恢复模拟信号,离散信号系统的采样频率不小于模拟信号频谱中最高频率的2倍。

在时域上,频带为F的连续信号f(t)可用一系列离散的采样值f(t1),f(t1+Δt),f(t1+2Δt)…来表示,只要这些采样点的时间间隔Δt <= 1/2F,便可根据各采样值完全恢复原始信号。

在频域上,当时间信号函数f(t)的最高频率分量为fmax时,f(t)的值可由一系列采样间隔小于或等于1/2fmax的采样值来确定,即采样点的重复频率为fs >= 2fmax。

采样定理指出,只要离散系统的奈奎斯特频率高于采样信号的最高频率或带宽,就可以避免混叠现象。从理论上说,即使奈奎斯特频率恰好大于信号带宽,也足以通过信号的采样重建原信号。但是,重建信号的过程需要以一个低通滤波器或者带通滤波器将在奈奎斯特频率之上的高频分量全部滤除,同时还要保证原信号中频率在奈奎斯特频率以下的分量不发生畸变,而这是不可能实现的。在实际应用中,为了保证抗混叠滤波器的性能,接近奈奎斯特频率的分量在采样和信号重建的过程中可能会发生畸变。因此信号带宽通常会略小于奈奎斯特频率,具体的情况要看所使用的滤波器的性能。需要注意的是,奈奎斯特频率必须严格大于信号包含的最高频率。如果信号中包含的最高频率恰好为奈奎斯特频率,那么在这个频率分量上的采样会因为相位模糊而有无穷多种该频率的正弦波对应于离散采样,因此不足以重建为原来的连续时间信号。

压缩感知:

压缩感知:作为一个新的采样理论,通过利用信号的稀疏特性,在远小于Nyquist采样率的条件下,用随机采样获取信号的离散样本,然后通过非线性重建算法完美重建信号。

提出背景:众所周知,在奈奎斯特采样定理为基础的传统数字信号处理框架下,若要从采样得到的离散信号中无失真地恢复模拟信号,采样速率必须至少是信号带宽的两倍。然而,随着当前信息需求量的日益增加,信号带宽越来越宽,在信息获取中对采样速率和处理速度等提出越来越高的要求。最近由D Donoho、E Candbs及华裔科学家T Tao等人提出的压缩感知(Compressive Sensing,CS)理论指出了一条模拟信号"经济地"转化为数字形式的压缩信号的有效途径:利用变换空间描述信号,通过直接采样得到少数有用的线性观测数据(包含信号全局信息的压缩数据),然后解一个优化问题就可以从观测数据中恢复原始信号。

压缩感知与奈奎斯特采样定理:

从采样的角度来看,压缩感知和基于奈奎斯特采样定理的传统信号采集是两种不同形式的信号采集方式。(压缩感知打破了传统信号处理中对于奈奎斯特采样要求的限制)

采样率:在压缩感知理论下,信号的采样率不再取决于信号的带宽,而是取决于信息在信号中的结构与内容(稀疏性)。关于采样率的计算方式,压缩感知是从少量离散测量数据恢复离散数字信号,其计算方式为采样率=测量值的大小/恢复信号的大小;而传统信号采集是从离散采样数据中恢复模拟信号(时序信号),采样率指的是一个采集频率,在我看来,这两者定义的采样率不具有可比性。(但从绝对值来看,压缩感知的采集数据量应该是小于或远小于传统采集)

信号采集方式:传统采样理论是通过均匀采样(极少情况下也采用非均匀采样)获取数据;压缩感知则通过计算信号与一个观测函数之间的内积来获得观测数据(AX=b);

恢复信号形式:传统采样定理关注的对象是无限长的连续信号;压缩感知是有限维观测向量空间的向量(离散信号);

恢复信号方式:传统采样恢复是在Nyquist采样定理的基础上,通过采样数据的sinc函数线性内插获得(在不均匀采样下则是非线性的插值恢复),而压缩感知采用的是利用信号的稀疏性,从线性观测数据中通过求解一个非线性的优化问题来恢复信号的方法。

压缩感知的核心思想:压缩和采样合并进行,并且测量值远小于传统采样方法的数据量,突破香农采样定理的瓶颈,使高分辨率的信号采集成为可能。


推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深度学习理论解析与理解
    梯度方向指示函数值增加的方向,由各轴方向的偏导数综合而成,其模长表示函数值变化的速率。本文详细探讨了导数、偏导数、梯度等概念,并结合Softmax函数、卷积神经网络(CNN)中的卷积计算、权值共享及池化操作进行了深入分析。 ... [详细]
  • C++实现经典排序算法
    本文详细介绍了七种经典的排序算法及其性能分析。每种算法的平均、最坏和最好情况的时间复杂度、辅助空间需求以及稳定性都被列出,帮助读者全面了解这些排序方法的特点。 ... [详细]
  • 本文介绍如何利用动态规划算法解决经典的0-1背包问题。通过具体实例和代码实现,详细解释了在给定容量的背包中选择若干物品以最大化总价值的过程。 ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 题目描述:给定n个半开区间[a, b),要求使用两个互不重叠的记录器,求最多可以记录多少个区间。解决方案采用贪心算法,通过排序和遍历实现最优解。 ... [详细]
  • 深入理解C++中的KMP算法:高效字符串匹配的利器
    本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ... [详细]
  • 探讨一个显示数字的故障计算器,它支持两种操作:将当前数字乘以2或减去1。本文将详细介绍如何用最少的操作次数将初始值X转换为目标值Y。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 机器学习中的相似度度量与模型优化
    本文探讨了机器学习中常见的相似度度量方法,包括余弦相似度、欧氏距离和马氏距离,并详细介绍了如何通过选择合适的模型复杂度和正则化来提高模型的泛化能力。此外,文章还涵盖了模型评估的各种方法和指标,以及不同分类器的工作原理和应用场景。 ... [详细]
  • 自学编程与计算机专业背景者的差异分析
    本文探讨了自学编程者和计算机专业毕业生在技能、知识结构及职业发展上的不同之处,结合实际案例分析两者的优势与劣势。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 深入浅出:Google工程师的算法学习指南
    通过Google工程师的专业视角,带你系统掌握算法的核心概念与实践技巧。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有