博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
gnuradio中接收端的信道滤波
阅读量:7023 次
发布时间:2019-06-28

本文共 1346 字,大约阅读时间需要 4 分钟。

在benchmark_rx中在接收端使用了FFT低通滤波器来得到感兴趣的频段,以滤除带外噪声,然而机器运行benchmark_rx时总是出现“段错误”,究其原因就是使用了信道滤波,当把信道滤波去掉之后运行起来就没有什么问题了。然而滤除带外噪声也是有必要的,所以对信道滤波部分进行了研究。

在软件无线电中,信道滤波实际就是低通滤波器,在benchmark_rx中是这样使用的:在filter.firdes.low_pass()中设定了滤波器的抽头系数,然后使用fft_filter()实现滤波器。在gnuradio-companion中按照benchmark中的方式进行了试验,同样也会出现不能运行的情况。

换一种思路,直接设计低通滤波器low_pass_filter,并使用相同的参数,实验结果比较理想,与benchmark的效果相差无几:

最后说一下带宽的确定。

先补充几个概念:

信息速率:Rb,单位时间内传输的二进制比特数。单位是比特率,用bit/s表示。

符号率:Rs,单位时间内传输的调制符号数。用symbol/s表示。
信息速率和符号率的单位不同,但在二进制中它们的数值相同。在M 进制调制中,信息速率Rb 和符号率Rs 之间关系为:
Rb = Rs log2M

在gnuradio中还涉及到一个sample rate,采样点速率,以升余弦脉冲成型为例,表示的就是脉冲波形采样点的速率。与符号速率的关系由samples per symbol决定。

奈奎斯特准则:数字波形在无噪声线性信道上传输时的无失真条件。其中奈奎斯特第一准则是抽样点无失真准则,或无码间串扰准则,是关于接收机不产生码间串扰的接受脉冲形状问题。对于基带信号,要达到无码间串扰,系统传输函数H(f)是单边带宽为1/2T的矩形函数,其时域波形为h(t0=sinc(t/T)。
理想奈奎斯特滤波系统的传输函数形状为矩形,其脉冲响应为无限长,显然在物理上是无法实现的,只能近似。奈奎斯特滤波器的频率传输函数可以表示为矩形函数和任意一个实偶对称函数的卷积。奈奎斯特脉冲可以表示为sin(t/T)函数与另一个时间函数的乘积,其中,常用的是升余弦成形滤波器。
滚降系数:实际带宽-理想带宽/理想带宽=滚降系数,α的范围为0.15~0.5。也称滚降因子,由于理想的滤波器具有矩形响应曲线,而实际上是达不到的,因此利用滚降因子在通带和阻带之间产生一个过渡带,滚降因子决定该过渡带的垂直程度,或者说与矩形响应的近似程度。

在无码间串扰条件下,所需带宽W与码间传输速率Rs的关系为:

W = (1+α)Rs/2   α为滚降系数。
当α=0时,就是理想奈奎斯特滤波器,此时的传输带宽是理想奈奎斯特滤波器的最小带宽。
当α>0时,Rs<=2W。
对于带通调制信号,例如幅移键控ASK、频移键控 PSK 和正交幅度调制 QAM,需要的传输带宽是相应基带信号的2倍,那么所需的双边带带宽BW 和码元传输速率Rs的关系为:
W = (1+α)Rs

实验所使用的调制方式为QPSK,sample rate设置为100k,sps设置为2,滚降因子设置为0.35,所以所需带宽为(1+0.35)*50e3/2=33.75kHz,在实际中可略大于计算值。

你可能感兴趣的文章
关于厦门宽带用户升级了FTTH光纤入户,从别的地方拿来的ITV机顶盒没有办法使用的解决办法...
查看>>
Head First 设计模式笔记:(一)策略模式
查看>>
学习活动图的制作
查看>>
HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面...
查看>>
Oracle 跟踪SQL 查询 及清除 v$SqlArea
查看>>
(经典)tcp粘包分析
查看>>
生产线工序基础知识
查看>>
iOS设备通知中心精品推荐消息删除
查看>>
无限分类(3种不同方案)
查看>>
EXCEL多列名称组合成一列名称
查看>>
Step download timeout (120 sec)
查看>>
日历工具类(一)——公历农历互相转换
查看>>
asp.net excel 操作
查看>>
Xianfeng轻量级Java中间件平台:流水号管理、组织机构管理
查看>>
基于RESTful标准的Web Api
查看>>
这样就算会了PHP么?-9
查看>>
ANT下载和配置
查看>>
ubuntu 步步为营之uclinux编译和移植(完整版)
查看>>
【踩坑经历】一次Asp.NET小网站部署踩坑和解决经历
查看>>
Lintcode: Partition Array
查看>>