|
From: Tom T. <to...@ts...> - 2015-01-24 03:03:21
|
Existing implementation was using the same RRC prototype filter on
transmit and receive filterbanks. But, the receive input from the device
is 6.25 Msps vs 3.84 Msps, which leads to wider RRC filter bandwidth
than specified and excess noise being present in the signal. Correct by
scaling the time domain pulse by a factor of 384/625 to obtain the
appropriate pulse shape.
Signed-off-by: Tom Tsou <to...@ts...>
---
TransceiverUHD/RadioInterface.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/TransceiverUHD/RadioInterface.cpp b/TransceiverUHD/RadioInterface.cpp
index 65b2420..50d3b1b 100644
--- a/TransceiverUHD/RadioInterface.cpp
+++ b/TransceiverUHD/RadioInterface.cpp
@@ -139,7 +139,8 @@ RadioInterface::~RadioInterface(void)
bool RadioInterface::init()
{
dnsampler = new Resampler(RESAMP_INRATE, RESAMP_OUTRATE, RESAMP_TAP_LEN);
- if (!dnsampler->init(Resampler::FILTER_TYPE_RRC)) {
+ if (!dnsampler->init(Resampler::FILTER_TYPE_RRC,
+ (float) RESAMP_INRATE / (float) RESAMP_OUTRATE)) {
LOG(ALERT) << "Rx resampler failed to initialize";
return false;
}
--
2.1.0
|