软件无线电学习-第二代移动通信系统过程理解

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

无线通信领域让大家感受最深的是民用移动通信的快速发展。民用移动通信在短短的二十年时间里已发展了三代:20世纪80年代的模拟体制(TACS/AMPS)为第一代移动通信(简称1G);20世纪90年代的数字体制(GSMCDMATDMA)为第二代移动通信(简称2G);第三代移动通信体制包括我国提出的TD-SCDMA和美国提出的CDMA2000以及欧洲提出的WCDMA 等体制(简称3G);目前第四代移动通信(4G)已全面推广,软件无线电非常适合4G。由此可见,移动通信经历了从模拟无线电到数字无线电,再从数字无线电到软件无线电的。以及现在已经发展到了5G通信技术。
下面我将从第二代移动通信系统学习通信的详细过程,使用matlab仿真来学习该过程。
第二代通信系统采用了数字调制技术,具有更强的抗干扰能力和更大的通信容量(可以通过语音压缩增加逻辑信道数)
第二代移动通信系统采用了时分多址(TDMA)和码分多址(CDMA)体制,大大提高了频谱利用率,增加了系统容量;
第二代移动通信系统随着使用频段的提高,蜂窝小区半径可以减小到几百米,从而可以提高单位面积内的业务量;
第二代移动通信系统由于采用了数字体制,可以与数字化固定基础设施能更好地兼容系统对漫游和切换的管理得到了显著的改善。
第二代移动通信系统以GSM、IS-95、IS-54(D-AMPS)和DCS1800为典型代表,它们的无线接口主要特点如表1-2所示。第二代移动通信系统的最大不同是采用了数字调制,这也就为采用新的TDMA、CDMA 多址方式奠定了基础:另外信道带宽也从模拟体制的30/25kHz提高到了 200kHz和1.25MHZ(D-AMPS除外)。当然,这种在技术体制上的完全革新带来的问题是与第一代系统无法兼容,旧系统将被完全废弃(D-AMPS可以部分保留旧系统),这显然是非常不经济的。
 

系统名称GSMIS-95IS-54(D-AMPS)DCS1800
 
多址方式TDMA/FDMACDMA/FDMATDMA/FDMA
 
TDMA/FDMA
 

使用频段

下行链路(mhz)

上行链路(mhz)

935-960
890-915
869-894
824-849
869-894
824-849
1710-1785
1805-1880
信道间隔KHZ200152030200
调制方式0.3GMSKBPSK/QPSKPI/4 DQPSK0.3GMSK
信道速率(kbps)270.8331228.848.6270.833
语音编码(kbps)138(可变)7.9513
帧长(ms)4.61520404.615

下面将以GSM接收机组成框图为例。
它主要特点是通过二次变频的射频前端把射频信号变为中频信号(图中的一中频频率为71mhz,二中频频率为6mhz)后,首先进行A/D采样数字化,把模拟信号变为数字信号,再由信号处理器(DSP)完成解调任务。

下面我将使用matlab模拟射频前端的过程,理解学习该过程。
下面我们模拟该过程。设置输入射频信号为950mhz,一本振为879mhz,二本振为65mhz。射频信号经过一本振混频后通过滤波器,得到中心频率为71mhz。经过二本振混频滤波后经过滤波器得到中心频率为6mhz。在经过ADC采样。
下面是matlab仿真代码。

clc;
clear ;
% 设置参数
fs = 5e9;       % 采样率 5GHz
fc = 950e6;     % 射频信号 950mHz
fm = 879e6;     % 一本振信号频率 879MHz
fg = 65e6;      % 二本振信号频率 65MHz

t = 0:1/fs:1e-5; % 时间序列
c = sin(2*pi*fc*t);%射频信号
m = sin(2*pi*fm*t);%一本振
s = m .* c;%混频

figure;
plot(t*1e6, s);
title('一本振混频信号');
xlabel('时间 (μs)');
ylabel('幅度');

% 计算频谱
N = length(t);
f = (-fs/2:fs/N:fs/2-fs/N); % 频率向量
S = fftshift(fft(s));

figure;
plot(f, abs(S)/N,'r');
title('一本振混频频谱');
xlabel('频率 (GHz)');
ylabel('幅度');


% 使用低通滤波器
breath_data = filter(ditong_5g_71mhz,s); 
% 计算频谱
N = length(t);
f = (-fs/2:fs/N:fs/2-fs/N); % 频率向量
S = fftshift(fft(breath_data));

figure;
plot(f, abs(S)/N,'r');
title('一本振混频滤波后频谱');
xlabel('频率 (GHz)');
ylabel('幅度');

% 二本振
d = sin(2*pi*fg*t);
e = breath_data .* d;
% 计算频谱
N = length(t);
f = (-fs/2:fs/N:fs/2-fs/N); % 频率向量
S = fftshift(fft(e));

figure;
plot(f, abs(S)/N,'r');
title('二本振混频频谱');
xlabel('频率 (GHz)');
ylabel('幅度');

% 使用低通滤波器
breath_data2 = filter(ditong_5g_6m,e); 

% 计算频谱
N = length(t);
f = (-fs/2:fs/N:fs/2-fs/N); % 频率向量
S = fftshift(fft(breath_data2));

figure;
plot(f, abs(S)/N,'r');
title('二本振混频滤波后频谱');
xlabel('频率 (GHz)');
ylabel('幅度');

经过仿真可以看出频谱变化如下过程。

首先射频信号和一本振混频后得到的频谱在71mhz和1829mhz。经过混频后的信号经过滤波器只保留71mhz。再与二本振65mhz混频后在6mhz和136mhz。再经过滤波器后保留了6mhz。这时候我们再使用ADC去采集这个信号,将模拟中频信号换为数字信号,再经过处理完成解调任务。由于中频只有6mhz所以只需要使用12mhz采样率的ADC就可以将原信号携带的信号还原出来。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Git原理及常用命令小结——实用版(ing......)、Git设置用户名邮箱

Git基本认识 Git把数据看作是对小型文件系统的一组快照,每次提交更新,或在Git中保存项目状态时,Git主要对当时的全部文件制作一个快照并保存这个快照的索引。同时,为了提高效率,如果文件没有被修改,Git不再…

招展工作全面启动!2024深圳国际数字能源展览会

2024深圳国际数字能源展览会 2024 International Digital Energy Expo 时间:2024年9月8-11日 地点:深圳会展中心 指导单位: 国家能源局 深圳市人民政府 中国电力企业联合会 主办单位: 深圳市投资控股有限公司 深圳能源集团股份有限公司 深圳市资…

Pantera 合伙人简谈 Morpho:更高效、适应性更强的 DeFi 解决方案

原文标题:《Pioneering Peer-to-Peer Lending in the DeFi Revolution》撰文:Pantera Capital 合伙人 Paul Veradittakit编译:Chris,Techub News 文章来源:香港Web3媒体Techub News Morpho 正在超越 Compound 等传统…

pyqt 浮动窗口QDockwidget

pyqt 浮动窗口QDockwidget QDockwidget效果代码 QDockwidget QDockWidget 是 PyQt中的一个控件,它提供了一个可以停靠在主窗口边缘或者浮动在屏幕上的窗口小部件(widget)。QDockWidget 允许用户自定义其界面,并提供了灵活的停靠和…

每日一题《leetcode--116.填充每个结点的下一个右侧结点》

https://leetcode.cn/problems/populating-next-right-pointers-in-each-node/ 题目要求给每个结点的next指针进行填充,使每个结点的next指针指向其下一个右侧结点。如果右侧没有结点,则将next指针设置为空。 struct Node* connect(struct Node* root) {…

浅谈金融行业数据安全分类分级

数据安全管理是一项从上而下的、多方配合开展的工作。在进行数据安全管理组织架构建设时,需要从上而下建设;从而全面推动数据安全管理工作的执行和落地;以保证数据安全的合法合规、并长效推动业务的发展和稳定运行。 金融行业机构应设立数据…

docker 安装 MongoDB

文章目录 一、拉取镜像二、创建目录三、启动 版本: 4.2.21 注意:本身这个安装教程是在安装 yapi 时写的,所以如果只安装MongoDB 是可以简化部分与 yapi 有关的内容 一、拉取镜像 docker pull mongo:4.2.21二、创建目录 mkdir -p /data/doc…

在 Ubuntu Server 22.04 上安装和配置 Kubectl

在 Ubuntu Server 22.04 上安装和配置 Kubectl 如何在 Ubuntu Server 22.04 上安装和配置 Kubectl,以便管理 Kubernetes 集群。 前提条件 在开始之前,请确保您已满足以下要求: 已安装 Ubuntu Server 22.04已安装 Kubernetes 集群拥有集群…

【Python脚本随手笔记】-- 将 “庆余年2” 等信息写入 Txt 文件中

💌 所属专栏:【Python脚本随手笔记】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &#…

WordPress插件Disable WP REST API,可根据是否登录来禁用REST API

前面跟大家分享了代码版禁用WordPress REST API的方法(详见『WordPress4.7以上版本如何禁用JSON REST API?』),不过有些站长不太敢折腾自己的网站代码,那么建议试试这款Disable WP REST API,它可以&#xf…

【MiniCPM-V】win10本地部署OCR等性能测试

性能尝试 本地配置如下 --------------------------------------------------------------------------------------- | NVIDIA-SMI 546.80 Driver Version: 546.80 CUDA Version: 12.3 | |-----------------------------------------------------…

Advanced Installer 使用教程-注册表的读写

一、写入 1、注册表的写入:点击左侧“注册表”,在配置单元注册表的条目上右击选择“新建项”,填入新建项名称,如下图新建了一个“InstallerManager”项 2、在刚才的新建项上右击选择“新建值”,在弹出的窗口中填入名称…

Elasticsearch集群部署以及认证配置

文档地址: 官网文档地址: https://www.elastic.co/guide/index.html rpm包/源码下载地址:https://www.elastic.co/cn/downloads 源码安装-环境准备: node-01 192.168.95.174 node-02 192.168.95.173 node-03 …

Helm安装kafka3.7.0无持久化(KRaft 模式集群)

文章目录 2.1 Chart包方式安装kafka集群 5.开始安装2.2 命令行方式安装kafka集群 搭建 Kafka-UI三、kafka集群测试3.1 方式一3.2 方式二 四、kafka集群扩容4.1 方式一4.2 方式二 五、kafka集群删除 参考文档 [Helm实践---安装kafka集群 - 知乎 (zhihu.com)](https://zhuanlan.…

docker ps显示的参数具体是什么意思

1,运行一个容器 docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"这段命令的作用是使用 docker run 命令运行一个基于 ubuntu:15.10 镜像的 Docker 容器,并在容器中执行一个无限循环的命令。 具体解…

LeetCode700二叉搜索树中的搜索

题目描述 给定二叉搜索树(BST)的根节点 root 和一个整数值 val。你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 null 。 解析 最基本的二叉搜索树的应用,递归或者while循环都可以…

dll文件是什么?电脑丢失某个dll文件有什么解决办法

Dll文件是什么?这个文件在电脑中是什么样的地位?如果电脑提示丢失了某个dll文件那么有什么办的解决这个问题呢?如何将丢失的dll文件进行修复呢?今天这篇文章将按就来教大家几种修复丢失dll文件问题的方法。 DLL 文件,全…

docker三种自定义网络(虚拟网络) overlay实现原理

docker提供了三种自定义网络驱动:bridge、overlay、macvlan。 bridge驱动类似默认的bridge网络模式。 overlay和macvlan是用于创建跨主机网络。 支持自定义网段、网关,docker network create --subnet 172.77.0.0/24 --gateway 172.77.0.1 my_n…

el-table-column两种方法处理特殊字段,插槽和函数

问题:后端返回的字段为数字 解决办法: {{ row[item.prop] 1 ? "启用" : "禁用" }} {{ row[item.prop] }} 最终果: 另外:如果多种状态时可用函数 {{ getStatus(row[item.prop]) }} {{ row[item.prop…

开源RAG,本地mac启动 dify源码服务

一、Dify文档 参考官方文档来操作,基本没太大的问题。一些细节,我在本篇文章中补充了出来。 这篇文章主要讲以源码的方式启动后端服务,前端服务使用容器启动。 dify 文档地址 欢迎使用 Dify | 中文 | Dify Dify 本地源码部署文档&#xff…