Advertisement
Guest User

Untitled

a guest
Oct 15th, 2011
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 48.76 KB | None | 0 0
  1.  
  2. /*
  3. * This file was automatically generated using swig_doc.py.
  4. *
  5. * Any changes to it will be lost next time it is regenerated.
  6. */
  7.  
  8.  
  9. %feature("docstring") digital_binary_slicer_fb "slice float binary symbol outputting 1 bit output
  10.  
  11. x < 0 --> 0 x >= 0 --> 1"
  12.  
  13. %feature("docstring") digital_binary_slicer_fb::digital_binary_slicer_fb "
  14.  
  15. Params: (NONE)"
  16.  
  17. %feature("docstring") digital_binary_slicer_fb::work "
  18.  
  19. Params: (noutput_items, input_items, output_items)"
  20.  
  21. %feature("docstring") digital_make_binary_slicer_fb "Creates a binary_slicer_fb block.
  22.  
  23. slice float binary symbol outputting 1 bit output
  24.  
  25. x < 0 --> 0 x >= 0 --> 1
  26.  
  27. Params: (NONE)"
  28.  
  29. %feature("docstring") digital_clock_recovery_mm_cc "Mueller and M?ller (M&M) based clock recovery block with complex input, complex output.
  30.  
  31. This implements the Mueller and M?ller (M&M) discrete-time error-tracking synchronizer. The complex version here is based on: Modified Mueller and Muller clock recovery circuit Based: G. R. Danesfahani, T.G. Jeans, \"Optimisation of modified Mueller and Muller
  32. algorithm,\" Electronics Letters, Vol. 31, no. 13, 22 June 1995, pp. 1032 - 1033."
  33.  
  34. %feature("docstring") digital_clock_recovery_mm_cc::~digital_clock_recovery_mm_cc "
  35.  
  36. Params: (NONE)"
  37.  
  38. %feature("docstring") digital_clock_recovery_mm_cc::forecast "
  39.  
  40. Params: (noutput_items, ninput_items_required)"
  41.  
  42. %feature("docstring") digital_clock_recovery_mm_cc::general_work "
  43.  
  44. Params: (noutput_items, ninput_items, input_items, output_items)"
  45.  
  46. %feature("docstring") digital_clock_recovery_mm_cc::mu "
  47.  
  48. Params: (NONE)"
  49.  
  50. %feature("docstring") digital_clock_recovery_mm_cc::omega "
  51.  
  52. Params: (NONE)"
  53.  
  54. %feature("docstring") digital_clock_recovery_mm_cc::gain_mu "
  55.  
  56. Params: (NONE)"
  57.  
  58. %feature("docstring") digital_clock_recovery_mm_cc::gain_omega "
  59.  
  60. Params: (NONE)"
  61.  
  62. %feature("docstring") digital_clock_recovery_mm_cc::set_verbose "
  63.  
  64. Params: (verbose)"
  65.  
  66. %feature("docstring") digital_clock_recovery_mm_cc::set_gain_mu "
  67.  
  68. Params: (gain_mu)"
  69.  
  70. %feature("docstring") digital_clock_recovery_mm_cc::set_gain_omega "
  71.  
  72. Params: (gain_omega)"
  73.  
  74. %feature("docstring") digital_clock_recovery_mm_cc::set_mu "
  75.  
  76. Params: (mu)"
  77.  
  78. %feature("docstring") digital_clock_recovery_mm_cc::set_omega "
  79.  
  80. Params: (omega)"
  81.  
  82. %feature("docstring") digital_clock_recovery_mm_cc::digital_clock_recovery_mm_cc "
  83.  
  84. Params: (omega, gain_omega, mu, gain_mu, omega_relative_limi)"
  85.  
  86. %feature("docstring") digital_clock_recovery_mm_cc::slicer_0deg "
  87.  
  88. Params: (sample)"
  89.  
  90. %feature("docstring") digital_clock_recovery_mm_cc::slicer_45deg "
  91.  
  92. Params: (sample)"
  93.  
  94. %feature("docstring") digital_make_clock_recovery_mm_cc "Creates a clock_recovery_mm_cc block.
  95.  
  96. Mueller and M?ller (M&M) based clock recovery block with complex input, complex output.
  97.  
  98. This implements the Mueller and M?ller (M&M) discrete-time error-tracking synchronizer. The complex version here is based on: Modified Mueller and Muller clock recovery circuit Based: G. R. Danesfahani, T.G. Jeans, \"Optimisation of modified Mueller and Muller
  99. algorithm,\" Electronics Letters, Vol. 31, no. 13, 22 June 1995, pp. 1032 - 1033.
  100.  
  101. Params: (omega, gain_omega, mu, gain_mu, omega_relative_limi)"
  102.  
  103. %feature("docstring") digital_clock_recovery_mm_ff "Mueller and M?ller (M&M) based clock recovery block with float input, float output.
  104.  
  105. This implements the Mueller and M?ller (M&M) discrete-time error-tracking synchronizer.
  106.  
  107. See \"Digital Communication Receivers: Synchronization, Channel
  108. Estimation and Signal Processing\" by Heinrich Meyr, Marc Moeneclaey, & Stefan Fechtel. ISBN 0-471-50275-8."
  109.  
  110. %feature("docstring") digital_clock_recovery_mm_ff::~digital_clock_recovery_mm_ff "
  111.  
  112. Params: (NONE)"
  113.  
  114. %feature("docstring") digital_clock_recovery_mm_ff::forecast "
  115.  
  116. Params: (noutput_items, ninput_items_required)"
  117.  
  118. %feature("docstring") digital_clock_recovery_mm_ff::general_work "
  119.  
  120. Params: (noutput_items, ninput_items, input_items, output_items)"
  121.  
  122. %feature("docstring") digital_clock_recovery_mm_ff::mu "
  123.  
  124. Params: (NONE)"
  125.  
  126. %feature("docstring") digital_clock_recovery_mm_ff::omega "
  127.  
  128. Params: (NONE)"
  129.  
  130. %feature("docstring") digital_clock_recovery_mm_ff::gain_mu "
  131.  
  132. Params: (NONE)"
  133.  
  134. %feature("docstring") digital_clock_recovery_mm_ff::gain_omega "
  135.  
  136. Params: (NONE)"
  137.  
  138. %feature("docstring") digital_clock_recovery_mm_ff::set_gain_mu "
  139.  
  140. Params: (gain_mu)"
  141.  
  142. %feature("docstring") digital_clock_recovery_mm_ff::set_gain_omega "
  143.  
  144. Params: (gain_omega)"
  145.  
  146. %feature("docstring") digital_clock_recovery_mm_ff::set_mu "
  147.  
  148. Params: (mu)"
  149.  
  150. %feature("docstring") digital_clock_recovery_mm_ff::set_omega "
  151.  
  152. Params: (omega)"
  153.  
  154. %feature("docstring") digital_clock_recovery_mm_ff::digital_clock_recovery_mm_ff "
  155.  
  156. Params: (omega, gain_omega, mu, gain_mu, omega_relative_limit)"
  157.  
  158. %feature("docstring") digital_make_clock_recovery_mm_ff "Creates a clock_recovery_mm_ff block.
  159.  
  160. Mueller and M?ller (M&M) based clock recovery block with float input, float output.
  161.  
  162. This implements the Mueller and M?ller (M&M) discrete-time error-tracking synchronizer.
  163.  
  164. See \"Digital Communication Receivers: Synchronization, Channel
  165. Estimation and Signal Processing\" by Heinrich Meyr, Marc Moeneclaey, & Stefan Fechtel. ISBN 0-471-50275-8.
  166.  
  167. Params: (omega, gain_omega, mu, gain_mu, omega_relative_limit)"
  168.  
  169. %feature("docstring") digital_cma_equalizer_cc "Implements constant modulus adaptive filter on complex stream
  170.  
  171. The error value and tap update equations (for p=2) can be found in:
  172.  
  173. D. Godard, \"Self-Recovering Equalization and Carrier Tracking in
  174. Two-Dimensional Data Communication Systems,\" IEEE Transactions on Communications, Vol. 28, No. 11, pp. 1867 - 1875, 1980,"
  175.  
  176. %feature("docstring") digital_cma_equalizer_cc::digital_cma_equalizer_cc "
  177.  
  178. Params: (num_taps, modulus, mu, sps)"
  179.  
  180. %feature("docstring") digital_cma_equalizer_cc::error "
  181.  
  182. Params: (out)"
  183.  
  184. %feature("docstring") digital_cma_equalizer_cc::update_tap "
  185.  
  186. Params: (tap, in)"
  187.  
  188. %feature("docstring") digital_cma_equalizer_cc::get_gain "
  189.  
  190. Params: (NONE)"
  191.  
  192. %feature("docstring") digital_cma_equalizer_cc::set_gain "
  193.  
  194. Params: (mu)"
  195.  
  196. %feature("docstring") digital_cma_equalizer_cc::get_modulus "
  197.  
  198. Params: (NONE)"
  199.  
  200. %feature("docstring") digital_cma_equalizer_cc::set_modulus "
  201.  
  202. Params: (mod)"
  203.  
  204. %feature("docstring") digital_make_cma_equalizer_cc "Creates a cma_equalizer_cc block.
  205.  
  206. Implements constant modulus adaptive filter on complex stream
  207.  
  208. The error value and tap update equations (for p=2) can be found in:
  209.  
  210. D. Godard, \"Self-Recovering Equalization and Carrier Tracking in
  211. Two-Dimensional Data Communication Systems,\" IEEE Transactions on Communications, Vol. 28, No. 11, pp. 1867 - 1875, 1980,
  212.  
  213. Params: (num_taps, modulus, mu, sps)"
  214.  
  215. %feature("docstring") digital_constellation_8psk "Digital constellation for 8PSK."
  216.  
  217. %feature("docstring") digital_constellation_8psk::digital_constellation_8psk "
  218.  
  219. Params: (NONE)"
  220.  
  221. %feature("docstring") digital_constellation_8psk::decision_maker "Returns the constellation point that matches best.
  222.  
  223. Params: (sample)"
  224.  
  225. %feature("docstring") digital_make_constellation_8psk "Creates a constellation_8psk block.
  226.  
  227. Digital constellation for 8PSK.
  228.  
  229. Params: (NONE)"
  230.  
  231. %feature("docstring") digital_constellation_bpsk "Digital constellation for BPSK."
  232.  
  233. %feature("docstring") digital_constellation_bpsk::digital_constellation_bpsk "
  234.  
  235. Params: (NONE)"
  236.  
  237. %feature("docstring") digital_constellation_bpsk::decision_maker "Returns the constellation point that matches best.
  238.  
  239. Params: (sample)"
  240.  
  241. %feature("docstring") digital_make_constellation_bpsk "Creates a constellation_bpsk block.
  242.  
  243. Digital constellation for BPSK.
  244.  
  245. Params: (NONE)"
  246.  
  247. %feature("docstring") digital_constellation_calcdist "Calculate Euclidian distance for any constellation
  248.  
  249. Constellation which calculates the distance to each point in the constellation for decision making. Inefficient for large constellations."
  250.  
  251. %feature("docstring") digital_constellation_calcdist::digital_constellation_calcdist "
  252.  
  253. Params: (constellation, pre_diff_code, rotational_symmetry, dimensionality)"
  254.  
  255. %feature("docstring") digital_constellation_calcdist::decision_maker "Returns the constellation point that matches best.
  256.  
  257. Params: (sample)"
  258.  
  259. %feature("docstring") digital_make_constellation_calcdist "Creates a constellation_calcdist block.
  260.  
  261. Calculate Euclidian distance for any constellation
  262.  
  263. Constellation which calculates the distance to each point in the constellation for decision making. Inefficient for large constellations.
  264.  
  265. Params: (constellation, pre_diff_code, rotational_symmetry, dimensionality)"
  266.  
  267. %feature("docstring") digital_constellation_decoder_cb "Constellation Decoder."
  268.  
  269. %feature("docstring") digital_constellation_decoder_cb::digital_constellation_decoder_cb "
  270.  
  271. Params: (constellation)"
  272.  
  273. %feature("docstring") digital_constellation_decoder_cb::forecast "
  274.  
  275. Params: (noutput_items, ninput_items_required)"
  276.  
  277. %feature("docstring") digital_constellation_decoder_cb::general_work "
  278.  
  279. Params: (noutput_items, ninput_items, input_items, output_items)"
  280.  
  281. %feature("docstring") digital_make_constellation_decoder_cb "Creates a constellation_decoder_cb block.
  282.  
  283. Constellation Decoder.
  284.  
  285. Params: (constellation)"
  286.  
  287. %feature("docstring") digital_constellation_dqpsk "Digital constellation for DQPSK."
  288.  
  289. %feature("docstring") digital_constellation_dqpsk::digital_constellation_dqpsk "
  290.  
  291. Params: (NONE)"
  292.  
  293. %feature("docstring") digital_constellation_dqpsk::decision_maker "Returns the constellation point that matches best.
  294.  
  295. Params: (sample)"
  296.  
  297. %feature("docstring") digital_make_constellation_dqpsk "Creates a constellation_dqpsk block.
  298.  
  299. Digital constellation for DQPSK.
  300.  
  301. Params: (NONE)"
  302.  
  303. %feature("docstring") digital_constellation_psk "digital_constellation_psk
  304.  
  305. Constellation space is divided into pie slices sectors.
  306.  
  307. Each slice is associated with the nearest constellation point.
  308.  
  309. Works well for PSK but nothing else.
  310.  
  311. Assumes that there is a constellation point at 1.x"
  312.  
  313. %feature("docstring") digital_constellation_psk::digital_constellation_psk "
  314.  
  315. Params: (constellation, pre_diff_code, n_sectors)"
  316.  
  317. %feature("docstring") digital_constellation_psk::get_sector "
  318.  
  319. Params: (sample)"
  320.  
  321. %feature("docstring") digital_constellation_psk::calc_sector_value "
  322.  
  323. Params: (sector)"
  324.  
  325. %feature("docstring") digital_make_constellation_psk "Creates a constellation_psk block.
  326.  
  327. digital_constellation_psk
  328.  
  329. Constellation space is divided into pie slices sectors.
  330.  
  331. Each slice is associated with the nearest constellation point.
  332.  
  333. Works well for PSK but nothing else.
  334.  
  335. Assumes that there is a constellation point at 1.x
  336.  
  337. Params: (constellation, pre_diff_code, n_sectors)"
  338.  
  339. %feature("docstring") digital_constellation_qpsk "Digital constellation for QPSK."
  340.  
  341. %feature("docstring") digital_constellation_qpsk::digital_constellation_qpsk "
  342.  
  343. Params: (NONE)"
  344.  
  345. %feature("docstring") digital_constellation_qpsk::decision_maker "Returns the constellation point that matches best.
  346.  
  347. Params: (sample)"
  348.  
  349. %feature("docstring") digital_make_constellation_qpsk "Creates a constellation_qpsk block.
  350.  
  351. Digital constellation for QPSK.
  352.  
  353. Params: (NONE)"
  354.  
  355. %feature("docstring") digital_constellation_receiver_cb "This block takes care of receiving generic modulated signals through phase, frequency, and symbol synchronization.
  356.  
  357. This block takes care of receiving generic modulated signals through phase, frequency, and symbol synchronization. It performs carrier frequency and phase locking as well as symbol timing recovery.
  358.  
  359. The phase and frequency synchronization are based on a Costas loop that finds the error of the incoming signal point compared to its nearest constellation point. The frequency and phase of the NCO are updated according to this error.
  360.  
  361. The symbol synchronization is done using a modified Mueller and Muller circuit from the paper:
  362.  
  363. G. R. Danesfahani, T.G. Jeans, \"Optimisation of modified Mueller
  364. and Muller algorithm,\" Electronics Letters, Vol. 31, no. 13, 22 June 1995, pp. 1032 - 1033.
  365.  
  366. This circuit interpolates the downconverted sample (using the NCO developed by the Costas loop) every mu samples, then it finds the sampling error based on this and the past symbols and the decision made on the samples. Like the phase error detector, there are optimized decision algorithms for BPSK and QPKS, but 8PSK uses another brute force computation against all possible symbols. The modifications to the M&M used here reduce self-noise."
  367.  
  368. %feature("docstring") digital_constellation_receiver_cb::general_work "
  369.  
  370. Params: (noutput_items, ninput_items, input_items, output_items)"
  371.  
  372. %feature("docstring") digital_constellation_receiver_cb::digital_constellation_receiver_cb "Constructor to synchronize incoming M-PSK symbols.
  373.  
  374. The constructor also chooses which phase detector and decision maker to use in the work loop based on the value of M.
  375.  
  376. Params: (constellation, loop_bw, fmin, fmax)"
  377.  
  378. %feature("docstring") digital_constellation_receiver_cb::phase_error_tracking "
  379.  
  380. Params: (phase_error)"
  381.  
  382. %feature("docstring") digital_constellation_receiver_cb::__GR_ATTR_ALIGNED "delay line plus some length for overflow protection
  383.  
  384. Params: ()"
  385.  
  386. %feature("docstring") digital_make_constellation_receiver_cb "Creates a constellation_receiver_cb block.
  387.  
  388. This block takes care of receiving generic modulated signals through phase, frequency, and symbol synchronization.
  389.  
  390. This block takes care of receiving generic modulated signals through phase, frequency, and symbol synchronization. It performs carrier frequency and phase locking as well as symbol timing recovery.
  391.  
  392. The phase and frequency synchronization are based on a Costas loop that finds the error of the incoming signal point compared to its nearest constellation point. The frequency and phase of the NCO are updated according to this error.
  393.  
  394. The symbol synchronization is done using a modified Mueller and Muller circuit from the paper:
  395.  
  396. G. R. Danesfahani, T.G. Jeans, \"Optimisation of modified Mueller
  397. and Muller algorithm,\" Electronics Letters, Vol. 31, no. 13, 22 June 1995, pp. 1032 - 1033.
  398.  
  399. This circuit interpolates the downconverted sample (using the NCO developed by the Costas loop) every mu samples, then it finds the sampling error based on this and the past symbols and the decision made on the samples. Like the phase error detector, there are optimized decision algorithms for BPSK and QPKS, but 8PSK uses another brute force computation against all possible symbols. The modifications to the M&M used here reduce self-noise.
  400.  
  401. Params: (constellation, loop_bw, fmin, fmax)"
  402.  
  403.  
  404.  
  405. %feature("docstring") digital_constellation_rect::digital_constellation_rect "
  406.  
  407. Params: (constellation, pre_diff_code, rotational_symmetry, real_sectors, imag_sectors, width_real_sectors, width_imag_sectors)"
  408.  
  409. %feature("docstring") digital_constellation_rect::get_sector "
  410.  
  411. Params: (sample)"
  412.  
  413. %feature("docstring") digital_constellation_rect::calc_sector_value "
  414.  
  415. Params: (sector)"
  416.  
  417. %feature("docstring") digital_make_constellation_rect "Creates a constellation_rect block.
  418.  
  419.  
  420.  
  421. Params: (constellation, pre_diff_code, rotational_symmetry, real_sectors, imag_sectors, width_real_sectors, width_imag_sectors)"
  422.  
  423. %feature("docstring") digital_correlate_access_code_bb "Examine input for specified access code, one bit at a time.
  424.  
  425. input: stream of bits, 1 bit per input byte (data in LSB) output: stream of bits, 2 bits per output byte (data in LSB, flag in next higher bit)
  426.  
  427. Each output byte contains two valid bits, the data bit, and the flag bit. The LSB (bit 0) is the data bit, and is the original input data, delayed 64 bits. Bit 1 is the flag bit and is 1 if the corresponding data bit is the first data bit following the access code. Otherwise the flag bit is 0."
  428.  
  429. %feature("docstring") digital_correlate_access_code_bb::digital_correlate_access_code_bb "
  430.  
  431. Params: (access_code, threshold)"
  432.  
  433. %feature("docstring") digital_correlate_access_code_bb::~digital_correlate_access_code_bb "
  434.  
  435. Params: (NONE)"
  436.  
  437. %feature("docstring") digital_correlate_access_code_bb::work "
  438.  
  439. Params: (noutput_items, input_items, output_items)"
  440.  
  441. %feature("docstring") digital_correlate_access_code_bb::set_access_code "
  442.  
  443. Params: (access_code)"
  444.  
  445. %feature("docstring") digital_make_correlate_access_code_bb "Creates a correlate_access_code_bb block.
  446.  
  447. Examine input for specified access code, one bit at a time.
  448.  
  449. input: stream of bits, 1 bit per input byte (data in LSB) output: stream of bits, 2 bits per output byte (data in LSB, flag in next higher bit)
  450.  
  451. Each output byte contains two valid bits, the data bit, and the flag bit. The LSB (bit 0) is the data bit, and is the original input data, delayed 64 bits. Bit 1 is the flag bit and is 1 if the corresponding data bit is the first data bit following the access code. Otherwise the flag bit is 0.
  452.  
  453. Params: (access_code, threshold)"
  454.  
  455. %feature("docstring") digital_costas_loop_cc "Carrier tracking PLL for QPSK
  456.  
  457. input: complex; output: complex
  458. The Costas loop can have two output streams: stream 1 is the baseband I and Q; stream 2 is the normalized frequency of the loop.
  459.  
  460. must be 2 or 4."
  461.  
  462. %feature("docstring") digital_costas_loop_cc::digital_costas_loop_cc "
  463.  
  464. Params: (loop_bw, order)"
  465.  
  466. %feature("docstring") digital_costas_loop_cc::phase_detector_8 "the phase detector circuit for 8th-order PSK loops
  467.  
  468. Params: (sample)"
  469.  
  470. %feature("docstring") digital_costas_loop_cc::phase_detector_4 "the phase detector circuit for fourth-order loops
  471.  
  472. Params: (sample)"
  473.  
  474. %feature("docstring") digital_costas_loop_cc::phase_detector_2 "the phase detector circuit for second-order loops
  475.  
  476. Params: (sample)"
  477.  
  478. %feature("docstring") digital_costas_loop_cc::work "
  479.  
  480. Params: (noutput_items, input_items, output_items)"
  481.  
  482. %feature("docstring") digital_make_costas_loop_cc "Creates a costas_loop_cc block.
  483.  
  484. Carrier tracking PLL for QPSK
  485.  
  486. input: complex; output: complex
  487. The Costas loop can have two output streams: stream 1 is the baseband I and Q; stream 2 is the normalized frequency of the loop.
  488.  
  489. must be 2 or 4.
  490.  
  491. Params: (loop_bw, order)"
  492.  
  493. %feature("docstring") digital_cpmmod_bc "Generic CPM modulator.
  494.  
  495. Examples:
  496.  
  497.  
  498. The input of this block are symbols from an M-ary alphabet +/-1, +/-3, ..., +/-(M-1). Usually, M = 2 and therefore, the valid inputs are +/-1. The modulator will silently accept any other inputs, though. The output is the phase-modulated signal."
  499.  
  500. %feature("docstring") digital_cpmmod_bc::digital_cpmmod_bc "
  501.  
  502. Params: (type, h, samples_per_sym, L, beta)"
  503.  
  504. %feature("docstring") digital_cpmmod_bc::get_taps "Return the phase response FIR taps.
  505.  
  506. Params: (NONE)"
  507.  
  508. %feature("docstring") digital_make_cpmmod_bc "Creates a cpmmod_bc block.
  509.  
  510. Generic CPM modulator.
  511.  
  512. Examples:
  513.  
  514.  
  515. The input of this block are symbols from an M-ary alphabet +/-1, +/-3, ..., +/-(M-1). Usually, M = 2 and therefore, the valid inputs are +/-1. The modulator will silently accept any other inputs, though. The output is the phase-modulated signal.
  516.  
  517. Params: (type, h, samples_per_sym, L, beta)"
  518.  
  519. %feature("docstring") digital_fll_band_edge_cc "Frequency Lock Loop using band-edge filters.
  520.  
  521. The frequency lock loop derives a band-edge filter that covers the upper and lower bandwidths of a digitally-modulated signal. The bandwidth range is determined by the excess bandwidth (e.g., rolloff factor) of the modulated signal. The placement in frequency of the band-edges is determined by the oversampling ratio (number of samples per symbol) and the excess bandwidth. The size of the filters should be fairly large so as to average over a number of symbols.
  522.  
  523. The FLL works by filtering the upper and lower band edges into x_u(t) and x_l(t), respectively. These are combined to form cc(t) = x_u(t) + x_l(t) and ss(t) = x_u(t) - x_l(t). Combining these to form the signal e(t) = Re{cc(t) \times ss(t)^*} (where ^* is the complex conjugate) provides an error signal at the DC term that is directly proportional to the carrier frequency. We then make a second-order loop using the error signal that is the running average of e(t).
  524.  
  525. In practice, the above equation can be simplified by just comparing the absolute value squared of the output of both filters: abs(x_l(t))^2 - abs(x_u(t))^2 = norm(x_l(t)) - norm(x_u(t)).
  526.  
  527. In theory, the band-edge filter is the derivative of the matched filter in frequency, (H_be(f) = \frac{H(f)}{df}. In practice, this comes down to a quarter sine wave at the point of the matched filter's rolloff (if it's a raised-cosine, the derivative of a cosine is a sine). Extend this sine by another quarter wave to make a half wave around the band-edges is equivalent in time to the sum of two sinc functions. The baseband filter fot the band edges is therefore derived from this sum of sincs. The band edge filters are then just the baseband signal modulated to the correct place in frequency. All of these calculations are done in the 'design_filter' function.
  528.  
  529. Note: We use FIR filters here because the filters have to have a flat phase response over the entire frequency range to allow their comparisons to be valid.
  530.  
  531. It is very important that the band edge filters be the derivatives of the pulse shaping filter, and that they be linear phase. Otherwise, the variance of the error will be very large."
  532.  
  533. %feature("docstring") digital_fll_band_edge_cc::digital_fll_band_edge_cc "Build the FLL
  534.  
  535. Params: (samps_per_sym, rolloff, filter_size, bandwidth)"
  536.  
  537. %feature("docstring") digital_fll_band_edge_cc::design_filter "Design the band-edge filter based on the number of samples per symbol, filter rolloff factor, and the filter size
  538.  
  539. Params: (samps_per_sym, rolloff, filter_size)"
  540.  
  541. %feature("docstring") digital_fll_band_edge_cc::~digital_fll_band_edge_cc "
  542.  
  543. Params: (NONE)"
  544.  
  545. %feature("docstring") digital_fll_band_edge_cc::set_samples_per_symbol "Set the number of samples per symbol.
  546.  
  547. Set's the number of samples per symbol the system should use. This value is uesd to calculate the filter taps and will force a recalculation.
  548.  
  549. Params: (sps)"
  550.  
  551. %feature("docstring") digital_fll_band_edge_cc::set_rolloff "Set the rolloff factor of the shaping filter.
  552.  
  553. This sets the rolloff factor that is used in the pulse shaping filter and is used to calculate the filter taps. Changing this will force a recalculation of the filter taps.
  554.  
  555. This should be the same value that is used in the transmitter's pulse shaping filter. It must be between 0 and 1 and is usually between 0.2 and 0.5 (where 0.22 and 0.35 are commonly used values).
  556.  
  557. Params: (rolloff)"
  558.  
  559. %feature("docstring") digital_fll_band_edge_cc::set_filter_size "Set the number of taps in the filter.
  560.  
  561. This sets the number of taps in the band-edge filters. Setting this will force a recalculation of the filter taps.
  562.  
  563. This should be about the same number of taps used in the transmitter's shaping filter and also not very large. A large number of taps will result in a large delay between input and frequency estimation, and so will not be as accurate. Between 30 and 70 taps is usual.
  564.  
  565. Params: (filter_size)"
  566.  
  567. %feature("docstring") digital_fll_band_edge_cc::get_samples_per_symbol "Returns the number of sampler per symbol used for the filter.
  568.  
  569. Params: (NONE)"
  570.  
  571. %feature("docstring") digital_fll_band_edge_cc::get_rolloff "Returns the rolloff factor used for the filter.
  572.  
  573. Params: (NONE)"
  574.  
  575. %feature("docstring") digital_fll_band_edge_cc::get_filter_size "Returns the number of taps of the filter.
  576.  
  577. Params: (NONE)"
  578.  
  579. %feature("docstring") digital_fll_band_edge_cc::print_taps "Print the taps to screen.
  580.  
  581. Params: (NONE)"
  582.  
  583. %feature("docstring") digital_fll_band_edge_cc::work "
  584.  
  585. Params: (noutput_items, input_items, output_items)"
  586.  
  587. %feature("docstring") digital_make_fll_band_edge_cc "Creates a fll_band_edge_cc block.
  588.  
  589. Frequency Lock Loop using band-edge filters.
  590.  
  591. The frequency lock loop derives a band-edge filter that covers the upper and lower bandwidths of a digitally-modulated signal. The bandwidth range is determined by the excess bandwidth (e.g., rolloff factor) of the modulated signal. The placement in frequency of the band-edges is determined by the oversampling ratio (number of samples per symbol) and the excess bandwidth. The size of the filters should be fairly large so as to average over a number of symbols.
  592.  
  593. The FLL works by filtering the upper and lower band edges into x_u(t) and x_l(t), respectively. These are combined to form cc(t) = x_u(t) + x_l(t) and ss(t) = x_u(t) - x_l(t). Combining these to form the signal e(t) = Re{cc(t) \times ss(t)^*} (where ^* is the complex conjugate) provides an error signal at the DC term that is directly proportional to the carrier frequency. We then make a second-order loop using the error signal that is the running average of e(t).
  594.  
  595. In practice, the above equation can be simplified by just comparing the absolute value squared of the output of both filters: abs(x_l(t))^2 - abs(x_u(t))^2 = norm(x_l(t)) - norm(x_u(t)).
  596.  
  597. In theory, the band-edge filter is the derivative of the matched filter in frequency, (H_be(f) = \frac{H(f)}{df}. In practice, this comes down to a quarter sine wave at the point of the matched filter's rolloff (if it's a raised-cosine, the derivative of a cosine is a sine). Extend this sine by another quarter wave to make a half wave around the band-edges is equivalent in time to the sum of two sinc functions. The baseband filter fot the band edges is therefore derived from this sum of sincs. The band edge filters are then just the baseband signal modulated to the correct place in frequency. All of these calculations are done in the 'design_filter' function.
  598.  
  599. Note: We use FIR filters here because the filters have to have a flat phase response over the entire frequency range to allow their comparisons to be valid.
  600.  
  601. It is very important that the band edge filters be the derivatives of the pulse shaping filter, and that they be linear phase. Otherwise, the variance of the error will be very large.
  602.  
  603. Params: (samps_per_sym, rolloff, filter_size, bandwidth)"
  604.  
  605. %feature("docstring") digital_gmskmod_bc "GMSK modulator.
  606.  
  607. The input of this block are symbols from an M-ary alphabet +/-1, +/-3, ..., +/-(M-1). Usually, M = 2 and therefore, the valid inputs are +/-1. The modulator will silently accept any other inputs, though. The output is the phase-modulated signal."
  608.  
  609. %feature("docstring") digital_gmskmod_bc::digital_gmskmod_bc "
  610.  
  611. Params: (samples_per_sym, bt, L)"
  612.  
  613. %feature("docstring") digital_make_gmskmod_bc "Creates a gmskmod_bc block.
  614.  
  615. GMSK modulator.
  616.  
  617. The input of this block are symbols from an M-ary alphabet +/-1, +/-3, ..., +/-(M-1). Usually, M = 2 and therefore, the valid inputs are +/-1. The modulator will silently accept any other inputs, though. The output is the phase-modulated signal.
  618.  
  619. Params: (samples_per_sym, bt, L)"
  620.  
  621. %feature("docstring") digital_kurtotic_equalizer_cc "Implements a kurtosis-based adaptive equalizer on complex stream
  622.  
  623. Y. Guo, J. Zhao, Y. Sun, \"Sign kurtosis maximization based blind
  624. equalization algorithm,\" IEEE Conf. on Control, Automation, Robotics and Vision, Vol. 3, Dec. 2004, pp. 2052 - 2057."
  625.  
  626. %feature("docstring") digital_kurtotic_equalizer_cc::digital_kurtotic_equalizer_cc "
  627.  
  628. Params: (num_taps, mu)"
  629.  
  630. %feature("docstring") digital_kurtotic_equalizer_cc::sign "
  631.  
  632. Params: (x)"
  633.  
  634. %feature("docstring") digital_kurtotic_equalizer_cc::error "
  635.  
  636. Params: (out)"
  637.  
  638. %feature("docstring") digital_kurtotic_equalizer_cc::update_tap "
  639.  
  640. Params: (tap, in)"
  641.  
  642. %feature("docstring") digital_kurtotic_equalizer_cc::set_gain "
  643.  
  644. Params: (mu)"
  645.  
  646. %feature("docstring") digital_make_kurtotic_equalizer_cc "Creates a kurtotic_equalizer_cc block.
  647.  
  648. Implements a kurtosis-based adaptive equalizer on complex stream
  649.  
  650. Y. Guo, J. Zhao, Y. Sun, \"Sign kurtosis maximization based blind
  651. equalization algorithm,\" IEEE Conf. on Control, Automation, Robotics and Vision, Vol. 3, Dec. 2004, pp. 2052 - 2057.
  652.  
  653. Params: (num_taps, mu)"
  654.  
  655. %feature("docstring") digital_lms_dd_equalizer_cc "Least-Mean-Square Decision Directed Equalizer (complex in/out)
  656.  
  657. This block implements an LMS-based decision-directed equalizer. It uses a set of weights, w, to correlate against the inputs, u, and a decisions is then made from this output. The error in the decision is used to update teh weight vector.
  658.  
  659. y[n] = conj(w[n]) u[n] d[n] = decision(y[n]) e[n] = d[n] - y[n] w[n+1] = w[n] + mu u[n] conj(e[n])
  660.  
  661. Where mu is a gain value (between 0 and 1 and usualy small, around 0.001 - 0.01.
  662.  
  663. This block uses the digital_constellation object for making the decision from y[n]. Create the constellation object for whatever constellation is to be used and pass in the object. In Python, you can use something like: self.constellation = digital.constellation_qpsk() To create a QPSK constellation (see the digital_constellation block for more details as to what constellations are available or how to create your own). You then pass the object to this block as an sptr, or using \"self.constellation.base()\".
  664.  
  665. The theory for this algorithm can be found in Chapter 9 of: S. Haykin, Adaptive Filter Theory, Upper Saddle River, NJ: Prentice Hall, 1996."
  666.  
  667. %feature("docstring") digital_lms_dd_equalizer_cc::digital_lms_dd_equalizer_cc "
  668.  
  669. Params: (num_taps, mu, sps, cnst)"
  670.  
  671. %feature("docstring") digital_lms_dd_equalizer_cc::error "
  672.  
  673. Params: (out)"
  674.  
  675. %feature("docstring") digital_lms_dd_equalizer_cc::update_tap "
  676.  
  677. Params: (tap, in)"
  678.  
  679. %feature("docstring") digital_lms_dd_equalizer_cc::get_gain "
  680.  
  681. Params: (NONE)"
  682.  
  683. %feature("docstring") digital_lms_dd_equalizer_cc::set_gain "
  684.  
  685. Params: (mu)"
  686.  
  687. %feature("docstring") digital_make_lms_dd_equalizer_cc "Creates a lms_dd_equalizer_cc block.
  688.  
  689. Least-Mean-Square Decision Directed Equalizer (complex in/out)
  690.  
  691. This block implements an LMS-based decision-directed equalizer. It uses a set of weights, w, to correlate against the inputs, u, and a decisions is then made from this output. The error in the decision is used to update teh weight vector.
  692.  
  693. y[n] = conj(w[n]) u[n] d[n] = decision(y[n]) e[n] = d[n] - y[n] w[n+1] = w[n] + mu u[n] conj(e[n])
  694.  
  695. Where mu is a gain value (between 0 and 1 and usualy small, around 0.001 - 0.01.
  696.  
  697. This block uses the digital_constellation object for making the decision from y[n]. Create the constellation object for whatever constellation is to be used and pass in the object. In Python, you can use something like: self.constellation = digital.constellation_qpsk() To create a QPSK constellation (see the digital_constellation block for more details as to what constellations are available or how to create your own). You then pass the object to this block as an sptr, or using \"self.constellation.base()\".
  698.  
  699. The theory for this algorithm can be found in Chapter 9 of: S. Haykin, Adaptive Filter Theory, Upper Saddle River, NJ: Prentice Hall, 1996.
  700.  
  701. Params: (num_taps, mu, sps, cnst)"
  702.  
  703. %feature("docstring") digital_mpsk_receiver_cc "This block takes care of receiving M-PSK modulated signals through phase, frequency, and symbol synchronization.
  704.  
  705. This block takes care of receiving M-PSK modulated signals through phase, frequency, and symbol synchronization. It performs carrier frequency and phase locking as well as symbol timing recovery. It works with (D)BPSK, (D)QPSK, and (D)8PSK as tested currently. It should also work for OQPSK and PI/4 DQPSK.
  706.  
  707. The phase and frequency synchronization are based on a Costas loop that finds the error of the incoming signal point compared to its nearest constellation point. The frequency and phase of the NCO are updated according to this error. There are optimized phase error detectors for BPSK and QPSK, but 8PSK is done using a brute-force computation of the constellation points to find the minimum.
  708.  
  709. The symbol synchronization is done using a modified Mueller and Muller circuit from the paper:
  710.  
  711. G. R. Danesfahani, T.G. Jeans, \"Optimisation of modified Mueller
  712. and Muller algorithm,\" Electronics Letters, Vol. 31, no. 13, 22 June 1995, pp. 1032 - 1033.
  713.  
  714. This circuit interpolates the downconverted sample (using the NCO developed by the Costas loop) every mu samples, then it finds the sampling error based on this and the past symbols and the decision made on the samples. Like the phase error detector, there are optimized decision algorithms for BPSK and QPKS, but 8PSK uses another brute force computation against all possible symbols. The modifications to the M&M used here reduce self-noise."
  715.  
  716. %feature("docstring") digital_mpsk_receiver_cc::~digital_mpsk_receiver_cc "
  717.  
  718. Params: (NONE)"
  719.  
  720. %feature("docstring") digital_mpsk_receiver_cc::forecast "
  721.  
  722. Params: (noutput_items, ninput_items_required)"
  723.  
  724. %feature("docstring") digital_mpsk_receiver_cc::general_work "
  725.  
  726. Params: (noutput_items, ninput_items, input_items, output_items)"
  727.  
  728. %feature("docstring") digital_mpsk_receiver_cc::mu "(M&M) Returns current value of mu
  729.  
  730. Params: (NONE)"
  731.  
  732. %feature("docstring") digital_mpsk_receiver_cc::omega "(M&M) Returns current value of omega
  733.  
  734. Params: (NONE)"
  735.  
  736. %feature("docstring") digital_mpsk_receiver_cc::gain_mu "(M&M) Returns mu gain factor
  737.  
  738. Params: (NONE)"
  739.  
  740. %feature("docstring") digital_mpsk_receiver_cc::gain_omega "(M&M) Returns omega gain factor
  741.  
  742. Params: (NONE)"
  743.  
  744. %feature("docstring") digital_mpsk_receiver_cc::set_mu "(M&M) Sets value of mu
  745.  
  746. Params: (mu)"
  747.  
  748. %feature("docstring") digital_mpsk_receiver_cc::set_omega "(M&M) Sets value of omega and its min and max values
  749.  
  750. Params: (omega)"
  751.  
  752. %feature("docstring") digital_mpsk_receiver_cc::set_gain_mu "(M&M) Sets value for mu gain factor
  753.  
  754. Params: (gain_mu)"
  755.  
  756. %feature("docstring") digital_mpsk_receiver_cc::set_gain_omega "(M&M) Sets value for omega gain factor
  757.  
  758. Params: (gain_omega)"
  759.  
  760. %feature("docstring") digital_mpsk_receiver_cc::digital_mpsk_receiver_cc "Constructor to synchronize incoming M-PSK symbols.
  761.  
  762. The constructor also chooses which phase detector and decision maker to use in the work loop based on the value of M.
  763.  
  764. Params: (M, theta, loop_bw, fmin, fmax, mu, gain_mu, omega, gain_omega, omega_rel)"
  765.  
  766. %feature("docstring") digital_mpsk_receiver_cc::make_constellation "
  767.  
  768. Params: (NONE)"
  769.  
  770. %feature("docstring") digital_mpsk_receiver_cc::mm_sampler "
  771.  
  772. Params: (symbol)"
  773.  
  774. %feature("docstring") digital_mpsk_receiver_cc::mm_error_tracking "
  775.  
  776. Params: (sample)"
  777.  
  778. %feature("docstring") digital_mpsk_receiver_cc::phase_error_tracking "
  779.  
  780. Params: (sample)"
  781.  
  782. %feature("docstring") digital_mpsk_receiver_cc::phase_error_detector_generic "Phase error detector for MPSK modulations.
  783.  
  784. This function determines the phase error for any MPSK signal by creating a set of PSK constellation points and doing a brute-force search to see which point minimizes the Euclidean distance. This point is then used to derotate the sample to the real-axis and a atan (using the fast approximation function) to determine the phase difference between the incoming sample and the real constellation point
  785.  
  786. This should be cleaned up and made more efficient.
  787.  
  788. Params: (sample)"
  789.  
  790. %feature("docstring") digital_mpsk_receiver_cc::phase_error_detector_bpsk "Phase error detector for BPSK modulation.
  791.  
  792. This function determines the phase error using a simple BPSK phase error detector by multiplying the real and imaginary (the error signal) components together. As the imaginary part goes to 0, so does this error.
  793.  
  794. Params: (sample)"
  795.  
  796. %feature("docstring") digital_mpsk_receiver_cc::phase_error_detector_qpsk "Phase error detector for QPSK modulation.
  797.  
  798. This function determines the phase error using the limiter approach in a standard 4th order Costas loop
  799.  
  800. Params: (sample)"
  801.  
  802. %feature("docstring") digital_mpsk_receiver_cc::decision_generic "Decision maker for a generic MPSK constellation.
  803.  
  804. This decision maker is a generic implementation that does a brute-force search for the constellation point that minimizes the error between it and the incoming signal.
  805.  
  806. Params: (sample)"
  807.  
  808. %feature("docstring") digital_mpsk_receiver_cc::decision_bpsk "Decision maker for BPSK constellation.
  809.  
  810. This decision maker is a simple slicer function that makes a decision on the symbol based on its placement on the real axis of greater than 0 or less than 0; the quadrature component is always 0.
  811.  
  812. Params: (sample)"
  813.  
  814. %feature("docstring") digital_mpsk_receiver_cc::decision_qpsk "Decision maker for QPSK constellation.
  815.  
  816. This decision maker is a simple slicer function that makes a decision on the symbol based on its placement versus both axes and returns which quadrant the symbol is in.
  817.  
  818. Params: (sample)"
  819.  
  820. %feature("docstring") digital_mpsk_receiver_cc::__GR_ATTR_ALIGNED "delay line plus some length for overflow protection
  821.  
  822. Params: ()"
  823.  
  824. %feature("docstring") digital_make_mpsk_receiver_cc "Creates a mpsk_receiver_cc block.
  825.  
  826. This block takes care of receiving M-PSK modulated signals through phase, frequency, and symbol synchronization.
  827.  
  828. This block takes care of receiving M-PSK modulated signals through phase, frequency, and symbol synchronization. It performs carrier frequency and phase locking as well as symbol timing recovery. It works with (D)BPSK, (D)QPSK, and (D)8PSK as tested currently. It should also work for OQPSK and PI/4 DQPSK.
  829.  
  830. The phase and frequency synchronization are based on a Costas loop that finds the error of the incoming signal point compared to its nearest constellation point. The frequency and phase of the NCO are updated according to this error. There are optimized phase error detectors for BPSK and QPSK, but 8PSK is done using a brute-force computation of the constellation points to find the minimum.
  831.  
  832. The symbol synchronization is done using a modified Mueller and Muller circuit from the paper:
  833.  
  834. G. R. Danesfahani, T.G. Jeans, \"Optimisation of modified Mueller
  835. and Muller algorithm,\" Electronics Letters, Vol. 31, no. 13, 22 June 1995, pp. 1032 - 1033.
  836.  
  837. This circuit interpolates the downconverted sample (using the NCO developed by the Costas loop) every mu samples, then it finds the sampling error based on this and the past symbols and the decision made on the samples. Like the phase error detector, there are optimized decision algorithms for BPSK and QPKS, but 8PSK uses another brute force computation against all possible symbols. The modifications to the M&M used here reduce self-noise.
  838.  
  839. Params: (M, theta, loop_bw, fmin, fmax, mu, gain_mu, omega, gain_omega, omega_rel)"
  840.  
  841. %feature("docstring") digital_update_crc32 "update running CRC-32
  842.  
  843. Update a running CRC with the bytes buf[0..len-1] The CRC should be initialized to all 1's, and the transmitted value is the 1's complement of the final running CRC. The resulting CRC should be transmitted in big endian order.
  844.  
  845. Params: (crc, buf, len)"
  846.  
  847. %feature("docstring") digital_crc32 "
  848.  
  849. Params: (buf, len)"
  850.  
  851. %feature("docstring") std::allocator "STL class."
  852.  
  853. %feature("docstring") std::auto_ptr "STL class."
  854.  
  855. %feature("docstring") std::bad_alloc "STL class."
  856.  
  857. %feature("docstring") std::bad_cast "STL class."
  858.  
  859. %feature("docstring") std::bad_exception "STL class."
  860.  
  861. %feature("docstring") std::bad_typeid "STL class."
  862.  
  863. %feature("docstring") std::basic_fstream "STL class."
  864.  
  865. %feature("docstring") std::basic_ifstream "STL class."
  866.  
  867. %feature("docstring") std::basic_ios "STL class."
  868.  
  869. %feature("docstring") std::basic_iostream "STL class."
  870.  
  871. %feature("docstring") std::basic_istream "STL class."
  872.  
  873. %feature("docstring") std::basic_istringstream "STL class."
  874.  
  875. %feature("docstring") std::basic_ofstream "STL class."
  876.  
  877. %feature("docstring") std::basic_ostream "STL class."
  878.  
  879. %feature("docstring") std::basic_ostringstream "STL class."
  880.  
  881. %feature("docstring") std::basic_string "STL class."
  882.  
  883. %feature("docstring") std::basic_stringstream "STL class."
  884.  
  885. %feature("docstring") std::bitset "STL class."
  886.  
  887. %feature("docstring") std::complex "STL class."
  888.  
  889. %feature("docstring") std::wstring::const_iterator "STL iterator class."
  890.  
  891. %feature("docstring") std::deque::const_iterator "STL iterator class."
  892.  
  893. %feature("docstring") std::list::const_iterator "STL iterator class."
  894.  
  895. %feature("docstring") std::map::const_iterator "STL iterator class."
  896.  
  897. %feature("docstring") std::multimap::const_iterator "STL iterator class."
  898.  
  899. %feature("docstring") std::set::const_iterator "STL iterator class."
  900.  
  901. %feature("docstring") std::multiset::const_iterator "STL iterator class."
  902.  
  903. %feature("docstring") std::vector::const_iterator "STL iterator class."
  904.  
  905. %feature("docstring") std::basic_string::const_iterator "STL iterator class."
  906.  
  907. %feature("docstring") std::string::const_iterator "STL iterator class."
  908.  
  909. %feature("docstring") std::wstring::const_reverse_iterator "STL iterator class."
  910.  
  911. %feature("docstring") std::deque::const_reverse_iterator "STL iterator class."
  912.  
  913. %feature("docstring") std::list::const_reverse_iterator "STL iterator class."
  914.  
  915. %feature("docstring") std::map::const_reverse_iterator "STL iterator class."
  916.  
  917. %feature("docstring") std::multimap::const_reverse_iterator "STL iterator class."
  918.  
  919. %feature("docstring") std::set::const_reverse_iterator "STL iterator class."
  920.  
  921. %feature("docstring") std::multiset::const_reverse_iterator "STL iterator class."
  922.  
  923. %feature("docstring") std::vector::const_reverse_iterator "STL iterator class."
  924.  
  925. %feature("docstring") std::basic_string::const_reverse_iterator "STL iterator class."
  926.  
  927. %feature("docstring") std::string::const_reverse_iterator "STL iterator class."
  928.  
  929. %feature("docstring") std::deque "STL class."
  930.  
  931. %feature("docstring") digital_constellation "An abstracted constellation object
  932.  
  933. The constellation objects hold the necessary information to pass around constellation information for modulators and demodulators. These objects contain the mapping between the bits and the constellation points used to represent them as well as methods for slicing the symbol space. Various implementations are possible for efficiency and ease of use.
  934.  
  935. Standard constellations (BPSK, QPSK, QAM, etc) can be inherited from this class and overloaded to perform optimized slicing and constellation mappings."
  936.  
  937. %feature("docstring") digital_constellation::digital_constellation "
  938.  
  939. Params: (constellation, pre_diff_code, rotational_symmetry, dimensionality)"
  940.  
  941. %feature("docstring") digital_constellation::map_to_points "Returns the constellation points for a symbol value.
  942.  
  943. Params: (value, points)"
  944.  
  945. %feature("docstring") digital_constellation::map_to_points_v "
  946.  
  947. Params: (value)"
  948.  
  949. %feature("docstring") digital_constellation::decision_maker "Returns the constellation point that matches best.
  950.  
  951. Params: (sample)"
  952.  
  953. %feature("docstring") digital_constellation::decision_maker_v "Takes a vector rather than a pointer. Better for SWIG wrapping.
  954.  
  955. Params: (sample)"
  956.  
  957. %feature("docstring") digital_constellation::decision_maker_pe "Also calculates the phase error.
  958.  
  959. Params: (sample, phase_error)"
  960.  
  961. %feature("docstring") digital_constellation::decision_maker_e "Calculates distance.
  962.  
  963. Params: (sample, error)"
  964.  
  965. %feature("docstring") digital_constellation::calc_metric "Calculates metrics for all points in the constellation. For use with the viterbi algorithm.
  966.  
  967. Params: (sample, metric, type)"
  968.  
  969. %feature("docstring") digital_constellation::calc_euclidean_metric "
  970.  
  971. Params: (sample, metric)"
  972.  
  973. %feature("docstring") digital_constellation::calc_hard_symbol_metric "
  974.  
  975. Params: (sample, metric)"
  976.  
  977. %feature("docstring") digital_constellation::points "Returns the set of points in this constellation.
  978.  
  979. Params: (NONE)"
  980.  
  981. %feature("docstring") digital_constellation::s_points "Returns the vector of points in this constellation. Raise error if dimensionality is not one.
  982.  
  983. Params: (NONE)"
  984.  
  985. %feature("docstring") digital_constellation::v_points "Returns a vector of vectors of points.
  986.  
  987. Params: (NONE)"
  988.  
  989. %feature("docstring") digital_constellation::apply_pre_diff_code "Whether to apply an encoding before doing differential encoding. (e.g. gray coding)
  990.  
  991. Params: (NONE)"
  992.  
  993. %feature("docstring") digital_constellation::set_pre_diff_code "Whether to apply an encoding before doing differential encoding. (e.g. gray coding)
  994.  
  995. Params: (a)"
  996.  
  997. %feature("docstring") digital_constellation::pre_diff_code "Returns the encoding to apply before differential encoding.
  998.  
  999. Params: (NONE)"
  1000.  
  1001. %feature("docstring") digital_constellation::rotational_symmetry "Returns the order of rotational symmetry.
  1002.  
  1003. Params: (NONE)"
  1004.  
  1005. %feature("docstring") digital_constellation::dimensionality "Returns the number of complex numbers in a single symbol.
  1006.  
  1007. Params: (NONE)"
  1008.  
  1009. %feature("docstring") digital_constellation::bits_per_symbol "
  1010.  
  1011. Params: (NONE)"
  1012.  
  1013. %feature("docstring") digital_constellation::arity "
  1014.  
  1015. Params: (NONE)"
  1016.  
  1017. %feature("docstring") digital_constellation::base "
  1018.  
  1019. Params: (NONE)"
  1020.  
  1021. %feature("docstring") digital_constellation::get_distance "
  1022.  
  1023. Params: (index, sample)"
  1024.  
  1025. %feature("docstring") digital_constellation::get_closest_point "
  1026.  
  1027. Params: (sample)"
  1028.  
  1029. %feature("docstring") digital_constellation::calc_arity "
  1030.  
  1031. Params: (NONE)"
  1032.  
  1033. %feature("docstring") digital_constellation_sector "Sectorized digital constellation
  1034.  
  1035. Constellation space is divided into sectors. Each sector is associated with the nearest constellation point.
  1036.  
  1037. digital_constellation_sector"
  1038.  
  1039. %feature("docstring") digital_constellation_sector::digital_constellation_sector "
  1040.  
  1041. Params: (constellation, pre_diff_code, rotational_symmetry, dimensionality, n_sectors)"
  1042.  
  1043. %feature("docstring") digital_constellation_sector::decision_maker "Returns the constellation point that matches best.
  1044.  
  1045. Params: (sample)"
  1046.  
  1047. %feature("docstring") digital_constellation_sector::get_sector "
  1048.  
  1049. Params: (sample)"
  1050.  
  1051. %feature("docstring") digital_constellation_sector::calc_sector_value "
  1052.  
  1053. Params: (sector)"
  1054.  
  1055. %feature("docstring") digital_constellation_sector::find_sector_values "
  1056.  
  1057. Params: (NONE)"
  1058.  
  1059. %feature("docstring") std::domain_error "STL class."
  1060.  
  1061. %feature("docstring") std::exception "STL class."
  1062.  
  1063. %feature("docstring") std::ios_base::failure "STL class."
  1064.  
  1065. %feature("docstring") std::fstream "STL class."
  1066.  
  1067. %feature("docstring") std::ifstream "STL class."
  1068.  
  1069. %feature("docstring") std::invalid_argument "STL class."
  1070.  
  1071. %feature("docstring") std::ios "STL class."
  1072.  
  1073. %feature("docstring") std::ios_base "STL class."
  1074.  
  1075. %feature("docstring") std::istream "STL class."
  1076.  
  1077. %feature("docstring") std::istringstream "STL class."
  1078.  
  1079. %feature("docstring") std::deque::iterator "STL iterator class."
  1080.  
  1081. %feature("docstring") std::wstring::iterator "STL iterator class."
  1082.  
  1083. %feature("docstring") std::list::iterator "STL iterator class."
  1084.  
  1085. %feature("docstring") std::map::iterator "STL iterator class."
  1086.  
  1087. %feature("docstring") std::multiset::iterator "STL iterator class."
  1088.  
  1089. %feature("docstring") std::set::iterator "STL iterator class."
  1090.  
  1091. %feature("docstring") std::multimap::iterator "STL iterator class."
  1092.  
  1093. %feature("docstring") std::vector::iterator "STL iterator class."
  1094.  
  1095. %feature("docstring") std::basic_string::iterator "STL iterator class."
  1096.  
  1097. %feature("docstring") std::string::iterator "STL iterator class."
  1098.  
  1099. %feature("docstring") std::length_error "STL class."
  1100.  
  1101. %feature("docstring") std::list "STL class."
  1102.  
  1103. %feature("docstring") std::logic_error "STL class."
  1104.  
  1105. %feature("docstring") std::map "STL class."
  1106.  
  1107. %feature("docstring") std::multimap "STL class."
  1108.  
  1109. %feature("docstring") std::multiset "STL class."
  1110.  
  1111. %feature("docstring") std::ofstream "STL class."
  1112.  
  1113. %feature("docstring") std::ostream "STL class."
  1114.  
  1115. %feature("docstring") std::ostringstream "STL class."
  1116.  
  1117. %feature("docstring") std::out_of_range "STL class."
  1118.  
  1119. %feature("docstring") std::overflow_error "STL class."
  1120.  
  1121. %feature("docstring") std::priority_queue "STL class."
  1122.  
  1123. %feature("docstring") std::queue "STL class."
  1124.  
  1125. %feature("docstring") std::range_error "STL class."
  1126.  
  1127. %feature("docstring") std::multimap::reverse_iterator "STL iterator class."
  1128.  
  1129. %feature("docstring") std::vector::reverse_iterator "STL iterator class."
  1130.  
  1131. %feature("docstring") std::basic_string::reverse_iterator "STL iterator class."
  1132.  
  1133. %feature("docstring") std::wstring::reverse_iterator "STL iterator class."
  1134.  
  1135. %feature("docstring") std::deque::reverse_iterator "STL iterator class."
  1136.  
  1137. %feature("docstring") std::set::reverse_iterator "STL iterator class."
  1138.  
  1139. %feature("docstring") std::list::reverse_iterator "STL iterator class."
  1140.  
  1141. %feature("docstring") std::map::reverse_iterator "STL iterator class."
  1142.  
  1143. %feature("docstring") std::string::reverse_iterator "STL iterator class."
  1144.  
  1145. %feature("docstring") std::multiset::reverse_iterator "STL iterator class."
  1146.  
  1147. %feature("docstring") std::runtime_error "STL class."
  1148.  
  1149. %feature("docstring") std::set "STL class."
  1150.  
  1151. %feature("docstring") std::stack "STL class."
  1152.  
  1153. %feature("docstring") std::string "STL class."
  1154.  
  1155. %feature("docstring") std::stringstream "STL class."
  1156.  
  1157. %feature("docstring") std::underflow_error "STL class."
  1158.  
  1159. %feature("docstring") std::valarray "STL class."
  1160.  
  1161. %feature("docstring") std::vector "STL class."
  1162.  
  1163. %feature("docstring") std::wfstream "STL class."
  1164.  
  1165. %feature("docstring") std::wifstream "STL class."
  1166.  
  1167. %feature("docstring") std::wios "STL class."
  1168.  
  1169. %feature("docstring") std::wistream "STL class."
  1170.  
  1171. %feature("docstring") std::wistringstream "STL class."
  1172.  
  1173. %feature("docstring") std::wofstream "STL class."
  1174.  
  1175. %feature("docstring") std::wostream "STL class."
  1176.  
  1177. %feature("docstring") std::wostringstream "STL class."
  1178.  
  1179. %feature("docstring") std::wstring "STL class."
  1180.  
  1181. %feature("docstring") std::wstringstream "STL class."
  1182.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement