GNU Radio (二) 2FSK 信号 发送 pluto

 

一、官方 demo 

Simulation example: FSK - GNU Radio

2FSK  GNU Radio 调制方式

 

image

 

这里 大概 流程 中文解释 :

 

1、 Random Source : 产生 1024个 随机数 ,单位是 字节  

2、Unpack K Bits:将 字节 转换成  bit ,  1024*8 = 8192 个 bit

3、Repeat: 重复模块, 将  8192个 bit  重复 1056次 , 重复次数 =  采样率 / 符号速率 ;

4、Throttle: 流量  控制输出,  按照  采样率 的 速度输出;

5、Uchar to Float ,  字面意思 , bit 转换成 浮点类型 , 比如 0 转换为  0.00000,  1 转换为  1.00000

6、Virtual Sink :  意思 就是 虚拟水池, 类似  Linux 中 的 管道, 就是传输数据 用的 ;数据输入端口;

7、Virtual Sink: 虚拟水池,  数据输出端口 , 与 Virtual Sink 成对 使用;

8、Multiply Const:输出 = 输入 * 常量 ;  可以 用来改变 幅度;

9、Add Const:  输出[m] = 输入[m] + 常量向量, 可以用来改变相位 ;

10、VCO :压控振荡器。根据输入的幅度产生频率的正弦曲线 ;

11、 调制信号 输出到 一个  Virtual Sink 模块里;

 

Repeat 模块的参数说明 :采样率 , 符号速率;

他们之间的关系是  :  重复次数=  采样率/ 符号速率;

image

 例子中的 采样率 是 48000 , 重复次数 是 48000*0.022  = 1056;   则 符号速率 是 45.454545454545;

image

 

Multiply Const 的参数说明 :参数是一个 变量 ID   是  inp_amp  = ((center+(fsk_deviation/2))/vco_max)-vco_offset;

 

Add Const 的参数说明 :参数 是一个 ID vco_offset = (center-(fsk_deviation/2))/vco_max

 

VCO 的参数说明 :

Sample Rate  采样率 
sampling rate (Hz)
Sensitivity  敏感性
units are radians/sec/(input unit)  单位为弧度/秒/(输入单位)
Amplitude  波幅
output amplitude 输出幅度

 

image

 

 

这三个模块 对 bit 脉冲信号(8192 个 随机 0101010 bit )调制成   2FSK  信号输出;

这三个  模块的 参数 对波形的 影响 , 是怎么影响 频率的 , 怎么影响 相位的;  还没有搞清楚!

 

 

下面内容 来自, 《软件无线电 技术基础》 陈祝明

 

image

 

 

 

image

 

询问 deepseek ;

 

GNU Radio 的 VCO 模块本质上通过数字相位累加实现频率控制,与 NCO 的核心逻辑一致(区别在于 NCO 的频率控制字通常是固定的,而 VCO 的 “频率控制字” 由输入信号实时动态调整)。具体步骤如下:

 

posted on 2025-11-07 13:57  所长  阅读(154)  评论(0)    收藏  举报

导航