MATLAB Coder: Undefined function or Variable, the first assignment to a local variable determines its class
5 次查看(过去 30 天)
显示 更早的评论
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 个评论
Walter Roberson
2019-9-20
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.)
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 FSK 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!