自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【雷达】为什么在FFT之前要加窗

因为强跳变信号的主瓣可能会很宽,或者其旁瓣会很高,从而淹没掉邻近的微弱信号。通过使用旁瓣低的窗函数,可以抑制旁瓣泄漏,从而让那些微弱信号“显现”出来。用FFt获取频率时,我们想要的是T里面的频率,但是在实际应用中不同的T之间会隐含一个频率在里面。防止频谱泄漏(抗混叠),不同窗函数会有不同的频谱泄漏和xx精度表现,未知情况下优先选hanning窗。这样可以得到最高的频率分辨率,让您能看清这个跳变对应的精确频率和细微结构。:信号本身包含的瞬时变化、脉冲或阶跃(例如,敲击声、数字信号的边沿)。

2025-11-21 10:07:46 154

原创 雷达-相位法测角

测试的角度是雷达法线到目标的夹角记为这个图还有另一种画法是我想要的角度,它位于雷达板的中间,但在我们运算的时候我们用的是。这是因为在"远场平面波"的前提下这2个角是一个角。或者说差距较下,直接忽略这个差距。由以上2图,我们可以推出如下公式:这里的是Rx1和Rx2的相位差。依据这个公式就能推出目标角度。注意这个角度是法线到目标的距离,这个角度它可以是负数。也就是测角范围在±90°。

2025-11-20 20:39:19 332

原创 Anaconda安装和使用

去这个网站下载合适的版本一定要下载 类似这样带年份的 Anaconda3-2023.09-0- 要不下面教程会用不了。下载之后正常安装配置环境变量右下角搜索环境变量,进入环境变量配置界面选择环境变量在系统变量里选Path然后点编辑在Anaconda安装地址里面 找到这四个地址给它放到环境变量里。重新开一个系统命令框 输入 conda info看一下有没有信息,没有就是失败了。有就就是成功。

2025-10-19 16:24:55 968

原创 python的报错

一般安装了QT5的各种包就不需要安装QT了,他弹出这样的报错应该是QT的问题,这个勾吧软件它排斥中文,路径上一点中文都不能有,改你安装环境包所在的文件所在的各种文件夹的各种名字,不要一点中文就好了。这个serial的包要按照顺序安2个包 才能使用第一个是 serial 第二个是pyserial (和python更新有关系)都安装了才可以跑这个工具。如果你的电脑用户名是中文,那恭喜你,和QT有关的一切都和你没关系。如果没出现就去尝试各种管理员方式打开命令终端的方法,输入这个代码。

2025-10-17 20:26:56 326

原创 python环境安装

选择好以后,在你建的venv里安包就可以在代码上用了,如果不行就去venv 的 Lib文件夹里面,看看你安装的包又没出现在里面 ,没出现在里面那就是你的安包的venv位置不对,回去重来一遍。同样你要选择你建立的venv里面的解释器,注意路径,否则用不了。如果看到路径对的,就直接选,如果不对点输入解释器路径,点查找。找到你安装venv的文件夹,一路点过去,选择py的这个exe。是激活这个venv的包,激活之后你就可以在里面下载各种包了。创建之后再在里面反复的装新的包,不会影响别的。

2025-10-17 19:36:47 578

原创 【语法进阶】常用模块

作用:用于和操作系统进行交互通用操作:1.获取平台信息2.对目录的操作3.判断操作。

2025-09-22 10:41:20 477

原创 【语法进阶】高级用法、贪婪与非贪婪

match()从头开始匹配,匹配成功返回match对象,通过group()进行提取,匹配失败就返回None,只匹配一次search():从头到尾匹配,匹配成功返回第一个成功匹配的对象,通过group进行提取,匹配失败返回None,只匹配一次findall():从头到尾匹配,匹配成功返回一个列表,匹配所有匹配成功的数据,不需要通过group()进行提取。没有group方法。

2025-09-20 21:21:26 311

原创 【语法进阶】匹配分组

p=name):引用别名为name分组匹配到的字符串 --扩展。3. \num:引用分组num匹配到的字符串,经常在标签中被使用。2. (ab):将括号中字符作为一个分组 --常用。P<name>):分组起别名 --扩展。1. |:匹配左右任意一个表达式 --常用。

2025-09-20 16:27:02 159

原创 【语法进阶】匹配多个字符与匹配开头结尾

【代码】【语法进阶】匹配多个字符与匹配开头结尾。

2025-09-20 11:46:53 224

原创 【语法进阶】正则表达式、匹配单个字符

含义:记录文本规则的代码注意:需要导入re模块。

2025-09-20 11:11:57 241

原创 【语法进阶】gevent的使用与总结

1线程是CPU调度的基本单位,进程是资源分配的基本单位2进程、线程和协程对比进程:切换需要的资源最大,效率最低线程:切换需要的资源一般,效率一般协程:切换需要的资源最小,效率高3.多线程适合IO密集型操作(文件操作、爬虫),多进程适合CPU密集型操作(科学及计算、对视频进行高清解码、计算圆周率进程、线程、协程都是可以完成多任务的,可以根据自己实际开发的需要选择使用。

2025-09-19 16:30:41 225

原创 【语法进阶】协程操作与greenlet使用

又称微线程,纤程。英文名Coroutine。协程是python中另外一种实现多任务的方式,只不过比线程更小、占用更小执行单元(理解为需要的资源)。它自带CPU上下文。这样只要在合适的时机 ,我们可以把一个协程切换到另一个协程。只要这个过程中保存或恢复CPU上下文那么程序还是可以运行的。注意:线程和进程的操作是由程序触发系统接口,最后的执行者是系统,协程的操作则是程序员简单实现协程。

2025-09-19 11:57:41 265

原创 【语法进阶】进程语法结构、进程间的通信

q.qsize():返回当前队列包含的消息数量。q.empty():判断队列是否为空。q.full(): 判断队列是否满了。q.put(): 放入数据。q.get(): 取出数据。

2025-09-19 11:57:36 198

原创 【语法进阶】进程常用的属性、常用方法

是操作系统进行资源分配和调度的基本单位,是操作系统结构的基础。一个正在运行的程序或者软件就是一个进程程序跑起来就成了进程注意:进程里面可以创建多个线程,多进程也可以完成多任务。

2025-09-18 21:35:52 194

原创 多线程的特点与同步、互斥锁

1.互斥锁的作用:保证同一个时刻只有一个线程去操作共享数据,保证共享数据不会出现错误问题2.上锁和释放锁必须成对出现,否则容易造成死锁现象死锁:一直等待对方释放锁的情景就是死锁会造成应用程序停止响应,不能再处理其他任务 3.互斥锁的缺点:会影响代码的执行效率。

2025-09-18 19:35:25 202

原创 多任务、简单多线程的实现与多线程的方法

一个进程默认有一个线程,进程里面可以创建多个线程,线程是依附在进程里面的,没有进程就没有线程。线程:是cpu调度的基本单位,每一个进程至少都会有一个线程,这个线程通常就是我们所说的主线程。进程:是操作系统进行资源分配的基本单位,每打开一个程序至少就会有一个进程。

2025-09-18 16:46:54 241

原创 生成器、三者关系

python中一边循环一边计算的机制,叫做生成器python提供的一种非常简便的语法能让我们来自己写出迭代器使用了yield的函数被称为生成器(generator)

2025-09-18 15:41:43 159

原创 FMCM雷达介绍

它的主要任务是将一路输入信号的能量分成两路或多路输出,也可以反向工作,将多路信号合成为一路输出(此时称为合路器)。这是一种雷达技术,通过发射频率随时间线性变化的连续波信号,并根据接收到的目标回波与发射信号之间的频率差来测量目标的​。为什么IF信号仅在 TX 线性调频脉冲和 RX 线性调频脉冲重叠的时段(即图 中垂直虚线之间的时段)有效?​(主要是和频与差频)。混频器(Mixer)是射频和通信系统中的关键部件,主要用于​。(通常用字母 K表示)是线性调频(LFM)信号的一个​。在FMCW雷达中,​。

2025-09-17 20:40:17 295

原创 可迭代对象iterable和迭代器iterator

两个特性:__iter__()和__next__()#初始值是1,逐步递增1print(te)te.funa()# print(i)return self # 返回的是当前迭代器类的实例对象raise StopIteration('终止迭代,数据已经被取完了')print(mi)print(i)

2025-09-16 20:57:40 180

原创 可迭代对象、迭代器对象

遍历(迭代):一次从对象中把一个个元素取出来的过程。# 数据类型: str、list、tuple、dict、set等# 可迭代对象的条件# 1.对象实现了__iter__()方法# 2.__iter__()方法返回了迭代器对象# for 循环工作原理# 1.先通过__iter__()获取可迭代对象的迭代器# 2.对获取到的迭代器不断调用__next__()方法获取一个值并将其复制给临时变量i。

2025-09-16 20:17:06 160

原创 【语法进阶】with open&编码格式

如果每次都按照open...close...这种方式去写的话,实在太繁琐,python引入了with语句来自动帮我们调用close()方法作用: 代码执行完,系统会自动调用f.close(),可以省略文件关闭步骤。

2025-09-16 19:49:19 335

原创 三角洲知识点

露娜箭 站姿最高视角77m露娜箭高炸低 站姿77m+0.5高低差露娜箭低炸高 站姿77m-0.5*高低差露娜雷 卧姿最高视角75m露娜雷高炸低 卧姿75m+高低差米数-抬起高度露娜雷低炸高 卧姿75m-2*高低差+捏雷时间乌鲁鲁 卧姿最高视角70m乌鲁鲁高炸低 卧姿70m+高低差米数乌鲁鲁低炸高 卧姿70m-2*高低差乌鲁鲁仰角极致73米火中心红狼站姿手炮88m拳头关节与目标齐平红狼高炸低 站姿75m+炮管最下部与目标齐平红狼低炸高 站姿88m-2*高低差。

2025-08-14 22:14:13 2410

原创 blender学习25.3.11

沿法相挤出面 鼠标选中要挤压的三个面,鼠标右键选择沿法相挤出面,挤压进去。选中它的三个面,按住 i 插入面 ,书壳子太厚了,透视用点往回拉一下。表面细分 再crtl+r切割 ,记得要留有余地,前前后后都切一遍。还是这个三视图 加摄像机,锁定再解锁 添加一个底面。先建立一个圆柱体,表面细分之后切割和杯子一样。网格,经纬球 ,s 建立三个球放在上面。加书的材质的时候要记得把小边也选上。按下斜杆键可以独立显示。添加表面细分和平滑着色。建立立方体拉成书的形状。书籍复制后建模就完成了。选颜色,加材质加背景。

2025-03-11 17:37:05 359

原创 blender学习25.3.11

这个时候你可以看到这个图形是不正常的,这个时候在开循环切割给它切好,里面外面侧面斜面都是可以循环切割的,切到正常为止,记得要留余地留下一个小小的面。插入完成之后选中这个面,按下键盘的挤压E 然后z向里面拖。选中茶杯,打开表面细分的修改器,面加的多一点分的能更细。用crtl+r先大致切出一个形状,之后删除中间的部分。点击顶面按插入i,往里收一下,这样就插入了一个面。之后透显alt+z 选中边角的点,把他们拉正常。关闭细分选择面会轻松点,插入一个面会光滑。crtl+r用太多会丑,还会压缩操作空间。

2025-03-10 21:55:42 1458

原创 blender学习25.3.8

首先你要打开3个不同的视图打开方式是鼠标放到唯一窗口的左上角,之后向一边拉,会拉出另一个窗口像这样拉3个。这一节有一个大重点就是你得打开显卡的渲染,否则cpu直接跑满然后渲染的还十分慢。不要选择物体,左上角着色器的左上角选择世界环境,把这张图片直接拉进去记得连线。新的物体被选中的时候是没有东西的,这个时候选择新建给他加颜色。点击每个小窗口的右上角的视觉着色方式可以有不同的显示效果。点击一个灯光它的设置就在右面可以改它的瓦数。点击每个小窗口的左上角自己选择也是可以的。shift+a打开新建,新建一个摄像机。

2025-03-08 21:31:43 736

原创 blender学习25.3.6

ctrl+tab:选择编辑模式 直接按table可以切换编辑模式和物品模式。ctrl+b:倒角 按下按键后点击鼠标左键可以打开它的设置窗口。选中物体G+z+z:选中对象按2下z可以从z轴换为法相z。物体模式+物体+原点+原点几何中心:将几何中心设置为原点。物体模式+选中+r:旋转物体,鼠标左键单击可修改角度。z:在固定坐标轴上移动物体。这篇文章写的全,不用自己写了。shift+a:创建对象。

2025-03-08 10:59:12 418

原创 blender学习25.3.3

编辑——偏好设置 可以模拟数字键盘和键盘映射-设置相应快捷键。

2025-03-03 19:42:35 331

原创 WAV文件

WAV 即WAVE文件,WAV是计算机领域最常用的数字化声音文件格式之一,它是微软专门为 Windows系统定义的波形文件格式(),由于其扩展名为"*.wav"。WAV 一般采用线性 PCM(脉冲编码调制)编码,本章,我们也主要讨论 PCM 的播放,因 为这个最简单。WAV 文件是由若干个 Chunk 组成的。按照在文件中的出现位置包括:RIFF WAVE Chunk、 Format Chunk、可选和Data Chunk。每个Chunk由块标识符、数据大小和数据三 部分组成。

2025-02-27 15:38:51 452

原创 建一个博客

【代码】建一个博客。

2024-06-12 14:40:40 322

原创 换芯片流程

启动文件有且只能有1个。这里是把MD删掉改HD。

2024-03-29 12:19:53 376

原创 代码格式-keil5

1.按住shift然后按下字母可以直接打出字母的大写,而不用再切换大小写。内部每个函数要按一下table键,并在前面加上函数声明。可能会改的引脚名要竖向对齐,方便之后用ALT修改。每个函数的前面都要有对应的函数说明。2.按住ALT可以竖着选择。keil5的快捷操作。

2023-07-20 20:14:00 1035

原创 32-ADC的寄存器

注入组的触发方式可以是外部触发或软件触发,具有更高的优先级,可以更灵敏地检测特定的事件或特征。规则组是主要的采样组,用于常规数据采集。在STM32系列微控制器中的ADC模块中,有一个称为"采样时间"(sample time)的参数,它规定了每次ADC转换的采样时长。为了确保足够的采样时间,常见的做法是将ADC的采样时间设置为最小值加上几个时钟周期的延迟。总结而言,将ADC的采样时间设置为至少12.5个时钟周期是为了确保足够的稳定采样时间,以确保准确的模数转换结果,并避免因采样时间不足而引起的问题。

2023-07-17 21:00:59 1040

原创 我爱学QT--qt的网络编程

TCP编程需要用到两个类:QTcpServer和QTcpSocket。QT网络编程有TCP和UDP。完成一个服务器和一个客户端。先设计ui再设计逻辑实现。多看看写的文件理解吧。

2023-07-14 16:13:07 837

原创 我爱学QT-把QT程序打包成windows文件

因为我们要把写好的程序发给用户来用,我们写好的源码也不能随便给别人。进入工程所属文件夹找到release结尾的文件夹。先把图标加到工程所在的文件夹,然后在pro中添加。(必须用.ico这个格式,其他格式不行)release模式:基本没有调试信息。然后使用命令进到我们新创建的文件夹所在的路径,命令如下。1.把工程切换到release模式。debug模式:有很多调试信息。在工程文件中直接拷贝.exe文件到文件夹中。2.找到release模式构建的文件夹。4.封包操作,需要用到QT的控制台。

2023-07-13 10:04:57 429

原创 我爱学QT-QT上位机开发之串口助手-上

最后一定记得要改名字,否则很麻烦。3.qt下操作GPIO。做好的ui界面如图所示。很多,很麻烦,看不懂。一.QT下的串口编程。1.qt下的串口编程。2.qt下的网络编程。步骤一.做好UI界面。步骤二.实现逻辑功能。

2023-07-12 17:24:39 573

原创 我爱学QT-仿写智能家居界面 上 中 下

如果发现没有图片,检查是不是没保存,保存完成应该是下图所示,像是得编译一下。然后选这个,choose后会有起名,之一千万不能是中文,要不就等报错吧。然后把你要添加的图片托到文件夹下,这样的目录,话说后缀名用改吗?用你的鼠标把他们都有用框框框起来然后点上面的布局选项。点击添加文件,去工程里点打开,他就会出现在目录里。有的时候布局会把图片布没,只时候去修改最小尺寸。添加前缀然后点保存,否则不会出现添加文件。找图标的小网站, 这个网站,用啥搜啥。按钮上也是可以添加图片的一样的操作。剩下的就是不同布局的排列组合。

2023-07-11 17:54:41 3437

原创 我爱学QT-QT信号和槽

为了分析代码方便,我们要给控件改名字。要通俗易懂。

2023-07-11 10:26:13 328

原创 我爱学QT-制作一个最简单的QT界面

qt的移植性非常强,一套代码不用我们改太多,直接通用所有平台。不久的将来,qt会被用到MCU上,学习QT还是非常有意义的。

2023-07-10 15:14:55 672

原创 我爱学QT-c++下

类的继承允许我们在新的类里面继承父类的public还有protected部分,private是不能被继承的。虚函数:有实际定义的,允许派生类对他进行覆盖式(可以用子类中的同名函数替换父类中的同名函数)的替换,virtual来修饰。析构函数:假如定义了析构函数,当对象被删除或者生命周期结束的时候,就会触发析构函数。类函数的重载特性就是说我们可以在类里卖弄定义同名的函数,但是参数不同的函数。构造函数是可以被重载的,析构函数是不能被重载的。当我们觉得这个类不好的时候就可以使用类的继承,添加我们需要的功能。

2023-07-09 16:52:58 193

原创 我爱学QT-c++上

3.c语言的灵魂是指针,c++的灵魂是类,类似于c语言结构体的升级版。只能删除在堆里定义的,删除是为了不占内存,释放堆里的内存。protected:表示函数和变量只能在自己的类里卖弄自己访问自己,但是可以被派生类来访问的。private:表示函数和摆弄两只能在自己的类里面自己访问自己,不能通过对象来访问。实现这个函数,可以在类里面写,也可以在类外面写,上面是写在类的里面。public:表示函数和变量是公开的,任何人都可以访问。类的访问修饰符就是对类的成员进行访问权限管理。访问变量和访问函数是一样的。

2023-07-08 19:53:45 112

空空如也

空空如也

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

TA关注的人

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