首页 > 产品 > 知识 > hackrf,hackrf one支持hdsdr吗

hackrf,hackrf one支持hdsdr吗

来源:整理 时间:2023-09-07 17:14:37 编辑:智能门户 手机版

本文目录一览

1,hackrf one支持hdsdr吗

支持再看看别人怎么说的。

hackrf one支持hdsdr吗

2,hackrf one可以做什么

hack rf one一个黑客的RF
http://bbs.a9vg.com/read.php?tid=555426

hackrf one可以做什么

3,有咩新网络游戏

http://bbs.dingdangzhu.com/hack.php?H_name=adv&u=12777 去看看吧~~应该对你有帮助的!~htgrf

有咩新网络游戏

4,如何评价开源软件无线电平台HackRF

HackRF首个全开源的SDR外设平台,10MHz - 6GHz,完全支持GNURadio。HackRF功能演示,包括FM广播接收,FM广播发射,DAB数字广播发射以及任意信号的录制与回放。
搜一下:如何评价开源软件无线电平台HackRF

5,ubuntu怎么安装hackrf

...没在linux下面配置过gd,你为什么不在编译安装PHP的时候直接装上gd... 不过你最后一句header函数应该有问题吧? content-type中间的应该不是下划线.. 啊对了,linux下面添加模块之后php好像是要重新编译的吧?
http://bbs.a9vg.com/read.php?tid=555426

6,如何在android手机上使用hackrf

JNI方面1)将编译好的库导入工程拷贝libhackrf.h、libhackrf.so和libusb1.0.so到工程目录,创建libusb1.0.mk和libhackrf.mklibusb1.0.mk通过libhackrf.mk即可将libhackrf连接到工程中。2)初始化hackrf,注册接收函数。JNI接口[cpp] view plain copyJNIEXPORT jstring JNICALL Java_com_pagekpang_hackrftouch_HackRFTouch_test( JNIEnv *env, jclass cls) int result = HACKRF_SUCCESS; result = hackrf_init(); if (result == HACKRF_SUCCESS) return env->NewStringUTF("OK!"); } else return env->NewStringUTF("Error!"); } } JNIEXPORT jstring JNICALL Java_com_pagekpang_hackrftouch_HackRFTouch_init( JNIEnv *env, jobject thiz) int result = HACKRF_SUCCESS; uint8_t board_id = BOARD_ID_INVALID; char pbuf[2048] = result = hackrf_init(); if (result != HACKRF_SUCCESS) sprintf(pbuf, "hackrf_init() failed: %s (%d)\n", hackrf_error_name((hackrf_error) result), result); return env->NewStringUTF(pbuf); } result = hackrf_open(&device); if (result != HACKRF_SUCCESS) sprintf(pbuf, "hackrf_open() failed: %s (%d)\n", hackrf_error_name((hackrf_error) result), result); return env->NewStringUTF(pbuf); } result = hackrf_board_id_read(device, &board_id); if (result != HACKRF_SUCCESS) sprintf(pbuf, "hackrf_board_id_read() failed: %s (%d)\n", hackrf_error_name((hackrf_error) result), result); return env->NewStringUTF(pbuf); } sprintf(pbuf, "Board ID Number: %d (%s)\n", board_id, hackrf_board_id_name((hackrf_board_id) board_id)); return env->NewStringUTF(pbuf); } JNIEXPORT jstring JNICALL Java_com_pagekpang_hackrftouch_HackRFTouch_setSampleRateManual( JNIEnv *env, jobject thiz, jlong freq, jint divi) int result = HACKRF_SUCCESS; char pbuf[2048] = result = hackrf_set_sample_rate_manual(device, freq, divi); if (result != HACKRF_SUCCESS) sprintf(pbuf, "hackrf_set_sample_rate_manual() failed: %s (%d)\n", hackrf_error_name((hackrf_error) result), result); return env->NewStringUTF(pbuf); } return env->NewStringUTF("ok"); } JNIEXPORT jstring JNICALL Java_com_pagekpang_hackrftouch_HackRFTouch_setVgaGain( JNIEnv *env, jobject thiz, jint vga) int result = HACKRF_SUCCESS; char pbuf[2048] = result = hackrf_set_vga_gain(device, vga); if (result != HACKRF_SUCCESS) sprintf(pbuf, "hackrf_set_vga_gain() failed: %s (%d)\n", hackrf_error_name((hackrf_error) result), result); return env->NewStringUTF(pbuf); } return env->NewStringUTF("ok"); } JNIEXPORT jstring JNICALL Java_com_pagekpang_hackrftouch_HackRFTouch_setLnaGain( JNIEnv *env, jobject thiz, jint lna) int result = HACKRF_SUCCESS; char pbuf[2048] = result = hackrf_set_lna_gain(device, lna); if (result != HACKRF_SUCCESS) sprintf(pbuf, "hackrf_set_lna_gain() failed: %s (%d)\n", hackrf_error_name((hackrf_error) result), result); return env->NewStringUTF(pbuf); } return env->NewStringUTF("ok"); } JNIEXPORT jstring JNICALL Java_com_pagekpang_hackrftouch_HackRFTouch_setFreq( JNIEnv *env, jobject thiz, jlong freq) int result = HACKRF_SUCCESS; char pbuf[2048] = result = hackrf_set_freq(device, freq); if (result != HACKRF_SUCCESS) sprintf(pbuf, "hackrf_set_freq() failed: %s (%d)\n", hackrf_error_name((hackrf_error) result), result); return env->NewStringUTF(pbuf); } return env->NewStringUTF("ok"); } JNIEXPORT jstring JNICALL Java_com_pagekpang_hackrftouch_HackRFTouch_setAmpEnable( JNIEnv *env, jobject thiz, jint b) int result = HACKRF_SUCCESS; char pbuf[2048] = result = hackrf_set_amp_enable(device, b == 0 ? false : true); if (result != HACKRF_SUCCESS) sprintf(pbuf, "hackrf_set_amp_enable() failed: %s (%d)\n", hackrf_error_name((hackrf_error) result), result); return env->NewStringUTF(pbuf); } return env->NewStringUTF("ok"); } JNIEXPORT jstring JNICALL Java_com_pagekpang_hackrftouch_HackRFTouch_startRX( JNIEnv *env, jobject thiz) int result = HACKRF_SUCCESS; char pbuf[2048] = result = hackrf_start_rx(device, hackrf_rx_cb, env->NewGlobalRef(thiz)); if (result != HACKRF_SUCCESS) sprintf(pbuf, "hackrf_start_rx() failed: %s (%d)\n", hackrf_error_name((hackrf_error) result), result); return env->NewStringUTF(pbuf); } return env->NewStringUTF("ok"); } JNIEXPORT jstring JNICALL Java_com_pagekpang_hackrftouch_HackRFTouch_stopRX( JNIEnv *env, jobject thiz) int result = HACKRF_SUCCESS; char pbuf[2048] = result = hackrf_stop_rx(device); if (result != HACKRF_SUCCESS) sprintf(pbuf, "hackrf_stop_rx() failed: %s (%d)\n", hackrf_error_name((hackrf_error) result), result); return env->NewStringUTF(pbuf); } return env->NewStringUTF("ok"); } java层与JNI接口的绑定[java] view plain copypackage com.pagekpang.hackrftouch; public class HackRFTouch static System.loadLibrary("usb1.0"); System.loadLibrary("hackrf"); System.loadLibrary("HackrfTouch"); } public static native String test(); private native String init(); private native String setSampleRateManual(long freq, int divi); private native String setVgaGain(int g); private native String setLnaGain(int g); private native String setFreq(long freq); private native String setAmpEnable(int f); public native String startRX(); public native String stopRX(); public native float[] readRx(); private String retString = ""; private Boolean isOpen = false; private ReadRxThread mReadRxThread = null; public HackRFTouch() // TODO Auto-generated constructor stub retString = init(); if (!retString.contains("failed")) isOpen = true; mReadRxThread = new ReadRxThread(this); } } class ReadRxThread extends Thread HackRFTouch mThisHackRFTouch = null; public ReadRxThread(HackRFTouch t) // TODO Auto-generated constructor stub mThisHackRFTouch = t; } @Override public void run() // TODO Auto-generated method stub super.run(); while(true) mThisHackRFTouch.cb(mThisHackRFTouch.readRx()); try Thread.sleep(100); } catch (InterruptedException e) // TODO Auto-generated catch block e.printStackTrace(); } } } } public Boolean isOpen() return isOpen; } public String getLastError() return retString; } public Boolean HsetSampleRateManual(long freq, int divi) if (!isOpen) return false; } retString = setSampleRateManual(freq, divi); if (retString.contains("failed")) return false; } else return true; } } public Boolean HsetLnaGain(int g) if (!isOpen) return false; } retString = setLnaGain(g); if (retString.contains("failed")) return false; } else return true; } } public Boolean HsetVgaGain(int g) if (!isOpen) return false; } retString = setVgaGain(g); if (retString.contains("failed")) return false; } else return true; } } public Boolean HsetFreq(long freq) if (!isOpen) return false; } retString = setFreq(freq); if (retString.contains("failed")) return false; } else return true; } } public Boolean HstopRX() if (!isOpen) return false; } retString = stopRX(); if (retString.contains("failed")) return false; } else return true; } } 3)FFT运算[cpp] view plain copyif (device != NULL) float raw[1024]; int dalen = transfer->valid_length; float realF, imagF, maxF; uint8_t *pbuf = transfer->buffer; while (dalen > 0 && runcount == 0) complex* fdata = new complex [1024]; complex* fout = new complex [1024]; for (int i = 0; i < 2048; i += 2) { fdata[i / 2] = complex(meanN(&pbuf[i], 100), meanN(&pbuf[i + 1], 100)); } FFT(fdata, fout, 10); //dft(fdata, 10, 0); //fout = fdata; maxF = 0.0; for (int i = 0; i < 1024; i++) { raw[i] = pow(pow(fout[i].real(), 2) + pow(fout[i].imag(), 2), 0.5); if (maxF < raw[i]) { maxF = raw[i]; } } for (int i = 0; i < 1024; i++) { raw[i] = raw[i] / maxF; } sendBuf(raw); //send(g_client, (char *)&raw, 4*1024, 0); //发送数据 dalen -= 2048; pbuf += 2048; runcount = 2; } runcount--; //printf("E"); } else { printf("O"); }
<a href="http://wenwen.soso.com/z/urlalertpage.e?sp=shttp%3a%2f%2fbbs.a9vg.com%2fread.php%3ftid%3d555426" target="_blank">http://bbs.a9vg.com/read.php?tid=555426</a>
文章TAG:hackrfhackrfone支持hdsdr吗

最近更新

  • 找正,请问在车床上找正锥度除了试切法找正以外还有别的方法吗找正,请问在车床上找正锥度除了试切法找正以外还有别的方法吗

    请问在车床上找正锥度除了试切法找正以外还有别的方法吗2,管道中的45度拐弯用拐尺怎么找正3,机械设备找正调平的测量位置宜选择的部位有哪些4,四爪卡盘装夹工件怎样找正有技巧吗5,在钳工中.....

    知识 日期:2023-09-07

  • 马云通过大数据赚钱马云通过大数据赚钱

    马云赚钱?马云是赚钱上的服务器。马云,马云预测未来十大行业赚钱很多人想知道大学适合什么专业,马云预测未来十大,下面,我整理了马云赚钱预测的十大行业,供大家参考!马云阿里巴巴靠什么赚钱?不.....

    知识 日期:2023-09-07

  • 数据库 安全数据库 安全

    因此,网络数据库的安全问题是目前网络信息安全的重点之一。网络环境中数据库数据的被盗和丢失使得网络环境中数据库的安全性研究变得极为重要,数据库安全包括哪些方面?什么是数据安全?数据.....

    知识 日期:2023-09-07

  • 微波脉冲数据,脉冲微波治疗仪适应症微波脉冲数据,脉冲微波治疗仪适应症

    他们通常使用脉冲微波技术,即短暂发射微波脉冲,然后检测脉冲反射回来的时间。实用高能微波电磁脉冲源大多采用微波虚阴极振荡器,其原理结构如图1所示,微波距离传感器的测量精度取决于微波.....

    知识 日期:2023-09-07

  • 光子芯片,有人听过光子晶体科技这家公司吗光子芯片,有人听过光子晶体科技这家公司吗

    有人听过光子晶体科技这家公司吗2,光子集成电路是什么3,讨论下光学芯片和激光芯片的移动感觉怎样4,什么是LED芯片5,深圳光子晶体科技有限公司怎么样6,MACOM光电子元件有哪些1,有人听过光子晶.....

    知识 日期:2023-09-07

  • 替代定理,替换定理的内容替代定理,替换定理的内容

    替换定理的内容2,替代定理适用于非线性电路吗3,谁能解释一下替代定理4,电源的等效变换替代定理区别5,电路替代定理求大神详解6,电路分析之替代定理7,电路替代定理8,替代定理一条支路有纯电压.....

    知识 日期:2023-09-07

  • 晶体管的作用,晶体管作用跟可控硅是一样的吗晶体管的作用,晶体管作用跟可控硅是一样的吗

    晶体管作用跟可控硅是一样的吗2,在数字电路中晶体管的作用是什么3,晶体管是什么4,什么是真空管和晶体管5,晶闸管的主要作用是什么6,晶体管的作用与原理怎样用万用表判断其好坏1,晶体管作用跟.....

    知识 日期:2023-09-07

  • 机器人小绿画,中国战斗机器人怎么画机器人小绿画,中国战斗机器人怎么画

    动画:小绿和小蓝人物:小绿和机器人小绿简介:小蓝自主研发的人工智能机器人具有类似14岁左右儿童的独立人格和思维。机器人如何画1,准备一把纸刷,画出机器人的头部和身体,如何画一个简单的.....

    知识 日期:2023-09-07