GNU Radio 实数与复数信号分析
本文内容、开发板及配件仅限用于学校或科研院所开展科研实验!
温馨提示:“开源SDR实验室”是北京的。
本文利用GNU Radio来分析复数信号,理解什么是复数信号,并介绍为什么要引入复数信号来分析信号处理过程。
目录
一、实验原理
二、实验内容
1、实数和复数余弦信号
2、Hilbert变换
3、实数信号与复数信号区别对比
三、联系方式
一、实验原理
IQ信号与IQ调制有关,IQ调制也称为正交调制,其调制原理图如下所示:
二、实验内容
1、实数和复数余弦信号
搭建以下GRC程序,运行程序并查看结果。所有模块的数据类型Type都设置为Float,图中所有模块的输入输出都显示为橙色 。
上图显示,我们得到了一个频率为1K,幅度为1的余弦实信号。
接下来,我们将上述GRC程序中的所有模块的数据类型都修改为Complex后如下图所示,所有模块的输入输出都显示为蓝色 。
运行程序得到如下结果,其中蓝色线和绿色线的相位相差了90度,一个为I路,一个为Q路。
2、Hilbert变换
以上是用余弦信号作为信号源,接下来我们分析一下用方波的情况以及用方波进行Hilbert变换的情况,按照下图搭建方波的程序。注意Signal Source、Throttle、第一个WX GUI Scope Sink和Hilbert的输入数据类型都是Float。第二个WX GUI Scope Sink的数据类型是Complex。
其中Hilert模块的参数设置如下图所示。
原始的实数Float方波的时域波形如下图所示。
原始实数Float方波经过Hilbert变换之后所得到的波形为下图中的绿线波形所示。
为了查看方波的复数信号,我们搭建如下的GRC程序,通过查看结果与上述Hilbert变换结果对比发现,GRC的复数信号并不能正确显示出一个复数方波信号的Q分量,要想得到真正的Q分量,则需要用Hilbert模块才行。
3、实数信号与复数信号区别对比
接下来我们通过以下的两个余弦信号相乘的例子再看一下实数信号与复数信号的区别。按照下图搭建GRC程序。所有模块的数据类型都设置为Float。第一个余弦信号的频率是10KHz,第二个余弦信号的频率是1KHz,根据三角函数公式可知,二者相乘之后得到的信号的频率为9K和11KHz,我们利用三个WX GUI FFT Sink来分别查看10K余弦实信号,1KHz余弦实信号和9K/11K乘积实信号的频谱。
第一个10KHz信号的频谱如下图的Tab1所示:
第二个1KHz信号的频谱如下图的Tab2所示:
10K和1K信号相乘得到的结果信号的频谱如下图的Tab3所示,这也就验证了10K和1K信号相乘得到的结果信号的频率是9K和11K。
当我们将上述GRC程序的所有模块数据类型都修改为Complex复数时,如下图所示。
此时的10K余弦复数信号频谱图如下:
1K的余弦复数信号频谱图如下:
而10K*1K余弦复数信号的频谱图如下所示,我们发现此时只有11KHz信号频谱,并不像实数信号中的那样还存在一个9KHz信号频谱。
三、联系方式
淘宝店铺、QQ技术交流群、CSDN联系方式如下:
微信公众号二维码:
GNU Radio 实数与复数信号分析相关推荐
- 基于GNU radio + HackRF One 实现信号发射与FM接收
基于GNU radio + HackRF One 实现信号发射与FM接收 实验环境 一.搭建简易信号发射器 二.搭建简易WBFM接收器 实验环境 硬件平台-HackRF One.天线(40-860MH ...
- 走进“开源SDR实验室” 一起玩转GNU Radio:生成噪声信号
本文内容.开发板及配件仅限用于学校或科研院所开展科研实验! 温馨提示:"开源SDR实验室"是北京的. 本文介绍GNU Radio中的生成噪声信号相关模块. 在开始介绍之前,首先推荐 ...
- GNU Radio基础操作与简易MATLAB分析
GNU Radio基础操作与简易MATLAB分析 GNU Radio流图基本操作 1. 搭建频谱分析仪 搭建一个频谱分析仪的GNU Radio流图程序.在搭建过程中,本人使用了B200mini设备(支 ...
- 走进“开源SDR实验室” 一起玩转GNU Radio:信号功率测量
本文内容.开发板及配件仅限用于学校或科研院所开展科研实验! 温馨提示:"开源SDR实验室"是北京的. 本文介绍GNU Radio中的信号功率测量相关模块. 在开始介绍之前,首先推荐 ...
- 走进“开源SDR实验室” 一起玩转GNU Radio:信号延迟Delay模块
本文内容.开发板及配件仅限用于学校或科研院所开展科研实验! 温馨提示:"开源SDR实验室"是北京的. 本文介绍GNU Radio中的信号延迟模块. 在开始介绍之前,首先推荐一下Al ...
- 基于GNU Radio 无线电平台实现各种常规通信信号的模拟,可以结合ad9361、USRP、HackRFone等SDR平台实现发射和接收实验
一.GNU Radio 介绍 GNU Radio是一个用来帮助无线通信开发者设计.搭建和实现无线通信系统的框架和工具.GNU Radio具有高度模块化.基于流程图的特点,针对复杂的信号处理应用场景,提 ...
- 走进“开源SDR实验室” 一起玩转GNU Radio:gr-channels
本文内容.开发板及配件仅限用于学校或科研院所开展科研实验! 温馨提示:"开源SDR实验室"是北京的. 本文介绍GNU Radio源码的gr-channels相关实例及模块. 目录 ...
- GNU Radio教程 9.QPSK调制解调
MPSK解调教程 在本教程中,我们将专注于模拟而不是无线传输.它将讨论在发送和接收具有真实硬件和通道效果的信号时所涉及的许多问题.我们将通过设置我们的模拟,然后逐步如何恢复信号. 在本教程中,请记住, ...
- GNU Radio系列教程(七):初级篇之GNU Radio GRC PSK调制解调
本文讲解视频:https://www.bilibili.com/video/BV1J54y147GQ 在本文中,我们将进行纯仿真实验,不使用任何硬件设备.但是,我们会考虑无线信号在实际信道传输过程中所 ...
最新文章
- 未来数据中心的选择:宽带多模光纤
- OpenAI最新研究:如何通过无监督学习提升「自然语言理解能力」?
- c运行库、c标准库、windows API的区别和联系
- import pymysql 没有模块_小白详细的 python 模块的运用
- Java包命名规则_包命名规范
- xyCMS框架的webshell
- 如何在scoped不污染组件样式的前提下,实现el-input组件样式覆盖?
- python可以实现的小游戏_今天教小白用Python实现一款小游戏!最适合装逼的神技!亲测可用...
- msdia140.dll 已加载,但对DllRegisterServer 的调用失败, 错误代码: 0x80070005
- java爬虫爬取京东_java爬虫练习|爬取京东上的手机商品数据
- CPU玩的是效率!超线程双核PK物理三核
- 9月25日百度大脑开放日人像特效专场火热报名中!
- Protocol handler start failed
- 机械能计算机实验教案,机械能教案
- 高级语言?编译程序?解释程序?目标代码?
- 微服务多网卡部署(eureka显示IP不为服务IP的地址)解决办法
- 零伽壹链改案例:区块链赋能供应链应用 新电商逆袭成长
- linux服务器忘记密码操作
- 2021年软件测试入门到进阶全套学习内容
- 高血糖的饮食注意事项
热门文章
- 《Spring揭秘》读后感(给你们强烈安利这本书)
- 京东必考JVM 问题诊断快速入门
- 输出所有的“水仙花数“
- ​Mac下 VSCode快捷键 VSCode基本使用
- Go实现json字符串与各类struct相互转换
- 统计学习方法 | 第7章 支持向量机
- 网站变灰,寄托哀思,让我们共同行动!( 图片、文字、Flash变灰)
- Java基础学习第一天
- 如何将一幅图像中灰度值为80的像素点的灰度值改成90(并行实现)
- C++(数据结构与算法):64---布隆过滤器(Bloom Filter)