rx_analyzer¶
rfsoc_rfdc.receiver.rx_analyzer
¶
Attributes¶
Classes¶
BaseAnalyzer(channel_id)
¶
TimeDomainAnalyzer(channel_id, path2wave='../wave_files', mode='real2iq')
¶
Bases: BaseAnalyzer
Visualize and save raw waveform data
Source code in rfsoc_rfdc/receiver/rx_analyzer.py
TimeDomainPacketAnalyzer(channel_id, path2wave='../wave_files')
¶
Bases: BaseAnalyzer
Analyzer for time-domain packet analysis (assumed real2iq mode)
Source code in rfsoc_rfdc/receiver/rx_analyzer.py
FreqDomainPacketAnalyzer(channel_id, mode='real2iq')
¶
Bases: BaseAnalyzer
Analyzer for frequency-domain packet analysis
Source code in rfsoc_rfdc/receiver/rx_analyzer.py
OFDMAnalyzer(channel_id, ofdm_scheme, detect_scheme)
¶
Bases: BaseAnalyzer
Analyzer for OFDM-specific processing (assume real2iq mode)
Source code in rfsoc_rfdc/receiver/rx_analyzer.py
Attributes¶
ofdm_scheme = ofdm_scheme
instance-attribute
¶
detect_scheme = detect_scheme
instance-attribute
¶
Functions¶
io_logging_thd(raw_iq)
¶
plot_thd(raw_iq)
¶
analyze_packet(raw_iq)
¶
Perform packet detection and OFDM analysis
Source code in rfsoc_rfdc/receiver/rx_analyzer.py
TCPAnalyzer(channel_id, server_config=('server.local', 1234), mode='real2iq')
¶
Bases: BaseAnalyzer
Analyzer for TCP network operations
Source code in rfsoc_rfdc/receiver/rx_analyzer.py
Attributes¶
server_config = server_config
instance-attribute
¶
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
instance-attribute
¶
mode = mode
instance-attribute
¶
Functions¶
tcp_reconnect()
¶
Attempt to reconnect TCP socket
Source code in rfsoc_rfdc/receiver/rx_analyzer.py
io_logging_thd(raw_iq)
¶
Send samples over TCP connection
Source code in rfsoc_rfdc/receiver/rx_analyzer.py
plot_thd(raw_iq)
¶
RxAnalyzer(channel_id, server_config=('server.local', 1234))
¶
Base class for common analyzer functionality
Source code in rfsoc_rfdc/receiver/rx_analyzer.py
Real2IqRxAnalyzer(ofdm_scheme, detect_scheme, channel_id, server_config=('server.local', 1234))
¶
Bases: RxAnalyzer
Analyzer for Real to IQ conversion
Source code in rfsoc_rfdc/receiver/rx_analyzer.py
Attributes¶
waveform_analyzer = TimeDomainAnalyzer(channel_id, detect_scheme.path2wave, mode='real2iq')
instance-attribute
¶
time_analyzer = TimeDomainPacketAnalyzer(channel_id, detect_scheme.path2wave)
instance-attribute
¶
freq_analyzer = FreqDomainPacketAnalyzer(channel_id)
instance-attribute
¶
ofdm_analyzer = OFDMAnalyzer(channel_id, ofdm_scheme, detect_scheme)
instance-attribute
¶
Functions¶
proc_rx(data)
¶
Source code in rfsoc_rfdc/receiver/rx_analyzer.py
RxMIMOAnalyzer(detection_scheme, tx_ant, rx_ant, server_config=('server.local', 1234))
¶
Bases: RxAnalyzer
Analyzer for Rx MIMO Channel
Source code in rfsoc_rfdc/receiver/rx_analyzer.py
Attributes¶
channel_count = tx_ant
instance-attribute
¶
time_analyer_list = [(TimeDomainAnalyzer(channel_id=id, path2wave='./wave_files', mode='real2iq')) for id in (range(self.channel_count))]
instance-attribute
¶
mimo_detection = detection_scheme
instance-attribute
¶
Functions¶
detect(wave_rx)
¶
Perform multi-channel packet detection
proc_rx(iq_data)
¶
Only update plot. No DSP is performed
Source code in rfsoc_rfdc/receiver/rx_analyzer.py
Real2RealRxAnalyzer(channel_id, server_config=('server.local', 1234))
¶
Bases: RxAnalyzer
Analyzer for Real to Real conversion