gnnradio入门-gnuradio编程基础

本章转载于 GNU Radio入门 V0.99,下载链接为 http://download.csdn.net/detail/pelsor/9401432

本文中的一些学习网站可能需要翻墙才能访问到


在使用GNU Radio 之前的预备知识


GNU Radio 要求使用者有较强的计算机操作能力和较全面的通信和数字信号处理知识。这一节列出了很多有用的资源,包括文档、web链接和在线教程。文章的目的就是为了帮助GNU Radio爱好者在使用之前做足准备。

我们在使用GNU Radio之前需要了解的知识有:

  • (无线)通信系统
  • 数字信号处理
  • 基础硬件电路设计
  • 面向对象程序设计

对GNU Radio做一个更清晰的认识


目前,GNU Radio还没有一套像样的说明文档,但是,我们在安装完gnuradio和UHD后,有两篇文档介绍,你会在以下路径中找到两个html包:

上面两篇文档是可以本地浏览的,虽然他们说明的不够清楚,但还是能提供相当多的信息的。


数字信号处理(DSP)知识


我想我们中的大部分人都学过《信号与系统》这么课。《信号与系统》的知识在这里极其重要。然而这还不够。当信号在模拟和数字间转换,亦或在时域和频域间转换时,请确保自己不会犯糊涂。底线就是,你要懂得什么是 采样理论,什么是 z变换, 如何得到信号的频谱以及FTR和IIR滤波器。在这里我推荐笔者在本科学的两个科目用的书。

信号与系统(刘泉 江雪梅):

这里写图片描述

数字信号处理原理与实现(刘泉 阙大顺 郭志强):

这里写图片描述


通信系统知识


我们都知道发送和接收的实信号不能是基带的。它们需要通过调制和解调才能传送。相信你在一些课程中已经学习了 AM 和 FM 调制。它们都属于模拟调制。为了开发更多有用而有趣ude系统,我们需要发展数字通信系统。数字通信系统关注和感兴趣的是数字调制、解调和同步的问题。推荐一本本科学的科目

通信系统原理(王虹)

这里写图片描述

以上列出了很多预备知识。但并不意味着你必须一个一个的读完才能开始使用GNU Radio。其实在这个阅读的过程中你就可以慢慢的学习使用 GNU Radio了。但至少你应该阅读GNU Radio的相关知识,接下来你可以试着做一些”作业”:

examples模块中,有一些实例代码,在 /usr/local/share/gnuradio/examples/uhd/路径下,你能阅读如下的两个程序并逐行理解吗?

  • /usr/local/share/gnuradio/examples/uhd/usrp_wfm_rcv.py
  • //usr/local/share/gnuradio/examples/uhd/usrp_am_mw_rcv.py

如果可以,那么恭喜你又跨出了一大步。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
簡單來說, GNUstep 是實作 OpenStep 介面的開放軟體 (Open Source) 計劃, 目標為提供跨平台的物件導向程式開發環境. 早在 1985 年, Steve Jobs 離開蘋果電腦 (Apple) 後成立了 NeXT 公司, 並於 1988 年推出了 NeXT 電腦, 使用 NeXTStep 為作業系統. 在當時, NeXTStep 是相當先進的系統. 以 Unix (BSD) 為基礎, 使用 PostScript 提供高品質的使用者圖形介面, 並以 Objective-C 語言提供完整的物件導向環境. 儘管 NeXT 在軟體上的優異, 其硬體銷售成績不佳, 不久之後, NeXT 便轉型為軟體公司. 1994 年, NeXT 與昇陽 (Sun Microsystem) 合作推出 OpenStep 介面, 目標為跨平台的物件導向程式開發環境. NeXT 接著推出實作 OpenStep 介面的 OPENSTEP 系統, 可在 Mach, Microsoft Windows NT, Sun Solaris 及 HP/UX 上執行. 1996 年, 蘋果電腦買下 NeXT, 做為蘋果電腦下一代作業系統的基礎, OPENSTEP 系統便演進成為 MacOS X 的 Cocoa 環境. 在 1995 年, 自由軟體基金會 (Free Software Fundation) 開始了 GNUstep 計劃, 目的在實作 OpenStep 介面, 以提供 Linux/BSD 系統一個完整的程式發展環境. 但由於 OpenStep 介面過於龐大, 開發人力不足, 及許多技術在當時尚未成熟 (如 Display PostScript), 所以直到目前為止, GNUstep 才算是一個完整的程式開發環境. 儘管 OpenStep 早在 1994 年便提出, 其介面及架構在現今仍相當先進及實用, 使得開發 GNUstep 程式相當容易. GNUstep 使用 Objective-C 語言, 是 C 語言加上 SmallTalk 的物件導向的功能. 結合兩者的優點, 又不至於像 C++ 如此複雜. GNUstep 提供兩個主要的程式庫, Foundation 及 AppKit. Foundation 處理非圖形介面的部份, 如字串, 檔案, 網路, 基本資料結構, 多行緒等, 又稱之為 GNUstep Base. AppKit 則處理圖形介面的部份, 包含視窗, 使用者介面等, 又稱之為 GNUstep GUI. 由於 GNUstep 具有跨平台的特性, 有關繪圖及字型的部份, 則交由 GNUstep Back 來處理. 使用者可依所使用的作業系統, 選擇適當的後端處理 (Backend). GNUstep GUI 會自行處理與 Back 相關的功能, 程式開發者只要使用 GUI 程式庫, 便可適用於各種後端上, 完全不用考慮平台問題. 目前 GNU GCC 3.x 支援 Objective-C 語言, GNUstep 則提供 GNUstep Make 來簡化編譯 Objective-C 程式. GNUstep Make 提供類似 Makefile 的功能, 稱為 GNUmakefile. 與 Makefile 相比較之下 GNUmakefile 簡單許多.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值