随着普通电脑性能逐渐提高,dsp能力越来越强。因此software define radio越来越受到大家的关注。本文介绍hackrf是目前最廉价的支持发射的sdr,只可惜是半双工的。hackrf是一个完全开源的项目,从软件到硬件,全部开源,因此已经国产化。可以在淘宝买到,大概1200元左右。
本文介绍了一个最简单的发射宽带fm的方法,仅供参考。
1,确认repository里的libhackrf版本并且安装正确的驱动程序
如果你使用的ubuntu或kali等版本较老的,建议使用源码的方法安装最新的libhackrf驱动。如果使用较新的操作系统如ubuntu16.xx,可以直接使用apt-get安装。
从软件仓库里安装
#apt-cahce search libhackrf-dev
#apt-get install libhackrf-dev
如果该驱动不能工作,请选下面的源码安装的方式,毕竟老的驱动支持新的硬件是比较困难的。
从源码的方式安装
编译安装hackrf要确保已经使用apt-get安装的清理干净,使用下面的命令
#apt list | grep hackrf
把搜索出来的结果,使用 apt-get remove 全部删除。
编译条件,需要安装cmake libusb fftw 的开发包。
#apt-get install cmake libusb-1.0-0-dev libfftw3-dev
克隆代码:
#git clone https://github.com/mossmann/hackrf.git
prerequisites for linux (debian/ubuntu):
sudo apt-get install build-essential cmake libusb-1.0-0-dev pkg-config libfftw3-dev
build host software on linux:
mkdir host/buildcd host/buildcmake 。.makesudo make installsudo ldconfig
2,下载发射程序
#git clone https://github.com/aricwang88/hackrf_wbfm_transmit.git
准备测试数据源
option 1: download or clone the test wave file from github.
git clone https://github.com/aricwang88/hackrf_example_res.git
option 2: install ffmpeg or libav-tools to convert the mp3 to wave file.
search in repository:
apt-cache search libav-toolslibav-tools - multimedia player, server, encoder and transcoderapt-get install libav-toolsavconv -i mm_didu.mp3 -acodec pcm_s16le -ac 2 -ar 44100 -vol 200 mm_didu.wav编译
gcc -o hackrf_wbfm_transmit hackrf_wbfm_transmit.c -lm -lhackrformakemake wav
编译出可执行程序 hackrf_wbfm_transmit.
chmod +x hackrf_wbfm_transmit./hackrf_wbfm_transmitusage:。/hackrf_wbfm_transmit验证
i also upload the test wave file, please clone from other repository or convert from mp3 by ffmpeg.
。/hackrf_wbfm_transmit mm_didu.wavhackrf wbfm transmit demo 。..begin to init hackrf 。..hackrf_init sucessfully!hackrf_open() success.board id number: 2 (hackrf one)firmware version: 2015.07.2hackrf init done.load wav file:mm_didu.wav(1-4): riff (5-8) overall size: bytes:32360616, kb:31602 (9-12) wave marker: wave(13-16) fmt marker: fmt 16 0 0 0(17-20) length of fmt header: 16 1 0 (21-22) format type: 1 pcm 2 0 (23-24) channels: 2 (25-28) sample rate: 44100(29-32) byte rate: 176400 , bit rate:14112004 0 (33-34) block alignment: 4 16 0 (35-36) bits per sample: 16 (37-40) data marker: data (41-44) size of data chunk: 32360580 number of samples:8090145 size of each sample:4 bytesapprox.duration in seconds=183.450211approx.duration in h:m:s=0:3:3.450.valid range for data values : -32768 to 32767 alloc memory resample done.alloc memory iq data done.alloc memory tx data done.begin to process data 。..(please wait about 20 seconds.)processing: 0.00%processing: 5.45%processing: 10.90%processing: 16.35%processing: 21.80%processing: 27.26%processing: 32.71%processing: 38.16%processing: 43.61%processing: 49.06%processing: 54.51%processing: 59.96%processing: 65.41%processing: 70.86%processing: 76.32%processing: 81.77%processing: 87.22%processing: 92.67%processing: 98.12%iq data transcode done.release intermedia memory.data process done, transmiting 。..
ctrl+c to stop transmiting.
iPhone 自动关机最新消息,你想了解的全在这里
RPA机器人可以替代员工去做底层任务?
当三星S10E遇上iphone XR 谁更值得购买呢
西门子plc跨网段通信跨网段耦合器
NFT交易平台系统搭建开发技术
HACKRF初级教程之:WBFM发射
钢的知识及其分类
电压重动、电压并列和电压切换这几个概念对刚接触的初学者很容易混淆
微纳核芯获近亿首轮融资,将研发高端AIOT SOC芯片
铜包钢接地线怎么焊接,控制焊接温度有何技巧
加密货币托管服务会对加密货币市场价格产生哪些影响
进行长距离工业自动化部署时如何确保千兆位以太网信号的完整性
华为荣耀v9跟荣耀8的这个功能,真爽!
数据块电缆的设计注意事项
基于采用英威腾人机界面、PLC、变频器全集成对木工封边机的技术设计
西门子S7-1200控制的自动化系统如何实现远程监控和故障报警
东芝推出最高工作温度达110摄氏度的VSON4小型封装光继电器
网口短信终端(短信猫) 4G IPMODEM LTE MODEM
岭南通·羊城通空发卡业务正式支持ApplePay
芬兰公民认为5G技术使用的频率对健康有害正在试图阻止5G基站的扩散