Merge branch 'main' of cau-git.rz.uni-kiel.de:nt/mitarbeiter/silas/imdd_simulation
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
% Minimal example: Signalgenerator -> PAMmapper -> demap -> BER
|
||||
|
||||
clear; clc;
|
||||
|
||||
repoRoot = fileparts(fileparts(fileparts(mfilename("fullpath"))));
|
||||
addpath(genpath(repoRoot));
|
||||
|
||||
orders = [2 4 6 8];
|
||||
userOrder = 7;
|
||||
|
||||
fprintf("PAM | bits checked | errors | BER\n");
|
||||
fprintf("----+--------------+--------+-----\n");
|
||||
|
||||
for M = orders
|
||||
if M == 6
|
||||
bitsPerBlock = 5;
|
||||
else
|
||||
bitsPerBlock = log2(M);
|
||||
end
|
||||
|
||||
bitSignal = Signalgenerator( ...
|
||||
"form", signalform.prms, ...
|
||||
"dimension", bitsPerBlock, ...
|
||||
"order", userOrder).process();
|
||||
|
||||
if M == 6
|
||||
txBits = reshape(bitSignal.signal.', [], 1);
|
||||
txBits = txBits(1:end - mod(numel(txBits), bitsPerBlock));
|
||||
else
|
||||
txBits = bitSignal.signal;
|
||||
end
|
||||
|
||||
mapper = PAMmapper(M, 0);
|
||||
txSymbols = mapper.map(txBits);
|
||||
rxBits = mapper.demap(txSymbols);
|
||||
|
||||
[checkedBits, errors, ber] = calc_ber(rxBits, txBits);
|
||||
|
||||
fprintf("%3d | %12d | %6d | %.1e\n", M, checkedBits, errors, ber);
|
||||
end
|
||||
Reference in New Issue
Block a user