【发布时间】:2015-07-12 10:48:03
【问题描述】:
我正在尝试通过 TCP/IP(与 GNU Radio 接口)传输和接收数据:
data = rand(1,128);
t = tcpip('127.0.0.1',2012,'Timeout', 120);
s = whos('data');
set(t,'OutputBufferSize',s.bytes);
fopen(t);
fwrite(t,data,'double')
m=tcpip('127.0.0.1',2022,'Timeout', 120);
set(m,'InputBufferSize',s.bytes)
fopen(m);
fread(m)
当我读取我的数据时,这些都是 0 或 1,我需要获取我为我的应用程序传输的浮点数据。有人可以告诉我该怎么做吗?
【问题讨论】:
-
为什么不先转换成ASCII?它会稍微慢一些,但更容易编码。
-
也就是说,发送前使用num2str,接收后使用str2num
-
实际上我需要传输浮点数(例如0.1067),这将在(0到1)之间变化。这里的数据实际上代表了时域中的 OFDM 信号。我真的需要传输小数,最终这将通过 USRP 传输。如果您能告诉我是否有任何方法可以在 matlab 上通过 tcpip 传输浮点数据,这对我真的很有帮助。是否有任何其他功能。在这里,我正在将 matlab 与 gnuradio 伴侣接口。
-
我错过的另一件事.. s = whos('data'); %i 错误地将 tx_data 放在那里
-
@SanjoyBasak,您可以编辑您的原始帖子以更正您的错误或添加信息;-)