小白能理解的奈奎斯特采样及延伸出的理论

2023-05-16

一、取样定理

        其实奈奎斯特采样有两种方式,一种是矩形脉冲采样,一种是冲激采样,采样方式如下图。我们在不计算数学公式的情况下来讲解,只是让大家明白是这么回事,具体为什么是这样,是有一堆公式要推导的。

        1.知识准备

        2.矩形脉冲采样

        矩形脉冲采样图解:图上第一排表示在时域上,一个有限带宽的信号(原始信号)X 周期(周期为T)矩形脉冲信号 = 原始信号的离散型。第二排表示将第一排的信号从时域上傅里叶变换到频域上,再进行卷积(时域上的乘积等于频域上卷积)。最后卷积出的信号在频域上就出现了无数个周期性(周期为1/Ts)的、带宽(2ωm)相同、但是幅度不同的原始信号。 

        3.冲激采样

         冲激采样图解:图上第一排表示在时域上,一个有限带宽的信号(原始信号)X 周期(周期为T)冲激信号 = 原始信号的离散型。第二排表示将第一排的信号从时域上傅里叶变换到频域上,再进行卷积(时域上的乘积等于频域上卷积)。最后卷积出的信号在频域上就出现了无数个周期性(周期为1/Ts)的、带宽(2ωm)相同、幅度相同的原始信号。

        3.结论   

        频谱延拓对于一个连续的信号采样,采样后的频谱相当于将采样前的频谱进行延拓,延拓的周期就是采样率

        奈奎斯特采样定律:如冲激取样卷积后的图像图示,要避免频谱出现混叠,频谱不能有重合,必须有ωs ≥ 2ωm(ωm为原始信号的最高频率)。这就得到了经典的奈奎斯特采样定律:要从抽样信号中无失真地恢复原信号,抽样频率应大于2倍信号最高频率。

        在实际应用情况中,并不能实现有效的冲激取样,所以AD、DA设备的采样都是脉冲采样。

二、镜像频谱

        上面我们说到频谱延拓,就我理解而言,无论是镜像频谱还是频谱的对称性,都是频谱延拓延伸出来的性质。我们通过下图来分析一下镜像频谱产生的原因。

        下图3为DDS在300M主频,输出80M频率时的频谱。

        我们上面说过,实际应用中的采样都是脉冲采样,所以可以看出80M信号300M采样率为周期延拓出来,幅度逐渐降低。但是220M、520M、820M又是怎样出现的呢,这里我先给出结论,这些就是原始80M信号的镜像频谱。下面我们来推导一下:s  =  sin(2*pi*ω*t)

原始信号s0  =  sin(2*pi*80*t)(频域上的采样率就表示ω),以300M为周期进行采样T=1/f,

x0[k] = sin( 2*pi*80*(1/300*k) )(k=0、1、2……)(k的意义就是在0T上采一个点、在1T上采一个点、在2T上采一个点……

我们把x0[k]换一种写法x0[k] = sin( 2*pi*(300-220)*(1/300*k) )

                                             = sin( 2*pi*300*(1/300*k) - 2*pi*220*(1/300*k))

                                             = sin( 2*pi*k - 2*pi*220*(1/300*k))

                                             = - sin( 2*pi*220*(1/300*k))

也就是说x0[k] = sin( 2*pi*80*(1/300*k) ) = - sin( 2*pi*220*(1/300*k)),看出来了吗?

再总结一下:假设一个频率是f0(令其小于fs/2),另外一个频率是fs - f0,其中fs是采样频率,则

x[k] = sin(2*pi*(fs-f0) * 1/fs * k )

       = sin(2*pi*k - 2*pi*f0*1/fs*k)

       = -sin(2*pi*f0*1/fs*k)

所以,fs - f0频率的sine波,与f0频率的sine波,在用fs采样率来采样的话,会得到频率相同,幅度大小相同,相位相反的序列,这就是镜像频频谱

我们换个角度来讲:

         理论上由于信号双边谱特性,有80M信号就有镜像的-80M信号,fs=300M,根据频谱拓延,向右平移一个周期,就得到如图标注的样子,在fs内,有一个80M的频谱和原-80M的频谱,-80M的频谱横坐标就是220M。个人理解也是能解释为什么会有镜像频谱。

三、带通采样

为什么要用带通采样定理呢?按理说,奈奎斯特采样定理不是通吃一切吗?话虽如此,奈奎斯特说,只要采样率不小于信号最高频率的2倍,采样后的信号就能能够准确恢复。

可事实上,有很多行不通的地方,并不是说理论行不通,而是器件做不到,对于频带信号(带通信号)而言,例如天线发出的信号以及接收的信号,可以说都是频带信号,因为频带信号便于传输,这些信号的频率随着时代的进步,也越来越大,电磁信号向着GHz甚至数十GHz发展,如果再用奈奎斯特采样定理采样,如此之高的采样率ADC恐怕难以做到吧。

1.带通采样原理

我们来看下图(双边谱图):图1 带通采样原理

 图解:(a)是原始信号频谱,(b)是经过频谱拓延后的频谱。我们上面结论里提到的频谱拓延一个重要的参数就是延拓的周期,也就是采样率fs,记住这点。

        (b)中,在我们不知道fs具体是多少的情况下,也就是fs可以是任意值时,频谱可以随意拓延,但是随意拓延会造成频谱混叠,我们要恢复原始信号就不能有频谱混叠的现象出现,所以有式(3-4)的规定:负频域的频谱频移m次后,不能与原始信号混叠(不与原始信号混叠也就不会与原始信号的频移频谱混叠,你可以画图举个具体的例子自己看一下),那就有-fH + mfs ≥ fH。你的上一次(m-1)频谱频移也不能与原始信号混叠,那就有 -fL + (m-1)fs ≤ fL。整理后得到式(3-5)。

        式(3-6)中 fH/B 计算最多可以向0频处进行多少次频移,因为采用带宽采样为的是降低采样率,越靠近0频,采样率越低(单看正半轴上的频谱就可以,最终要保证采样率落在正半轴上)。

 2.如何确定带通采样后的频谱中心位置,以进行下变频

设采样率fs,信号中心f0,信号带宽上下限fh,fl。有2种情况,

A fs<f0

假设f0= 2.75G, fh=2.5,fl=3,根据上图公1<=m<=6,例如去m=3,得2<=fs<=2.5,取fs = 2G,其带通采样后的频谱如图2所示,可以看到通过对称、周期延拓性质,离零频最近的信号中心为0.75G=f0-fs。因此设置ADC的下变频NCO = 0.75G。

                                                                        图2 fs<f0

B fs>f0 

假设f0= 2.75G, fh=2.5,fl=3,根据上图公1<=m<=6,例如去m=2,得3<=fs<=5,取fs = 3G,其带通采样后的频谱如图3,
可以看到通过对称、周期延拓性质,离零频最近的信号中心为0.25G=fs-f0(不过是镜像频率)。因此设置ADC的下变频NCO = 0.25G。

                                                                图3 fs>f0


总结:带通采样后的信号中心频率F = |fs-f0|。我们应尽在ADC采样范围内尽可能将采样率取高些,且采样率最好是有用信号带宽的整数倍,这样便于抽取滤波。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

小白能理解的奈奎斯特采样及延伸出的理论 的相关文章

  • ubuntu下串口工具的安装与使用

    1 概述 作为一个嵌入式开发人员 xff0c 串口是开发过程中不可或缺的工具之一 xff0c window下有各种各样的串口工具 xff0c 使用起来很方便 xff0c 这里不再做过多陈述 xff0c 这里主要介绍Ubuntu 16 04
  • Ubuntu查看文件大小或文件夹大小

    Ubuntu查看文件大小或文件夹大小 一 查看文件大小 查看文件大小的命令 xff1a ls l filename 会在终端输出 xff1a rw r r 1 root root 2147483648 Mar 5 09 39 filetem
  • 结构体数据对齐

    结构体数据对齐 结构体数据对齐 xff0c 是指结构体内的各个数据对齐 在结构体中的第一个成员的首地址等于整个结构体的变量的首地址 xff0c 而后的成员的地址随着它声明的顺序和实际占用的字节数递增 为了总的结构体大小对齐 xff0c 会在
  • 2016你配得上更好地自己

    传统里我一直觉得过完春节才是一年结束的时候 xff0c 但是现在慢慢习惯阳历的计算 xff0c 2017年1月1日 xff0c 看着空间里面新年祝福和期待 xff0c 突然觉得这才是过年 2016年就这样走了 xff0c 以后我再也回不到2
  • 树莓派镜像备份与恢复文章

    在做完下属步骤以后 xff0c 需要考虑分区表 xff0c 将分区表复制到镜像里 xff0c 否则系统无法启动 xff0c 而且还要回利用gparted dev loop0以及fdisk l dev loop0等命令 xff0c 查看分区类
  • 在树莓派上将现有系统复制到新存储卡(转载 )

    在树莓派上将现有系统复制到新存储卡 xff08 转载 xff09 http www eeboard com bbs thread 39663 1 1 html 最初 xff0c 使用树莓派的时候 xff0c 也许也只是为了新鲜 xff0c
  • 【c/c++】单链表、头指针、头结点、首元节点

    链表中第一个结点的存储位置叫做头指针 xff0c 那么整个链表的存取就必须是从头指针开始进行了 之后的每一个结点 xff0c 其实就是上一个的后继指针指向的位置 这里有个地方要注意 xff0c 就是对头指针概念的理解 xff0c 这个很重要
  • VINS-mono学习总结

    Vins mono是一个后端基于非线性优化的 单目与IMU紧耦合的融合定位算法 整体 xff1a 1 预处理模块 视觉 xff1a 特征点提取与追踪 IMU xff1a 惯性解算与误差状态分析 计算预积分量 2 初始化模块 xff08 旋转
  • Fast-lio个人总结

    Lidar第一帧作为基坐标 1 lidar原始数据预处理默认不提取特征 xff0c 对原始数据间隔式 xff08 间隔3个点 xff09 降采样提取 2 imu初始化 惯性解算 误差分析 状态 协方差预测 3 Lidar与imu时间状态对齐
  • 在rviz中使用键盘控制burger

    启动语句 roslaunch turtlebot3 fake turtlebot3 fake launch 启动rviz 话题通信 roslaunch turtlebot3 teleop turtlebot3 teleop key laun
  • shell脚本中=左右的空格问题

    赋值语句等号两边不能有空格 xff1a i 61 1 或i 61 i 43 1 而字符串比较 xff0c 等号两边必须有空格 if a 61 b 比较时 xff0c if a xxx b 中括号前后一定要加空格否则会报错xxx 61 eq
  • freertos.axf: Error: L6218E: Undefined symbol xTaskGetSchedulerState (referred from delay.o).

    今天移植了一下FreeRTOS xff0c 出现了freertos axf Error L6218E Undefined symbol xTaskGetSchedulerState referred from delay o xff0c 这
  • vnc桌面配置及黑屏问题解决

    一 vnc桌面配置 登入需要远程帐号下修改 vnc xstartup 如配置root远程桌面 vi vnc xstartup 原内容如下 xff1a xff3b x etc vnc xstartup xff3d amp amp exec e
  • 华清嵌入式--入学篇

    当初在学习嵌入式的时候 xff0c 就知道嵌入式门槛高 xff0c 需要的知识比较多 工作了4年多时间 xff0c 确实感觉还是刚入门的感觉 xff0c 焊接 调试 原理图 PCB 模电 数电 c语言 数据结构 单片机 linux等知识比价
  • 20.华清嵌入式--数据结构入门

    从今天开始正式开始学习数据结构与算法 从今天开始正式开始学习数据结构与算法 从上面的框图也可以从整体上把握数据结构的关键知识点 xff0c 不管是简单的顺序表还是栈 xff0c 树等 xff0c 学习的方法都是一样的他们的操作也都是无非都是
  • 35.Linux应用层开发---线程

    一 线程的概念和使用 1 线程的概念 为了进一步减少处理器的空转时间 xff0c 支持多处理器以及减少上下文切换开销 xff0c 进程在演化中出现了另外一个概念线程 它是进程内独立的一条运行路线 xff0c 是内核调度的最小单元 xff0c
  • 36.Linux 应用层开发--进程间通讯

    最近因为项目原因耽误了一些时间 xff0c 导致进程间的通讯一直没有来的及学习及整理 在我们之前学过进程相关的概念和操作 xff0c 还学习了轻量级的进程的线程 xff0c 在我们之后的开发和面试中 xff0c 多线程 xff0c 多进程开
  • 树莓派4 ubuntu22.04LTS整合Intel Realsense深度相机

    树莓派4 ubuntu22 04LTS整合Intel Realsense深度相机 文章目录 树莓派4 ubuntu22 04LTS整合Intel Realsense深度相机前言一 为什么不使用Docker安装或使用官方教程安装 xff1f
  • 串口打印调试信息(干货)

    printf重定向到串口 上代码 xff0c 这里用到的是hal库 xff0c 标准库改以下函数就行 span class token macro property span class token directive keyword in
  • 相电流与线电流有什么区别

    相电流和线电流的区别 xff0c 主要看负载的连接方法 xff0c 如果是星型接法 xff0c 相电流和线电流相同 xff0c 线电压是相电压的开方3倍 如果负载是三角形接法 xff0c 那么 xff0c 线电流是相电流的开方3倍 xff0

随机推荐

  • STM32f103c8t6的定时器配置定时中断

    span class token comment 时间计算公式 span Tout span class token operator 61 span xff08 xff08 arr span class token operator 43
  • 集成学习方法

    概述 集成学习 xff0c 是将几个泛化能力差的模型相结合 xff0c 组成泛化能力强的模型 常见的做法就是分别训练几个模型 xff0c 然后再将多个模型的输出组合 xff0c 形成最终输出 xff0c 也称为模型平均的效果 类似的策略都称
  • (Java)常规技术面试题

    Java基础部分 1 Java 的 一次编写 处处运行 如何实现 xff1f JAVA之所以能实现 一次编译 xff0c 到处运行 xff0c 是因为JAVA在每个系统平台上都有 JAVA虚拟机 xff08 JVM xff09 xff0c
  • ESP8266烧写固件提示等待上电

    环境 供电电压 xff1a span class token number 5 span V 模块 xff1a 正点原子ATK span class token operator span ESP span class token oper
  • 嵌入式面试刷题

    1 表示一年有多少秒 define SECONDS PER YEAR 606024 365 UL 2 写一个标准宏 MIN define MIN A B A lt 61 B A B 3 指针数组 int a 10 优先级高所以是a 10 数
  • ubuntu18配置ftp

    安装ftp 修改文件 sudo gedit etc vsftpd conf span class token comment Example config file etc vsftpd conf span span class token
  • win11切换win10资源管理器

    HKEY LOCAL MACHINE SOFTWARE Microsoft Windows CurrentVersion Shell Extensions 右键 Blocked 选择 新建 字符串值 名称为 e2bf9676 5f8f 43
  • 联想小新pro13笔记本外接显示屏没信号

    step1 关机 step2 拔下电源 step3 安住 fn 43 s 43 v键 xff0c 开机 xff08 开不了机 xff0c 我重复了几次 xff09 step4 插电源开机 xff0c 扩展屏幕正常
  • C51内存类型

    bdata bdata内存类型只能用于声明变量 您不能声明bdata函数 该存储器使用8位地址直接访问 xff0c 是8051的片内位可寻址RAM 用bdata类型声明的变量是位可寻址的 xff0c 可以用位指令读写 code 代码存储器类
  • MQTT问题

    是否存在c gt ping outstanding 61 1 的后一秒就触发TimerIsExpired amp c gt last received span class token keyword int span span class
  • Failed to start apt-news.service Failed to start esm-cache.service

    luozw 64 luozw vpc etc apt apt conf d span class token function sudo span span class token function apt get span update
  • stm中断优先级理解+抢占优先级和相应优先级

    一 抢占优先级比子优先级的优先权更高 xff0c 这意味抢占优先级更高的中断会先执行 xff0c 而不管子优先级的优先权 xff0c 数值越低优先级越高 二 同理 xff0c 如果抢占优先级相同 xff0c 那么就会比较子优先级 xff0c
  • Realsense D435基于ROS跑通ORBSLAM2

    Realsense D435基于ROS跑通ORBSLAM2 系统ubuntu16 04 ROS Kinetic 相机RealsenseD435 SLAM系统 xff1a ORBSLAM2 一 安装Realsense的SDK 官方链接 htt
  • Qt学习:综合案例应用-上(翻金币小游戏)

    本案例是对Qt的基本控件 xff0c 事件处理 xff0c 资源文件的使用等知识的综合应用 以及一些开发思想和逻辑控制 首先了解下案例的文件构成 头文件 xff1a mainwindow h chooselevelscene h plays
  • 在TX2上运行realsenseD435摄像头

    在TX2上运行realsenseD435 先给出相关的链接在TX2上安装realsense SDK库在TX2上安装realsense SDK库 先给出相关的链接 github 上的一些链接 realsense SDK库 xff1a http
  • docker build 后面为什么要跟个 .

    我们在构建镜像文件时无非是使用 xff1a docker build t test ubuntu v1 或者 docker build f docker test Dockerfile 来进行构建镜像 xff0c 用第一个命令时任务 指代的
  • 微机原理中地址总线、数据总线与内存容量之间的关系

    今天在复习微机原理的时候 xff0c 看到一个概念 xff1a 存储总量 61 存储单元个数 存储字长 xff0c 然后存储单元个数 61 2 地址总线位数 xff0c 存储字长和数据总线位数有关 xff0c 如果是这样 xff0c 那么
  • HDLC——高级数据链路控制(HDLC,High-level Data Link Control)

    一 HDLC概述 1 1 HDLC的发展历史 高级数据链路控制 xff08 High Level Data Link Control或简称HDLC xff09 xff0c 是一个在同步网上传输数据 面向比特的数据链路层协议 xff0c 它是
  • 差分技术:LVDS(低压差分信号)、MLVDS(多点低压差分信号)的区别与应用场景

    差分传输是一种信号传输的技术 xff0c 区别于传统的一根信号线一根地线的做法 xff0c 差分传输在这两根线上都传输信号 xff0c 这两个信号的振幅相同 xff0c 相位相反 在这两根线上的传输的信号就是差分信号 信号接收端比较这两个电
  • 小白能理解的奈奎斯特采样及延伸出的理论

    一 取样定理 其实奈奎斯特采样有两种方式 xff0c 一种是矩形脉冲采样 xff0c 一种是冲激采样 xff0c 采样方式如下图 我们在不计算数学公式的情况下来讲解 xff0c 只是让大家明白是这么回事 xff0c 具体为什么是这样 xff