TransceiverUHD: Correct receive RRC pulse shaping filter bandwidth

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 <tom@tsou.cc>
This commit is contained in:
Tom Tsou
2015-01-23 19:03:13 -08:00
committed by Michael Iedema
parent 6e9711c0ff
commit 6cb7498e64

View File

@@ -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;
}