• Sample rate 理解


    在Gnuradio中,我们可以看到很多模块中都有Sample rate 这个概念

    然后看到一个说明
    Any processing block's 'Sample Rate' parameter is used for DSP calculation, not for controlling the rate at which samples are produced. This is distinct from a hardware
    (or Throttle) block where it is  used to control sample flow. 

    任何处理模块的采样率参数只是用了为了DSP计算的,并不能控制样本的产生频率。 这与硬件或者阀门模块不同。

    举个例子:

    为了得到一个指定频率的正余弦信号,我们还要知道采样率。因为为了得到一个数学表达式,我们必须要计算每一个时间点的样本的幅度值。

    而真实的样本频率值可以是任意的。很多时候你会再你接下来的流图中使用相同的数值,这样,所有的东西都可以保持一致。运行在相同的采样率之下。

    除了在DSP的计算中,采样频率同样也指样本通过这个流图的速率。

    如果没有速率控制(物理时钟或者阀门机制),样本将会尽快的通过这个流图。(速率由CPU能力决定)

    如果你是想在存储数据上执行一些固定的DSP,这样做是很好的。(例如,读取一个文件,重新采样并回写) 。

    只有一些代表着现实中物理硬件的模块(usrp,sound card)或者阀门模块(Throttle) 可以通过采样频率(sample rate)来设置物理时钟,因此可以用来控制流图中的样本频率。

    1.Throttle

    采用host-based timing 来控制产生的样本的频率。

    2.hardware sink

    以一个固定的频率接收样本

    3.hardware source以一个固定的频率产生样本

    根据节流作用  Throttle block 和 hardware sink block 将会对上游的模块产生反作用,将会限制起上游模块的频率。

    一般来说,在一个流图中只需要有一个block 来控制样本流。

    如果有多个、不同步的信号源时,你要特别小心,因为他们的产生和消耗频率不同,最终可能会失去同步并且造成溢出或欠载。

    为了避免这种情况的产生,我们需要 改变重采样频率来调整时钟偏移。

    allow non-blocking I/O, and/or tweak resampling rates to account for the clock offsets

  • 相关阅读:
    Mac 安装brew的正确姿势
    Jmeter分布式压测及踩坑记录
    Jmeter录制脚本
    mitmproxy使用详解
    Python单元测试框架pytest常用测试报告类型
    基于Java+Spring Boot开源项目JeeSite的Jenkins持续交付介绍
    Maven入门
    Linux Shell 编程基础详解——吐血整理,墙裂推荐!
    使用Jenkins+Blue Ocean 持续构建自动化部署之安卓源码打包、测试、邮件通知
    使用Jenkins+Pipline 持续构建自动化部署之安卓源码打包、测试、邮件通知
  • 原文地址:https://www.cnblogs.com/xiexindut/p/4133485.html
Copyright © 2020-2023  润新知