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
Sample rate 理解的更多相关文章
- 关于Simulink的sample time的问题
在对simulink建模的过程中,有时候会遇到sample time出现错误的问题,比如下图是我在使用simulink自带的Recursive least square Estimator最小二乘估计 ...
- 单独编译使用WebRTC的音频处理模块
块,每块个点,(12*64=768采样)即AEC-PC仅能处理48ms的单声道16kHz延迟的数据,而 - 加载编译好的NS模块动态库 接下来只需要按照 此文 的描述在 android 的JAVA代码 ...
- MTP in Android详解
MTP in Android详解 最近好长一段时间没有做笔记了,今天主要学习一下MTP相关的知识. MTP的全称是Media Transfer Protocol(媒体传输协议),它是微软公司提出的一套 ...
- storm 配置,呵呵。
配置项 配置说明 storm.zookeeper.servers ZooKeeper服务器列表 storm.zookeeper.port ZooKeeper连接端口 storm.local.dir s ...
- iOS音频开发之`AudioStreamBasicDescription`
这个类提供了对于音频文件的描述 An audio stream is a continuous series of data that represents a sound, such as a so ...
- FFT的物理意义
来源:学步园 FFT(Fast Fourier Transform,快速傅立叶变换)是离散傅立叶变换的快速算法,也是我们在数字信号处理技术中经常会提到的一个概念.在大学的理工科课程中,在完成高等数学的 ...
- Storm配置项详解【转】
Storm配置项详解 ——阿里数据平台技术博客:storm配置项详解 什么是Storm? Storm是twitter开源的一套实时数据处理框架,基于该框架你可以通过简单的编程来实现对数据流的实时处理变 ...
- 各种音视频编解码学习详解 h264 ,mpeg4 ,aac 等所有音视频格式
编解码学习笔记(一):基本概念 媒体业务是网络的主要业务之间.尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析.应用开发.释放 license收费等 ...
- Storm入门学习随记
推荐慕课网视频:http://www.imooc.com/video/10055 ====Storm的起源. Storm是开源的.分布式.流式计算系统 什么是分布式呢?就是将一个任务拆解给多个计算机去 ...
随机推荐
- selenium webdriver python 操作IE浏览器
Step1:下载IEDriverServer 下载路径:http://selenium-release.storage.googleapis.com/index.html 我下载的是2.48版本的IE ...
- ReportViewer中设置ServerReport.ReportServerCredentials属性的方法
当使用SSRS技术来布置报表,可能使用MS自带的ReportViewer控件来读取报表. 它分为Web和Windows两种版本;此处Web版. ServerReport.ReportServerCre ...
- 服务器CPU使用率高的原因分析与解决办法
我们的服务器在使用操作系统的时候,用着用着系统就变慢了,打开“ 任务管理器 ”一看,才发现CPU使用率达到80%以上.这是怎么回事情呢?遇到病毒了吗?硬件有问题?还是系统设置有问题呢?在本文中将从硬件 ...
- Struts2学习笔记之s:select标签
貌似Struts2 标签都快忘光了 今天先来一发struts2的select标签: 首先从简到难,静态赋值: 1 <s:select name="user.sex" lis ...
- Linux网络编程echo多线程服务器
echo_server服务器多线程版本 #include <unistd.h> #include <stdlib.h> #include <stdio.h> #in ...
- 如何把textfield或者textview中长按出现的(全选,复制,粘贴)显示成中文
ios在配置文件info.plist 中添加Localiztion native development region (本地化设置) 设置为 china
- Shiro Quartz之Junit測试Session管理
Shiro的quartz主要API上提供了org.apache.shiro.session.mgt.quartz下session管理的两个类:QuartzSessionValidationJob和Qu ...
- Linux在山Windows共享文件夹
$ sudo mount.cifs //windows-ip/shared /media/ -o user=username password=password 该命令挂载Windows在下面sha ...
- [yueqian_scut]蓝牙防丢器原理、实现与Android BLE接口编程
本文是对已实现的蓝牙防丢器项目的总结,阐述蓝牙防丢器的原理.实现与Android客户端的蓝牙BLE接口编程.在这里重点关注如何利用BLE接口来进行工程实现,对于BLE的协议.涉及到JNI的BLE接口内 ...
- C++面试中string类的一种正确写法
C++ 的一个常见面试题是让你实现一个 String 类,限于时间,不可能要求具备 std::string 的功能,但至少要求能正确管理资源.具体来说: 能像 int 类型那样定义变量,并且支持赋值. ...