【转帖】 3个电阻 + 1个电容构成的软件定义无线电接收机,连ADC都不需要
在Hackaday上的一些简介:
创建这个项目是为了学习 Verilog 并享受 FPGA 和 SDR 带来的乐趣。主要目标是使用尽可能少的组件接收AM广播电台。所选择的FPGA莱迪思 MachXO2 也是可以使用的最简单的组件之一。我能够用20米长的电线作为天线,从位于三大洲的数千公里处接收电台。最小的BOM包括一块30欧元的 Lattice MachXO2分线板、三个电阻器、一个电容器和一个扬声器。为了获得更好的性能,最好添加一个晶体振荡器,灵敏度和音频质量比使用内部振荡器更好。
天线直接连接到输入引脚,因为您知道静电荷会损坏电路板。当您厌倦了破纪录的元件数量时,最好添加一个串联电容器和两个限流二极管。使用 RC 滤波器、串联电容器和有源扬声器,音频更实用。
无线电架构非常标准,直接变频接收器。我们有一个 ADC、一个混频器、两个用于正交信号的 CIC 滤波器、一个采用信号平方和的平方根的 AM 解调器,以及一个用于音频输出的 PWM。频率调谐由NCO获得,它是一个 64 位累加器,其增量由UART控制,可以从控制PC发送一些字符并更改频率。为此,该板有一个备用的UART通道。主通道用于编程,需要将USB转串口转换器的第二通道通过在电路板下侧焊接桥接器连接到FPGA。
ADC 使用 LVDS 比较器作为输入,但它的工作方式与 Sigma-Delta 转换器不同,例如http://www.latticesemi.com/-/media/LatticeSemi/Documents/ReferenceDesigns/SZ2/FPGA-RD-02047-1-5-Simple-Sigma-Delta-ADC.ashx?document_id=35762
在这种情况下,反馈信号通过使用低RC时间常数来跟踪输入。在射频下,这是不切实际的,反馈用于通过一个大的RC常数将比较器保持在开关电平附近。采样是通过叠加到所需信号上的随机 RF 噪声来执行的。我们在 80 MHz 下对 6 KHz 带宽信号进行过采样。对此的简要解释:如果输入是真正随机的,那么它在一定时间内的平均值将几乎为零。但它与来自远处发射机的非常小的无线电信号相加,这足以对输出产生轻微影响。https://en.wikipedia.org/wiki/Oversampling
CIC 滤波器抽取为 4096,因此 ADC 分辨率的理论增加为 6 位。
最好在较低的 CIC 抽取后使用 FIR 滤波器。是可以做到的,不是所有的FPGA都用到了。莱迪思没有针对它的 IP,MachXO2 缺少 DSP 模块,而且从未打算用于它。
另一个低组件数收音机:https://www.i2phd.org/armradio/index.html
自制的 1 位 ADC GPS 接收器,基于下面的文章:http://s53mv.s5tech.net/navsats/theory.html
以上是作者对此项目的介绍,如果使用Intel版本的小脚丫FPGA核心板,可以使用其DSP模块获得更高的性能,有兴趣的同学可以尝试一下。
在Github上有完整的工程内容,基于Lattice XO2 FPGA的以及基于Intel Cyclone 3 FPGA版本。 标题党, 那么一大块板子视而不见? 用上了FPGA,也是芯片啊,
页:
[1]