EQ Structures for MPI mitigation

This commit is contained in:
Silas
2024-08-15 09:40:59 +02:00
parent 34f9149346
commit 23f386da77
13 changed files with 880 additions and 135 deletions

View File

@@ -51,7 +51,7 @@ classdef PAMsource
warning('No Pulseformer given. Proceeding with RRC and alpha 0.05');
options.pulseformer = Pulseformer("fsym",obj.fsym,"fdac",obj.fs_out,"pulse","rrc","pulselength",16,"rrcalpha",0.05);
end
end
@@ -67,12 +67,12 @@ classdef PAMsource
if obj.useprbs
for i = 1:log2(obj.M)
[bitpattern(:,i),seed] = prbs(O,N,seed);
end
end
else
s = RandStream('twister','Seed',obj.randkey);
for i = 1:log2(obj.M)
bitpattern(:,i) = randi(s,[0 1], N, 1);
end
end
end
if obj.M == 6
@@ -102,7 +102,12 @@ classdef PAMsource
%%%%% Hard clip digital signal to PAM range before DAC %%%%%%
if obj.applyclipping
digi_sig.signal = clip(digi_sig.signal , sym_min * obj.clipfactor , sym_max * obj.clipfactor);
try
digi_sig.signal = clip(digi_sig.signal , sym_min * obj.clipfactor , sym_max * obj.clipfactor);
catch
digi_sig.signal(digi_sig.signal > sym_max * obj.clipfactor) = sym_max * obj.clipfactor;
digi_sig.signal(digi_sig.signal < sym_min * obj.clipfactor) = sym_min * obj.clipfactor;
end
end
% append to logbook