QPSK调制发送数据包

简介:
#! /usr/bin/env python

from gnuradio import gr,blocks,digital,uhd
import struct,sys

class transmit_path(gr.top_block):
	def __init__(self):
		gr.top_block.__init__(self)
                ## Modulator
		self.modulator=digital.qpsk_mod(mod_code="gray",differential=True,samples_per_symbol=4,excess_bw=0.35,verbose=False,log=False)
                ## USRP Sink
		self.u=uhd.usrp_sink(device_addr="",stream_args=uhd.stream_args('fc32'))
                self.u.set_samp_rate(500e3)
                self.u.set_center_freq(5.04e9,0)
                self.u.set_gain(35,0)
                self.u.set_antenna("TX/RX",0)
                ## Packet Transmitter
                self.packet_transmitter=digital.mod_pkts(self.modulator,access_code=None,msgq_limit=4,pad_for_usrp=True)
                ## Connects
		self.connect(self.packet_transmitter,self.u)
        def send_pkt(self,payload='',eof=False):
                "Call to send a packet"
                return self.packet_transmitter.send_pkt(payload,eof)

def main():
	tb=transmit_path()
	tb.start()
        n=0
        pkt_size=1024
        pktno=0
        while n < 1e6:
                data = (pkt_size - 2) * chr(pktno & 0xff) 
                payload = struct.pack('!H', pktno & 0xffff) + data
                tb.send_pkt(payload)
                n += len(payload)
                sys.stderr.write('.')
                pktno += 1        
        send_pkt(eof=True)
        tb.wait()

if __name__=="__main__":
	try:
		main()
	except KeyboardInterrupt:
		pass

目录
相关文章
|
1月前
|
Python
【信号处理】Python实现BPSK、QPSK、8PSK、8QAM、16QAM、64QAM的调制和解调
使用Commpy开源包在Python中实现BPSK、QPSK、8PSK、8QAM、16QAM、64QAM等调制和解调方法的具体代码示例,但不包括8QAM的Commpy实现,以及一个完整的编码和解码示例。
128 0
|
3月前
|
内存技术
计算机网络——物理层-编码与调制(数字基带信号、模拟基带信号、码元、常用编码、基本调制方法、混合调制)一
计算机网络——物理层-编码与调制(数字基带信号、模拟基带信号、码元、常用编码、基本调制方法、混合调制)一
133 0
|
3月前
计算机网络——物理层-编码与调制(数字基带信号、模拟基带信号、码元、常用编码、基本调制方法、混合调制)二
计算机网络——物理层-编码与调制(数字基带信号、模拟基带信号、码元、常用编码、基本调制方法、混合调制)二
68 0
|
4月前
|
网络协议 iOS开发 MacOS
LabVIEW在快速传输速率下丢失UDP数据包
LabVIEW在快速传输速率下丢失UDP数据包
53 0
|
4月前
基于OFDM的通信系统模拟实现
基于OFDM的通信系统模拟实现
69 2
|
4月前
解决GNU Radio+USRP实现OFDM收发在接收端QPSK星座图映射无“抖动”问题
解决GNU Radio+USRP实现OFDM收发在接收端QPSK星座图映射无“抖动”问题
140 0
|
资源调度 算法
m基于扩频解扩+LDPC编译码的通信链路matlab误码率仿真,调制对比QPSK,16QAM,64QAM,扩频参数可设置
m基于扩频解扩+LDPC编译码的通信链路matlab误码率仿真,调制对比QPSK,16QAM,64QAM,扩频参数可设置
237 2
|
算法 定位技术
m基于扩频解扩的通信链路误码率matlab仿真,调制对比QPSK,16QAM,64QAM,扩频参数可以设置
m基于扩频解扩的通信链路误码率matlab仿真,调制对比QPSK,16QAM,64QAM,扩频参数可以设置
307 0
NR PUSCH(七) 相干传输
这篇就是为记录一个概念在协议中的体现方式。相干传输被定义为一种UE能力。考虑到UE的实现成本,NR不要求所有的UE都能做到所有的天线端口都可以相干传输。NR定义了以下3种UE的相干传输能力。
|
机器学习/深度学习 传感器 编解码
【OFDM通信】OFDM仿真设计(卷积编码、自动增益控制、极大似然判决、QPSK收发、帧检测)附matlab代码
【OFDM通信】OFDM仿真设计(卷积编码、自动增益控制、极大似然判决、QPSK收发、帧检测)附matlab代码