问题标签 [software-defined-radio]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gnuradio - GNU Radio 消息传递块
gr_modtool
在创建新块时提供块类型的一些选项。选项如下:
('sink', 'source', 'sync', 'decimator', 'interpolator', 'general', 'tagged_stream', 'hier', 'noblock')
我已经探索了这些选项,但我没有找到任何与纯消息传递块相关的选项
gr_modtool
对于纯消息传递块,是否有任何类似的工具或选项?
raspberry-pi - 基于软件的信号处理最合适的时钟/时间源是什么?
假设我想以大约 10kHz 的频率对我的 Raspberry Pi* 的一对 GPIO 引脚进行采样,以馈送到基于软件的信号分析仪(例如用 C 语言编写)。为每个样本获取准确时间戳的最合适方法是什么?准确意味着,在获取样本和读取时钟/时间源之间的延迟应该至少是恒定的或最多可以忽略不计。信号分析仪不一定实时运行。
我知道采样质量也可能受到其他情况的影响(例如抢先式多任务处理),但问题仅在于为每个样本获取准确的时间戳。
*) 一般来说:任何信号,如脉冲波(高/低)或音频信号(量化)。Raspberry Pi 只是一个示例,因为它已经内置了获取信号的一切。
signal-processing - DDC/DUC 的数字混音器实现
我正在尝试实现数字上/下转换器,其中实现流程是
DUC插值->数字混频器
DDC 数字混频器->抽取
在 DUC 数字混频器中,输入是 I 和 Q 符号,然后在 DDC 数字混频器中恢复相同的 I、Q 我想找出混频器的完整方程,以便我可以轻松实现它
根据我对 DUC 数字混频器的理解,方程式是 Transmit_signal=I*Cos(wt)-Qsin(wt);
在接收端,I 和 Q 通过以下序列恢复
Reciver_I=Transmit_signal Cos(wt); Reciver_Q=Transmit_signal sin(wt);
Reciver_I_fil=低通滤波器(Reciver_I);Reciver_Q_fil=低通滤波器(Reciver_Q);
但我无法在接收端恢复准确的 I 和 Q 符号请帮助找到准确的方程
c# - SDR 客户端代码/算法
我目前正在做一个项目,我需要用我的 C# 代码连接软件定义无线电,它使用 SDR IQ 设备,我只有 IP 和端口,我检查了 SDR Sharp 代码,但我无法理解它,因为我我是无线电信号的新手。谁能帮助我如何与 SDR IQ 设备通信以建立连接和处理流媒体。或任何与云智商通信的算法。
android - 获取附近 wifi 设备(不是路由器或接入点)的 wifi 信号强度?
我查看了其他标题相似的问题,他们提出的问题与我不同。请在将其标记为重复之前阅读该问题,因为我有一个特定的用例,据我所知,其他人没有问过这个用例。
首先请注意,我说的是使用有根的 Android 设备,而不是路由器或接入点的信号强度。
假设一个位置有五个 wifi 网络,并且您知道附近有一个 wifi 设备,但您不知道该设备连接到哪个 wifi 网络。是否有可能检测到一些随机 wifi 设备的信号强度(让我们说一个手机来让事情变得简单)?
我正在谈论为 2.4Ghz 和 5Ghz 频率范围制作频谱分析仪(或软件定义的无线电应用程序),但我不确定如何进行。由于设备将被植根,我将能够访问 Linux 内核提供的低级 API,但我在这方面没有太多经验。
gnuradio - N210 在 gnuradio 下无法识别
我有一个 ETTUS Research N210软件定义无线电 (SDR) 连接到我的笔记本电脑。该设备在 macos 下以及在虚拟框顶部的 Ubuntu 下都可以识别。这些命令:
和
乃至
完美工作并交付成果。但是每当我从gnuradio-companion
一个简单的流程图开始时,我都会收到以下错误(直接在 macOS 下和 VirtualBox Ubuntu 之上):
在流程图中,我将设备地址放在“USRP Source--> General --> Device Address”的属性窗口中。
任何想法我做错了什么?
gsm - 基站的广播频率可以改变吗?
我正在用我的 RTL-SDR 设备扫描我周围的 BTS(基站)的频率。我找到了几个。例如,一个的频率是 958.4 MHz。三天后,我再次扫描,但这次它消失了。没有频率为 958.4MHz 的 BTS,但我发现频率完全不同。
基站的频率可以改变吗?或者我是如何得到与三天前的扫描完全不同的结果的。
c# - Sdr 设置频率 C#
在 C# 中的 sdr 客户端应用程序中,我无法正确地将频率(10087000)转换为十六进制并将其传递给套接字。
我正在使用 cloudIQ 设备,需要帮助来使用套接字设置频率和其他参数。
c# - 将 C# 连接到非常旧的 ActiveX 控件
我正在尝试将旧的 RFSpace SDR-IQ 无线电集成到现有的 C# 程序中。SDR-IQ 信息: http ://www.rfspace.com/RFSPACE/SDR-IQ.html
SDR-IQ 通过 USB 连接到 PC。
我发现了一个非常旧的 ActiveX 控件,它成功地放到了 C# 对话框中(在手动注册 DLL 之后)。ActiveX 控件: http ://www.moetronix.com/files/sdr14xsdk127.zip
这是控件的 C# 元数据:
控件.InitControl()
和.Start()
方法正常工作。和事件也有效StatusChange
。DataRdy
因此,控制器与无线电成功通信。
当我尝试DataRdy
通过.GetLongData()
.
尽管进行了数小时的谷歌搜索,但无论我尝试什么,我的代码都会因错误而崩溃:
程序“[9036] sdriq.vshost.exe: Managed (v4.0.30319)”已退出,代码为 -1073741819 (0xc0000005)。
Exception 对象中没有关于崩溃的更多详细信息。
这是一个调用.GetLongData()
失败的例子:
当我写到控件自述文件中的地址时,控件的原作者确实回复了:“是的,我之前写的 dll 是一个 activex dll,我认为 uSoft 不再允许传递内存指针。我不知道C#,但我怀疑它也不允许直接内存指针。”
因此,尽管没有明确说明,但我 99% 确信该控件是用 C++ 编写的。
从 C# 调用 C++ 时,我不是很精明。鉴于.GetLongData
上面显示的签名,我正在寻找帮助以找到、 、 等的神奇组合unsafe
,以将无线电数据从非托管 C++ ActiveX 控件获取到我的托管 C# 代码中。IntPtr
Marshal.AllocHGlobal
非常感谢您的任何帮助。