I want to transmit an image using Simulink and USRP

2 次查看(过去 30 天)
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?

回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Communications Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by