自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 《移动通信原理与应用》实验三——直接序列扩频实验与解扩实验(实验箱)

1.1、直接序列扩频实验实验目的:1)通过本实验掌握基带信号m序列扩频原理及方法,掌握扩频前后信号在时域及频域上的变化。2)通过本实验掌握基带信号Gold序列扩频原理及方法,掌握扩频前后信号在时域及频域上的变化。

2024-01-22 22:58:42 2772

原创 《数字信号处理》——验证实验(离散序列的基本运算)

本次仿真实验不难,本人通过这次仿真实验,温习了课上学习的关于序列的运算(加分、乘法)和变换(移位、反转、尺度变换)等等的知识点,加深了我对于这些知识点的理解与印象。在本次实验中,我亲自操作这些有关序列的运算和变换,并且从视觉的角度上亲眼见证了这些运算与变化是怎么进行的和最后成功的结果。收获很大。

2024-01-22 21:43:28 1196

原创 《数字信号处理》——综合实验

1、离散系统的模型时域表示的 MATLAB 实现函数有 filter 函数和 impz 函数两种,本实验通过以上函数实现离散系统的时域模型级系统的相应。2、通过实验的方法实现系统的稳定性分析。1.filter 函数:利用递归滤波器或非递归滤波器对数据滤波,将一个离散系统可以看成一个滤波器,系统的输出就是输入经过滤波器的结果。说明: y 表示由向量 b 和 a 组成的系统对输入信号 x 进行滤波,系统的输出为 y。2.impz 函数:直接给出系统的单位冲激响应。

2024-01-22 21:26:47 933

原创 《数字信号处理》——IIR数字滤波器的设计

在我的IIR滤波器设计中,我选择了一种间接的方法。具体而言,我首先设计了一个归一化样本模拟低通滤波器,然后通过频率变换将其转换为模拟低通滤波器,最终再将其转换为数字低通滤波器。相较之下,还有一种直接转换的方法,即结合频率转换和数字化,直接将样本模拟低通滤波器转换为数字低通滤波器。在进行模拟与数字的转换时,我运用了冲激响应不变法。在这个过程中,我发现通过缩短过渡区域并增大阻带的衰减系数,可以使得幅频曲线更加陡峭。这样的调整会导致滤波器的阶数增加,从而提高了滤波器的效果。

2024-01-22 21:13:00 2344

原创 《移动通信原理与应用》实验一——QPSK调制与解调实验(实验箱)

1、了解 QPSK 调制解调原理及特性。2、了解载波在 QPSK 相干及非相干时的解调特性。

2024-01-22 20:45:27 1656

原创 《移动通信原理与应用》——信道均衡技术仿真

所以在这里小小推测一下:当SNR(信道信噪比)小于一定的界限下,可以不使用均衡器对码元序列进行均衡。(2)从仿真结果图可以看出,在经过均衡器均衡的码元序列中,步长为detla=0.11的码元序列随着SNR的增大,曲线走势呈斜坡下降,变化较大,这表明误码率变化较大,减小度量较大,较三者中居中。(3)从仿真结果图可以看出,在经过均衡器均衡的码元序列中,步长为detla=0.09的码元序列随着SNR的增大,曲线走势也呈斜坡下降,变化大,这表明误码率变化大,减小度量最大,较三者中最大。

2024-01-22 20:14:06 452

原创 《移动通信原理与应用》——QPSK调制解调仿真

从Figure3看出接收端接收且解调的比特流信息…进入I路与Q路的情况:奇数进入I路,偶数进入Q路。将发送端的输入比特流信息…以及波形与QPSK解调得出的比特信息流以及波形进行对比,发现比特信息流与对应的波形均一致。说明本次QPSK的调制与解调仿真实验成功!从Figure1看出发送端发送的比特流信息…情况:奇数进入I路,偶数进入Q路。将Figure3与Figure1的I路与Q路的比特信息及波形图进行对比,发现接收端与发送端的I路与Q路的比特信息以及波形一致;

2024-01-22 20:09:11 1162

原创 《移动通信原理与应用》——QAM调制解调仿真

QAM调制仿真流程图: QAM解调仿真流程图: (1)16QAM星座点图,如下图所示: 结果分析:此为16QAM星座点图,将此仿真结果根据与课堂所看到与学到的16QAM星座点图进行比对,发现完全一致,所以得出对于16QAM星座点图的仿真实验成功!!(2)16-QAM载波调制信号在AWGN信道下的误比特率性能比较,如下图所示: 结果分析:由图可知,16QAM的误符号率和仿真理论误符号率完全拟合,16QAM的误比特率在性躁比越来越高情况下拟合情况和仿真理论误比特率越来越接近。

2024-01-22 20:01:03 622

原创 《移动通信原理与应用》——扩频通信系统仿真实验

扩频通信的理论基础为香农公式:C=Blog(1+S/N)。我们可以用牺牲带宽的办法来换取较低的信噪比,增加系统的抗干扰能力。直接序列扩频,是直接利用具有高码率的扩频码序列在发送端扩展信号的频谱,而在接收端,用相同的扩频码序列进行解扩,把展宽的扩频信号还原成原始的信息,是一种数字调制方法。扩频通信系统具有较强的抗干扰能力,且具有很强的隐蔽性和抗侦查,抗窃听的能力。这种能力随着扩频增益的增大而增大。扩频增益的提高就需要提高扩频码m序列的位数了。

2024-01-22 17:56:45 2241

原创 STM32基于HAL库的嵌入式RTOS多任务程序设计

UCOS是Micrium公司出品的RTOS类实时操作系统, UCOS目前有两个版本:UCOSII和UCOSIII。UCOSIII是一个可裁剪、可剥夺型的多任务内核,而且没有任务数限制,提供了实时操作系统所需的所有功能,包括资源管理、同步、任务通信等。UCOSIII是用C和汇编来写的,其中绝大部分都是用C语言编写的,只有极少数的与处理器密切相关的部分代码才是用汇编写的, UCOSIII结构简洁,可读性很强!非常适合初次接触嵌入式实时操作系统学生、嵌入式系统开发人员和爱好者学习。

2023-11-22 22:54:16 195

原创 STM32日历读取,设置和输出——实时时钟RTC

实时时钟。RTC是个独立的定时器。RTC模块拥有一个连续计数的计数器,在相应的软件配置下,可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期 RTC还包含用于管理低功耗模式的自动唤醒单元。在断电情况下 RTC仍可以独立运行 只要芯片的备用电源一直供电,RTC上的时间会一直走。RTC实质是一个掉电后还继续运行的定时器,从定时器的角度来看,相对于通用定时器TIM外设,它的功能十分简单,只有计时功能(也可以触发中断但其高级指出也就在于掉电之后还可以正常运行。

2023-11-22 13:33:39 1081

原创 Ubuntu下调用opencv库点阵汉字的字模读取与显示

了解了汉字点阵的编码规则后,我们就可以在图片上显示任何我们想要的文字。但是我们要注意修改图片的名称为自己的名称,图片的格式为自己的格式以及图片的路径位置等等在编译代码时。不然的话,可能会出现由于路径报错,一直无法运行,修改为相对路径没问题,但是写成绝对路径会出问题等等。整个实验过程和操作并不复杂,仔细操作,很容易完成。完!!!

2023-11-16 20:03:14 188

原创 STM32基于SPI的OLED显示

SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。

2023-11-15 18:54:28 915 3

原创 两台电脑通过USB转TTL进行串口通信

本文通过将两台笔记本电脑,借助usb转rs232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件将一台笔记本上的一个图片传输到另外一台电脑。传输图片文件,速度很快,而且可以很快打开。很明显的是,在一定范围内,当波特率增大时,对于同等大小的文件,传输时间会减少,当超过这一范围时,波特率对传输时间的影响就会减小。

2023-11-13 23:26:48 1008

原创 STM32基于HAL库的IIC协议读取温湿度

I2C总线是一种双向的同步串行总线,它支持设备之间的短距离通信,经常用于处理器和一些外围设备之间的接口通信。I2C总线的标准通信速率是100Kbps,快速模式是400Kbps,高速模式支持3.4Mbps。I2C总线支持多设备的通信,而且各个设备之间的SCL和SDA线都是线与关系。I2C总线上扩展的器件的数量主要由电容负载来决定,其负载能力为400pF。I2C总线具有极低的电流消耗。通过本次实验,详细了解并且实践了I2C总线协议,以及AHT20温湿度传感器的使用,受益匪浅。

2023-11-09 09:25:21 1366 1

原创 STM32基于HAL库的定时器&PWM应用编程

能够对内部时钟信号或外部输入信号进行计数,数值达到设定要求时,向CPU发起中断请求,完成外部程序的运行。本质就是进行计数,选择内部时钟脉冲,作为计数器时,技术信号的来源选择非周期脉冲信号。STM32中定时器可分为高级定时器、通用定时器、基本定时器三类,他们都是由一个可编程的16位预分频器(TIMX_PSC)驱动的16位。PWM(Pulse Width Modulation)即脉冲宽度调制,简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术;

2023-11-03 23:17:36 1247

原创 STM32—HAL库中断/DMA控制和完成串口通信

串口协议CH340电路与实物图:TXD:发送端,一般表示为自己的发送端,正常通信必须接另一个设备的RXD。RXD:接收端,一般表示为自己的接收端,正常通信必须接另一个设备的TXD。正常通信的时候本身的TXD永远接设备的RXD。/*huart:使用哪个串口进行通信data: 一个地址,用于保存接受到的数据Size: 接收的数据个数*/在调用此函数后,程序会将对应串口的接收中断开启,当我们向单片机发送数据时会触发这个中断。在触发这个中断后,程序会接收数据到你传入的地址中,会读取Size个数据。

2023-10-26 21:54:36 1108

原创 STM32使用HAL库中断控制串口通信

串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式,因为它简单、便捷,因此大部分电子设备都支持该通讯方式,电子工程师在调试设备时也经常使用该通 讯方式输出调试信息。在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和片上外设;STM32标准库则是在寄存器与用户代码之间的软件层。对于通讯协议,我们也以分层的方式来理解,最基本的是把它分为物理层和协议层。名称组成作用物理层具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输协议层。

2023-10-22 20:05:57 2252 1

原创 STM32基于HAL库的中断控制LED流水灯

本人在前面已经使用了三种方式点亮LED了流水灯的情况下,又学会了利用中断来控制LED流水灯的场景。通过本次实验,本人学会了如何使用中断,以及温习加深了刚刚学会的HAL搭建工程的知识与操作!希望阅读本文的你也能通过本文章与我感受到一样的进步情感与乐趣!!!

2023-10-21 00:17:39 870 1

原创 STM32使用HAL库点亮流水灯

STM32F103的流水灯点亮版本1(寄存器地址操作)_-HSheng的博客-CSDN博客基于标准外设库的LED流水灯-CSDN博客,本次又完成了基于STM32CubeMX(HAL库)的流水灯;本人已经熟练的完成了对于STM32利用三种方式开发STM32的流水灯。通过本次实验本人成功了解了并且学会了STM32CubeMX(HAL库)的使用方法以及利用其进行建立与开发STM32工程项目!

2023-10-19 21:19:47 312 1

原创 基于标准外设库的LED流水灯

本人大二参加过合泰杯单片机比赛,提前接触过了相关32位单片机:HT32F103系列的知识与操作,当时就是用的固件库对合泰单片机进行开发的;今日又重新温习类似的STM32固件库知识与操作,相当于对本人来说就是加深了我对于STM32固件库的学习理解与实践练习!对于利用keil进行仿真,本人倒是第一次接触学习keil仿真。通过亲自操作keil仿真,我学会了如何在keil上面进行仿真,以及如何在仿真里面观察GPIO端口的输出波形,时序状态以及高低电平转换周期。

2023-10-12 20:34:57 184

原创 STM32与Ubuntu下C语言程序内存分配等问题

重温了全局变量、局部变量、堆、栈的概念,并分别在Ubantu系统下与stm32中验证了理论,发现两者分配地址的方式有些许不同,这让我重新认识了内存分配,原来不是所有系统都用同一种方式分配内存。总的来说,栈和堆各有其适用的场景。栈适合用于管理函数调用和局部变量,速度快且生命周期短。堆适用于需要动态分配内存、生命周期不确定或较长的情况,但需要注意手动管理内存以避免内存泄漏。可以说两者各有利弊,我们应根据实际情况做出选择。

2023-10-05 01:28:22 83

原创 linux---GCC常用命令与GCC编译器

在已经学习与了解了gcc生成了静态库与动态库了之后,又通过对gcc的进一步练习,已经非常熟悉gcc的实质四步骤编译过程以及如何使用gcc进行编译。接着认识了与gcc相互合作的一些二进制程序工具,了解到这些工具的具体使用方式和它的具体作用。总的来说,本次收获还不错。

2023-10-04 20:44:08 212 1

原创 Linux系统(Ubuntu)下利用gcc生成静态库.a与动态库.so文件

通过上面三个例子用gcc生成静态库.a和动态库.so的练习过程,本人能够基本上熟练的生成静态库和动态库。在两种库的比较中,能够明显看出两者的差别。在过程中也遇到一些问题,但是通过CSDN查资料很快就找到了解决方法了。总的来说,本人通过跟着例程一步一步做,接触了gcc生成静态库与动态库的知识,学习并且理解与掌握了,自我会感觉不错!

2023-10-04 00:37:41 1517 1

原创 STM32F103的流水灯点亮版本1(寄存器地址操作)

实物图连接电路依旧不变,利用6.1连接好的电路图!本次实验巩固了前面我做的基础:点亮STM32LED灯的操作与知识,因为本次实验可以说是之前做的点亮一个STM32LED灯的升级版操作;进一步强化了我利用寄存器来进行编写程序的能力。本人这次也成功做出来了关于STM32红、黄和绿三个灯的Proteus仿真实验,真的非常高兴!!!

2023-09-27 23:53:29 609 1

原创 理论概念-常见嵌入式岗位面试题

通过这两篇blog:1、http://t.csdn.cn/LlsRp;2、http://t.csdn.cn/1bQtu的实践,结合阅读ARM、STM32技术手册,深入思考STM32F103系列芯片的地址映射和寄存器映射原理,GPIO端口的初始化设置的一般步骤。回答:1)嵌入式C程序代码对内存(RAM)中的各变量的修改操作,与对外部设备(寄存器--->对应相关管脚)的操作有哪些相同与差别?2)为什么51单片机的LED点灯编程要比STM32的简单? 与PC平台上的一般程序不同,嵌入式C程序经常会看见

2023-09-25 21:12:05 114

原创 stm32通过寄存器方式利用GPIO端口点亮LED

本人通过这次简单的寄存器编写,了解了stm32寄存器编写代码原理;又在keil中学会了如何在keil对写好的STM32F103的代码进行仿真测试;最后在烧录进板子时,学会配置ST-link烧录环境,学会了如何将ST-link与电脑和单片机进行连接。看着最后已经在板子运行代码的效果:LED灯闪烁,心里很高兴。

2023-09-24 22:42:25 1208 1

原创 51单片机流水灯程序的Proteus设计和仿真

①放置芯片和元件:左键单击元件,然后再点击P按钮,进入元件选择界面。在 Keywords 处输入 AT89C51 ,然后在中间的窗口内双击AT89C51芯片,即可添加到元件列表中,而后依次添加LED-RED、RES!!!②开始放置元件③画总线和放置电源④连接元件最终原理图为:本人之前已经学过51单片机了,而且也已经做过这个实验了。今日又重新温习这个仿真实验,从建立到仿真的整个过程,让我对整个过程有了进一步的了解,进一步的掌握到整个过程操作,熟练度上升。

2023-09-24 13:36:22 538

原创 嵌入式Linux开发基础一 ——(Ubuntu系统使用gcc和Makefile编译C程序)

本文利用了Ubuntu上gcc和makefile完成了对于“一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main1.c,定义并赋值两整型变量,然后调用函数 x2x,将x2x的返回结果printf出来”的编写。

2023-09-15 00:19:55 282 1

空空如也

空空如也

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

TA关注的人

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