在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

Sample rate 理解的更多相关文章

  1. 关于Simulink的sample time的问题

    在对simulink建模的过程中,有时候会遇到sample time出现错误的问题,比如下图是我在使用simulink自带的Recursive least square Estimator最小二乘估计 ...

  2. 单独编译使用WebRTC的音频处理模块

    块,每块个点,(12*64=768采样)即AEC-PC仅能处理48ms的单声道16kHz延迟的数据,而 - 加载编译好的NS模块动态库 接下来只需要按照 此文 的描述在 android 的JAVA代码 ...

  3. MTP in Android详解

    MTP in Android详解 最近好长一段时间没有做笔记了,今天主要学习一下MTP相关的知识. MTP的全称是Media Transfer Protocol(媒体传输协议),它是微软公司提出的一套 ...

  4. storm 配置,呵呵。

    配置项 配置说明 storm.zookeeper.servers ZooKeeper服务器列表 storm.zookeeper.port ZooKeeper连接端口 storm.local.dir s ...

  5. iOS音频开发之`AudioStreamBasicDescription`

    这个类提供了对于音频文件的描述 An audio stream is a continuous series of data that represents a sound, such as a so ...

  6. FFT的物理意义

    来源:学步园 FFT(Fast Fourier Transform,快速傅立叶变换)是离散傅立叶变换的快速算法,也是我们在数字信号处理技术中经常会提到的一个概念.在大学的理工科课程中,在完成高等数学的 ...

  7. Storm配置项详解【转】

    Storm配置项详解 ——阿里数据平台技术博客:storm配置项详解 什么是Storm? Storm是twitter开源的一套实时数据处理框架,基于该框架你可以通过简单的编程来实现对数据流的实时处理变 ...

  8. 各种音视频编解码学习详解 h264 ,mpeg4 ,aac 等所有音视频格式

    编解码学习笔记(一):基本概念 媒体业务是网络的主要业务之间.尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析.应用开发.释放 license收费等 ...

  9. Storm入门学习随记

    推荐慕课网视频:http://www.imooc.com/video/10055 ====Storm的起源. Storm是开源的.分布式.流式计算系统 什么是分布式呢?就是将一个任务拆解给多个计算机去 ...

随机推荐

  1. 数学概念——G 最大公约数

    G - 数论,最大公约数 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit ...

  2. bzoj3223 Tyvj 1729 文艺平衡树(Splay Tree+区间翻转)

    3223: Tyvj 1729 文艺平衡树 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2202  Solved: 1226[Submit][Sta ...

  3. poj2245

    题目分析: 抽奖 在德国乐透你需要从49个数(1,2,3......49)里面选择6个数,玩德国乐透一个流行的策略-尽管他不会增加你获奖的机会-选择一个子集S包含k(k>6)个数从这49个数字里 ...

  4. Spring 配置中的 default-lazy-init属性

    spring的容器是提供了lazy-load的,即默认的缺省设置是bean没有lazy-load,该属性处于false状态,这样导致spring在启动过程导致在启动时候,会默认加载整个对象实例图,从初 ...

  5. Android注解利器:ButterKnife 的基本使用

    前言 ButterKnife 简介 ButterKnife是一个专注于Android系统的View注入框架,可以减少大量的findViewById以及setOnClickListener代码,可视化一 ...

  6. 总结的一些封装好的javascript函数

    平时总结的一些常用javascript函数封装: //获取样式 function getStyle(obj,name){ if(obj.currentStyle){ return obj.curren ...

  7. HTML5 骨架

    html: <!DOCTYPE html> <html lang="zh-CN"> <head> <title>HTML5 骨架&l ...

  8. 再探LIS

    昨天讲课的时候突然想起来LIS还有一个东西没搞懂. 又去研究了下. LIS问题就是要求一个序列中最长不下降或上升子序列,而此问题应用较广,例如很多题会有这样的条件 对于i,j如果他们可以同时选取,则必 ...

  9. android获取apk签名信息

    因为工作需要,需要获取应用的apk传递给新浪微博或者微信去申请授权 所以需要程序内获取签名上传服务器 做法如下:   public static String getAPPSecretString(A ...

  10. iOS中@class #import #include 简介

    [转载自:http://blog.csdn.net/chengwuli125/article/details/9705315] 一.解析        很多刚开始学习iOS开发的同学可能在看别人的代码 ...