MATLAB Coder: Undefined function or Variable, the first assignment to a local variable determines its class
5 views (last 30 days)
Show older comments
Hi,
I am using MATLAB Coder to convert a simple FSK Modem to C Code. Following are my codes:
Modulator Function:
function modSignal = my4FSKmod(data)
M = 4;
freqSep = 200;
fskMod = comm.FSKModulator(M,freqSep,'BitInput',1);
modSignal = step(fskMod,data);
end
Demodulator Function:
function demodData = my4FSKdemod(receivedSignal)
M = 4;
freqSep = 200;
fskDemod = comm.FSKDemodulator(M,freqSep,'BitOutput',1);
demodData = zeros(100,1);
demodData = step(fskDemod,receivedSignal);
end
My Test Code:
data = randi([0 1],100,1);
mod_out = my4FSKmod(data);
demod_out = my4FSKdemod(mod_out);
isequal(data,demod_out);
I went through few MATLAB Answer links and introduced the intialization of the 'demodData', but I still get this issue. Am I missing anything? kindly advice
2 Comments
Walter Roberson
on 20 Sep 2019
You should probably not be building your modulator and demodulator every step. You should be building them at the time you initialize your system, save the variable somewhere handy, and recall it each time you need it. This is especially important for carrying on processing of a partially-used buffer (your packets are probably going to be varying size, due to data compression and error correction that you insert.)
Answers (0)
See Also
Categories
Find more on FSK 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!