The costas loop seems to at least work
This commit is contained in:
parent
ca40a41d5a
commit
c7137dc68e
2 changed files with 23 additions and 23 deletions
|
@ -517,7 +517,7 @@
|
||||||
</param>
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_coordinate</key>
|
<key>_coordinate</key>
|
||||||
<value>(824, 427)</value>
|
<value>(976, 379)</value>
|
||||||
</param>
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_rotation</key>
|
<key>_rotation</key>
|
||||||
|
@ -536,7 +536,7 @@
|
||||||
</param>
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>commandline</key>
|
<key>commandline</key>
|
||||||
<value>csdr bpsk_costas_loop_cc 8</value>
|
<value>csdr bpsk_costas_loop_cc 16</value>
|
||||||
</param>
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>comment</key>
|
<key>comment</key>
|
||||||
|
@ -552,7 +552,7 @@
|
||||||
</param>
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_coordinate</key>
|
<key>_coordinate</key>
|
||||||
<value>(120, 523)</value>
|
<value>(128, 411)</value>
|
||||||
</param>
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_rotation</key>
|
<key>_rotation</key>
|
||||||
|
@ -595,11 +595,11 @@
|
||||||
</param>
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_enabled</key>
|
<key>_enabled</key>
|
||||||
<value>1</value>
|
<value>0</value>
|
||||||
</param>
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_coordinate</key>
|
<key>_coordinate</key>
|
||||||
<value>(112, 403)</value>
|
<value>(432, 411)</value>
|
||||||
</param>
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_rotation</key>
|
<key>_rotation</key>
|
||||||
|
@ -745,11 +745,11 @@
|
||||||
</param>
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_enabled</key>
|
<key>_enabled</key>
|
||||||
<value>1</value>
|
<value>0</value>
|
||||||
</param>
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_coordinate</key>
|
<key>_coordinate</key>
|
||||||
<value>(544, 371)</value>
|
<value>(824, 507)</value>
|
||||||
</param>
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_rotation</key>
|
<key>_rotation</key>
|
||||||
|
@ -836,7 +836,7 @@
|
||||||
</param>
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_coordinate</key>
|
<key>_coordinate</key>
|
||||||
<value>(536, 523)</value>
|
<value>(432, 507)</value>
|
||||||
</param>
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_rotation</key>
|
<key>_rotation</key>
|
||||||
|
@ -1016,12 +1016,6 @@
|
||||||
<source_key>0</source_key>
|
<source_key>0</source_key>
|
||||||
<sink_key>0</sink_key>
|
<sink_key>0</sink_key>
|
||||||
</connection>
|
</connection>
|
||||||
<connection>
|
|
||||||
<source_block_id>blocks_throttle_0</source_block_id>
|
|
||||||
<sink_block_id>wxgui_scopesink2_0_1</sink_block_id>
|
|
||||||
<source_key>0</source_key>
|
|
||||||
<sink_key>0</sink_key>
|
|
||||||
</connection>
|
|
||||||
<connection>
|
<connection>
|
||||||
<source_block_id>digital_psk_mod_0</source_block_id>
|
<source_block_id>digital_psk_mod_0</source_block_id>
|
||||||
<sink_block_id>blocks_throttle_0</sink_block_id>
|
<sink_block_id>blocks_throttle_0</sink_block_id>
|
||||||
|
@ -1036,7 +1030,7 @@
|
||||||
</connection>
|
</connection>
|
||||||
<connection>
|
<connection>
|
||||||
<source_block_id>freq_xlating_fir_filter_xxx_0</source_block_id>
|
<source_block_id>freq_xlating_fir_filter_xxx_0</source_block_id>
|
||||||
<sink_block_id>ha5kfu_execproc_xx_0_0</sink_block_id>
|
<sink_block_id>ha5kfu_execproc_xx_0</sink_block_id>
|
||||||
<source_key>0</source_key>
|
<source_key>0</source_key>
|
||||||
<sink_key>0</sink_key>
|
<sink_key>0</sink_key>
|
||||||
</connection>
|
</connection>
|
||||||
|
@ -1046,18 +1040,24 @@
|
||||||
<source_key>0</source_key>
|
<source_key>0</source_key>
|
||||||
<sink_key>0</sink_key>
|
<sink_key>0</sink_key>
|
||||||
</connection>
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<source_block_id>freq_xlating_fir_filter_xxx_0</source_block_id>
|
||||||
|
<sink_block_id>wxgui_scopesink2_0_1</sink_block_id>
|
||||||
|
<source_key>0</source_key>
|
||||||
|
<sink_key>0</sink_key>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<source_block_id>ha5kfu_execproc_xx_0</source_block_id>
|
||||||
|
<sink_block_id>ha5kfu_execproc_xx_0_0</sink_block_id>
|
||||||
|
<source_key>0</source_key>
|
||||||
|
<sink_key>0</sink_key>
|
||||||
|
</connection>
|
||||||
<connection>
|
<connection>
|
||||||
<source_block_id>ha5kfu_execproc_xx_0</source_block_id>
|
<source_block_id>ha5kfu_execproc_xx_0</source_block_id>
|
||||||
<sink_block_id>wxgui_scopesink2_0_0</sink_block_id>
|
<sink_block_id>wxgui_scopesink2_0_0</sink_block_id>
|
||||||
<source_key>0</source_key>
|
<source_key>0</source_key>
|
||||||
<sink_key>0</sink_key>
|
<sink_key>0</sink_key>
|
||||||
</connection>
|
</connection>
|
||||||
<connection>
|
|
||||||
<source_block_id>ha5kfu_execproc_xx_0_0</source_block_id>
|
|
||||||
<sink_block_id>ha5kfu_execproc_xx_0</sink_block_id>
|
|
||||||
<source_key>0</source_key>
|
|
||||||
<sink_key>0</sink_key>
|
|
||||||
</connection>
|
|
||||||
<connection>
|
<connection>
|
||||||
<source_block_id>ha5kfu_execproc_xx_0_0</source_block_id>
|
<source_block_id>ha5kfu_execproc_xx_0_0</source_block_id>
|
||||||
<sink_block_id>wxgui_scopesink2_0</sink_block_id>
|
<sink_block_id>wxgui_scopesink2_0</sink_block_id>
|
||||||
|
|
|
@ -1949,7 +1949,7 @@ bpsk_costas_loop_state_t init_bpsk_costas_loop_cc(float samples_per_bits)
|
||||||
rc_filter_cutoff, rc_filter_rc, virtual_sampling_dt);
|
rc_filter_cutoff, rc_filter_rc, virtual_sampling_dt);
|
||||||
state.rc_filter_alpha = virtual_sampling_dt/(rc_filter_rc+virtual_sampling_dt); //https://en.wikipedia.org/wiki/Low-pass_filter
|
state.rc_filter_alpha = virtual_sampling_dt/(rc_filter_rc+virtual_sampling_dt); //https://en.wikipedia.org/wiki/Low-pass_filter
|
||||||
float rc_filter_omega_cutoff = 2*M_PI*rc_filter_cutoff;
|
float rc_filter_omega_cutoff = 2*M_PI*rc_filter_cutoff;
|
||||||
state.vco_phase_addition_multiplier = 8*rc_filter_omega_cutoff; //as of Equation 25 in Feigin, assuming input signal amplitude of 1 (to 1V) and (state.vco_phase_addition_multiplier*<vco_input>), a value in radians, will be added to the vco_phase directly.
|
state.vco_phase_addition_multiplier = 8*rc_filter_omega_cutoff / (virtual_sampling_rate); //as of Equation 25 in Feigin, assuming input signal amplitude of 1 (to 1V) and (state.vco_phase_addition_multiplier*<vco_input>), a value in radians, will be added to the vco_phase directly.
|
||||||
fprintf(stderr, "rc_filter_alpha = %g, rc_filter_omega_cutoff = %g, vco_phase_addition_multiplier = %g\n",
|
fprintf(stderr, "rc_filter_alpha = %g, rc_filter_omega_cutoff = %g, vco_phase_addition_multiplier = %g\n",
|
||||||
state.rc_filter_alpha, rc_filter_omega_cutoff, state.vco_phase_addition_multiplier);
|
state.rc_filter_alpha, rc_filter_omega_cutoff, state.vco_phase_addition_multiplier);
|
||||||
return state;
|
return state;
|
||||||
|
|
Loading…
Reference in a new issue