diff options
author | Thomas Tsou <tom@tsou.cc> | 2013-09-05 08:16:47 +0800 |
---|---|---|
committer | Thomas Tsou <tom@tsou.cc> | 2013-10-18 13:10:17 -0400 |
commit | a57bc8a3b9b4c388d24ca4deb493d70f94c85d1f (patch) | |
tree | cdc6cb63b01c885b6583721e6a7c77a0b88f3416 /Transceiver52M/UHDDevice.cpp | |
parent | 84c60f6679d3569b74121f3f616c1f1e36dc44ce (diff) |
Transceiver52M: Setup dual Laurent pulse shaping filter
Provides substantially improved transmit phase error
performance when enabled. Requires use of 4 samples
per symbol, and is enabled by default when set.
Signed-off-by: Thomas Tsou <tom@tsou.cc>
Diffstat (limited to 'Transceiver52M/UHDDevice.cpp')
-rw-r--r-- | Transceiver52M/UHDDevice.cpp | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/Transceiver52M/UHDDevice.cpp b/Transceiver52M/UHDDevice.cpp index 34dd88a..4b43ccf 100644 --- a/Transceiver52M/UHDDevice.cpp +++ b/Transceiver52M/UHDDevice.cpp @@ -62,18 +62,14 @@ struct uhd_dev_offset { * Notes: * USRP1 with timestamps is not supported by UHD. */ -static struct uhd_dev_offset uhd_offsets[NUM_USRP_TYPES * 3] = { +static struct uhd_dev_offset uhd_offsets[NUM_USRP_TYPES * 2] = { { USRP1, 1, 0.0 }, - { USRP1, 2, 0.0 }, { USRP1, 4, 0.0 }, { USRP2, 1, 5.4394e-5 }, - { USRP2, 2, 0.0 }, { USRP2, 4, 0.0 }, { B100, 1, 9.4778e-5 }, - { B100, 2, 5.1100e-5 }, { B100, 4, 2.9418e-5 }, { UMTRX, 1, 9.4778e-5 }, - { UMTRX, 2, 0.0 }, { UMTRX, 4, 0.0 }, }; @@ -86,25 +82,23 @@ static double get_dev_offset(enum uhd_dev_type type, int sps) switch (sps) { case 1: - return uhd_offsets[3 * type + 0].offset; - case 2: - return uhd_offsets[3 * type + 1].offset; + return uhd_offsets[2 * type + 0].offset; case 4: - return uhd_offsets[3 * type + 2].offset; + return uhd_offsets[2 * type + 1].offset; } LOG(ERR) << "Unsupported samples-per-symbols: " << sps; - return 0.0; + return 0.0; } /* * Select sample rate based on device type and requested samples-per-symbol. * The base rate is either GSM symbol rate, 270.833 kHz, or the minimum * usable channel spacing of 400 kHz. - */ + */ static double select_rate(uhd_dev_type type, int sps) { - if ((sps != 4) && (sps != 2) && (sps != 1)) + if ((sps != 4) && (sps != 1)) return -9999.99; switch (type) { |