I want to transmit an image using Simulink and USRP

1 view (last 30 days)
function msg = genMsg
%#codegen
persistent msgBinRows msgBinCols msgBin;
coder.extrinsic('imread');
% count;
if isempty(msgBin)
%count = 0;
imgmatRows = 256;
imgmatCols = 256;
imgmat = zeros(imgmatRows,imgmatCols);
imgmat = imread('cameraman.tif');
imgvec = reshape(imgmat, 1, imgmatRows * imgmatCols);
msgBin = de2bi(imgvec, 'left-msb');
[msgBinRows, msgBinCols] = size(msgBin);
end
msg = reshape(double(msgBin).', msgBinRows*msgBinCols, 1);
When I run this code it produces the following error
Data 'msg' (#24) is inferred as a variable size matrix, while its specified type is something else
How can I fix this problem?

Answers (1)

Walter Roberson
Walter Roberson on 7 Feb 2013
At the beginning, initialize
msg = zeros(256*256*8, 1);
Warning your de2bi() call really should specify "n".

Categories

Find more on Communications Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!