急需找到MATLAB合适的替代品。 为此我们收集整理到的一些开源软件,可以起到一定的替代效果。包括:SCILAB、Octave、Spyder、Python、GMAT、GNU Radio、ROS。...Octave是GNU项目成员之一,提供了与MATLAB语法兼容的开放源代码科学计算及数值分析的工具。 ?...软件无线电、信号处理等应用 GNU Radio GNU Radio是一个对学习,构建和部署软件定义无线电系统的免费软件工具包,可通过Python或类似于Simulink/Labview的图形化界面调用。...紫丁香、龙江等卫星的业余无线电接收解调软件就是在GNU Radio基础上开发并开源发布的。 ?...当多个窗格出现在一个区域时,将使用标签页的形式显示。
通过有意改变实验参数和环境(室内和室外),进行了多组实验。通信数据处理链使用 GNU-Radio 开发,雷达数据在 MATLAB 中处理,分别计算比特错误率和获得匹配滤波结果。...\hspace{2em} Schmidl-Cox 算法可以简单概括为:首先计算接收信号的相关性 \hspace{2em} 接收信号的平均功率等于: \hspace{2em} 接下来,评估函数被建立如下...: \hspace{2em} 根据 M[d] ,时延参数可估计为: \hspace{2em} 频率偏移参数是: \hspace{2em} 与其他雷达系统一样,OFDM雷达通过发送信号并接收该信号从物体上的反射来工作...\hspace{2em} GNU-Radio 是一个实现软件定义无线电的开源软件。在我们的实验中用于控制 usrp 的收发器流程图是基于 GNU-Radio 提供的信号处理模块开发的。...2、波形 图 7 实验环境为室内,中心频率为 2.6 GHz,目标距离为 20m 时的波形图 \hspace{2em} GNU-Radio 提供的图形块可以用来显示波形的时域和频域。
如果在构造会话时没有指定图形参数,则会话中将启动缺省图形。如果在同一过程中使用多个图(使用tf.Graph()创建),则必须为每个图使用不同的会话,但是每个图可以在多个会话中使用。...在这种情况下,将要显式启动的图形传递给会话构造函数通常更清楚。参数:target: (可选)。要连接到的执行引擎。默认使用进程内引擎。有关更多示例,请参见分布式TensorFlow。...如果您正在使用多个图形,那么sess。图与tf值不同。get_default_graph,您必须显式地输入一个带有sess.graph.as_default():块的参数来执行sess。绘制默认图形。...返回的可调用函数将接受len(feed_list)参数,其类型必须与feed_list的各个元素的提要值兼容。例如,如果feed_list的元素i是tf。...返回值:调用时将执行feed_list定义的步骤并在此会话中获取的函数。
此事件文件将包含调用以下函数之一时构造的事件协议缓冲区:add_summary()、add_session_log()、add_event()或add_graph()。...如果您将图传递给构造函数,它将被添加到事件文件中。(这相当于稍后调用add_graph())。TensorBoard将从文件中选择图形并以图形方式显示,这样您就可以交互式地查看您构建的图形。...@compatibility(eager) FileWriter与eager执行不兼容。要在热切执行下编写TensorBoard摘要,请使用tf.contrib。总结。...协议缓冲区描述的图形将由TensorBoard显示。大多数用户在构造函数中传递一个图。参数:graph: 图形对象,如ses .graph。global_step: 号码。...可选的全局步骤计数器,以记录与图形。graph_def: deprecated。而是使用graph参数。
信号波形分析: 这里用到的软件是Audacity,导入录制的音频信号(未压缩原始数据) ? 然后出现如下界面: ? 使用默认参数,直接导入: ?...中间的那部分就是按下遥控时录制到的无线信号,我们使用Audacity的放大镜放大来看: ? 继续放大我们可以看到: ? 继续放大: ? 再放大: ?...这时经验比较丰富的童鞋可以通过图形,把无线射频信号转换成二进制数据:01010101**** ,接着可以把二进制写到GRC(Gnu Radio Cpmpainon),制作一个框图,使用GNC项目重放无线信号...,大致方法如下: 启动Gnu Radio Cpmpainon :Kali Linux---->无线攻击--->Software defined Radio--->GnuRadio-Companion...中文版:HackRF嗅探蓝牙重放iBeacons信号GNU_Radio入门_V0.99 *本文原创作者:雪碧(0xroot),转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)
前言 GNU Radio 自带的 FFT 模块使用起来不是很方便,这个模块要求输入和输出数据长度预先设定,且一旦设定后就要求前后的 block 与其具有相同长度的输入输出,并不满足我目前的需求,因此需要有必要重新自己做一个...一、GNU Radio官方FFT弊端 举一个简单的例子,我目前想要将正弦波信号源产生的信号连接 Throttle 限流器,再经过 FFT 和 IFFT,然后将信号送给示波器进行显示。...OOT 模块 GNU Radio 附带 gr_modtool,这是一个用于创建树外 (OOT) 模块的软件工具。...OOT 模块可以被视为自定义 GNU Radio 块的集合。...的新块: gr_modtool add tsfft 将显示块的类型: GNU Radio module name identified: myModule ('sink', 'source', 'sync
exe可执行文件) python图片脚本3-批量图片格式转换-(详细注释+GUI界面+exe可执行文件) python图片脚本4-批量图片加水印(详细注释+GUI界面+exe可执行文件) Tkiner库的使用篇...图形化界面的开发(GUI):Tkinter库的使用-1(综述) 图形化界面的开发(GUI):Tkinter库的使用-2(Label+Message+Text) 图形化界面的开发(GUI):Tkinter...通过用户点击按钮的行为来执行回调函数,是 Button 控件的主要用途。首先自定义一个函数或者方法,然后将函数与按钮关联起来,最后,当用户按下这个按钮时,就会自动调用相关函数。...当按钮被按下时,对应的函数会被执行。与列表框控件(Listbox)不同的是,单选框控件(Radiobutton)只能选择一个值,而列表框控件可以选择一个或多个值。...调用 Radiobutton 中 command 参数指定的函数,并返回函数的返回值 2.
Python2_maint-3.7分支包含一个围绕Python2、PyQt4和GNU Radio 3.7构建的代码库;Python3_maint-3.8分支是围绕Python3、PyQt5和GNU Radio...3.8构建的;Python3_maint-3.10分支是围绕Python3、PyQt5和GNU Radio 3.10构建的。.../install (向右滑动,查看更多) 上述命令还将下载PyQt软件依赖以启动图形化界面。...选择所有建议的复选框(默认按钮),以避免在FISSURE中操作各种工具时出错。在整个安装过程中会出现多个提示,主要是要求提升权限和用户名。...工具使用 打开命令行终端并运行下列命令即可执行FISSURE: fissure 工具运行截图 许可证协议 本项目的开发与发布遵循GPL-3.0开源许可证协议。
IOS3 模块是针对 IOS 的兼容模块,实现了两个常用方法的兼容,这两个方法分别是 trim 和 reduce 。...要理解这段代码,先来看一下 reduce 的用法和参数: 用法: arr.reduce(callback[, initialValue]) 参数: callback: 回调函数,有如下参数 accumulator...接下来,检测回调函数 fun 是否为 function ,如果不是,抛出类型错误。 在数组为空,并且又没有提供初始值(即只有一个参数 fun)时,抛出类型错误。...() } while (true) 如果参数至少有两项,则 accumulator 的初始值很简单,就是 arguments[1] ,即 initialValue。...到这里问题就比较简单了,就是 while 循环,用 accumulator 保存回调函数返回的值,在下一次循环时,再将 accumulator 作为参数传递给回调函数,直至数组耗尽,然后将结果返回。
1.1 Linux内核的系统调用接口 系统调用接口包含了内核中所有已经实现的和可使用的系统调用。 ? 1.2 C标准库 标准库是对系统调用的封装,用于给用户提供一个简单易用的用户态接口。...Linux ABI ABI是一系列约定的集合,例如GNU/Linux,FreeBSD约定函数调用的头六个整型参数放在寄存器RDI, RSI, RDX, RCX, R8和R9上;同时XMM0到XMM7用来放置浮点变元...一个特定的处理器指令集 2. 函数调用惯例 3. 系统调用方式 4. 可执行文件的格式(ELF,PE) 那么,究竟我们为什么要纠结于ABI这个概念呢?...答案是为了兼容,只要OS遵守相同的ABI规范,那么不同的应用就可以实现向前兼容,再也不用担心版本升级后,旧版本的应用不能运行了。 ? 3....Abstraction ABI 在某些情况下,内核过于底层,开发者需要更高一层的抽象。于是出现了类似Mesa 3D的为图形驱动开发而生的API。 ?
文件的内容,使用 source insight 我们可以看到这 5 个实现函数: 当你在 GNU Radio Companion (GRC) 图中使用 OFDM Carrier Allocator...模块时,模块的生命周期会遵循特定的调用顺序,涉及你提到的函数。...从 make() 开始,通过构造函数初始化,到 work() 方法的重复调用处理数据,再到析构函数的清理工作,这一系列函数定义了 OFDM Carrier Allocator 模块在 GNU Radio...然后,它使用 gnuradio::get_initial_sptr 函数将裸指针包装为智能指针(gnuradio::get_initial_sptr 是 GNU Radio中用于创建智能指针的辅助函数,...在 GNU Radio 中,智能指针主要用于管理模块实例的生命周期,避免内存泄露。智能指针在对象不再被使用时会自动释放关联的资源。
前言 在使用 GNU Radio 时使用官方例程搭建 GNU Radio + USRP 实现 OFDM 收发测试时,发现误码情况很严重,明明都是理想信道的情况下,即时在仿真情况下不接 USRP 硬件设备进行收发也会出现误码...具体分析如下: 下图中数据与触发信号是严格执行对应位置的并行传输关系,Header/Payload Demux 模块先读取 trigger 信号,当读到值为 1 时就被认为是一帧数据的开始,这时就从数据信号的相应位置开始往后提取...Radio 中添加调试打印信息方便分析程序执行流程?...SWIG 是一个通常用于将 C 或 C++ 代码包装成其他编程语言可调用的库的工具,例如在 GNU Radio 项目中将 C++ 代码包装成 Python 模块。...六、资源自取 链接:解决GNU Radio+USRP实现OFDM收发在接收端存在误码问题
具体来说,它返回错误所属的构造函数的名称。 它有6个不同的值-EvalError,RangeError,ReferenceError,TypeError,SyntaxError,URIError。...换句话说,当 JS 引擎在解析代码时遇到不符合语言语法的令牌或令牌顺序时,将抛出SyntaxError。...TypeError 创建一个error实例,表示错误的原因:变量或参数不属于有效类型。...new TypeError([message[, fileName[, lineNumber]]]) 下面情况会引发 TypeError: 在传递和预期的函数的参数或操作数之间存在类型不兼容。...简单来说,当我们将不正确的参数传递给encodeURIComponent()或decodeURIComponent()函数时,就会引发这种情况。
"use strict"出现的原因 ES旧标准中,存在不完善的特性,ES5规范对这些不完善的特性进行了修改。 但是为了兼容老版本浏览器,这些不完善的特性还是默认可以使用。...利于JS引擎执行优化,提升运行速度。 "use strict"如何开启 要开启严格模式,我们可以把"use strict"放在文件顶部或者函数顶部。...// 抛出TypeError错误,非严格模式时,无法删除但不报错 属性名唯一、函数参数名唯一 "use strict"; var o = { p: 1, p: 2 }; // !!!...语法错误 return a + a + c; // 代码运行到这里会出错,非严格模式时,直接覆盖前面的同名参数 } 禁止八进制数字语法 "use strict"; var sum = 015 + /...x; } eval不再为上层范围引入新变量 在 eval 执行的严格模式代码下,变量的行为与严格模式下非 eval 执行的代码中的变量相同。
jQuery Ajax 操作函数 jQuery 库拥有完整的 Ajax 兼容套件,其中的函数和方法允许我们在不刷新浏览器的情况下从服务器加载数据。...请求成功时可调用回调函数,如果需要在出错时执行函数,请使用 $.ajax。 示例代码: $.get("....其实应该为客户端请求的类型(JSON,XML,等等) 这是一个简单的 POST 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。...使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。...使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
当派生类实现了这个纯虚函数后,才能通过派生类的对象调用这个函数,且调用时执行的是派生类中定义的函数逻辑。...基类定义了一系列纯虚函数作为接口,不同的派生类根据自身的特点和需求去具体实现这些函数,这样就可以通过基类指针或引用指向不同的派生类对象,并调用这些虚函数时,执行不同派生类中对应的函数实现,呈现出多态的行为...,调用 draw 函数时,根据对象实际类型执行相应派生类中定义的绘制逻辑,体现了多态性。...{ // 在这里定义func函数实现,使得Derived类可以实例化对象 } }; 函数签名一致性 派生类在定义纯虚函数时,必须保证函数签名(包括函数名、参数列表、返回类型,...函数签名一致性:派生类在实现抽象类中的纯虚函数时,要保证函数签名(包括函数名、参数类型、返回类型等)与抽象类中的定义一致。只有满足这个条件,才能正确地实现多态性。
GNU Octave是一种高级解释语言,主要用于数值计算。它提供了线性和非线性问题的数值解,以及执行其他数值实验的能力。它还为数据可视化和操作提供了广泛的图形功能。...该项目是在 1988 年左右构思的,起初它的目的是作为化学反应器设计课程的伴侣。GNU Octave 语言在很大程度上与Matlab兼容因此大多数程序都易于移植。...此外,还支持 C 标准库和 UNIX 系统调用和函数中已知的函数。...可以通过创建Oct-Files或使用 Matlab 兼容的 Mex-Files从 Octave 调用 C/C++ 和 Fortran 代码。.../ 随便看一个Arduino的包 内部的Doc C:\Program Files\GNU Octave\Octave-6.4.0 这里是程序的实现位置 https://github.com/xianyi
1、 RangeError 范围错误 当数字超出允许的值范围时,将抛出此错误;或者JS执行进入死循环。...当在记录中找到环境值并提取并返回值时,将以该变量的名称作为关键字搜索环境记录。 调用尚未定义的函数。 现在,当我们创建或定义一个没有赋值的变量时。...4.TypeError 类型错误 当其他NativeError对象中没有一个是失败原因的适当指示时,TypeError用于指示操作失败。 对错误的数据类型执行操作时会发生TypeError。...URIErro 这表明使用一种全局URI处理功能与其定义不兼容。 JS中的URI(统一资源指示符)具有以下功能:decodeURI,decodeURIComponent等。...保留该对象是为了与本规范的先前版本兼容。 7.InternalError 内部错误 该错误在JS引擎内部发生,特别是当它有太多数据要处理并且堆栈增长超过其关键限制时。
你可以把它作为你编译和连接过程中的一部分用来生成你的可执行代码。如果你用gcc来编译产生可执行代码的话,你可以用“-l”参数来指定这个库函数。你也可以用ld来做,使用它的“-l”和“-L”参数选项。...另外,还有一个名字是编译器编译的时候需要的函数库的名字,这个名字就是简单的soname名字,而不包含任何版本号信息。 管理共享函数库的关键是区分好这些名字。...这样就有可能使得某地程序可能使得ldd来执行某些意想不到的代码,而产生不安全的隐患。 3.6. 不兼容的函数库 如果一个新版的函数库要和老版本的二进制的库不兼容,则soname需要改变。...$ * 编写自己的程序时请不要依赖这个; 尝试确保您的库向后兼容,或者您每次进行不兼容的更改时都会在soname中增加版本号。...不兼容的库 当新版本的库与旧版本的二进制不兼容时,soname需要更改。
领取专属 10元无门槛券
手把手带您无忧上云