RTL SDR的PYTHON开发环境搭建

news2024/9/20 22:22:52

不得不说RTL SDR真是神器,直接把SDR的入门门槛拉低到了几十块钱。对于RTL SDR的学习开发,有大佬写的《Software_Defined_Radio_using_MATLAB_Simulink_and_the_RTL-SDR》,另外,除了MATLAB,近些年爆火的PYTHON当然也是可以的,相比MATLAB,PYTHON的优势在于轻量(相对于MATLAB动辄几十个GB的安装体量),开源免费。
参照https://github.com/daskals/RTL-SDR-Python-Signal-Processing大佬的教程,把在WINDOWS 10下的开发环境搭建步骤记录一下,我用的是python 3.8.1
1.安装pyrtlsdr

pip install pyrtlsdr

2.下载动态库
https://ftp.osmocom.org/binaries/windows/rtl-sdr/
选择最新的即可,注意32bit和64bit不要搞错,现在的电脑一般应该都是64位了,把解压后的文件夹中3个DLL,复制到D:\Programs\Python\Python38\Lib\site-packages\rtlsdr目录下
3.替换文件内容,例如我的目录是D:\Programs\Python\Python38\Lib\site-packages\rtlsdr
在这里插入图片描述
打开librtlsdr.py,修改之前最好复制一份做备份,做如下修改

```c
    #driver_files += ['librtlsdr.so', 'rtlsdr/librtlsdr.so']
    #driver_files += ['rtlsdr.dll', 'librtlsdr.so']
    #driver_files += ['..//rtlsdr.dll', '..//librtlsdr.so']
    #driver_files += ['rtlsdr//rtlsdr.dll', 'rtlsdr//librtlsdr.so']
    #driver_files += [lambda : find_library('rtlsdr'), lambda : find_library('librtlsdr')]
    driver_files += ['D:\Programs\Python\Python38\Lib\site-packageslibrtlsdr.dll']
    driver_files += ['D:\Programs\Python\Python38\Lib\site-packageslibusb-1.0.dll']
    driver_files += ['D:\Programs\Python\Python38\Lib\site-packageslibwinpthread-1.dll']

4.替换驱动,这一步不一定需要,如果你之前已经装了RTL SDR的驱动
右键,按管理员运行zadig.exe
(1)options里选择List all devices
(2)如果用的win 10,可能还要取消勾选"Ignore Hubs or Composite Parents"
(3)在下拉框中选择Bulk-In, Interface (Interface 0)
(4)再次确认USB ID为 “0BDA 2838 00”,并点击Replace Driver
在这里插入图片描述
5.完成上述步骤后,可运行RTL-SDR-Python-Signal-Processing-main目录中的test2_plot.py,如果没有报错,会弹出如下界面,就说明一切OK了
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电厂数据可视化三维大屏展示平台加强企业安全防范

园区可视化大屏是一种新型的信息化手段,能够将园区内各项数据信息以图像的形式直观呈现在大屏幕上,便于管理员和员工进行实时监控、分析和决策。本文将从以下几个方面介绍园区可视化大屏的作用和应用。 VR数字孪生园区系统是通过将实际园区的各种数据和信…

2023年【起重信号司索工(建筑特殊工种)】试题及解析及起重信号司索工(建筑特殊工种)操作证考试

题库来源:安全生产模拟考试一点通公众号小程序 起重信号司索工(建筑特殊工种)试题及解析根据新起重信号司索工(建筑特殊工种)考试大纲要求,安全生产模拟考试一点通将起重信号司索工(建筑特殊工种)模拟考试试题进行汇编,组成一套起重信号司索…

leetcode 503. 下一个更大元素 II、42. 接雨水

下一个更大元素 II 给定一个循环数组 nums ( nums[nums.length - 1] 的下一个元素是 nums[0] ),返回 nums 中每个元素的 下一个更大元素 。 数字 x 的 下一个更大的元素 是按数组遍历顺序,这个数字之后的第一个比它更大的数&…

EMC简述01

电磁兼容性(EMC:Electromagnetic Compatibility) 电磁兼容性(EMC)主要分为两种 一种是设备本身的电磁噪声对其他设备或人体带来的影响(电磁干扰,EMI:Electromagnetic Interference…

我们在 Linux 环境中用 C 编程时,如果对文件读写,Linux 会自动给文件加锁嘛?以及怎么加文件锁?

task1: 验证Linux不会自动给文件加锁 先说结论&#xff0c;结论是不会 我写了一个这样的程序 #include <stdio.h> #include <unistd.h>int main() {const char* pathname "your_file_pathname.txt";FILE* file NULL;int count 100;if(access(pathn…

Linux 网络巨型帧设置方法

1.指令设置 sudo ifconfig eth0 mtu 8192 2.修改系统文件 sudo vim /etc/dhcp/dhclient.conf

Linux创建临时文件mkstemp()tmpfile()

有些程序需要创建一些临时文件&#xff0c;仅供其在运行期间使用&#xff0c;程序终止后即行删除。 很多编译器程序会在编译过程中创建临时文件。GNU C 语言函数库为此而提供了一系列库函数。&#xff08;之所以有“一系列”的库函数&#xff0c;部分原因是由于这些函数分别继…

opencalib中lidar2camera安装记录

目录 一、opencalib安装 二、lidar2camera的安装 三、测试运行 四、出现过的问题 一、opencalib安装 代码地址&#xff1a;https://github.com/PJLab-ADG/SensorsCalibration/blob/master/README.md # pull docker image sudo docker pull scllovewkf/opencalib:v1 # Aft…

DBOW概要理解与记录

前言 DBOW作为一种视觉回环技术被广泛应用在各类VSLAM框架中&#xff0c;之前的经验主要集中在使用和抽象理解层面&#xff0c;近期花了一些时间仔细阅读了相关论文和源码&#xff0c;这里做一些记录。 两个关键概念 Vocabulary 通过预先训练得到的词汇库&#xff0c;以树状…

RISC-V架构——中断委托和中断注入

1、中断委托 1.1、中断委托的作用 &#xff08;1&#xff09;默认情况下&#xff0c;所有的陷入&#xff08;中断和异常&#xff09;都是在M模式下处理&#xff0c;然后再返回到发生陷入前的模式&#xff1b; &#xff08;2&#xff09;所有陷入都在M模式处理会涉及到模式切换…

Python 面向对象编程:类、对象、初始化和方法详解

Python 是一种面向对象的编程语言。在 Python 中&#xff0c;几乎所有东西都是对象&#xff0c;都具有其属性和方法。 类似于对象构造函数或用于创建对象的“蓝图”的类。 创建一个类 要创建一个类&#xff0c;请使用关键字 class&#xff1a; 示例&#xff0c;创建一个名为…

【数据结构】数组和字符串(三):特殊矩阵的压缩存储:三角矩阵、对称矩阵——一维数组

文章目录 4.2.1 矩阵的数组表示4.2.2 特殊矩阵的压缩存储a. 对角矩阵的压缩存储b. 三角矩阵的压缩存储结构体初始化元素设置元素获取打印矩阵主函数输出结果代码整合 c. 对称矩阵的压缩存储元素设置元素获取主函数输出结果代码整合 4.2.1 矩阵的数组表示 【数据结构】数组和字…

图像数据噪音种类以及Python生成对应噪音

前言 当涉及到图像处理和计算机视觉任务时&#xff0c;噪音是一个不可忽视的因素。噪音可以由多种因素引起&#xff0c;如传感器误差、通信干扰、环境光线变化等。这些噪音会导致图像质量下降&#xff0c;从而影响到后续的图像分析和处理过程。因此&#xff0c;对于从图像中获…

Thread同步问题,小案例

要求 有两个用户分别从同一个卡上取钱(总额&#xff1a;10000元)每次都取1000&#xff0c;当余额不足时&#xff0c;就不能取款了不能出现超取现象> 线程同步问题 public static void main(String[] args) {BankChoic bankChoic new BankChoic();Thread thread1 new Th…

设计一个高效算法,将顺序表L的所有元素逆置,要求算法的空间复杂度为O(1)

初始化及打印函数 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #define MaxSize 10//定义最大长度 int InitArr[10] { 1,2,3,4,5,6,7,8,9,10 };typedef struct {int data[MaxSize];//用静态的数据存放数据元素int length;//顺序表当前长度 }Sqlist;//顺序表的类…

苹果将于8月31日举行今秋的第二场发布会

在今日凌晨&#xff0c;苹果宣布&#xff0c;将于北京时间10月31日早上8点举行今秋的第二场发布会&#xff0c;主题为“来势迅猛”。据多方猜测苹果本次活动的核心产品大概率是搭载全新M3芯片的Mac系列产品。 据了解&#xff0c;在苹果的产品线中&#xff0c;搭载M3芯片的Mac系…

C++ BinarySercahTree recursion version

for循环版本的&#xff1a;C BinarySercahTree for version-CSDN博客 Inorder()在c BinarySerschTree for verison写了。 还是按照那种嵌套的方式来写递归。 现在来写查找 FindR() bool FindR(){return _FindR(_root);}然后_FindR()函数写递归具体实现&#xff1a; 假设要…

HAL库 CubeMX STM32采用SDIO实现对SD卡和NAND Flash的读写

目录 一、选择合适的存储芯片。 可以去雷龙官网白嫖&#xff0c;白嫖链接&#xff1a;免费样品 二、SD卡/SD NAND底层原理 三、 CubeMX配置STM32具体步骤 1、时钟和系统配置 2、配置SDIO 3、配置DMA &#xff08;可选&#xff09; 4、设置串口 四、代码编写 1、公共…

vue 数据劫持代理原理

function lianxi(){// vue 数据劫持代理let data {username:curry,age:33}//模拟组件的实例let _this {}//利用Object.defineProperty()for( let item in data){//console.log(item,data[item])Object.defineProperty(_this,item,{//get:用来获取扩展属性值的,当获取该属性值…

基本指令(2):通配符,重定向,命令行管道

一、通配符 rm -rf ./* # * —— 通配符&#xff0c;指定路径下的所有文件&#xff08;不包括隐藏文件&#xff09;二、重定向 在理解重定向前&#xff0c;先要有一个概念&#xff1a;Linux下一切皆文件&#xff0c;大部分硬件设备都可以看做有读写方法&#xff0c;只不过有些方…