We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Dollarhyde/gr-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
# BPSK Transceiver Template
# BPSK modulation/demodulation with channel simulation
id: bpsk_transceiver
name: BPSK Transceiver
description: BPSK modulation and demodulation with AWGN channel for testing
category: digital
default_params:
sample_rate: "32000"
symbol_rate: "1000"
samples_per_symbol: "4"
snr_db: "10"
noise_voltage: "0.1"
freq_offset: "0"
blocks:
# Variables
- type: variable
name: samp_rate
params:
value: "${sample_rate}"
- type: variable
name: sps
params:
value: "${samples_per_symbol}"
- type: variable
name: snr_db
params:
value: "${snr_db}"
# Random data source
- type: analog_random_source_x
name: data_source
params:
type: byte
min: "0"
max: "2"
num_samps: "1000"
repeat: "True"
# Throttle
- type: blocks_throttle
name: throttle
role: throttle
params:
type: byte
samples_per_sec: "samp_rate / sps"
# BPSK constellation
- type: digital_constellation_encoder_bc
name: bpsk_mod
params:
constellation: digital.constellation_bpsk().base()
# Pulse shaping (RRC filter)
- type: interp_fir_filter_xxx
name: tx_filter
params:
type: ccf
interp: sps
taps: firdes.root_raised_cosine(1.0, samp_rate, samp_rate/sps, 0.35, 11*sps)
# Channel model - add noise
- type: channels_channel_model
name: channel
params:
noise_voltage: "${noise_voltage}"
frequency_offset: "${freq_offset}"
epsilon: "1.0"
taps: "[1.0]"
noise_seed: "0"
# Matched filter (RRC)
- type: fir_filter_xxx
name: rx_filter
params:
type: ccf
decim: "1"
taps: firdes.root_raised_cosine(1.0, samp_rate, samp_rate/sps, 0.35, 11*sps)
# Symbol timing recovery (Polyphase clock sync)
- type: digital_symbol_sync_xx
name: clock_sync
params:
type: cc
sps: sps
loop_bw: "0.045"
ted_type: digital.TED_MUELLER_AND_MULLER
damping: "1.0"
max_deviation: "1.5"
expected_ted_gain: "1.0"
interp_type: digital.IR_MMSE_8TAP
n_filters: "128"
taps: "[]"
# Constellation decoder
- type: digital_constellation_decoder_cb
name: bpsk_demod
params:
constellation: digital.constellation_bpsk().base()
# Output sink
- type: blocks_null_sink
name: data_sink
params:
type: byte
vlen: "1"
# Optional: BER measurement blocks can be added
connections:
- src_block: data_source
src_port: "0"
sink_block: throttle
sink_port: "0"
- src_block: throttle
src_port: "0"
sink_block: bpsk_mod
sink_port: "0"
- src_block: bpsk_mod
src_port: "0"
sink_block: tx_filter
sink_port: "0"
- src_block: tx_filter
src_port: "0"
sink_block: channel
sink_port: "0"
- src_block: channel
src_port: "0"
sink_block: rx_filter
sink_port: "0"
- src_block: rx_filter
src_port: "0"
sink_block: clock_sync
sink_port: "0"
- src_block: clock_sync
src_port: "0"
sink_block: bpsk_demod
sink_port: "0"
- src_block: bpsk_demod
src_port: "0"
sink_block: data_sink
sink_port: "0"