Add new signal generator method that only creates the PRBS
This commit is contained in:
@@ -7,6 +7,11 @@ classdef Signalgenerator_test < IMDDTestCase
|
||||
testCase.verifyEqual(gen.length, 1024);
|
||||
testCase.verifyEqual(gen.fs, 1000);
|
||||
testCase.verifyEqual(gen.fsig, 50);
|
||||
testCase.verifyEqual(gen.dimension, 1);
|
||||
testCase.verifyEqual(gen.order, 7);
|
||||
testCase.verifyEqual(gen.randkey, 0);
|
||||
testCase.verifyEqual(gen.skip, 0);
|
||||
testCase.verifyFalse(gen.bruijn);
|
||||
end
|
||||
|
||||
function buildSignalProducesExpectedSineWave(testCase)
|
||||
@@ -38,5 +43,79 @@ classdef Signalgenerator_test < IMDDTestCase
|
||||
testCase.verifyEqual(out.signal, [0 1 0 -1], "AbsTol", 1e-12);
|
||||
testCase.verifyEqual(height(out.logbook), 1);
|
||||
end
|
||||
|
||||
function randomDataIsDeterministicAndColumnShaped(testCase)
|
||||
gen = Signalgenerator( ...
|
||||
"form", signalform.random, ...
|
||||
"length", 8, ...
|
||||
"dimension", 2, ...
|
||||
"randkey", 3);
|
||||
|
||||
signal = gen.build_signal();
|
||||
expected = [ ...
|
||||
1 0; ...
|
||||
1 0; ...
|
||||
0 0; ...
|
||||
1 0; ...
|
||||
1 1; ...
|
||||
1 0; ...
|
||||
0 1; ...
|
||||
0 1];
|
||||
|
||||
testCase.verifySize(signal, [8 2]);
|
||||
testCase.verifyEqual(signal, expected);
|
||||
end
|
||||
|
||||
function prmsDataUsesMoveItStyleShape(testCase)
|
||||
gen = Signalgenerator( ...
|
||||
"form", signalform.prms, ...
|
||||
"length", 8, ...
|
||||
"dimension", 2, ...
|
||||
"order", 6);
|
||||
|
||||
signal = gen.build_signal();
|
||||
expected = [ ...
|
||||
1 0; ...
|
||||
1 0; ...
|
||||
0 1; ...
|
||||
1 0; ...
|
||||
0 1; ...
|
||||
0 0; ...
|
||||
1 0; ...
|
||||
0 0];
|
||||
|
||||
testCase.verifySize(signal, [8 2]);
|
||||
testCase.verifyEqual(signal, expected);
|
||||
end
|
||||
|
||||
function prmsLengthDefaultsToPamSourceStyleLength(testCase)
|
||||
pam4Gen = Signalgenerator( ...
|
||||
"form", signalform.prms, ...
|
||||
"dimension", 2, ...
|
||||
"order", 7);
|
||||
pam6Gen = Signalgenerator( ...
|
||||
"form", signalform.prms, ...
|
||||
"dimension", 5, ...
|
||||
"order", 7);
|
||||
|
||||
testCase.verifyEqual(pam4Gen.length, 2^(7 - 1));
|
||||
testCase.verifyEqual(pam6Gen.length, 2^(7 - 2));
|
||||
end
|
||||
|
||||
function processWrapsPrmsSignalInInformationsignal(testCase)
|
||||
gen = Signalgenerator( ...
|
||||
"form", signalform.prms, ...
|
||||
"length", 8, ...
|
||||
"dimension", 2, ...
|
||||
"order", 6, ...
|
||||
"fs", 42);
|
||||
|
||||
out = gen.process();
|
||||
|
||||
testCase.verifyClass(out, 'Informationsignal');
|
||||
testCase.verifySize(out.signal, [8 2]);
|
||||
testCase.verifyEqual(out.fs, 42);
|
||||
testCase.verifyEqual(height(out.logbook), 1);
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user