【gnuradio 仿真音频数据ASK调制和解调】

无噪声

音频数据处理

由于ask是数字调制,音频数据为模拟信号,如图:
在这里插入图片描述

在这里插入图片描述
首先要对模拟信号进行处理,转变成数字信号,这里使用了unpack k bit模块。

Float to Char模块Scale参数要设置为100,这是因为Float转为Char会忽略小数部分,造成失真,设为100可以保留两位小数,也可设置更大,但对于char类型没有太大意义。unpack k bit 用于将8位字节拆成bit,repeat用于控制传输速率。完成后会变成以下波形。
在这里插入图片描述
此时已经是数字信号,下一步进行ask调制

2ask调制

2ask调制信号有两种生成方式:相乘法和键控法,这里使用相乘法。
使用signal source 产生频率为100khz的余弦波,振幅为1。
在这里插入图片描述
基带信号和调制信号对比:
在这里插入图片描述

2ask信号的解调

这里使用了RMS模块、threashold模块来组成包络检波,将调制信号中的数字信号还原出来。思路是先用rms计算平均功率,再用threshold进行判决。
在这里插入图片描述
可以看出当alpha调成0.9时效果是比较好的,由于这里没有噪声干扰,alpha参数可以设置的很大。
在这里插入图片描述
然后使用threshold模块进行判决,threshold模块的判决参数设置为0.1,这里设为0.1的原因是因为上图中,经过rms计算后,调制信号部分整体上移约0.2,这里设为0.1,把高于0.1的判决为1,低于0.1的判决为0,这样就可以检波出原始信号了。
在这里插入图片描述
如图所示,原始信号和解调信号一模一样。
在这里插入图片描述

对音频数据进行复原

由于我们的音频数据是处理过的,因此要进行复原,kepp 1 in N的参数要设置为100,因为刚刚repeat中参数设置的为100,每个bit重复了100次。然后使用pack k bit模块,这个模块和unpack k bit是对应的。
在这里插入图片描述
通过对比原始音频波形,和解调后波形,会发现是完全一致的,这是由于理想环境没有噪声。
但是还是会有一些杂音,这是因为音频数据float to char时损失了一部分数据, 改进的方式就是换成float to int,然后参数设为1000,这样几乎完全没有失真了。
在这里插入图片描述

加入噪声

使用noise source模块加入噪声。
在这里插入图片描述

噪声幅度为0.3时

在这里插入图片描述需要将alpha设为0.12,threshold判决门限设为0.52时效果是比较好的,如下图所示。
分别是,原始音频波形和解调后音频波形比较、数字信号波形和rms计算后波形、数字波形和threshold模块判决后波形。
可以改进的地方是加入带通滤波器,滤波后再进行rms计算效果会更好。
在这里插入图片描述

完整GRC图

在这里插入图片描述

  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值