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

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

无线通信领域让大家感受最深的是民用移动通信的快速发展。民用移动通信在短短的二十年时间里已发展了三代: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;      % 二本振信号频率 65MHzt = 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就可以将原信号携带的信号还原出来。

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

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

相关文章

Git提交和配置命令

一、提交代码到仓库 在软件开发中,版本控制是一个至关重要的环节。而Git作为目前最流行的版本控制系统之一,为我们提供了便捷高效的代码管理和协作工具。在日常开发中,我们经常需要将本地代码提交到远程仓库,以便于团队协作和版本…

Java基础教程 - 9 集合

更好的阅读体验:点这里 ( www.doubibiji.com ) 更好的阅读体验:点这里 ( www.doubibiji.com ) 更好的阅读体验:点这里 ( www.doubibiji.com ) 9 集合 什么是集合&…

【stm32/CubeMX、HAL库】嵌入式实验六:定时器(2)|PWM输出

参考: 【【正点原子】手把手教你学STM32CubeIDE开发】 https://www.bilibili.com/video/BV1Wp42127Cx/?p13&share_sourcecopy_web&vd_source9332b8fc5ea8d349a54c3989f6189fd3 《嵌入式系统基础与实践》刘黎明等编著,第九章定时器&#xff0c…

爱普生TG5032SFN温补晶振在机器人控制中的应用

机器人控制是机器人技术的核心组成部分,它涉及通过传感器采集外部环境信息,然后经过信号处理、运动规划和执行控制等步骤,最终实现机器人的运动控制和任务执行。在技术的不断更选,机器人控制也在不断进步和演变。智能化机器人具备…

Z缓冲技术在AI去衣中的关键角色

引言: 人工智能(AI)技术的飞速发展,为图像处理领域带来了革命性的变化。其中,AI去衣技术作为一种新兴的应用,引起了广泛关注。它不仅在多媒体内容的编辑、虚拟现实和增强现实等领域具有重要的应用价值&…

Jenkins 构建 Maven 项目:项目和服务器在一起的情况

bash.sh内容 #!/bin/bash#删除历史数据 rm -rf ruoyi-admin.jar# appname$1 appnamevideo.xxxxx.com #获取传入的参数 echo "arg:$appname"#获取正在运行的jar包pid # pidps -ef | grep $1 | grep java -jar | awk {printf $2} pidps -ef | grep $appname | grep ja…

1673. 找出最具竞争力的子序列

题目 给定一个整数数组 nums 和一个正整数 k,返回长度为 k 且最具竞争力的 nums 子序列。 数组的子序列是从数组中删除一些元素(可能不删除元素)得到的序列。 在子序列 a 和子序列 b 第一个不相同的位置上,如果 a 中的数字小于…

mysql 删除特殊字符 表中存了特殊字符 换行符 回车符 word字符 查询不到

省流: UPDATE t1 SET f1 REPLACE(REPLACE( f1 , CHAR(10), ), CHAR(13), ); 用 replace() 函数将 换行符char(10) 和 回车符char(13) 替换为空字符串。 char(10):换行 char(13):回车 发现表里存进很多换行符,如下图&#xff1a…

Python中文分词工具库之jieba使用详解

概要 在自然语言处理(NLP)领域,中文文本的分词是一个重要且基础的任务。Python的jieba库是一个广泛使用的中文分词工具,提供了丰富的功能,包括精准模式、全模式、搜索引擎模式等,适用于不同的应用场景。本文将详细介绍jieba库,包括其安装方法、主要特性、基本和高级功能…

java技术:oauth2协议

目录 一、黑马程序员Java进阶教程快速入门Spring Security OAuth2.0认证授权详解 1、oauth服务 WebSecurityConfig TokenConfig AuthorizationServer 改写密码校验逻辑实现类 2、oauth2支持的四种方式: 3、oauth2授权 ResouceServerConfig TokenConfig 4、…

MySQL的索引是什么

MySQL的索引 一、索引概述二、索引结构1.简要概述2.从二叉树说起3.再在说下B-Tree4.为什么选择BTree5.Hash又是什么6.博主被面试官经常问的题目 三、索引分类四、聚集索引&二级索引五、索引语法 一、索引概述 1.索引是帮助MySQL 高效获取数据的数据结构(有序)。在数据之外…

[STM32-HAL库]Flash库-HAL库-复杂数据读写-STM32CUBEMX开发-HAL库开发系列-主控STM32F103C6T6

目录 一、前言 二、实现步骤 1.STM32CUBEMX配置 2.导入Flash库 3.分析地址范围 4.找到可用的地址 5.写入读取普通数据 6.写入读取字符串 6.1 存储相关信息 6.2 存取多个参数 三、总结及源码 一、前言 在面对需要持久化存储的数据时,除了挂载TF卡,我们…

燃数科技前端25-40K*14薪一面超简单,下周二面啦

一面 1、自我介绍 2、低代码如何设计的 3、react路由原理 4、react生命周期 5、什么是回调地狱,如何解决 6、jwt和session有什么区别 7、js文件相互引用有什么问题?如何解决 8、一个很大的json文件,前端读取如何优化 面试我的不像是…

为什么说 Redis 是单线程的?——Java全栈知识(25)

为什么说 Redis 是单线程的? 我们常说的 Redis 是单线程的,但是我前面在讲持久化机制的时候又说 RDB 的持久化是通过主进程 fork 出一个子进程来实现 RDB 持久化。那么 Redis 到底是多线程还是单线程的呢? Redis 的网络 IO 和键值的读写是单…

数据库|基于T-SQL创建数据库

哈喽,你好啊,我是雷工! SQL Server用于操作数据库的编程语言为Transaction-SQL,简称T-SQL。 本节学习基于T-SQL创建数据库。以下为学习笔记。 01 打开新建查询 首先连接上数据库,点击【新建查询】打开新建查询窗口, …

C++—结构体

结构体(struct),是一种用户自定义复合数据类型,可以包含不同类型的不同成员。 结构体的声明定义和使用的基本语法: // 声明结构体struct 结构体类型 { 成员1类型 成员1名称; ...成员N类型 成员N名称; };除声明…

【计算机视觉(2)】

基于Python的OpenCV基础入门——视频的处理 视频OpenCV视频处理操作:创建视频对象判断视频是否成功初始化读取视频帧获取视频特征设置视频参数声明编码器保存视频释放视频对象 视频处理基本操作的代码实现: 视频 视频是由一系列连续的图像帧组成的。每一…

Spring—IoC

目录 1. IoC的提出 2. Spring容器 2.1. Spring容器实现原理 2.2. Spring组件 2.2.1 XML标签方式 2.2.2. 类注解方式 2.2.3. 方法注解方式 2.3. Spring容器分类 2.3.1. BeanFactory容器 2.3.2. ApplicationContext容器 2.3.3. WebApplicationContext容器 3. Spring中…

Srping 历史

一、History of Spring and the Spring Framework Spring came into being in 2003 as a response to the complexity of the early J2EE specifications. While some consider Java EE and its modern-day successor Jakarta EE to be in competition with Spring, they are …

idea启动报错:java.lang.NoClassDefFoundError: org/mybatis/logging/LoggerFactory

文章目录 一、问题二、解决方法 一、问题 问题描述:idea整合Mybatis-plus的时候,启动报错:java.lang.NoClassDefFoundError: org/mybatis/logging/LoggerFactory 二、解决方法 可能原因:仔细检查了一下,发现 mybati…