Revision 51a9c2d4 host/lib/usrp/usrp2/dsp_impl.cpp
| b/host/lib/usrp/usrp2/dsp_impl.cpp | ||
|---|---|---|
| 20 | 20 |
#include <uhd/usrp/dsp_props.hpp> |
| 21 | 21 |
#include <uhd/utils/assert.hpp> |
| 22 | 22 |
#include <boost/format.hpp> |
| 23 |
#include <boost/bind.hpp> |
|
| 23 | 24 |
#include <boost/assign/list_of.hpp> |
| 24 | 25 |
#include <boost/math/special_functions/round.hpp> |
| 25 | 26 |
|
| ... | ... | |
| 82 | 83 |
|
| 83 | 84 |
void usrp2_impl::update_ddc_config(void){
|
| 84 | 85 |
//set the decimation |
| 85 |
this->poke32(FR_DSP_RX_DECIM_RATE, _ddc_decim);
|
|
| 86 |
_iface->poke32(FR_DSP_RX_DECIM_RATE, _ddc_decim);
|
|
| 86 | 87 |
|
| 87 | 88 |
//set the scaling |
| 88 | 89 |
static const boost::int16_t default_rx_scale_iq = 1024; |
| 89 |
this->poke32(FR_DSP_RX_SCALE_IQ,
|
|
| 90 |
_iface->poke32(FR_DSP_RX_SCALE_IQ,
|
|
| 90 | 91 |
calculate_iq_scale_word(default_rx_scale_iq, default_rx_scale_iq) |
| 91 | 92 |
); |
| 92 | 93 |
} |
| ... | ... | |
| 126 | 127 |
ASSERT_THROW(new_freq <= get_master_clock_freq()/2.0); |
| 127 | 128 |
ASSERT_THROW(new_freq >= -get_master_clock_freq()/2.0); |
| 128 | 129 |
_ddc_freq = new_freq; //shadow |
| 129 |
this->poke32(FR_DSP_RX_FREQ,
|
|
| 130 |
_iface->poke32(FR_DSP_RX_FREQ,
|
|
| 130 | 131 |
calculate_freq_word_and_update_actual_freq(_ddc_freq, get_master_clock_freq()) |
| 131 | 132 |
); |
| 132 | 133 |
} |
| ... | ... | |
| 170 | 171 |
boost::int16_t scale = rint((4096*std::pow(2, ceil(log2(interp_cubed))))/(1.65*interp_cubed)); |
| 171 | 172 |
|
| 172 | 173 |
//set the interpolation |
| 173 |
this->poke32(FR_DSP_TX_INTERP_RATE, _ddc_decim);
|
|
| 174 |
_iface->poke32(FR_DSP_TX_INTERP_RATE, _ddc_decim);
|
|
| 174 | 175 |
|
| 175 | 176 |
//set the scaling |
| 176 |
this->poke32(FR_DSP_TX_SCALE_IQ, calculate_iq_scale_word(scale, scale));
|
|
| 177 |
_iface->poke32(FR_DSP_TX_SCALE_IQ, calculate_iq_scale_word(scale, scale));
|
|
| 177 | 178 |
} |
| 178 | 179 |
|
| 179 | 180 |
/*********************************************************************** |
| ... | ... | |
| 211 | 212 |
ASSERT_THROW(new_freq <= get_master_clock_freq()/2.0); |
| 212 | 213 |
ASSERT_THROW(new_freq >= -get_master_clock_freq()/2.0); |
| 213 | 214 |
_duc_freq = new_freq; //shadow |
| 214 |
this->poke32(FR_DSP_TX_FREQ,
|
|
| 215 |
_iface->poke32(FR_DSP_TX_FREQ,
|
|
| 215 | 216 |
calculate_freq_word_and_update_actual_freq(_duc_freq, get_master_clock_freq()) |
| 216 | 217 |
); |
| 217 | 218 |
} |
Also available in: Unified diff