How can I do the same job that the simulink block "Byte Unpack" but in matlab not with simulink
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Alexis Artuso
el 22 de Jun. de 2016
Comentada: Alexis Artuso
el 27 de Jun. de 2016
Hi everyone,
I'm looking for functions in matlab or different ways to create a function which can do the same job that the simulink block "Byte Unpack".
I'm trying to unpack the input data message(uint8) to the unpacked output message (single) with 6 output ports dimension (See picture). But in my case I don't want to use simulink, only matlab code. The input data message come from to :
Receiver = dsp.UDPReceiver('LocalIPPort',8080,'RemoteIPAddress','192.168.102.111',...
'ReceiveBufferSize',24,'MaximumMessageLength',24,'MessageDataType','uint8');
DATAReceived = step(Receiver);
Any ideas? or suggestions?
Thanks,
Alexis
0 comentarios
Respuesta aceptada
Steven Lord
el 22 de Jun. de 2016
I think some combination of typecast and swapbytes will get you close to what you want.
3 comentarios
Steven Lord
el 22 de Jun. de 2016
You want to know how to get 6 single precision numbers from typecast? Pass in a vector of 24 int8 values.
s = single(1:6)
in = typecast(s, 'int8')
s2 = typecast(in, 'single')
Take a look at the values in s and in with the display format set to "format hex" and you should see how they're related. You can also experiment with swapbytes on s and how that affects the values stored in in.
Más respuestas (0)
Ver también
Categorías
Más información sobre Prepare Model Inputs and Outputs en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!