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

目录
相关文章
|
Python
pycharm通行证更新问题
pycharm通行证更新问题
582 0
|
Python
解决GNURadio自定义Python OOT块-导入块时报错问题
解决GNURadio自定义Python OOT块-导入块时报错问题
536 0
|
开发工具 Android开发 开发者
Android Studio详细下载,安装使用教程
Android Studio详细下载,安装使用教程
5452 0
|
数据可视化 算法 vr&ar
|
缓存 Linux 测试技术
安装【银河麒麟V10】linux系统--并挂载镜像12
【7月更文挑战第12天】安装【银河麒麟V10】linux系统--并挂载镜像
5212 0
|
Java 网络协议 应用服务中间件
SpringBoot项目整合Netty
SpringBoot项目集成Netty实现服务端
7524 0
SpringBoot项目整合Netty
|
开发工具 Android开发
Android Studio SDK 使用国内镜像源在线安装
一、使用国内镜像源: 先在这里推荐几个: 1、东软信息学院 mirrors.neusoft.edu.
32387 0
|
搜索推荐 SEO
域名ICP备案时网站备注到底该怎么写?全网最全教程来了
①我要搭建一个茶叶的科普网,你就可以详细的说明:本网站为个人网站,主要是分享关于茶叶的科普。主要包括 1、茶叶的分类,我国现种植的茶叶的分布、产量、市场规模;2、茶叶的科普,例如普洱、毛尖的生长周期、种植、营养元素 ……
12678 4
|
SQL 存储 缓存
Mybatis缓存,一篇就够了
MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地配置和定制 默认情况下,只启用了本地的会话缓存,它仅仅对一个会话中的数据进行缓存。 要启用全局的二级缓存,只需要在你的 SQL 映射文件中添加一行:
498 1
Mybatis缓存,一篇就够了