软件无线电学习-发射机体系结构

本文知识内容摘自《软件无线电原理和应用》

软件无线电主要由发射机和接收机两大部分组成。软件无线电发射机的主要功能是把需发射或传输的用户信息(话音、数据或图像)经基带处理(完成诸如FM、AM、FSK、PSK、MSK、QAM 等调制)和上变频,调制到规定的载频(中心频率)f_{0}上,再通过功率放大后送至天线,把电信号转换为空间传播的无线电信号,发向空中或经传输介质(如电缆、光缆)送到接收方的接收机前端,由其进行接收解调。其过程如下图所示。

如前所示,任何一个无线电信号均可以表示为:

s(t)=a(t)cos(2\pi f_{0}t+\omega (t))

式中,a(t)和\omega (t)分别表示该信号的幅度调制信息和相位调制信息,f_{0}为信号载频(中心频率),而频率调制信息也反映在相位调制信息中,即:

f_{t}=\tfrac{d\omega (t))}{dt}

对上述式子进行数字化

s(n)=a(nT_{s})cos(2\pi f_{0}nT_{s}+\omega )(nT_{s})

其中,T_{s}=1/f_{s}为采样间隔,上式子简写为:

s(n)=a(n)cos(\omega _{0}n+\varphi (n))

式中,\omega _{0}=2\pi f_{0}T_{s}为数字角频率,取0-\pi(实信号),有时不加区分地把\omega _{0}f_{0}都称为角频率,只要记住在信号表达式中的真正含义就是了。为了便于信息调制,通常把上式进行正交分解:

s(n)=I(n)cos(\omega _{0}n)+Q(n)sin(\omega _{0}n)

其中I(n)=a(n)cos\varphi (n)Q(n)=-a(n)sin\varphi (n)

调制的方式是现求出I(n)和Q(n)然后分别与两个正交本振cos(\omega _{0}n)sin(\omega _{0}n)相乘并求和,即可得到调制信号s(n)

matlab仿真程序。

clc;
clear;
% 设置参数
fs = 5e9;       % 采样率 5GHz
fc = 50e6;       % 基带频率
fm = 100e6;    % NCO信号频率t = 0:1/fs:1e-3; % 时间序列,1微秒% 基带信号
i = cos(2*pi*fc*t);%余弦波
q = -sin(2*pi*fc*t);%正弦波% nco本振信号
i_nco = cos(2*pi*fm*t);
q_nco = sin(2*pi*fm*t);% iq调制
iq = i.*i_nco + q.*q_nco;% 绘制频域波形% 计算频谱
N = length(t);
f = (-fs/2:fs/N:fs/2-fs/N); % 频率向量
I = fftshift(fft(i));
Q = fftshift(fft(q));
I_NCO = fftshift(fft(i_nco));
Q_NCO = fftshift(fft(q_nco));
IQ= fftshift(fft(iq));
figure(1);
subplot(4,1,1);
plot(f, abs(I)/N,'b');
title('基带I频谱');
xlabel('频率 (GHz)');
ylabel('幅度');subplot(4,1,2);
plot(f, abs(Q)/N,'b');
title('基带Q频谱');
xlabel('频率 (GHz)');
ylabel('幅度');subplot(4,1,3);
plot(f, abs(I_NCO)/N,'g');
title('i_nco本振信号频谱');
xlabel('频率 (GHz)');
ylabel('幅度');subplot(4,1,4);
plot(f, abs(Q_NCO)/N,'r');
title('q_nco本振信号频谱');
xlabel('频率 (GHz)');
ylabel('幅度');figure(2);
plot(f, abs(IQ)/N,'b');
title('iq调制频谱');
xlabel('频率 (GHz)');
ylabel('幅度');

设置采样率为5ghz,基带信号为50mhz,nco本振为100mhz,第一步先求出基带信号的IQ信号,在求出正交本振cos和sin。相乘后相加。

实验现象如下如所示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/19064.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Gir clone 设置代理与错误

git查看、配置、删除代理 link git config --global https.proxy http://127.0.0.1:1080 git config --global http.proxyhttps://stackoverflow.com/questions/11265463/reset-git-proxy-to-default-configuration git config --global --unset http.proxy git config --gl…

SpringMVC 数据映射VC

从 view 层发送请求到Controller,在Controller中获取参数: 在不输入值时会报400,参数错误 在不输入值时num默认为null 没有找到对应标签名称叫nums的,输入任何值时都报400 设置required默认值为false,即使表单没有nums…

基于Centos7 安装k8s一主两从

一、资源准备 mac下虚拟机环境搭建 1、使用搜狐的iso源 http://mirrors.sohu.com/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso 下载 iso镜像。 2、https://www.macwk.com/soft/vmware 下载 mac vm虚拟机 3、搭建一主两从集群所需虚拟机 4、新建虚拟机…

php反序列化初步了解

一、定义 序列化(串行化):将变量转换为可保存或传输的字符串的过程(通常是字节流、JSON、XML格式) 反序列比(反串行化):把这个字符串再转化成原始数据结构或对象(原来的…

长安链使用Golang编写智能合约教程(一)

长安链是分2.1.和2.3.两个版本,本节面说的是2.1.的版本 需要2.3.版本的合约,请看教程(二)! 教程(二)我会写如何查历史数据 教程二:(长安链2.3.的版本的智能合约编写&…

在WHM中如何调整max_post_size参数大小

今日我们在搭建新网站时需要调整一下PHP参数max_post_size 的大小,我们公司使用的Hostease的美国独立服务器产品默认5个IP地址,也购买了cPanel面板,因此联系Hostease的技术支持,寻求帮助了解到如何在WHM中调整PHP参数,…

反转!Greenplum 还在,快去 Fork 源码

↑ 关注“少安事务所”公众号,欢迎⭐收藏,不错过精彩内容~ 今早被一条消息刷爆群聊,看到知名开源数仓 Greenplum 的源码仓“删库跑路”了。 要知道 GP 新东家 Broadcom 前几日才刚刚免费开放了 VMware Workstation PRO 17 和 VMware Fusion P…

linux系统的逻辑卷管理及磁盘配额

目录 逻辑卷管理 磁盘配额 逻辑卷管理 lvm:logical volume manager 逻辑卷管理 linux系统下对硬盘分区的一种管理机制。 lvm机制特别适合于管理大存储设备,可以动态的对硬盘进行扩容。 逻辑上的磁盘,概念上的磁盘&a…

QTP——功能测试

一、前言(课设目的及内容) QTP是quicktest Professional的简称,是一种自动测试工具。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试&…

五个超级好用的Prompt网站,让你的GPT效率碾压旁人!

五个超级好用的Prompt网站,让你的GPT效率碾压旁人! 1. 150 Best ChatGPT Prompts for All Kinds of Workflow 该网站包含了150个能够显著提升工作流程效率的ChatGPT Prompt。从制作引人入胜的内容到简化项目,这些提示应该有助于将 ChatGPT …

【Python】解决Python报错:IndentationError: expected an indented block

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

基于51单片机的酒精浓度检测仪的设计

一.硬件方案 硬件部分为利用MQ3气敏传感器测量空气中酒精浓度,并转换为电压信号,经A/D转换器转换成数字信号后传给单片机系统,由单片机及其相应外围电路进行信号的处理,显示酒精浓度值以及超阈值声光报警。电路主要由51单片机最小…

【刷题(13)】二分查找

一、二分查找基础 &#xff08;1&#xff09;int mid ((right - left) >> 1) left; &#xff08;2&#xff09;lower_bound的底层实现 int lower_bound(vector<int>& nums, int x) {int left 0;int right nums.size() - 1;// 区间为 左闭右闭while (lef…

基于python实现生命游戏

文章目录 一、生命游戏是什么二、生命游戏规则解释1.相邻细胞2.细胞状态 三、代码实现1.邻居细胞2.更新状态 四、整体代码 一、生命游戏是什么 生命游戏&#xff08;Game of Life&#xff09;是由英国数学家约翰何顿康威在1970年发明的一种细胞自动机&#xff08;Cellular Aut…

(超详细)字符函数和字符串函数【上】

前言 C 语言中对字符和字符串的处理很是频繁&#xff0c;但是 C 语言本身是没有字符串类型的&#xff0c;字符串通常放在 常量字符串 中或者 字符数组 中。 字符串常量 适用于那些对它不做修改的字符串函数 . 1.求字符串长度函数 strlen函数 我们要求一个字符串函数的长度…

Firefox国际版

Firefox国际版官方网址&#xff1a; Download the Firefox Browser in English (US) and more than 90 other languagesEveryone deserves access to the internet — your language should never be a barrier. That’s why — with the help of dedicated volunteers around…

C语言序列化和反序列化--TPL(一)

TPL TPL说明网站 C语言中高效的序列化 您可以使用tpl快速轻松地存储和重新加载C数据。Tpl是一个用于序列化C数据的库。数据以自然二进制形式存储。该API很小&#xff0c;并试图保持“不碍事”。Tpl可以序列化许多C数据类型&#xff0c;包括结构。Tpl与文件、内存缓冲区和文件…

【数据结构:排序算法】堆排序(图文详解)

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;数据结构课程学习 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 &#x1f369;1.大堆和小堆 &#x1f369;2.向上调整算法建堆和向下调整算法建堆&#xff1a;…

Kafka原生API使用Java代码-生产者-分区策略-默认分区策略轮询分区策略

文章目录 1、代码演示1.1、pom.xml1.2、KafkaProducerPartitioningStrategy.java1.2.1、ProducerConfig.LINGER_MS_CONFIG取 0 值得情况&#xff0c;不轮询1.2.2、ProducerConfig.LINGER_MS_CONFIG取 0 值得情况&#xff0c;轮询1.2.3、ProducerConfig.LINGER_MS_CONFIG取 1000…

B/S架构+java语言+Mysqladr数 据 库ADR药物不良反应监测系统源码 ADR药物不良反应监测系统有哪些作用?

B/S架构&#xff0b;java语言&#xff0b;Mysqladr数 据 库ADR药物不良反应监测系统源码 ADR药物不良反应监测系统有哪些作用&#xff1f; 药物不良反应(ADR)是指在合格药物以正常用量和用法用于预防、诊断、治疗疾病或调节生理功能时所发生的意外的、与防治目的无关的、不利或…