自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 波束管理 Beam Management

Beam Management in 5G NR  波束管理,是5G NR中基于信道质量来动态选择每个UE和gNB之间以什么方向和频率的波束beam来进行通信。 背景  5G NR(New Radio)支持非常高的数据速率和更低的延迟。5G NR支持FR1和FR2频段,FR1为亚6 GHz(450至6000 MHz);FR2为毫米波段(24.25 GHz至52.6 GHz)。  由于毫米波频带使用非常高的频率,因此会导致传播损耗和其他损耗。为了补偿损失,在这种频率下定向通信是必不可少的。

2021-11-30 21:23:12 4349

原创 Matlab 音频信号处理

Matlab 音频信号处理  现有原始音频文件SunshineSquare.wav,后半段音频被人为加上了多频段的噪音,使用matlab工具对其进行分析并消除噪音还原出无噪音频文件。 Step1:分析原始音频文件读取[audio_data, fs] = audioread('../../SunshineSquare.wav');L = length(audio_data);% 听一听该音频% soundsc(audio_data, fs);绘制时域图  从下面时域图中可以看

2021-11-28 15:36:18 15863 4

原创 点到点链路的滑动窗口协议

目录传输的可靠性ARQ算法一:停止—等待算法四种情形分析ARQ算法二:滑动窗口算法发送方接收方例如分析序号的范围点到点传输传输的可靠性  在通信过程中,帧的传输而可能出错时,可以用像CRC这样的差错码来检测。但是虽然有些差错码功能很强,并且还能够纠错,但实际上由于开销太大以至于无法处理网络链路上发生的比特错和成组差错。即使使用纠错码,某些差错因为过于严重仍需丢弃其对应差错帧,因此可靠的链路协议必须能以某种方式回复这些丢失的帧。  通常使用两种基本的机制——**确认(ackonwledegment)和超

2021-10-24 14:41:34 790

原创 【进程通信】Signal信号

信号(signal)  软中断信号(signal,又简称为信号)是Linux下用来在进程间传递消息的方式之一,也是进程间唯一的异步通信方式。从命名中可以看出信号的实质很像中断。进程间可以通过调用kill库函数发送软中断信号,Linux内核也可能给进程发送信号,用以告知该进程发生了某个异步事件。  注意,信号只用来告知进程发生了某个异步事件,并不用来传递数据。进程收到信号后会有三种处理方式:忽略,不做任何处理执行预先设置的处理函数(就像中断服务程序一样)采用系统的默认操作,大部分是终止进程&n

2021-10-23 22:12:38 1214

原创 标准输入/出与重定向

标准输入、输出、错误文件描述符每个进程会默认打开3个文件描述符:STDIN_FILENO:值为0,代表标准输出流STDOUT_FILENO:值为1,代表标准输入流STDERR_FILENO:值为2,代表标准错误流 设备文件标准输入文件:stdin,是指向键盘缓冲区的文件指针标准输出文件:stdout,是指向屏幕显示区的文件指针标准错误文件:stderr,是指向屏幕显示区的文件指针  通过这两个指针封装了键盘和屏幕I/O操作的底层实现细节,从标准输入读取就是读取 /dev/st

2021-10-16 13:26:50 766

原创 千年虫与2038年问题

  1999年12月31日的夜晚,人类即将迎接第二个千禧之年的到来,大家喜气洋洋地等待新年钟声的敲响。然而有那么一批人此时此刻却紧张不已,因为过了十二点钟,世界各地的政府和金融系统可能会在一瞬间崩溃。  上世纪六十年代,计算机存储器的成本很高,如果用四位数字表示年份,就要多占用存储器空间,就会使成本增加,因此为了节省存储空间,计算机系统的编程人员采用两位数字表示年份。随着计算机技术的迅猛发展,虽然后来存储器的价格降低了, 但在计算机系统中使用两位数字来表示年份的做法却由于思维上的惯性势力而被沿袭下来, 年

2021-10-01 23:53:01 1124

原创 备考一天速通计算机三级网络技术

Step1:看视频,达到选择题、综合题、应用题的题目排布和做题方法心中有数(视频时间短,通俗易懂)Step2:刷三套选择题,对常考的知识点留有一些印象(可以边做边查总结的知识点,做标记)Step3:从选择题知识点总结里找出常考知识点所在小节,仔细看,力图记住(记个大概即可,不用一字不差背下来)Step4:按照视频里的方法刷五套综合题和应用题(比起选择题,这几题基本上是送分)Step5:再做一两套完整真题练练手就ok了总结一下,选择题知识点繁杂,但是有那么几类知识点是年年会考的内容,建议背下,其他的

2021-09-25 10:29:48 349

原创 Linux启动过程——EFI

EFI简介  Extensive Firmware Interface 可拓展固件接口,是英特尔公司推出的一种在类PC的电脑系统中替代BIOS的升级方案。EFI以小型磁盘分区的形式存放在硬盘上的,并非在BIOS的FLASH里面。  EFI在开机时的作用和BIOS一样,都是初始化PC,但是在细节上也有区别。BIOS是对硬件按照一定顺序进行检查,而EFI不但检查硬件完好性,还会加载硬件在EFI中的驱动程序,不需要操作系统负责加载驱动。EFI最创新的地方就是颠覆了BIOS的界面概念,让操作系统和Windows

2021-09-21 15:38:45 2736

原创 Linux内核功能及架构

简介  Linux内核的作用是将应用层序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。Linux进程采用层次结构,每个进程都依赖于一个父进程。内核启动 init 程序作为第一个进程。该进程负责进一步的系统初始化操作。init 进程是进程树的根,所有的进程都直接或者间接起源于该进程。从技术层面讲,内核是硬件与软件之间的一个中间层。作用是将应用程序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。从应用程序的层面讲,应用程序与硬件没有联系,只与内核有

2021-09-20 23:42:56 288

原创 Systemd 入门及常用命令

Systemd  在计算机启动时,BootLoader装载上真正的根文件系统后执行/sbin/init进程,而现下Systemd(系统管理守护进程)取替了传统的SysV init成为主流的 init 替代进程。最开始以GNU GPL协议授权开发,现在已转为使用GNU LGPL协议,它是如今讨论最热烈的引导和服务管理程序,Linux系统启动过程中init进程部分将交给systemd处理。 systemd架构 systemd 系统管理  systemd是一组命令,涉及到系统管理

2021-09-20 10:21:00 1670

原创 Linux文件系统映像:Initranfs 和 Initrd

initramfs 和 initrd 介绍  在/boot目录下,一般都有一个/boot/initrd.img文件或一个/boot/initramfs.img文件。  现在有两个问题。第一个问题就是为什么要有 initrd 或者 initramfs?答案是,为了减小 Linux 内核(Kernel)的大小。Linux内核在初始化之后会执行init进程,而init进程会挂载根文件系统,但由于init程序也是在根文件系统上的,所以这就有了悖论。Linux采用两步走的方法来解决这个问题。Linux2.6版以前

2021-09-20 00:08:14 1426

原创 Linux系统启动过程

Linux计算机上电后会发生什么?Step1:BIOS(Basic Input Output System 基本输出输入系统)  BlOS是计算机上电后执行的第一个程序,作用是执行POST(Power on self test,上电自检),在发现问题时发出告警声,比如硬盘、显卡、声卡及各种接口等。然后在启动设备(cd-rom,网络,硬盘等)中搜寻boot loader,将boot loader stage1程序加载进内存,并执行。之后BIOS就隐于后台。  BIOS主要包括: 1. 自诊断程序(通过

2021-09-19 23:21:51 410

原创 PIC单片机 IIC通信及实现

IIC通信  IIC是一种只需要2根数据线就可以实现数据通信的总线式结构。IIC采用主从式通信方式,通信过程完全由主设备决定。完整的通信流程是主设备发送起始信号给从设备,再发送地址来选中从设备,然后就可以开始进行数据传输,当传输结束后由主设备发送结束信号告知从设备通信结束。(示例代码中,PORTA为所用单片机的8位引脚对应的寄存器名称,采用PORTA<7>作为数据位SDA、PORTA<6>作为时钟位SCL)起始信号  起始信号由两个下降沿组成,SDA信号先从1置0,然后SC

2021-09-16 07:43:34 1447

原创 PIC单片机 电容式触摸检测

目录ADC触摸检测原理ADC的使用触摸检测程序设计ADC触摸检测原理  ADC内部电容Chold与外部引脚所接电容Csensor并联,等效电容为二者之和。首先将内部电容Chold充电,将外接电容Csensor放电,然后连接二者,将二者电荷量Q保持为恒定值。根据电容公式 Q = CU 可知,当手触摸外部电容Csensor导致其电容增大时,等效电容随之增大,而电荷量Q恒定所以电压U下降。测量得出触摸与未触摸时电压的阈值后就可以根据电压变化来判断是否触摸。  ADC的使用1、引脚

2021-09-12 23:39:37 1889

原创 PIC单片机 按键检测识别

目录按键和PIC单片机一、按键二、按键的物理连接与检测三、PIC16F18854单片机按键检测及显示实验按键排布预期效果总体流程中断服务程序PIC汇编程序按键和PIC单片机一、按键按键是嵌入式系统基本的人机交互手段,其使用步骤包括:检测连通、消抖、行为判断 二、按键的物理连接与检测简单按键缺点:占用端口引脚太多,一个按键就占一个引脚。 行列扫描按键行为input,列为output每个列依次接地,同时其他列高阻态(建议不用逻辑1,防止短路),观察哪一/些

2021-09-11 23:06:38 1732

原创 基于socket的线上聊天框

聊天框1.0使用说明:要求Linux环境,虚拟机或者WSL均可命令行执行 g++ Server.cpp -o Server 和 g++ Client.cpp -o Client 进行编译线程A在命令行执行 ./Server 5005,线程B在命令行执行 ./Client 127.0.0.1 5005双端轮流输入对话内容,目前仅支持一人一句不能连续多句任一方输入 拜拜 结束通信 服务端工作流程:创建socket把IP地址和端口绑定到socket上设置s

2021-08-27 09:01:07 166

原创 【进程通信】Socket

进程通信 Socket  Socket(套接字)可以看成是两个网络应用程序进行通信时,各自通信连接中的端点,这是一个逻辑上的概念。它是网络环境中进程间通信的API,使用中的每一个套接字都有其类型和一个与之相连进程。通信时其中一个网络应用程序将要传输的一段信息写入它所在主机的 Socket中,该 Socket通过与网卡(NIC)相连的传输介质将这段信息送到另外一台主机的 Socket中,使对方能够接收到这段信息。 Socket是由IP地址和端口结合的,提供向应用层进程传送数据包的机制。socket把复杂的T

2021-08-26 20:20:06 808

原创 【编程通识】PlantUML绘制时序图样例

  时序图(Sequence Diagram),又名序列图、循序图、顺序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,其中的每条消息对应一个类操作或状态机中引起转换的触发事件。样例1:@startumlA -> B : text1B --> A : text2'这里是注释/'这里是可换行的注释'/@enduml效果: 样例2:加上消息序号@startumlaut

2021-08-25 12:36:49 764

原创 【编程通识】正则表达式

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑,常被用来检索、替换那些符合某个模式(规则)的文本。入门输入code即可匹配所有包含code的字符串**字符串 [ ]允许匹配其内任一字符,例: [Ab3] 允许匹配 A 或 b 或 3连字符 - 代表区间,例:[0-9]允许匹配任何数字、[a-zA-Z]允许匹配任何小写或大写字母**转义符 ** 用于匹配 [、] 、- 、(、) 等

2021-08-24 20:24:47 168

原创 【移动通信】4G LTE帧结构

目录帧 frame4G帧类型一 适用于频分双工FDD帧结构子帧细化循环前缀 CP符号间干扰 ISI子载波间干扰 ICICP配置4G帧类型二 适用于时分双工TDD帧结构特殊子帧子帧配比普通子帧:特殊子帧:帧 frame帧即周期,在这个周期内一个小区会给正在与本小区做业务的所有用户发送一圈数据。但一帧内未必只给每个用户发送一次,可以某些用户会发送多次,4G LTE的一帧内能共有几百用户次。例:2G GSM的帧(时分多址TDD)   4G帧类型一 适用于频分双工FD

2021-08-22 19:34:15 5392

原创 【移动通信】4G载波聚合

载波聚合 Carrier Aggregation(CA)根据香农定理,网速受限于带宽,载波聚合最早在3GPP R10版本提出。因为运营商的频谱比较碎,在低频段难以找到合适的大带宽,因此通过载波聚合将多个载波聚合成一个更宽的频谱。 聚合载波的数量下行方向 DL:​ R10版本定义DL最大支持100MHz带宽;R13版本定义了Dl的32载波聚合,理论支持640MHz带宽,但在现今5G使用高频段的环境下并未实际实施,因为高频段本身带宽足够。上行方向 UL:​ R12版本定义UL支持2

2021-08-20 23:24:34 2147

原创 【移动通信】信号质量评估RSRP和SINR

参考信号接收功率RSRP取值范围:-140 ~ -44dBm​ -85dBm以上一般就是满格信号,低于-120dBm就会掉出4G,如果是中国移动则掉到2G,联通和电信调到3G,只有信号强度重新超过-116dBm后才会回到4G。 信号衰落​ 信道变化导致接收信号的幅度发生变化的现象。​ 信号减弱有两种方式:大尺度衰落和小尺度衰落,这里的尺度指的是距离,大尺度衰落功率较为平滑地下降,而小尺度衰落功率随距离高低起伏。大尺度衰落(慢衰落)​ 分为 路径损耗 和 **阴影衰落 *

2021-08-16 19:55:38 16337 1

原创 【移动通信】WIFI6 技术参数

​ WIFI6最早进入大众视野是在小米10的发布会上,这里解析一下WIFI6的主要技术参数。 技术参数 频段​ WIFI6和WIFI4一样,目前主要使用的频段是2.4GHz和5GHz信道带宽​ WIFI6的信道带宽是160MHz,相较于WIFI5其实并没有显著提升。不过从频谱图可以看出,无论是2.4GHZ还是5GHz频段,每个信道实际使用的带宽去掉2MHz的保护带宽其实是20MHz,区别在于信道的多少罢了。调制​ WIFI6的调制阶数是1024QAM,一个

2021-08-15 22:55:26 7716

原创 C语言实现贪吃蛇小游戏

贪吃蛇1.0规则​ 初始蛇身长为2,向右移动,每吃到一次食物身长加1,积分加10​ wasd控制移动方向​ 碰到墙壁、障碍物或者吃到自身时死亡,游戏结束代码#include "header.h"int main(){ system("cls"); //清屏 hide_cur(); //终端窗口隐藏光标 SNAKE *snake = (SNAKE *)malloc(sizeof(SNAKE)); init_snake(snake); //初始化蛇的信

2021-08-14 21:40:52 483

原创 【移动通信】多址技术和调制技术

多址技术FDMA 频分多址​ 每个用户用独一个频率来与基站通信,多个用户可以同时与基站通信,会导致频段资源浪费。 TDMA 时分多址 用户使用相同频率,但是分不同时段与基站通信,会造成排队延时。时隙​ 每个用户与基站通信所占用的时间。帧​ 一个完整通信周期,周期内不同用户与基站进行一轮通信。 CDMA 码分多址​ 所有用户用相同频率在相同时段用不同码与基站进行通信。OVSF 正交码  调制技术​ 调制是一种将基带信

2021-08-12 17:47:50 894

原创 【移动通信】天线原理

天线​ 把从导线上穿下来的电信号作为无线电发射到空间或收集无线电波并产生电信号。2G、3G、4G使用的是无源天线,本身不产生能量;5G使用的是有源天线。 天线辐射电磁波的原理​ 导线载有交变电流时,可以形成电磁波的辐射,辐射能力与导线的长度和形状有关。当导线长度增大到可与波长比拟时,导线上的电流就大大增加,因而就能形成较强的辐射。通常将上述能产生显著辐射的直导线成为振子。如图显示振子开合角度与电磁波辐射能力的关系: dBd和dBi的区别 半波振子​

2021-08-12 14:24:13 2940

原创 【移动通信】信号强度单位dB和dBm

分贝毫瓦dBm分贝dB结论根据对数运算法则易知,dB值其实是两个dBm值之差,因此给定信号强度的dBm值,想要增大强度就是加一个dB值。10lg2 = 3,因此3dB是功率折半点。dBm值 + 3dB = dBm值 * 2,加3dB功率翻倍。换而言之,dBm值每差3,功率就差一倍。  图片来自b站捻叶成剑...

2021-08-11 23:47:18 2276

原创 【移动通信】移动通信基础

文章目录移动通信发展史技术路线FDD/TDDCSFB、单卡双待、Volte扫盲蜂窝网络小区和扇区宏站和室内分布设备识别移动通信发展史技术路线​ 从2G到4G主要有三种主流的技术路线,在图中分为上中下三块。上块中的技术路线属于中国移动和中国联通,其中黄色路线是中国联通采用的国外引进的3G技术路线,深蓝色路线是中国移动基于国外技术自主研发的3G通信路线,但是在通信速度上比较差,所以中国移动后期放弃3G投入到4G研发中。中间块是高通公司研发的技术路线,也是中国电信在使用的。最下面的路线是基于WIFI技术衍

2021-08-11 21:15:03 1298 1

原创 【Verilog】有限状态机

功能: 设计思路:​ 首先对100M频率分频至1hz,然后对1hz信号的上升沿数量从0开始计数,保存在count中,那么count的值就是当前的总时间(单位为秒)。通过数学计算算出count对应的时分秒各自十位和个位的值,这是程序的第一部分。​ 然后是显示时间,以1khz频率对六个数码管轮流显示,显示值为该位上当前时刻对应的数值(时分秒的十位、个位),具体输出给显示管的是七段译码器的输出值。​ 其次是设计校时功能,h为小时校时输入,当h有效时,由1hz信号上升沿为触发

2021-08-08 17:22:00 630

原创 【Verilog】基于Nexys4DDR开发板实现数字钟

功能:基于Nexys4DDR开发板实现的数字钟,六位数码管显示时分秒,可切换24时制/12时制,有整点报时功能。 Verilog代码:`timescale 1ns / 1ps//数字钟,输入100M时钟信号,控制数字显示器通过高频扫描来显示当前时间module digital_clock(clk_100M, select, y, h, min, sh, led1, led2); input clk_100M; input h, min, sh; output led1, led

2021-08-08 17:12:28 3726 2

原创 【Verilog】模16可逆流水灯

功能:实现模16的可逆流水灯 Verilog代码:`timescale 1ns / 1psmodule Liushuideng_16(en, clk, y); input clk, en; output[15:0] y; reg[15:0] y; reg[3:0] m; reg i, flag1, flag2; reg[15:0] j; reg[8:0] k; initial begin i = 0; m = 0; y = 0; j =

2021-08-08 17:07:25 1104 2

原创 【Verilog】 3-8译码器

[Verilog] 3-8译码器功能:实现3-8译码Verilog代码://行为级设计`timescale 1ns / 1psmodule decoder3_8_01(en, addr, y); input [2:0] en, addr; output [7:0] y; reg [7:0] y; always@(addr or en) begin if(!en[2]) y<=8'b0000_0000; else if(en[1]) y<=8'b0000_00

2021-08-08 17:00:23 2793

原创 【强化学习】DDPG

目录Deep Deterministic Policy Gradient算法随机策略 与 确定性策略DPG 与 DDPG深度确定性策略梯度算法DDPG概述对比DDQNDDPG网络功能:网络软更新:引入噪声:两个网络的损失函数:DDPG算法流程小结强化学习笔记,内容来自刘建平老师的博客 Deep Deterministic Policy Gradient算法随机策略 与 确定性策略​ 确定性策略(Deterministic Policy) 和 随机策略 是相对而言的,对于某一些动作集合来

2021-07-18 22:22:18 1588

原创 【强化学习】Actor-Critic

目录Actor-Critic算法概述可选形式算法流程小结强化学习笔记,内容来自刘建平老师的博客 Actor-Critic算法概述​ Actor-Critic包括两部分:演员(Actor)、评价者(Critic)。其中Actor使用策略函数,负责生成动作(Action)并和环境交互,而Critic使用价值函数,负责评估Actor的表现,并指导Actor下一阶段的动作。在Policy-Gradient中,策略函数就是Actor,但是那里没有Critic,当时使用了蒙特卡罗法来计算每一步的价

2021-07-18 22:08:56 1296

原创 【强化学习】策略梯度Policy-Gradient

目录Value-based 强化学习方法的不足Policy-based 强化学习方法的引入策略梯度的优化目标策略函数的设计Softmax策略函数Gauss策略函数蒙特卡罗策略梯度reinforce算法小结强化学习笔记,内容来自刘建平老师的博客 Value-based 强化学习方法的不足​ Q-learning、Sarsa、DQN都是基于价值的强化学习算法,存在主要三种不足:​ 1. 对连续动作的处理能力不足​ DQN之类的方法一般都是只处理离散动作,无法处理连续动作。

2021-07-18 22:02:00 171

原创 【强化学习】DQN及其延伸算法

目录DQN算法价值函数的近似表示提出背景:近似表示:状态价值函数动作价值函数概述经验回放(experience replay)算法流程小结Nature DQN算法概述Nature DQN的优化点:Nature DQN 建模——双网络结构:算法流程小结Double DQN算法概述DDQN的优化点:DDQN建模——Q值与动作解耦:算法流程Prioritized Replay DQN算法概述Prioritized Replay DQN的优化点:Prioritized Replay DQN建模:算法流程(集成了DD

2021-07-18 21:52:33 1176

原创 【强化学习】Q-Learning

这里写目录标题Q-Learning(off-policy)概述off-policy:算法流程Q-Learning vs Sarsa小结强化学习笔记,内容来自刘建平老师的博客Q-Learning(off-policy)概述​ 给定强化学习的5个要素:状态集S, 动作集A, 即时奖励R,衰减因子γ, 探索率ϵ, 求解最优的动作价值函数q∗和最优策略π∗​ 关键词:时序差分、model-free、off-policy、ϵ-greedy、价值迭代​ 通过价值函数的更新,来更新策略,通过策略来产

2021-07-18 21:47:52 794

原创 【强化学习】Sarsa 和 Sarsa(λ)

这里写目录标题Sarsa算法(on-policy)概述on-poilcy:算法流程Sarsa(λ)算法(on-policy)概述状态价值迭代公式:动作价值迭代公式:算法流程Sarsa小结强化学习笔记,内容来自刘建平老师的博客Sarsa算法(on-policy)概述​ 给定强化学习的5个要素:状态集S, 动作集A, 即时奖励R,衰减因子γ, 探索率ϵ, 求解最优的动作价值函数q∗和最优策略π∗​ 关键词:时序差分、model-free、on-policy、ϵ-greedy、价值迭代​ Sar

2021-07-18 21:40:45 632

原创 【强化学习】强化学习问题的数学模型与三种求解方法

强化学习笔记,内容来自刘建平老师的博客强化学习模型基础强化学习在机器学习中的位置​ 强化学习是和监督学习,非监督学习并列的第三种机器学习方法。​ 强化学习来和监督学习最大的区别是它没有监督学习已经准备好的训练数据输出值。强化学习只有奖励值,但是这个奖励值和监督学习的输出值不一样,它不是事先给出的,而是延后给出的。同时,强化学习的每一步与时间顺序前后关系紧密。而监督学习的训练数据之间一般都是独立的,没有这种前后的依赖关系。​ 强化学习和非监督学习的区别。也还是在奖励值这个地方。非监督学习是

2021-07-18 21:18:58 1950

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除