如何在GNU Radio中使用MATLAB文件作为文件源。

问题描述 投票:1回答:2

我设计了一个滤波器,并在MATLAB中使用SPTool将其应用于随机噪声信号。我的噪声信号是 x = (1/sqrt(2))*(randn(1024,1)+j*randn(1024,1))

一旦我将我的滤波器应用到这个噪声信号上,我怎样才能将过滤后的信号作为GNU Radio Companion的文件源(我将连接到QT GUI Frequency Sink)?我试着用SPTool导出信号,但我不确定我可以用GNU Radio的什么文件扩展名。先谢谢你。

matlab gnuradio gnuradio-companion
2个回答
2
投票

使用... fwrite 得体 精密 参数,给你浮动32二进制。

或者直接使用octaveMatlab的 GNU Radio中的脚本 的文件格式,其作用正是:写入原始二进制数据。更多信息,请参见GNU Radio FAQ中关于文件格式的条目。(在 https:/wiki.gnuradio.org )


0
投票

如果你有一个.mat文件,另一个选择是使用矢量源块放入矢量字段。

loadmat('filename')['varname'].flatten()

为了使这个方法有效,你需要:

import numpy
from scipy.io import loadmat

请注意,这将在内存中加载整个文件(但如果有问题,你可以指定从文件中加载哪些变量)。另外,如果数据被存储为float64(Matlab中的标准),那么我认为可能会有一些舍入truncation,因为GR Vector Source期望float32(对SWIG如何处理这个问题还不够了解)。

© www.soinside.com 2019 - 2024. All rights reserved.