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

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

无线通信领域让大家感受最深的是民用移动通信的快速发展。民用移动通信在短短的二十年时间里已发展了三代: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作为目前最流行的版本控制系统之一,为我们提供了便捷高效的代码管理和协作工具。在日常开发中,我们经常需要将本地代码提交到远程仓库,以便于团队协作和版本…

2024电工杯数学建模B题思路模型代码

完整内容更新见文末名片 B 题:大学生平衡膳食食谱的优化设计及评价 大学时代是学知识长身体的重要阶段,同时也是良好饮食习惯形成的重要时期。这一特 定年龄段的年轻人,不仅身体发育需要有充足的能量和各种营养素,而且繁重的脑…

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温补晶振在机器人控制中的应用

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

cannot compute sizeof(off_t) when compile netcdf-fortran

export LD_LIBRARY_PATH/netcdf-c/lib:$LD_LIBRARY_PATH

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…

深入研究Qt Meta - Object System

目录 先说RTTI 再说QMeta Object System 关于Q_OBJECT 这篇文章我打算研究一下QMetaObject System,也就是Qt自己构建起来的元对象系统。 先说RTTI 啥是RTTI?这是C编程里的一个常见术语,全称是:运行阶段类型识别(Ru…

Chrome DevTools攻略

Chrome DevTools,也称为Chrome开发者工具,是一套直接内置于Google Chrome浏览器的Web开发者工具。以下是一些使用Chrome DevTools的攻略和技巧: 打开DevTools: 右键点击页面上的任何元素,选择“检查”或“审查元素”。…

2024年华为OD机试真题-机场航班调度程序-C++-OD统一考试(C卷D卷)

题目描述: XX市机场停放了多架飞机,每架飞机都有自己的航班号CA3385,CZ6678,SC6508等,航班号的前2个大写字母(或数字)代表航空公司的缩写,后面4个数字代表航班信息。但是XX市机场只有一条起飞用跑道,调度人员需要安排目前停留在机场的航班有序起飞。为保障航班的有序起…

【webrtc】MediaEngine的实现CompositeMediaEngine创建VOE

m98音视频的引擎是管理channel的看起来是外部强加给CompositeMediaEngine 管理的。CompositeMediaEngine :合成媒体引擎 G:\CDN\rtcCli\m98\src\media\base\media_engine.h// CompositeMediaEngine constructs a MediaEngine from separate // voice and video engine classes…

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

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

代码随想录35期Day49-Java

Day49题目 LeetCode123买卖股票三 核心思想:和昨天的买卖股票相比,这个只允许买两次,因此把状态新增几个,可见代码注释 class Solution {public int maxProfit(int[] prices) {// 设置五个状态 0 : 无操作 , 1 : 第一次买入, 2 : 第一次卖出 , 3: 第二次买入, 4:第二次卖出…

java技术:oauth2协议

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

前端面试题日常练-day19 【面试题】

题目 希望这些选择题能够帮助您进行前端面试的准备,答案在文末。 1. AJAX是什么的缩写? A. Asynchronous JavaScript and XMLB. Asynchronous JavaScript and XHTMLC. Asynchronous Java and XMLD. Asynchronous Java and XHTML2. 下列哪个方法用于创建…

SpringCloudAlibaba 动态读取配置文件的信息

传统读取方式: 在application.properties中写入要读取的内容,如下: coupon.user.nameTom coupon.user.age27 接口引入处: Value("${coupon.user.name}")private String name;Value("${coupon.user.age}")p…

MySQL的索引是什么

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