- 博客(45)
- 资源 (1)
- 收藏
- 关注
原创 离散数学相关的概念
文章目录setset 集合equal 集合的相等empty set 空集合cardinality 基数trust setFunction 函数函数domain, codomain, image, preimage, range,mapsinjection, one-to-onesurjective, ontobijection, one-to-one correspondenceinverse functioncompositiongraph of functionpartial functionCard
2021-09-16 20:10:23
2982
原创 《软件分析》课程笔记(一)
熊英飞老师《软件分析》课程笔记视频链接:https://liveclass.org.cn/cloudCourse/#/courseDetail/8mI06L2eRqk8GcsW
2021-07-13 16:15:31
788
1
原创 Effective C++ 阅读笔记(二)
文章目录05:了解C++默认编写、调用的函数06:如果不想使用编译器自动生成的函数、那就明确拒绝07:为多态基类声明virtual函数05:了解C++默认编写、调用的函数如果没声明,编译器会声明一个copy构造函数,一个copy assignment操作符,和一个析构函数;如果没有声明任何构造函数,编译器也会声明要给default构造函数。包含reference和const成员的class,编译器会拒绝自动编写assignment操作;如果base classes将copy assignment声
2021-07-02 15:29:44
343
2
原创 Effective C++阅读笔记(一)
文章目录01:C++是一个语言联邦02:尽量使用const、enum、inline替换#define03:尽可能使用constconst用法const成员函数在const 和 non-const 成员函数中避免重复04:确定对象被使用前先被初始化01:C++是一个语言联邦可以将C++视为四种主要的此语言:C语言Objedct-Oriented C++:继承,封装,堕胎,虚函数(动态绑定)Template C++:泛型编程STL:容器、迭代器、算法、函数对象进行规约与协调守则依据使用C+
2021-07-01 19:02:37
317
2
原创 Proteus: Computing Disjunctive Loop Summary via Path Dependency Analysis 通过路径依赖分析计算析取形式的循环总结
摘要对于程序分析来说,循环是非常难以处理的结构,特别是多种路径相互交错的复杂循环。文章首先基于在循环条件中的变量的更新和循环路径的执行顺序对多路径的循环进行分类,进而来理解循环的复杂性。之后,文章提出分析框架Proteus。该框架把循环和我们感兴趣的变量集合作为输入,然后通过分析,可以得到关于这些变量经过循环之后的变化情况的摘要。文章主要的贡献是利用路径依赖自动机(path dependency automaton, PDA)来捕获路径之间的执行依赖。然后利用DFS遍历PDA来对所有可行的执行路径的
2021-06-30 15:14:32
365
原创 命题逻辑的基本概念
文章目录真值指派和公式真值重言蕴含、重言等值和可满足性重言式、矛盾式与或然式代入我们把L0\mathscr{L}_0L0所有命题变号的集合记作Pr,并且把命题编号依照下标的序p0,p1,p2,⋯p_0,p_1,p_2,\cdotsp0,p1,p2,⋯称为Pr上的(或命题变号的)“字典顺序”或者“字母表”。真值指派和公式真值语言L0\mathscr{L}_0L0的解释叫做 “真值指派”(truth valuation, truth assignment)。一个真值指派(或赋值)是从Pr到{
2021-06-14 21:59:43
1834
原创 真值表和真值计算
文章目录基本真值表基本语义的真值表刻画重言蕴含(重言后承)与重言等值论说形式的有效性重言蕴含重言等值可满足性可满足性可满足性的简单性质和重言蕴含的关系重言式、矛盾式、或然式三者之间的关系各语义之间的关系简化真值表方法基本真值表从语法角度讲,联结词是“公式函数”,即从公式集合到公式集合的函数。也就是说,对于每个联结词,每当给出公式作为输入,这个联结词确定了唯一的公式作为输出。真值函数是从真值集到真值集的函数,也即从{T,F}到{T,F}的函数。基本真值表如下:我们可以用如下规则进行记忆:一个否
2021-06-14 16:06:36
18379
1
原创 命题连接词
文章目录联结词和符号语句联结词复合句和简单句命题逻辑(propositional logic) 也被称为 语句逻辑(sentential logic),是从连接词和复合语句的角度讨论逻辑蕴含,可演绎性和一致性。这意味着我们会忽略语句中的其他的元素主语、谓词和量词等。命题和语句是有区别的,但暂时不区分,命题、语句或句子都是指的同样的东西。论说的前提和结论都是由陈述句构成。对于陈述句,我们给出简单的定义:对于任何一个语句ϕ\phiϕ,如果我们问下列问题是有意义的,ϕ\phiϕ是真的吗?ϕ\ph
2021-06-14 11:35:20
2374
原创 逻辑学引言
文章目录论说论说的好坏论说形式的好坏论说的好坏由论说的形式决定演绎可演绎性、可证性和独立性可演绎性与论说一致性逻辑学是关于论说(argument)的关于推理(inference, reasoning)的关于理论或信念一致性(consistency)的论说总结:推理、前提、结论日常中,人们说的句子大体可以分为两类:真句子和假句子。直接考察一个句子ϕ\phiϕ的真假往往是很难做到的,人们往往需要比较ϕ\phiϕ某些我们不相信(χ0,⋯ ,χn)\chi_0,\cdots,\chi_n)χ
2021-06-05 21:49:30
1256
3
原创 文献阅读:通过溯因推理生成不变式 Inductive Invariant Generation via Abductive Inference
摘要
2021-06-05 18:58:17
505
原创 Linux下自动生成c++ UML图
对于一个庞大的项目,如果能搞清楚类的继承关系,并用图示的形式表示出来,那么可能会大大加快对项目的理解。要做到这一点其实也非常简单,首先,我们需要使用两个工具Graphviz + Doxygen。软件安装安装Graphvizsudo apt install graphviz 安装Doxygensudo apt install doxygen使用进入项目文件根目录生成配置文件doxygen -g Doxygen.config修改配置文件将配置文件中的下列配置进行修改,其他配置可以按
2021-05-25 22:19:22
6154
原创 LLVM获取函数传入参数的具体值
%call = call i8* @malloc(i64 12)比如有这么一段IR,我想要得到malloc中的参数12:void TableBuilder::extract_info(const CallInst *ins_ptr) { auto fn = ins_ptr->getCalledFunction(); errs() << ins_ptr->getNumOperands() << "\n"; if (fn) { i
2021-03-28 11:52:45
1552
原创 Ubuntu Windows双系统出现WIFI adapter not found解决方案
安装了Ubuntu 和 Windows 双系统,本来 Ubuntu 可以正常使用 WIFI,但是有一天切换到 Windows,再换回 Ubuntu 之后提示 WIFI adapter not found。搜了一下发现是 Windows 10 的快速启动功能会影响无线网卡,所以只要禁用 Windows 10 的快速启动功能就可以了。win + R ,然后键入powercfg.cpl之后按Enter。点击 选择电源按钮功能(Choose what the power button do) ,然后关闭
2021-03-19 09:53:08
1975
原创 一些比较巧妙的操作
判断一个数是不是2的整数倍if ( !(x & (x - 1)) )假设 x 是 2 的整数倍,比如 x = 4, 则他的二进制是 1000, 减去 1, 则是 0111,二者相与,结果为0.枚举一个二进制集合的子集二进制集合的子集 意思是:假设某个二进制为 1101, 那么他的子集分别是 1101, 1100, 1001, 1000, 0101, 0100, 0001int bset; // bset 是要枚举子集的集合for (int i = bset; i; i = (i -
2021-03-03 09:43:46
263
原创 中国传媒大学广播电视工程专业各学科课件、笔记、作业答案及实验整理
中国传媒大学学习资料整理关于本校的一些学习资料以及课后作业资源真的不太好找,而且很多课程对自己以后职业生涯的帮助非常少,这就会导致自己学习的时候非常痛苦(毕竟没有办法愉快的划水了)。并且恰好自己的设备空间不够了,(搞毕设之余也想划划水) 于是就想到把自己整理的笔记、课后作业、课件做一个整理,或许可以造福看到这个文字或repo的有缘人~目前的学习资料仅仅是广播电视工程专业的。广播电视工程大一概率论与数理统计高等数学复变函数大学物理大二毛泽东思想概论数学物理方程信号与系统数字电路
2021-03-01 17:43:40
1912
15
原创 静态分析:Intermediate Representation
文章目录Intermediate Representation1. 编译器和静态分析器2. AST vs. IR3. IR: Three-Address Code(3AC)4. 3AC在静态分析中的实际应用:Soot5. Static Single Assignment(SSA)Control Flow Analysis6. Basic Blocks(BB)7. Control Flow Graphs(CFG)Intermediate Representation类似编译器会把 source code
2021-02-28 14:27:32
748
1
原创 python filter可变过滤条件过滤json列表
场景是这样的,假设有一个json用来表示一个学生的信息:{ "name" : "name", "age" : "age", "clazz" : "class", "school" : "school",}某次查询返回来的是一个josn列表 [{},{},{}…],而我需要对这些列表做一些过滤的操作。类似找出所有 name=‘小明’ 的 json, 或者过找出所有 age=19 并且 class=三年级 的学生。直接使用if枚举状态太多,有 n 个属性就要写 2n2^n2n 个条件。所以想
2021-02-05 21:37:18
3424
1
原创 H.264编解码实验
原理编码器输入参数文件说明输入参数说明编码实验要求将自行选择或老师给的两个264文件进行解码,得到相应的YUV文件将上述两个视频序列编码为.264文件固定码率,以不同的GOP长度及形状编码相同的GOP长度及形状,不同的码率用码流分析软件检查所生成的码流中各种编码模式和运动矢量等信息用播放器观看所生成码流的质量生成率失真曲线...
2020-08-12 19:28:31
792
原创 随机信号的参数建模法
文章目录随机信号的参数建模法MA模型AR模型ARMA模型AR模型参数的估计AR模型参数和自相关函数的关系实例Y-W方程的解法——L-D算法L-D算法的优缺点随机信号的参数建模法在对语音信号进行编码时,对语言产生的物理过程进行建模,编码器根据输入信号计算模型参数,然后对模型参数进行编码。当解码器收到模型参数后,再利用数学模型重建原始数据。这种利用数学模型和参数计算的编码方式称为信源模型编码技术。可以用下图表示过程:对于平稳随机信号,有三种常用的线性模型分别是:AR模型(自回归模型Auto-regr
2020-06-16 20:11:00
619
原创 MPEG音频编码实验
文章目录MPEG音频编码实验MPEG-1 Audio LayerII编码器原理MPEG-I 心理声学模型多相滤波器组心理声学模型(Psychoacoustic Model)心理声学模型1心理声学模型2比特分配器(Bit Allocator)装帧(Frame Creation)MPEG音频编码实验MPEG-1 Audio LayerII编码器原理基本流程框图如下:MPEG-I 心理声学模型通过子带分析滤波器组使信号具有高的时间分辨率,确保在短暂冲击信号情况下,编码的声音信号具有足够高的质量可以
2020-06-11 16:10:02
491
原创 完全重建QMF滤波器
任务一输入两个波形,一个脉冲在前,一个脉冲在后,观察其傅里叶变换后区别。a = zeros(1, 100);a(1:10) = 1; %冲击在前的信号subplot(231);stem(a);title('原信号');subplot(232);f = fft(a);stem(abs(f));%冲击在前信号的幅度title('幅度谱');subplot(233);stem(angle(f)) %冲击在前信号的相位title('相位谱');a = zeros(1, 100);a(
2020-05-31 18:38:25
765
原创 JPEG原理分析及JPEG解码器的解析
JPEG原理分析及JPEG解码器的调试原理分析JPEG编解码流程图将传入的图像进行零电平偏置,其实就是将所有像素的数值减去128,将其范围从[0,255]变成[-128,127]。进行8×8的DCT变换,实现能量集中和去相关,便于去除图像的空间冗余度。使用量化表进行量化。利用根据人眼视觉特性设计的量化的量化矩阵进行量化,低频细量化,高频粗量化,进而减少视觉冗余。最后对量化后的直流系数进行差分和VLC编码;对交流系数进行zig-zag扫描和游程编码最后再进行VLC编码。从而减少数据冗余。D
2020-05-23 15:30:02
5685
原创 最小二乘法,梯度下降,牛顿法以及高斯牛顿法
作业推导:E[d2]=E[(S(k)−Se(k))2]=E[(S(k)−∑i=1NaiS(k−i))2]E\left[d^{2}\right]=E\left[\left(S(k)-S_{e}(k)\right)^{2}\right]=E\left[\left(S(k)-\sum_{i=1}^{N} a_{i} S(k-i)\right)^{2}\right]E[d2]=E[(S(k)−Se(k))2]=E⎣⎡(S(k)−i=1∑NaiS(k−i))2⎦⎤为了满足最佳预测需求,令:∂E[d2]
2020-05-17 16:38:35
591
原创 单调栈、单调队列和并查集
文章目录单调栈步骤代码应用单调队列步骤代码应用并查集步骤代码应用单调栈单调栈,故名思意,就是栈内元素具有单调性的栈。可以是单调递增,也可以是单调递减,抑或是单调非增等。步骤单调栈的原理比较简单,只需要两步即可。以单调递增的单调栈为例:如果栈为空,则将新元素入栈。如果栈非空,比较要加入的元素与栈顶元素的大小如果大于栈顶元素,将新元素加入如果小于或等于栈顶元素,则不断弹出栈顶元素,直到栈顶元素小于新元素或栈为空,之后将新元素入栈。可以结合一个例子来看:比如有一个数列,[1,6,7,
2020-05-12 19:02:25
498
原创 LZW算法原理及实现
文章目录LZW算法原理及实现原理编码解码实现编码器解码器实验过程及结果文本文件测试压缩效率分析LZW算法原理及实现原理LZW的想在数据中创建一个短语词典。如果在此后的编码过程中又遇到了相同的字典,则用相应的索引号替代,而不是短语本身。由于LZW字典产生的规则固定,所以不需要额外传递字典;解码端可以采取逆过程重建出来字典并进行解码。编码编码的流程大致如下:步骤1:将词典初始化为包含所有...
2020-04-19 10:39:10
1892
原创 利用频率陷波滤波处理图像
编程实现2-d DFT正变换和反变换测试图像:moon.yuv (宽464,高538,4:4:4取样)要求:(1) 调用1-D FFT模块实现2-D FFT(2) 封装2-D FFT函数,通过调用2-D FFT实现2-D IDFT频率域陷波滤波测试图像:moon.yuv (宽464 高538)实验平台:Visual C++实验方法:频率域陷波滤波。具体要求如下:陷波滤波:f(...
2020-04-17 17:56:01
1106
原创 PNG转YUV(自造轮子版)
文章目录前置知识PNG格式zlib文件格式deflate文件格式LZ77压缩算法霍夫曼编码字典树综述过程获取文件信息获取调色板信息对IDAT数据块进行解码编写位处理工具解码zlib和Defalte格式的文件头构建霍夫曼树获取霍夫曼码表进行解码格式转换实验结果完整代码前置知识PNG格式zlib文件格式deflate文件格式LZ77压缩算法霍夫曼编码字典树综...
2020-04-07 20:01:25
1597
原创 Deflate数据格式分析(RFC-1951)
Delate压缩格式综述被压缩的数据是许多块组成的集合,每个块的大小是任意的,但是要小于65535字节。每个块都有两个部分:一对霍夫曼编码树,霍夫曼树本身利用霍夫曼编码进行压缩。被压缩的数据。其中霍夫曼树使用长度数组生成。长度数组本身也用霍夫曼编码进行存储。被压缩的数据包括两种类型的元素:literal bytes,在前32k中没有相匹配的字符串,即无法从前32k中复制出来的...
2020-04-07 17:16:59
3785
1
原创 zlib数据格式分析(RFC-1950)
zlib数据格式数据存储计算机中的字节都是从高到低存储的,即最左边是最高位,最右边是最低位。但是,一个数可能会占用多个字节,zlib中式高位的字节存在较低的内存之中。例如,十进制数256用两个字节存储在内存中会是下面这种形式:010000000100000000数据格式zlib流采用下面这种结构:01…CMFFLG…如果FLG...
2020-04-07 17:04:29
3315
原创 直方图均衡的C++实现
选用400*400的yuv灰度图像,如下图所示,对其进行直方图均衡。代码如下:#include <iostream>#include <fstream>using namespace std;int accurNum[256];double sum[256];int map[256];int main(){ int height = 500, w...
2020-04-03 15:53:23
440
2
原创 LZ77算法原理及python实现
LZ77压缩算法基本思想众所周知,人类的本质就是复读机。人们会再不知不觉中说出很多重复的话,有些基本的词句出现的频率也远比其他词句高;这就给信息的存储和传输带来了一定的便利:只要想办法把这些重复的字词用一些小于其本身长度的符号代替,就可以节省大量的空间。拿郭老师的语录举个例子:喝一口牛奶啊,喝一口牛奶,缪可啊缪可。为了减小需要传输的数据量,可以编造一个字典:符号含义...
2020-04-02 20:35:03
3011
1
原创 png文件转为yuv文件
前言由于png文件解码较为复杂,所以本次仅针对部分形式的图像,鲁棒性较差,仅作实验使用。关于本次实验使用的文件:实验过程获取文件信息#include <iostream>#include <fstream>#include <vector>#include <map>#include <set>using names...
2020-03-31 14:36:56
2278
原创 PNG文件分析
文章目录分析PNG文件格式简介文件如何组成?文件中的数据如何组织?Flie headerChunksCritical chunks——关键数据块ancillary chunks——辅助数据块如何获取元数据信息?IHDRPLTEIDATIEND分析实例有哪些关键数据?File headerIHDRPLTEIDATIEND有哪些辅助数据?总结分析PNG文件格式简介Portable Networ...
2020-03-29 17:36:37
1668
原创 GML和SML的C++实现
#include <iostream>#include <cmath>using namespace std;const int N = 8;double origin[N] = {0.174, 0.088, 0.086, 0.08, 0.068, 0.058, 0.062, 0.384};double given[N] = {0, 0.4, 0, 0, 0.2...
2020-03-28 10:58:30
581
原创 读取并分析TS数据流
要求:输出以下参数:TS包分组长度;节目套数及对应各节目PMT PID代码实现如下:#include <iostream>#include <fstream>#include <map>using namespace std;struct TsHeader{ unsigned int sync_byte; int tran...
2020-03-23 20:47:18
1346
原创 CIF文件转换为QCIF
#include <iostream>#include <cstdio>#include <fstream>using namespace std;const char* inCIF = "miss.cif";const char* outQCIF = "miss.qcif";int main(){ ifstream in(inCIF, ios...
2020-03-21 09:56:10
515
原创 彩色空间转换实验实验报告
文章目录彩色空间转换实验基本原理RGB与YUV色彩空间的基础知识RGBRGB计色系统XYZ计色系统显像三基色计色系统YUVYUV与RGB的转换模拟信号数字信号亮度信号量化后的电平分配色差信号量化后的电平分配表达式最终表达式数据类型的分析YUV取样结构存储结构YUVY(4:2:2)UYVY(4:2:2)YUV422P(4:2:2)YV12,YU12(4:2:0)NV12,NV21(4:2:0)RGB...
2020-03-17 22:46:21
2471
原创 RGB文件的处理与分析
#include <fstream>#include <iostream>using namespace std;const char* inPath = "C:\\Users\\MSI-PC\\Documents\\study\\大三下\\数据压缩原理及应用\\down.rgb";const char* outPath = "C:\\Users\\MSI-PC\\...
2020-03-09 16:08:37
1127
jpeg_mindec.rar
2020-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人