自定义博客皮肤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)
  • 收藏
  • 关注

原创 gnuradio-windows11-使用(6)周期信号傅里叶级数ak确定

的周期是 5 个采样点,得到的精度还算可以,但是到了N很大的时候,也就是例 3.12 的 方波的时候,用 线性方程组求解的方式其实就存在很大的误差.第一个是从 3.94 出发,如果得到了 N - 1 个 不同的采样值x[n],我们 就能解出所有的 ak,类似于求解线性方程组的思路。这里我的预设的参数是,N=40, N1=5, 也就是一个周期的采样点是 40 ,高电平占5个。比如标准的解都是实数,但是我的求解却有虚部,但是只把实部画出来,其实也还大致看得出样子。这里对于正弦的求解,我预设的。

2025-01-24 10:27:59 187

原创 gnuradio-windows11-使用(5)离散时间傅里叶级数对

因为复数不会是1,所以分母不会是 0,又发现1-q^N = 0, 所以证毕。当 k 是 0 或者 N 的倍数的时候,积分内的复数是1,所以求和后是N,这里主要是记录一下 3.94 和 3.95 的导出。

2025-01-17 15:04:45 118

原创 gnuradio-windows11-使用(4)离散信号的一次差分

【代码】gnuradio-windows11-使用(4)离散信号的一次差分。

2025-01-17 09:42:11 194

原创 gnuradio-windows11-使用(3)离散卷积的结合律证明

这两个等式在写的时候,有个小 trick,就是用卷积的交换律,把 n-k 的项 都放在 h1的内部,因此左右两边再对比的时候,能够统一起来。其余的还好,也就是结合律并不是很好证,此外,似乎很多的证明都是用。,不管用刀横着切了,一行一行吃,还是竖着切了,一列一列的吃,最终都能吃完这块蛋糕。,第一个求和是先 k2 再 k1,而第二个求和是先 k1 再 k2。因此,等式左右两边的求和区间 和 求和内容,全部相等,结合律证毕。这里需要注意的是,k1 的积分限是从 0 到 n-k2。说个好理解的,就比如这是一块。

2025-01-16 15:29:28 232

原创 gnuradio-windows11-使用(2)阶跃卷积函数u[n]

承接上文,我们已经构造出了,

2025-01-14 14:46:53 227

原创 pyaudio 麦克风录音与FuncAnimation动态可视化

pyaudio 麦克风录音与FuncAnimation动态可视化。

2025-01-07 14:37:21 197

原创 sscanf 中的 hhx 与 hx 使用

sscanf 的功能是从字符串中格式化读出内容。hh 指的是 8 位 而 h 指的是 16 位,因此由于一个mac地址确实只要8位,因此用的是 hx。同样的,用 hx 写入 unsigned char 也是错误的匹配。输出则可以看出问题。改回hx 输出正常。

2025-01-07 10:54:31 340

原创 gnuradio-windows11-使用(1)指数衰减信号

可以模模糊糊的知道,大概是这个自己的block块会有一个线程在跑,然后gnuradio 的调度器会根据python块前面的 输入buffer 和 后面的输出 buffer 的 size 决定一个大小,然后把输入和输出作为参数传给 work 函数, 具体自己在实现的时候就要用 c 的引用的写法,在python 中就是 [:] 这种切片的形式。虽然 gnuradio 也很复杂,但是只从用的角度是没有难度的,细节慢慢以后慢慢再看。这次先做信号的衰减。

2025-01-04 17:29:38 220

原创 gnuradio-windows11-使用(0)软件安装与vscode配置

在文件的后面加一个自己的code.exe的位置就ok了。windows下的安装在conda下最方便,参考。vscode配置主要是用于写python块,主要。,修改conda环境中的。

2025-01-03 15:26:13 230

原创 1456. 定长子串中元音的最大数目-双变量和单变量

自己想到的是之前的贪婪的写法,用的是左右两个变量,但是0x3F题解给的是1个变量。想了一想,发现,这里的区别其实在于,因为这个题是固定滑动窗口,那么一个窗口的端点,就已经足够了,使用 r - k + 1就可以找到窗口左端的 l 的位置。的单个子字符串中可能包含的最大元音字母数。定长串口滑过字符串,找aeiou最多的个数。

2025-01-03 14:22:51 112

原创 729. 我的日程安排表 I - 二分法 - lower_bound 使用

此外,可以发现如果把lower bound 函数 换成 upper bound 函数,提交就会失败,但其实 upper bound 函数就是少了一个等于的情况,具体刷题的时候,允不允许等于就要看实际情况了。当然,找到第一个右端点小于start time 的区间,也是可以的,只不过map 的存储方式要变一变。找到的正是第一个左端点大于endtime 的区间,那么 --item 也就是左边最容易出问题区间了,题解的思路是找到插入区间右边,不冲突的第一个,那么这个找到区间左边的那个就是最有可能出问题的。

2025-01-02 19:01:24 241

原创 rfc1071-校验和

这里带来的好处就是,当我们收到一个报文时,虽然大端机器和小端机器取出 16 位数据的方式是不一样的,但是字节序可换的性质保证了计算结果并不会影响到,校验时得到的结果是否全是 1, 或者取反全是 0。这里有点思维跳跃的,其实还好理解,比如 [A,B]+[C,D],如果AC有进位,根据反码和的要求,这个进位会传给BD, 同样,BD如果有进位就会传给AC;字节交换顺序后 [B,A]+[D,C] 的进位方式仍然不变,仍然是BD进位给AC, AC进位给BD,所以最后的结果也只是存在一个字节之间的交换而已。

2025-01-01 10:48:13 768

原创 Kruskal‘s algorithm 证明理解

所以只能是 f == e 的情况了,也就是 T - f +e也是一个最小生成树。(因为算法保证e+F不会成环,而e+T有环,所以一定多个边)那么 比较 f 和 e, 因为f在T中,所以 f 一定要

2024-12-31 15:44:47 262

原创 3219. 切蛋糕的最小总开销 II

3219. 切蛋糕的最小总开销 II

2024-12-31 14:23:17 124

原创 rfc1700-网络传输字节序-位序-小端CPU-位域

“假设小端 cpu 的 字节内部 位的顺序也是沿着地址增大方向,每一bit 从小到大放置的”。

2024-12-31 11:01:20 432

原创 力扣-自递归-1367. 二叉树中的链表

如果把题改成,只从树的跟节点开始匹配,那么问题就很简单了, 就一个简单的dfs,只要到了边界就false,不相等也是false,相等就继续比较下一个,也就是使用 dfs 进行深度搜索。但是现在问题是,不止从根节点开始,而是任一节点开始,那么就引入自递归,在 isSubPath 函数中 继续调用自己的左右子树,进而把所有的节点当作根节点进行遍历。如果在二叉树中,存在一条一直向下的路径,且每个点的数值恰好一一对应以。一直向下的路径的意思是:从树中某个节点开始,一直连续向下的路径。为第一个节点的链表。

2024-12-30 14:41:57 196

原创 2024-11-21-QUANTAXIS-windows-docker配置

然后是去docker desktop 把qa点开,找到qaweb restart, 或者整个qa 重启,我的qaweb 就不再不错了,应该是显示一些 ready 或者 welcome 字样的就算ok了,然后是最坑的,卡在 localhost:81 怎么都进不去,最后发现是只需要修改最下面的地址,前两个不要改,并且是。更新这两个库之后,我就可以成功save stock_list了,大致的步骤google 可以找的到,主要参考前两个链接。加上之后,就能点进去了。大概率会qaweb的出问题,解决方案见。

2024-11-21 16:25:45 271

原创 python multiprocessing.Pipe的close()问题-windows

我的结果显示子进程创建时 管道或者说 管道的端口应该是被特殊的拷贝了一份,因此,需要分别父子进程的发送端需要分别close, 才能让接收端收到 EOF。这个结论可以把代码的倒数第二行注释掉,发现,子进程的join 怎么也结束不了。

2024-11-08 11:07:09 226 1

原创 数值最优化定理5.3

他这里使用了一个条件,其实不是n=k时,假设成立能得出的,而是n=1,2,,,,,k都成立才有的这几个p互相共轭。虽然也不太一样,但同样的其实也没什么问题,感觉就像是归纳法的一种变体,首先n=1等式成立,然后假设,n=1, ...,k时等式都都成立,证明n=1, ... , k, k+1时等式都成立。这个说法以前其实是没见过的,第一次见同时一下子假设两个的,但细想一下,确实没什么问题。第一个地方是,假设两个等式5.17,5.18在n=k时,同时成立,然后证明5.17在n=k+1成立;

2023-10-20 15:20:54 106 1

原创 数值最优化-定理5-2

所以如果没推导错的话,可以看到,由于A的正定的性质,在开区间(0,1)里,只有x=y会满足等号成立,其余全是>大于号。第一,用共轭方向算法5.6,5.7生成的那一组x_k会保证5.11成立,也就是r_k总是和之前所有的p_k正交;第二,每次生成的x_k都会保证,这时的\phi(x_k)是 5.12式张成空间的最小值;凸函数的内容大概都知道,这个严格凸指的则是当x!=y时,一定是不等号,首先,由于5.6,5.7的计算\alpha_k的方法其实是通过。,进而就可以利用\phi本身的严格凸推导出h的严格凸了。

2023-10-19 23:08:28 121 1

原创 数值最优化-定理5.1

数值最优化定理5.1

2023-10-19 16:01:51 106 1

原创 CMakeLists.txt使用

【代码】CMakelists使用记录。

2023-09-06 15:19:26 126 1

原创 数值最优化引理3-11

条件的第二式 3.6b的思路就是:我还希望下一个迭代点x_k+1的斜率要比现在的x_k点处的斜率要大(因为是负值,其实视觉上看上去因该是,找到不那么倾斜的地方),就比如现在是-2,下一个迭代点处的斜率应该是-1而不是-3从而保证-1 > -2。这里的意思就是,如果下一个地方还是比较"斜"的地方,那么就以为着还有很大的下降空间,但我要是找到了一个没那么"斜"的地方,似乎就很接近目标点了。时,也就有Wolfe条件的第一式;这里保证了的一个主要目的就是,我还是希望我的下一步一定是保证函数值下降而不是上升的。

2023-04-06 10:10:07 274

原创 使用高斯牛顿法和g2o进行曲线拟合

在学习slam14讲的第6讲“”的时候,书中使用了曲线拟合的例子来对最小二乘法问题进行介绍,并使用了多种方法来进行求解,下面记录一下其中的高斯牛顿法和g2o两种方法的理解和遇到的问题。后面使用到的截图也都来自slam14讲的书和g2o的论文。也强烈建议先搜索一下什么是最小二乘法。此外,不仅是书上还是论文里,都会有自己的一套公式的写法和记号,而且都让人很难理解。

2023-03-21 15:25:38 398

原创 g2o曲线拟合中的static_cast

vertices 跳转后发现是在 g2o::HyperGraph::Edge中定义的,类型是:VertexContainer,再跳转VertexContainer发现是typedef std::vector VertexContainer;因此总结下来_vertices是一个存放g2o::HyperGraph::Vertex*类型的vector,那么_vertices[0]也就是一个g2o::HyperGraph::Vertex*的指针对象。

2023-03-01 11:34:30 144

原创 数值最优化---二阶条件

对于第一种情况,正是书上花了很大篇幅论证的,发现与大前提A=0矛盾,但这时反证法还没有结束,因为还有第二种情况没有论证,讨论继续,后面又发现第二种情况也与大前提A=0矛盾,因此,大前提的假设错误,反证法结束。这里我们有必要对critical cone的定义式进行说明,首先要明确的是,线性可行方向。因此,全部的论证过程并不是两个反证法嵌套,而是在反证法中存在一个分类讨论,进行分别论证了而已。首先是最开始的反证法的假设,简单记作A=0;这个式子,加上12.70,发现与反证法的假设相矛盾,因此。

2023-02-05 18:11:57 886 1

原创 数值最优化---引理12.2证明

这个引理的证明看上去十分复杂,因此打算搁置在这里,但在后面的一节用到了证明的一个中间结论,所有提前来学习一下证明过程。然后是熟悉又陌生的,定理A.2,也就是高数中讲到的隐函数定理,引理12.2证明很复杂,很大程度上就是由于要构造和使用这个隐函数定理。被满足,并且由于最开始的假设,我们只考虑有效集中的约束,抛弃有效集之外的约束,进而可以证明出在。推导中的最后一个等号,就相当于在矩阵的下分块处加了一个极限为0的余项,因而不改变原来的零值。这个矩阵的维度,对于n维的空间中的m个有效的线性无关的约束,

2023-02-05 11:39:12 552

原创 数值最优化-有效集法求解含有不等式约束的二次规划问题

前进,那么目标函数值沿这个方向是一定会减少的,因此(博客中还说因此:“算法的迭代可以在有限次数内终止”,我觉得这个结论不太充分,但是先这么认为)算法的收敛应与怎么增加和删除约束无关。因而上面流程图的左右两侧的什么时候增加、删除约束只是一种策略,用来帮助我们实现算法的快速收敛。一种可能的想法是:从向量的角度来说,的最后一段)书中的定理16.6给出了算法的收敛性,即:只要每次沿着。,如果全部非负,那么根据上面提到的定理16.4,此时的。的定义式的分子为零,那么此时的情况是,在原来的迭代点。

2023-02-03 19:07:04 2669

原创 数值最优化-KKT条件(一阶必要条件)证明总结

数值最优化(numerical optimization)一书中的有关KKT条件的证明。

2023-01-26 19:31:19 3494

空空如也

空空如也

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

TA关注的人

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