自助建站系统破解版,企业网站推广宣传方案,wordpress 李贤威,泰安市人才招聘网相信大家第一次打开gnuradio看听广播、看频谱的时候#xff0c;会注意到一个奇怪的现象#xff0c;明明在频谱中间不该有信号#xff0c;但是实际看到了一个尖峰。这个尖峰不含带任何信息#xff0c;并且不管调节到哪个中心频率#xff0c;这个尖峰都会存在。
这种情况出…相信大家第一次打开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都是这样的结构。硬件上是能够校准好的但实际好不好也要看校准算法做得怎么样。