【GNURadio实验报告】实验3

【实验报告】实验3-关于GNU Radio和的采样率问题三、的采样率问题
本文在写作过程中 , 得到了开源SDR实验室大佬们的悉心指导 , 并参考借鉴了等文章内容 , 在这里向你们的无私帮助表示衷心感谢!
博主本人非通信专业出身 , 本文仅为个人在学习GNU Radio和过程中记录的知识点笔记 , 文中难免会出现错误和疏漏 , 恳请走过路过的大佬不吝赐教斧正 。
期待能够为GNU Radio中文社区增添一份贡献!
【核心结论】
一、软件信号仿真和硬件处理信号 , 采样率的作用不同
软件信号仿真:数字信号转数字信号 , 没有A/D过程 , 接收机(例如【QT GUISink】示波器、【Audio Sink】播放器)所谓的“采样” , 实际是调节数据流的流速 , 传进来多少数据点就照单全收多少点 , 只不过处理的速度有变 , 故将成比例改变原始信号的频率 。
硬件处理信号:采样是将连续的模拟信号转化为离散的数字信号 , 采样率的不同 , 决定的是数字信号与原始模拟信号的相似度 , 即信号丢失得多少(声音失真) , 而不会改变原始信息(语速变快、音调变高等;在满足奈奎斯特采样定理的情况下) 。
二、使用发射信号时 , 采样率应控制在[,18MHz]之间 , 否则将导致信号失真
尽管最大采样率为20MHz(AD采样率) , 但发射数字信号时 , 采样率若超过18MHz或小于 , 实际发射信号的码元宽度将于待发射信号不相符;发射模拟信号时 , 音频流速将出现异常 。
一、采样率的定义
引用知乎百科:采样频率 , 也称为采样速度或者采样率 , 定义了每秒从连续信号中提取并组成离散信号的采样个数 , 用赫兹(Hz)来表示 。
我们使用麦克风录音时 , 声音的信号是连续的 。
声音进入麦克风后 , 计算机每隔一段时间采集一次当前时间点的声音样本(如下图所示) , 将连续的模拟信号转化为离散的数据流 , 这一过程即采样 , 再经量化等步骤后 , 生成波形文件/样本文件 。
采样频率描述了计算机采集声音样本的速率 , 也即每秒采集多少个声音样本 。从上图中我们可以看出 , 采样频率越高 , 即采样的间隔时间越短 , 声音波形的表示也越准确 , 占用的存储空间也越来越大;采样频率越低 , 也就相对越来越失真 。采样率再低也不宜低于信号中最高频率fmax的2倍 , 否则声音将会发生混叠 , 这个极限值被称为奈奎斯特频率 。通常在实际应用中保证采样频率为信号最高频率的2.56~4倍 。
二、GNU Radio的采样率问题
GNU Radio常用的信号源大致可以分为4种:
【 】≈常规信号生成器 , 可生成锯齿波、正弦波、方波等常用信号 。
【 】≈数据流模块 , 例如下图中该模块将持续输出01001 。
【Wav File 】≈波形文件播放器 , 从.wav波形文件中读取信息形成数据流输出 。
【Audio 】≈麦克风 , 直接从硬件麦克风读取用户输入的声音 。
(一)【Audio 】的采样率含义
(最好讲的放在一开始来说……)
【Audio 】对应于连接到计算机上的麦克风 , 是对输入音频设备的一种抽象 。
当我们对着麦克风说话时 , 我们喉咙发出的声音是1种模拟信号 , 它的波形连续的 。【Audio 】的采样率 Rate , 表示计算机要以多大的时间间隔对我们的声音进行采样 , 即1秒钟采集多少个点 。下图所示的48kHz , 即1秒采集48k个点 。这个值设置得太低 , 采集到的声音就会失真;越高 , 音质就越好 , 但是生成的文件也就越大 。