hackrf: select narrower filters in auto bw mode to prevent aliasing

standalone
Dimitri Stolnikov 10 years ago
parent ef37d1caae
commit 656a9a014f
  1. 4
      lib/hackrf/hackrf_sink_c.cc
  2. 4
      lib/hackrf/hackrf_source_c.cc

@ -495,7 +495,7 @@ double hackrf_sink_c::set_sample_rate( double rate )
ret = hackrf_set_sample_rate( _dev, rate );
if ( HACKRF_SUCCESS == ret ) {
_sample_rate = rate;
set_bandwidth( rate );
set_bandwidth( 0.0 ); /* bandwidth of 0 means automatic filter selection */
} else {
HACKRF_THROW_ON_ERROR( ret, HACKRF_FUNC_STR( "hackrf_set_sample_rate", rate ) )
}
@ -696,7 +696,7 @@ double hackrf_sink_c::set_bandwidth( double bandwidth, size_t chan )
// osmosdr::freq_range_t bandwidths = get_bandwidth_range( chan );
if ( bandwidth == 0.0 ) /* bandwidth of 0 means automatic filter selection */
bandwidth = _sample_rate;
bandwidth = _sample_rate * 0.75; /* select narrower filters to prevent aliasing */
if ( _dev ) {
/* compute best default value depending on sample rate (auto filter) */

@ -387,7 +387,7 @@ double hackrf_source_c::set_sample_rate( double rate )
ret = hackrf_set_sample_rate( _dev, rate );
if ( HACKRF_SUCCESS == ret ) {
_sample_rate = rate;
set_bandwidth( rate );
set_bandwidth( 0.0 ); /* bandwidth of 0 means automatic filter selection */
} else {
HACKRF_THROW_ON_ERROR( ret, HACKRF_FUNC_STR( "hackrf_set_sample_rate", rate ) )
}
@ -615,7 +615,7 @@ double hackrf_source_c::set_bandwidth( double bandwidth, size_t chan )
// osmosdr::freq_range_t bandwidths = get_bandwidth_range( chan );
if ( bandwidth == 0.0 ) /* bandwidth of 0 means automatic filter selection */
bandwidth = _sample_rate;
bandwidth = _sample_rate * 0.75; /* select narrower filters to prevent aliasing */
if ( _dev ) {
/* compute best default value depending on sample rate (auto filter) */

Loading…
Cancel
Save