Skip to main content
Ctrl+K

comnum

  • Getting started
  • Tutorials
  • User guide
  • Gallery of classical results
  • Why the results can be trusted
  • Maturity
    • Comparisons with other libraries
    • Why comnum
    • Benchmarks against other libraries
    • Classical performance
    • API reference
  • GitHub
  • Getting started
  • Tutorials
  • User guide
  • Gallery of classical results
  • Why the results can be trusted
  • Maturity
  • Comparisons with other libraries
  • Why comnum
  • Benchmarks against other libraries
  • Classical performance
  • API reference
  • GitHub

Section Navigation

  • comnum.Rng
  • comnum.db2lin
  • comnum.lin2db
  • comnum.dbm2w
  • comnum.w2dbm
  • comnum.qfunc
  • comnum.bessel_j0
  • comnum.entropy
  • comnum.bits
  • comnum.prbs
  • comnum.o150_sequence
  • comnum.symbols
  • comnum.maxwell_boltzmann
  • comnum.Constellation
  • comnum.gray_code
  • comnum.Dpsk
  • comnum.theory_ber
  • comnum.theory_ser
  • comnum.theory_ser_esn0
  • comnum.theory_ber_gray
  • comnum.theory_ber_rayleigh_mrc
  • comnum.theory_ber_dpsk
  • comnum.theory_differential_phase_tail
  • comnum.theory_phase_pdf
  • comnum.theory_ber_imperfect_csi
  • comnum.theory_ber_dpsk_jakes
  • comnum.theory_mi
  • comnum.theory_gmi
  • comnum.theory_cm_capacity
  • comnum.theory_bicm_capacity
  • comnum.theory_cm_cutoff_rate
  • comnum.theory_bicm_cutoff_rate
  • comnum.Crc
  • comnum.Scrambler
  • comnum.Interleaver
  • comnum.ConvolutionalCode
  • comnum.TurboCode
  • comnum.LdpcCode
  • comnum.PolarCode
  • comnum.ReedSolomonCode
  • comnum.BchCode
  • comnum.NrLdpc
  • comnum.NrPolar
  • comnum.free_distance
  • comnum.pack_symbols
  • comnum.unpack_symbols
  • comnum.Ccdm
  • comnum.theory_shannon_limit_ebn0_db
  • comnum.theory_biawgn_capacity
  • comnum.bpsk_noise_variance
  • comnum.bpsk_llr
  • comnum.theory_normal_approximation
  • comnum.theory_rs_wer
  • comnum.theory_rs_ser
  • comnum.theory_rs_ber
  • comnum.Ofdm
  • comnum.ResourceGrid
  • comnum.ofdm_estimate
  • comnum.ofdm_preamble
  • comnum.schmidl_cox
  • comnum.ofdm_synchronize
  • comnum.ofdm_budget
  • comnum.ofdm_timing_noise
  • comnum.Wiener2d
  • comnum.RobustDesign
  • comnum.LowRank
  • comnum.ls_noise_factor
  • comnum.random_delay_correlation
  • comnum.gain_limited_correction
  • comnum.theory_sdr_gain_limited
  • comnum.theory_sdr_optimum_correction
  • comnum.PaprReduction
  • comnum.papr_db
  • comnum.papr_db_blocks
  • comnum.ccdf
  • comnum.theory_papr_ccdf
  • comnum.clipping_bussgang
  • comnum.Cpm
  • comnum.msk_precode
  • comnum.msk_bits
  • comnum.theory_msk_psd
  • comnum.CeOfdm
  • comnum.ce_ofdm_imp_powers
  • comnum.ce_ofdm_optimum_gain
  • comnum.theory_ce_ofdm_ber_optimum
  • comnum.pm_occupied_bandwidth
  • comnum.Css
  • comnum.theory_css_ser
  • comnum.theory_css_ber
  • comnum.css_cross_correlation
  • comnum.css_max_cross_correlation
  • comnum.css_continuous_spectrum
  • comnum.css_spectral_lines
  • comnum.css_occupied_bandwidth
  • comnum.css_interference_pattern
  • comnum.theory_css_ser_interference
  • comnum.Fbmc
  • comnum.oqam_stagger
  • comnum.oqam_destagger
  • comnum.Ufmc
  • comnum.chebyshev_window
  • comnum.Otfs
  • comnum.mimo_detect
  • comnum.mimo_llr
  • comnum.mimo_estimate
  • comnum.message_passing
  • comnum.amp_state_evolution
  • comnum.amp_thresholds
  • comnum.oamp_state_evolution
  • comnum.MimoTraining
  • comnum.blue_weights
  • comnum.blue_combine
  • comnum.blue_mse
  • comnum.Ostbc
  • comnum.eigenmode
  • comnum.zf_precoder
  • comnum.water_filling_powers
  • comnum.mimo_capacity
  • comnum.theory_ergodic_capacity
  • comnum.theory_outage_probability
  • comnum.theory_outage_capacity
  • comnum.awgn
  • comnum.awgn_ebn0
  • comnum.mimo_channel
  • comnum.mimo_channels
  • comnum.exponential_correlation
  • comnum.TdlChannel
  • comnum.ChannelTaps
  • comnum.power_delay_profile
  • comnum.rms_delay_spread
  • comnum.CdlChannel
  • comnum.cdl_profile
  • comnum.cdl_k_factor_db
  • comnum.path_loss_db
  • comnum.shadow_fading_std_db
  • comnum.los_probability
  • comnum.uma_environment_height
  • comnum.building_penetration_db
  • comnum.delay_doppler_paths
  • comnum.FiberParams
  • comnum.linear_fiber_channel
  • comnum.Ssfm
  • comnum.ManakovPmd
  • comnum.ManakovSsfm
  • comnum.Edfa
  • comnum.raman_profile
  • comnum.gn_model
  • comnum.gn_closed_form
  • comnum.gn_isrs_closed_form
  • comnum.format_moments
  • comnum.wdm_grid
  • comnum.laser
  • comnum.phase_noise
  • comnum.clock_offset
  • comnum.phase_modulator
  • comnum.mzm
  • comnum.iqm
  • comnum.Photodiode
  • comnum.balanced_photodiode
  • comnum.hybrid_2x4
  • comnum.coherent_receiver
  • comnum.OwcRoom
  • comnum.OwcIllumination
  • comnum.OwcImpulseResponse
  • comnum.lambertian_mode
  • comnum.owc_direction
  • comnum.owc_illuminance
  • comnum.PinFetReceiver
  • comnum.Fso
  • comnum.GammaGamma
  • comnum.PointingError
  • comnum.rytov_variance
  • comnum.fog_attenuation_db_per_km
  • comnum.pa_rapp
  • comnum.pa_saleh
  • comnum.pa_memory_polynomial
  • comnum.rapp_predistort
  • comnum.MemoryPolynomialDpd
  • comnum.amplifier_bussgang
  • comnum.envelope_series
  • comnum.distortion_spectrum
  • comnum.adc
  • comnum.dac
  • comnum.theory_quantization_mse
  • comnum.optimal_loading
  • comnum.theory_sqnr_sine_db
  • comnum.enob_from_sinad_db
  • comnum.theory_jitter_snr_db
  • comnum.zero_order_hold_gain
  • comnum.pulse_shape
  • comnum.rrc_spectrum
  • comnum.rrc_taps
  • comnum.rc_taps
  • comnum.fir_filter
  • comnum.convolve
  • comnum.upsample
  • comnum.downsample
  • comnum.decimate
  • comnum.resample_fft
  • comnum.low_pass_fir
  • comnum.butterworth_lowpass
  • comnum.pnorm
  • comnum.anorm
  • comnum.freq_shift
  • comnum.select_channel
  • comnum.resample_rational
  • comnum.moving_average
  • comnum.delay_fft
  • comnum.fourth_power_foe
  • comnum.viterbi_viterbi
  • comnum.bps
  • comnum.ddpll
  • comnum.derotate
  • comnum.unwrap
  • comnum.gardner_ted
  • comnum.gardner_ted_nyquist
  • comnum.lagrange_cubic
  • comnum.gardner_clock_recovery
  • comnum.adaptive_equalizer
  • comnum.cdc
  • comnum.cd_taps_needed
  • comnum.cd_fir_taps
  • comnum.cd_dispersion_factor
  • comnum.cd_savory_taps
  • comnum.cd_ls_taps
  • comnum.cd_ls_error
  • comnum.cumulants
  • comnum.theory_cumulants
  • comnum.classify_modulation
  • comnum.snr_m2m4_db
  • comnum.snr_crb_nmse
  • comnum.cyclic_autocorrelation
  • comnum.estimate_symbol_rate
  • comnum.ber
  • comnum.snr_db
  • comnum.phase_error_std
  • comnum.fast_ber_calc
  • comnum.evm
  • comnum.ber_to_q_db
  • comnum.monte_carlo_gmi
  • comnum.monte_carlo_mi
  • comnum.information_rates
  • comnum.posterior_rates
  • comnum.psd
  • comnum.periodogram
  • comnum.aclr_db
  • comnum.Results
  • comnum.Trace
  • comnum.compare
  • comnum.plot
  • comnum.Dvbs
  • comnum.dvb_packets
  • comnum.Dvbs2
  • comnum.dvbs2_bbframe
  • comnum.dvbs2_bbframe_data
  • comnum.dvbs2_decode_plheader
  • comnum.Dvbt
  • comnum.dvbt_channel_gains
  • comnum.CcsdsRs
  • comnum.CcsdsLdpc
  • comnum.CcsdsTurbo
  • comnum.CcsdsConvolutional
  • comnum.ccsds_randomizer
  • comnum.ccsds_marker
  • comnum.ccsds_cadu
  • comnum.nr_numerology
  • comnum.nr_ofdm_modulate
  • comnum.nr_pss
  • comnum.nr_sss
  • comnum.nr_detect_cell_id
  • comnum.nr_ssb_grid
  • comnum.nr_ssb_indices
  • comnum.nr_pbch_dmrs
  • comnum.nr_pdsch_dmrs
  • comnum.nr_mcs
  • comnum.nr_tbs
  • comnum.nr_constellation
  • comnum.NrTransportBlock
  • comnum.NrHarqProcess
  • comnum.NrPdsch
  • comnum.fm_modulate
  • comnum.fm_discriminator
  • comnum.fm_preemphasis
  • comnum.fm_deemphasis
  • comnum.fm_multiplex
  • comnum.fm_stereo_decode
  • comnum.rds_group_bits
  • comnum.rds_differential_encode
  • comnum.rds_receive
  • comnum.lte_frame
  • comnum.lte_pss
  • comnum.lte_cell_search
  • comnum.lte_decode_mib
  • comnum.zadoff_chu
  • comnum.ais_transmit
  • comnum.ais_receive
  • comnum.ais_decode
  • comnum.ais_position_report
  • comnum.ais_aivdm
  • comnum.ais_messages
  • comnum.ais_front_end_rate
  • comnum.Chain
  • comnum.Block
  • comnum.Native
  • comnum.Var
  • comnum.Frame
  • comnum.LinkBlock
  • comnum.frame_metrics
  • comnum.blocks
  • comnum.sim
  • comnum.run_spec
  • comnum.verify_spec
  • comnum.search_spec
  • comnum.spec_conditions
  • comnum.spec_blocks
  • comnum.spec_schema
  • comnum.spec_check_link
  • comnum.Tolerance
  • comnum.read_sigmf
  • comnum.write_sigmf
  • API reference
  • comnum.spec_check_link

comnum.spec_check_link#

comnum.spec_check_link(kinds)#

Check the ports of a link of block types: every block finds the facts it needs among those the blocks before it give.

Parameters:

kinds (list[str]) – the block types, in the order of the link.

Raises:

ValueError – naming the first block that misses a fact and the blocks that give it.

Examples

>>> import comnum
>>> comnum.spec_check_link(["source", "awgn", "noise_estimate"])
>>> try:
...     comnum.spec_check_link(["fec_encode", "map", "demap"])
... except ValueError as e:
...     print(str(e).split(":")[1].strip())
link block 3 (demap) needs noise, which no block before it gives

previous

comnum.spec_schema

next

comnum.Tolerance

On this page
  • spec_check_link()
Show Source

© Copyright 2022-2026, Vincent Choqueuse.

Created using Sphinx 9.1.1.

Built with the PyData Sphinx Theme 0.24.0.