4417|7

95

帖子

1

TA的资源

一粒金砂(高级)

楼主
 

学着使用wxpython编写程序 [复制链接]

在明白实现原理的基础上,使用功能强大的python直接编写gnuradio应用程序,也熟悉一下wxpython工具包的使用。实现的主要是常规调幅(要实现抑制载波的DSB比起来要简单一步)。最后的波形为:

载波为20khz的正弦,幅度为10,调制信号为1khz的正弦信号,幅度为0.5。调制系数为0.5。从图上也可以清楚地看到包络。下面的图为频谱显示,20khz的载波分量最大,其他的还有两个距离为1khz的分量。正是AM信号的常规频谱图。

编写程序的过程中也总结了下步骤:

1、第一步依然是导入相应的包,这里比以前要多导入的有wx,stdgui2,fftsink2还有scopesink2。这些都是利用wxpython这一GUI工具所必须的包。

2、以前定义的类母类都是gr.top_block。而这里新建了一个类,继承自stdgui2.std_top_block。具体追溯的话,这个类也最终继承自gr.top_block。

3、程序中用到了scopesink2和fftsink2。都是作为框架frame的零件添加上去的。wxpython里面的布局层次为:windows、frame、panel、vbox、button等等。大多数会涉及一个parent参数,用来设置把这个控件放在哪一个层次上。

4、最后在几行差不多都是一样的。用之前实例化的类来定义一个stdgui2.stdapp对象,然后开始对象的主进程mainloop。这样程序就能运行并显示结果。

查看stdgui2.py文件可以得到整个的文件结构。这个文件里定义了四个类:stdapp、stdframe、stdpanel以及之前的std_top_block。我对整个的过程理解是这样的:当用继承自stdgui2.std_top_block的类test_graph(我自己定义)来生成stdapp类的实例app时,这里先进行的是test_graph的初始化。实例化stdapp时,会将刚生成的test_graph做为参数来生成app。在app的OnInit方法中,又定义了一个实例frame=stdframe()。这样就产生了frame,并且它的各种方法也可以进行作用。在frame的__init__中又定义了一个panel。所以程序又依照stdpanel的定义将frame作为参数来生成panel。到这里,所有涉及的元素都进行了实例化。整个stdgui2,是一个整体调用的过程。这里挺乱的,不过看它的原始定义文件就可以明白其中的过程了。





此帖出自无线连接论坛

最新回复

这个是linxu开发的呀  详情 回复 发表于 2012-11-28 16:50
点赞 关注
 

回复
举报

2144

帖子

3

TA的资源

五彩晶圆(中级)

沙发
 
不错  看界面是linxu下的
此帖出自无线连接论坛

点评

恩,是的,ubuntu,在这上面用起来比较方便  详情 回复 发表于 2012-11-23 16:00
 
 

回复

95

帖子

1

TA的资源

一粒金砂(高级)

板凳
 

回复 沙发 lyzhangxiang 的帖子

恩,是的,ubuntu,在这上面用起来比较方便
此帖出自无线连接论坛

点评

嗯 求助一个12.04直接安装到pc的方法 我看网上说做成usb的安装盘用一些第三方软件插上u盘抽取镜像就可以了,还说可以先进去live,不用安装。这个确实不懂,只能进入安装还是个11.xx的iso,官方12.04的那个iso(里  详情 回复 发表于 2012-11-24 17:37
个人签名If winter comes,can spring be far behind?
 
 
 

回复

2144

帖子

3

TA的资源

五彩晶圆(中级)

4
 

回复 板凳 邶风 的帖子

嗯  求助一个12.04直接安装到pc的方法  我看网上说做成usb的安装盘用一些第三方软件插上u盘抽取镜像就可以了,还说可以先进去live,不用安装。这个确实不懂,只能进入安装还是个11.xx的iso,官方12.04的那个iso(里面还有wubi,这个安装不喜欢,装成正真的系统也是用这个iso吗)

我试了安装就是不成。。不想用虚拟机  看您用的也不是虚拟机的吧。

先谢了,虚拟机中qt好慢啊,受不了了
此帖出自无线连接论坛

点评

恩,我是直接在硬盘上分了一个200G的区,格式化文件系统格式为ext2 ,然后再安装的。因为还有win7,所以这样启动的时候ubuntu自带的那个grub可以让我选择是启动哪一个系统。当时安装用的是刻录好的光盘DVD(普通的C  详情 回复 发表于 2012-11-24 17:52
 
 
 

回复

95

帖子

1

TA的资源

一粒金砂(高级)

5
 

回复 4楼 lyzhangxiang 的帖子

恩,我是直接在硬盘上分了一个200G的区,格式化文件系统格式为ext2 ,然后再安装的。因为还有win7,所以这样启动的时候ubuntu自带的那个grub可以让我选择是启动哪一个系统。当时安装用的是刻录好的光盘DVD(普通的CD好像已经装不下了)。如果想用U盘的话,这个我倒没有尝试过,之前都是光盘直接安装硬盘的,不过我当时也找了一些资料,里面有介绍刻录到U盘,用U盘作启动盘进行安装的。如果感兴趣,我可以发给你。
此帖出自无线连接论坛

点评

哈哈 谢谢 我试试看  详情 回复 发表于 2012-11-24 18:01
个人签名If winter comes,can spring be far behind?
 
 
 

回复

2144

帖子

3

TA的资源

五彩晶圆(中级)

6
 

回复 5楼 邶风 的帖子

哈哈 谢谢  我试试看
此帖出自无线连接论坛
 
 
 

回复

271

帖子

0

TA的资源

一粒金砂(高级)

7
 
这个是linxu开发的呀
此帖出自无线连接论坛

点评

是的  详情 回复 发表于 2012-11-28 17:31
个人签名传感器专家网  http://www.sensorexpert.com.cn/
 
 
 

回复

95

帖子

1

TA的资源

一粒金砂(高级)

8
 

回复 7楼 sensorexpert 的帖子

是的
此帖出自无线连接论坛
个人签名If winter comes,can spring be far behind?
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表