自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 问答 (1)
  • 收藏
  • 关注

原创 微弱语音信号提取

如果遇到收音机接收到的声音不清晰,一般人会采取的方法,移动到室外等信号好的位置,换用较好的天线等措施来增强信号质量。信息传递过程 信息源->调制->射频功率放大->发射天线->空中传输->接收天线->射频滤波放大->解调->音频功放->扬声器左边一部分我们没有能力去改变,我们无法令电台加大发射功率,或者改用更好的调制方式。改进空中传输环节就得移动接收机的位置使靠近电台或者移除中间的障碍物,有点不切实际;改进接收天线会造成难以携带;改进射频滤波放大受到电阻热噪声的限制,目前商用收音机还有改进余地很小了;在音频

2022-07-06 14:23:11 863 1

原创 Ubuntu设置IPv4走宽带,IPv6走手机流量

最近把笔记本拿到另一个地方,那里的宽带只有IPv4,没有IPv6。但是我要用SSH远程操控家里的电脑,家里的宽带有公网IPv6。幸好我的手机流量有IPv6,但是我的手机流量比较少,一般上网时希望尽量使用IPv4宽带。我想结合这两种网络的实现优势互补。...

2022-06-11 23:30:46 1410

原创 想到的一种提高登陆安全性方法

把用户名和哈希分离存放,这样想要破解某一个用户的密码也得把整个数据库下载来为了方便理解思路,我形象化的讲一下:假设我记不住自己住在小区的哪间房子,只记得自己的名字和一串密码,每个房子前都有一个保险柜,门卫那里放张纸条能保存一些信息。我事先把加密过的房子位置写在纸上请门卫帮我保存。我把我的名字告诉门卫,门卫把那张纸条给我看一下,我用自己知道的密码来解密。我去那间房子,用密码打开门外的保险箱,从里面拿出门的门钥匙,就可以进去了。登陆过程为了安全,这些通信应该要被HTTPS加密浏览器把用户名发到

2022-02-05 04:39:21 2208

原创 通信空间损耗计算

网上找到了自由空间衰减公式Ls=32.44+20lgdKm+20lgfMHzL_s = 32.44 + 20lg\frac{d}{Km}+ 20lg \frac{f}{MHz}Ls​=32.44+20lgKmd​+20lgMHzf​我算了一下偏离真实数据,自己推算了一下接收处的功率密度ER=PT∗G4πd2E_R=\frac{P_T*G}{4\pi d^2}ER​=4πd2PT​∗G​接收功率PR=ER∗SR=SR4πd2∗G∗PTP_R=E_R*S_R=\frac{S_R}{4\pi d^2}*G

2021-10-21 11:09:33 4523

原创 ESP8266无法下载问题

最近ESP8266开发板NodeMCU无法下载了,换了一块新板子也不行,暂时搞不定,先记录下来。make flash时尝试下载显示如下内容:Toolchain path: /opt/xtensa-lx106-elf/bin/xtensa-lx106-elf-gccToolchain version: esp-2020r3-49-gd5524c1Compiler version: 8.4.0Python requirements from /home/xrj/esp/ESP8266_RTOS_SDK

2021-10-20 15:22:22 4486

原创 自动控制 一阶线性系统参数测定

设电烙铁发热器的发热功率为x(t)x(t)x(t)(输入),比外界温度高为y(t)y(t)y(t)(输出),热导为GGG,热容量为CCC,可列出以下微分方程:Cdy(t)dt+Gy(t)=x(t)C\frac{dy(t)}{dt}+Gy(t)=x(t)Cdtdy(t)​+Gy(t)=x(t)经过傅里叶变换,变为jωCY(ω)+GY(ω)=X(ω)j\omega CY(\omega)+GY(\omega)=X(\omega)jωCY(ω)+GY(ω)=X(ω)(jωC+G)Y(ω)=X(ω)(j\om

2021-09-14 23:09:45 560

原创 概率统计两个随机变量的乘法,应用计算功率

首先说明一下:这里的情况是假设电压电流为不变,由测量仪器产生误差,求测量值的分布。先考虑最简单的情况,静态,线性近似P测=(U+εu)(I+εi)=UI+Uεi+Iεu+εuεiP_测=(U+\varepsilon_u)(I+\varepsilon_i)=UI+U\varepsilon_i+I\varepsilon_u+\varepsilon_u\varepsilon_iP测​=(U+εu​)(I+εi​)=UI+Uεi​+Iεu​+εu​εi​误差为εp=P测−P=Uεi+Iεu+εuεi\vare

2021-09-14 00:36:39 753

原创 ESP8266开发笔记3 编译工程

如果按照平常CMake项目的习惯运行下列命令mkdir buildcd buildcmake ..make -j4再继续执行make flash出现以下错误Scanning dependencies of target flashNote: esptool.py will search for a serial port. To specify a port, set the ESPPORT environment variable.Note: Using default baud rat

2021-08-31 17:38:24 393

原创 最小二乘法在x均匀分布时的简化

在嵌入式平台上运行算法,要尽可能减少计算量。有些特殊情况可以减少计算量,比如等间隔采样数据,这里介绍xxx为等差数列xi=x0+iΔxx_i = x_0+i\Delta xxi​=x0​+iΔx时的特例。百度查到最小二乘法公式,是用yi^=axi+b\hat{y_i}=ax_i+byi​^​=axi​+b拟合数据(xi,yi)(x_i, y_i)(xi​,yi​),而在概率论与数理统计课本中使用的是yi^=bxi+a\hat{y_i}=bx_i+ayi​^​=bxi​+a,这里统一使用yi^=axi+b\

2021-08-29 01:59:30 431

原创 个人电子设计步骤整理

这些步骤仅供参考,遇到困难时可以看看,不要完全按照这些步骤来做,否则没有灵活性,做完每个项可以自己打钩用于确定。粗糙设计1. 写下主要需求及目的(客户或自己)2. 主要芯片选型(MCU,传感器,电源等等)3. 分配MCU引脚(如果有配置软件,如STM8/32CubeMX,可以尝试一下)4. 在纸上画出大概的原理图,PCB草图,外壳草图尝试在开发板上开发1. 在电脑上开发纯算法部分(使用随机数据)2. 将代码移植到MCU3. 用汇编优化执行最频繁的代码(可选)4. 寻找或编写外设驱动5

2021-08-16 16:46:43 166

原创 PlatformIO开发STM8S003F3P6

最近我想控制4个HX711,用ESP8266把称重数据实时传到电脑,可是ESP8266的实时性不够,还有功率太大,会在电源上产生噪声。我想用STM8缓冲数据,STVP的开发环境不支持Linux系统,于是我尝试用VSCode+PlatformIO开发STM8我创建了一个工程,不知道怎么写代码。打开例程,成功编译烧录进MCU,串口上能看到输出。我把例程复制到我的工程下,还是成功编译,在程序中加入LED闪烁的代码#include "stm8s_gpio.h"void main(void){ //.

2021-08-12 20:30:07 2029

原创 ESP8266开发笔记2

PlatfromIO库管理的官方文档看不懂,不会用。我不想使用Arduino框架,不专业,不支持DMA等等,还有各种库很杂乱,搜索麻烦很头疼,我想自己写个综合库。可是放进lib文件夹后,编译出现头文件报错,网上找不到资料。我不想再用PlatfromIO框架了,我想用CMake,或者找另外一个框架。我再次尝试安装ESP-IDF,终于安装成功了, 可是我点击状态栏上的配置按钮,一直处于"ESP-IDF: Menuconfig: Loading initial values",等了几十分钟还是这个样子。我只能

2021-08-05 19:23:27 412

原创 我整理的ubuntu开源软件列表,适合于极客

2017年第一次安装Ubuntu系统,我喜欢用上了开源软件,很少切换到windows系统下。后来发誓,如无必要,绝不使用商业软件。每次重装系统都要花费很多时间去找和安装软件,我想自动安装记得在系统安装完后更换国内的apt源和pip源,以提高下载速度类型软件名....IDEVS CodeCode::BlocksAndroid StudioEclipsePyCharm电子STM32CubeIDEPlatformIOKiCADArduino IDEGNU

2021-07-04 01:10:08 953

原创 ubuntu下vscode配置ESP8266失败

先安装vscode,我忘记是怎么安装的了,我参考了一些别人的文章,见底部。点击左侧扩展按钮,分别搜索并安装PlatformIO,esp-idf配置Espressif IDF过程按F1键,输入ESP-IDF:Configure ESP-IDF extension显示CMake and Ninja are required in environment PATH.,在终端输入sudo apt install cmake ninja-build安装依赖点击"EXPRESS按钮"普通安装下载服务器选择"

2021-06-03 16:13:53 291 1

原创 STM32配置全速USB与Python上位机传输数据步骤

Python与STM32传输数据,由于我的开发板上没有USB3300,只能用全速,我要尽量增加带宽(设置为64Byte包和Bulk模式)。环境:系统:Ubuntu20.04IDE:STM32CubeIDE测试过的芯片:STM32F103C8T6,STM32F407ZET6USB硬件配置 Connectivity->USB(_OTG_FS)F1只需打钩,F4设置Mode设置为Device_OnlyUSB中间件配置 Middleware->USB_DEVICEClass Fo

2021-04-22 17:51:11 3531 7

原创 通用实时数据传输协议

我为了方便传输实时数据,如ADC,九轴IMU,温湿度,摄像头,麦克风等等。不用每次开发项目都要写一个新的框架。术语表处理过程:信号(Signal):无特殊说明,默认是由帧序列构成的数字信号。帧(Frame):在实际应用中,通常在时间上不可分割的单元,例如:视频中的一个图像(虽然各像素点的采样时刻不同),音频中每个声道的一组电平值,多通道示波器在某一时刻各通道的电压。注:多通道每个通道的采样率必须总是相等,总体采样率可变化。帧的shape:本文帧用numpy数组保存。在同一个帧流中,每帧的sha

2021-04-20 14:07:19 450 1

原创 USB示波器数据传输,单入多出可分组队列

最近在用STM32自制示波器,为了方便通过USB传输把数据到电脑。如果全速USB带宽不够。ADC会连续采样一段时间,同时采样和传输数据(可选压缩),直到STM32缓冲区满,停止采样,再把缓冲区的数据传输完。我设计了一种数据容器。类似循环队列,不过有多个读头,自动覆盖,还可分组。用Python实现了一下。...

2021-04-20 14:02:49 234

原创 2021.2.14 python学习笔记

实验1:assert False and False or True == True # 一个True就能导致整个表达式输出True 应该后计算orassert True or False and False == True # 交换前后顺序,依然先计算orassert False and True or False == False # 中间的True无效,应该先算andassert False or True and False == False # 交换and和or不影响结果# 用`&a

2021-02-14 14:52:49 122

原创 小包装组合最小误差问题

问题来源:大包装作为单独销售单位,所以要保证大包装质量的误差尽可能的小。现有n*a个小包装,要组合成n个大包装,每个大包装内有a个小包装。已知每个小包装质量为mi,(0≤i<na)m_i, (0 \le i \lt na)mi​,(0≤i<na) ,i为小包装的编号将小包装组合成n个大包装,求使得大包装质量的方差最小的组合方式class Big(set): # 一个大包装 def mass(self, smalls): # 求质量 return s

2020-11-30 11:00:42 185

空空如也

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

TA关注的人

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