SDR架构 (二) 为什么很多SDR频谱中间有尖峰?

相信大家第一次打开gnuradio看听广播、看频谱的时候,会注意到一个奇怪的现象,明明在频谱中间不该有信号,但是实际看到了一个尖峰。这个尖峰不含带任何信息,并且不管调节到哪个中心频率,这个尖峰都会存在。

这种情况出现在HackRF、LimeSDR上。据说也会出现在E4000版本的RTL-SDR上。

但不会出现在r820t2版本的RTL-SDR上。

首先,这不是板子的缺陷,而是跟硬件架构有关。

就像刚刚说到的SDR架构分几种,会出现这种情况的是零中频架构。也就是实际上没有中频只有基带。而r820t2版本的RTL-SDR(由于另一个版本很少见,后面我都简称为常见RTL-SDR)是有中频的。

我点测过常见RTL-SDR的中频信号。

当时我把发射机在435MHz附近左右扫频。然后把RTL-SDR的中心频率也设置在435MHz附近。就能在中频走线上测出一个在427kHz~3.15MHz范围内变化的扫频信号。说明这就是rtlsdr的中频范围。rtlsdr只会针对这一段信号采样,而不会采样最左侧0Hz的信号。即使0Hz处是存在尖峰的,但也会被滤波器过滤,你在最终的频谱上看不到这个尖峰。

这就是为啥类似常见RTL-SDR的这种低中频架构,在频谱上不会有尖峰的原因。

想象一下零中频架构的SDR,如果把射频信号直接变频到基带,也就是0Hz附近。那么0Hz附近的信号就不能用滤波器过滤,只能保留到最终显示的频谱上来。这就是为啥你会看到这个尖峰。

在rtlsdr的书里也有介绍。它用两个版本rtlsdr都跑了一个扫频的程序,用来显示完整的无线电频谱。如果用常见版本扫频,最终拼接出来的看到的是我们熟悉的频谱。

但如果用E4000版本,就会用好多个带dc offset尖峰的频谱拼接。

不但SDR会这样,如果用示波器打开FFT功能,你会发现在最左侧0Hz附近也会有尖峰(示波器FFT默认频谱左右对称,不显示0Hz以下的部分)。

此时如果打开测量功能可测出,我们发的正弦波平均值是10mV左右。

我们可以调节任意波形发生器,让它带有-10mV的偏置。

此时你会发现0Hz上的尖峰大幅减小了,从-24dBm降低为-39dBm。

示波器由于是直采,它是实现SDR的最理想架构。但是也会有这个dc offset。

所以说dc偏置是无法避免的。只是在低中频架构中你看不到,而零中频架构中你可以看到。

解决的方法一个是可以像我刚刚调节示波器一样,把偏置拉低。在一些高端SDR,比如LimeSDR中会有供你配置的寄存器。

或者你也可以在采样后的数字信号中,自己实现一个数字中频,然后用数字滤波器把你要的信号与dc offset区分开。在HackRF中文教程的FM广播接收那一集中Michael Ossmann就是这么做的。先把中心频率故意设置在偏离目标信号的频点上,然后用cosine函数,把目标信号下变频到0Hz,而把原本的0Hz变到滤波器带宽以外。即可解决这个问题。

现在知道了零中频接收机有这个dc offset的是正常现象。但为什么我们还要用零中频接收机,不用其它架构呢?另外一本书里有详细解释。

第1.4节说道:

以前一直在用超外差架构,这种架构性能很好,但结构复杂,需要很多不同组件,每个组件有最小体积限制,这样整体就不能做得很小。而且由于主要是硬件实现,灵活度也不如软件。

比较上两张图,就能看出零中频比超外差需要的组件少了好多了。在上一篇文章彩图(c)中,你也能看出它比(a)和(b)结构简单。

但是这篇文章也说了零中频架构的缺点。

比如,如果校准的不够好,镜像和载波泄露就会出现。那么在接收过程中,会降低灵敏度。在发射过程中会发射出不想要的信号。

而如果射频部分和校准部分在不同芯片上完成,这个校准是不可能做得很完美的。

幸好芯片技术在不停发展,现在已经可以把射频部分的模拟电路与实现校准算法的数字电路做到同一颗芯片上了,这样整套系统的性能就会有提升。LimeSDR上的LMS7002,以及竞品AD9361都是这样的结构。硬件上是能够校准好的,但实际好不好也要看校准算法做得怎么样。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/498429.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Unity实战】UGUI和Z轴排序那点事儿

如果读者是从Unity 4.x时代过来的,可能都用过NGUI这个插件(后来也是土匪成了正规军),NGUI一大特点是可以靠transform位移的Z值进行遮挡排序,然而这个事情在UGUI成了难题(Sorting Layer、Inspector顺序等因素…

Linux系统Docker部署StackEdit Markdown并实现公网访问本地编辑器

文章目录 前言1. ubuntu安装VNC2. 设置vnc开机启动3. windows 安装VNC viewer连接工具4. 内网穿透4.1 安装cpolar【支持使用一键脚本命令安装】4.2 创建隧道映射4.3 测试公网远程访问 5. 配置固定TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址5.3 测试…

RDMA内核态函数ib_post_send()源码分析

最近调用linux内核下RDMA的Verb API ib_post_send()出现了问题,因此从源码分析一下这个函数的调用过程。 我使用的内核版本为5.15.0-94 这是函数ib_post_send的头文件定义,这个函数的意义是向发送队列提交发送请求,他会调用qp对应设备的post_…

[Vulnhub]靶场 Web Machine(N7)

kali:192.168.56.104 主机探测: arp-scan -l 靶机ip:192.168.56.104 端口扫描 nmap -p- 192.168.56.106 看一下web 目录扫描 gobuster dir -u http://192.168.56.106 -x html,txt,php,bak,zip --wordlist/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt exp…

2.29 二分

1.AcWing797. 差分 分析思路&#xff1a; 代码实现&#xff1a; //差分&#xff1a;前缀和的逆运算 #include<iostream>using namespace std; const int N 100010; int a[N],b[N]; int n,m;int main() {cin>>n>>m;for(int i1;i<n;i){cin>>a[i];…

深度学习-神经网络原理

文章目录 神经网络原理1.单层神经网络1.1 回归单层神经网络&#xff1a;线性回归1.2 二分类单层神经网络&#xff1a;sigmoid与阶跃函数 1.3 多分类单层神经网络&#xff1a;softmax回归 神经网络原理 人工神经网络&#xff08;Artificial Neural Network&#xff0c;ANN&…

el-table实现转置表格

vue版本&#xff1a;vue2.6.10 elementui版本&#xff1a;2.15.14 实现效果&#xff1a;el-table实现行列互换 代码&#xff1a; <template><div class"app-container"><span>原始数据</span><el-table:data"datas"border>…

时下最火爆海外视频媒体推广,点燃全球市场!让您的产品走向世界

大舍传媒 如今&#xff0c;随着全球化的发展和数字技术的普及&#xff0c;视频媒体推广成为企业在全球市场中获取曝光和推动销售增长的重要方式。通过海外视频媒体推广&#xff0c;企业能够将产品打造成国际品牌&#xff0c;将其走向世界。 海外视频媒体推广迅速兴起&#xff0…

【Web安全靶场】sqli-labs-master 21-37 Advanced-Injection

sqli-labs-master 21-37 Advanced-Injection 第一关到第二十关请见专栏 文章目录 sqli-labs-master 21-37 Advanced-Injection第二十一关-Cookie注入第二十二关-Cookie注入第二十三关-注释符过滤的报错注入第二十四关-二次注入第二十五关-过滤OR、AND双写绕过第二十五a关-过滤…

Redis为什么这么快?

首先我们需要知道影响Redis性能的因素有哪些&#xff1f; 官网原话说到&#xff0c;影响Redis性能的主要瓶颈并不是CPU而是内存和网络IO&#xff0c;而内存是可以从硬件角度优化的&#xff0c;所以优化的关键就是在网络IO 在Redis6/7中&#xff0c;非常受关注的一个新特性就是多…

【探索AI】十一 深度学习之第1周:深度学习概述与基础

深度学习概述与基础 深度学习的发展历史与现状神经网络的基本原理前向传播与反向传播算法常见的激活函数与优化算法深度学习框架&#xff08;如TensorFlow或PyTorch&#xff09;进行基础操作 深度学习的发展历史与现状 深度学习的发展历史可以追溯到上世纪40年代&#xff0c;当…

云时代【4】—— 资源隔离与控制技术

云时代【4】—— 资源隔离与控制技术 二、资源隔离与控制技术&#xff08;一&#xff09;NameSpace1. 基本介绍2. 相关 Linux 指令实战1&#xff1a;隔离进程实战2&#xff1a;隔离文件系统 &#xff08;二&#xff09;CGroups1. 基本介绍2. 相关 Linux 指令实战1&#xff1a;c…