自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (10)
  • 问答 (2)
  • 收藏
  • 关注

转载 Linux中的两个经典宏定义

(04) (size_t)(&(((TYPE*)0)->MEMBER)) 结果转换类型。这两个宏最初是极客写出的,后来在Linux内核中被推广使用。(03) &( ( (TYPE *)0 )->MEMBER ) 取出数据成员的地址。(01) ( (TYPE *)0 ) 将零转型为TYPE类型指针,即TYPE类型的指针的地址是0。(02) ((TYPE *)0)->MEMBER 访问结构中的数据成员。:获得结构体(TYPE)的变量成员(MEMBER)在此结构体中的偏移量。

2023-05-11 19:33:29 287 1

原创 Linux学习笔记(4)--一些内核宏定义

是Linux内核源代码中的一个宏,它的作用是将一个符号(函数、变量、结构体等)导出为公共的符号,以便在内核模块中使用。Linux内核中采用模块化设计,允许在运行时加载和卸载内核模块,这些模块相对独立,并且被限制在一个特定的内存区域内,不能访问其他模块的代码和数据,也不能被其他模块调用。导出一个符号时,该符号会被添加到内核符号表(kernel symbol table)中,并被标记为可导出的(exportable),其它模块可以直接通过符号名引用该符号,而无需在代码中手动链接它。具体来说,当内核模块使用。

2023-05-11 15:04:12 1340

原创 Linux学习笔记(1)--用户态与内核态

在内核态下,进程或线程可以访问受到限制的资源和设备,直接访问操作系统内核空间,即所有资源,并可以执行一些特权操作,如读写硬件设备、管理进程和文件系统等等。用户态进程通过调用一个特定的函数(如read、write等)来发起系统调用请求,此时CPU会切换到内核态运行,操作系统会根据请求进行相应的处理,处理完成后再切换回用户态,把结果返回给对应的进程。在Linux系统中,内核空间和用户空间是分开的,用户态程序不能直接调用并操作内核代码或数据,只能通过系统调用接口向内核发出请求。2、用户态与内核态的交互。

2023-04-24 23:26:42 932

原创 Linux学习笔记(3)一些数据类型

与此类似,还有__aligned_u32、__aligned_u16等数据类型,分别用于定义32位和16位无符号整数类型变量并指定它们的对齐方式。uintptr_t的实现方式根据操作系统或者编译器而有所不同,但是通常情况下,它被实现为一个足够大的整数类型,足以存储任何指针。需要注意的是,在使用uintptr_t时,必须注意指针的正确性,避免指针越界等问题。其中__是指这是一个内核定义的类型,be表示大端字节序,即Big-endian,32表示这是一个32位的数据类型。

2023-04-24 19:59:17 2345

原创 Linux学习笔记(2)--一些内核接口

RCU是一种经典的读写锁算法,用于保护共享的数据结构,它的特点是在读的过程中不需要获取锁,在写的过程中通过复制一份数据来保证读操作不受写操作的影响。当一个线程或进程执行 wait_for_completion() 函数时,如果它所等待的事件还没有完成,那么就会进入睡眠状态(即挂起当前线程或进程),直到所等待的事件完成,并调用 complete() 函数告知等待队列中的所有等待者事件已经完成为止。具体来说,当内核中的某个结构体需要在多个地方被引用,通过使用 kref 引用计数器可以追踪该结构体被引用的数量。

2023-04-19 09:49:33 775

原创 URL基础知识(1)

我们经常用浏览器访问各种网页,也经常会在浏览器的地址栏中输入网址,也叫地址。这里经常说的“网址”“地址”,其实叫URL更准确。笔者最近工作当中接触URL比较多,于是抽时间解了一下URL到底是什么,现在把学到的东西记录下来,分享一下。URL(Uniform Resource Locator)是统一资源定位符的缩写,用于描述一台特定服务器上某一资源的特定位置。URL一般由三部分组成,分为方案,服务器的域名和服务器上阿某个特定资源。1. URL的组成1)...

2022-04-16 17:23:28 3592

原创 HTTP协议的状态码

在最近的工作中,经常遇到HTTP协议的200 OK的字眼,一直不知道什么意思,今天查了一下资料发现,http协议一共有5类状态码。整体范围 已定义范围 分类 100~199 200~299 300~399 400~499 500~599 100~101 200~206 300~305 400~415 500~505 信息提示 成功 重定向 客户端错误

2022-03-20 23:01:26 208

原创 Linux应用/内核程序员学习书单(持续更新中……)

C语言: 《C primer plus》 《C语言程序设计现代方法》 《C和指针》 《C专家编程》 《C的陷阱与缺陷》 Linux 《》 Linux网络编程 《Linux高性能服务器编程》 《Linux网络编程》 计算机基础知识 《编码——隐匿在计算机软硬件背后的语言》 《计算机是怎样跑起来的》 ......

2022-02-07 16:25:39 485

原创 Socket套接字如何理解,TCP与UDP的编程实现的区别

从上图可以看出,UDP编程框架和TCP框架有两点差异:(1)相对于TCP协议,UDP协议服务器和客户端的交互,没有listen()和accept()函数,也就是说缺少二者之间的连接过程。这是由UDP协议的特点决定的,因为UDP协议面向无连接(SOCK_DGRAM),为应用层提供不可靠、无连接和基于数据报的服务,因此客户端与服务器之间不需要建立连接。① TCP ssize_t recv(int sockfd, void *buf, size_t len, int flags); ...

2021-11-21 14:31:02 1594

原创 复杂网络数据集

本人之前学习复杂网络的过程中收集的一些数据集,现在列出来供大家参考,希望对大家的研究有所帮助。1、Mark Newman的个人网站这是密歇根大学复杂系统研究中心教授Mark Newman收集或者自己创建的数据集,全部时免费开放的,引用的时候请注明原始出处。Network datahttp://www-personal.umich.edu/~mejn/netdata/2、Network Data Repository具有实时可视化分析功能的交互式数据和网络数据存储库,包含从生物到社交网络的30

2021-10-31 00:33:51 4185 3

原创 Linux网络编程学习笔记(1)

1、bzero()函数:将指定字符串s的前n个字节为零。#include <string.h> void bzero(void *s, int n);2、memset()函数:将指针变量 s 所指向的前 n 字节的内存单元用一个“整数” c 替换,直接操作内存空间,常用于内存初始化# include <string.h>void *memset(void *s, int c, unsigned long n);3、atoi()函数:将字符串转换成整型数,返回.

2021-10-17 21:35:42 136

原创 我在Windows系统搭建python的Hadoop+Spark环境时踩过的坑

本人是一个最近正在研究链路预测的小白,读论文的时候有幸从导师那里获得了论文相关的算法代码,可是论文里面涉及到了spark和Hadoop,需要搭建环境,于是这只无脑的小白成功踏入了搭建Hadoop+spark环境的坑,可谓一如此坑深思海,从此快乐是路人。最开始了解到用Linux系统更方便,于是用VM+Ubuntu在Windows上运行Linux,这次踏上了以条VM安装Ubuntu的岔路,...

2020-03-22 22:21:55 669 3

原创 链路预测相似性指标计算示例(matlab+python)

一、matlab代码如下(1)主函数:clear allclclinklist = load( 'ex_linklist.txt');%---------------------------根据网络的邻接表构造网络的邻接矩阵linklist( :, 3 ) = 1; %对无向图,将邻接表将第三列元素置为1Net = spconvert( linklist );...

2020-02-14 18:45:23 9328 111

原创 图像逆光复原

1、提供可一种图像逆光复原的方案,针对逆光图像提供一种亮度调节方案,使得处理后的图像适于人眼获取原始逆光区域信息,此方案流程图如下:图1 处理方案的流程2、具体实施过程本方案采用图像分块、设置亮度阈值区间的方法整体提高图像亮度值进行恢复逆光图像。具体实现流程如下:(1)设置分块后每块图像块的宽度和高度,在原图像上利用rectangle函数绘制各图像块的边界用(2)根据宽度和高...

2020-01-07 12:47:19 2833 5

原创 通信系统通信过程仿真(联合信源信道编码)

以一幅灰度图像为例对通信系统的通信过程进行仿真,过程如下图所示:1、不经过信道编码与译码,图像经过BSC信道传输后的误码率,此处的编码方法为霍夫曼编码。MATLAB仿真程序如下:clear allclcI0=imread('Penguinshead3.jpg');I1=rgb2gray(I0);subplot(1,3,1),imshow(I0),title('原图')subplot...

2019-12-28 20:28:07 2594 1

原创 低通滤波器的设计

(1)录制一段语音信号;(2)给语音信号加高频噪声(此处的高频噪声频率);(3)设计低通滤波器;(4)用设计的低通滤波器除去高频噪声。代码如下:clear allclc[x,Fs]=audioread('天.wav');%sound(x,Fs)X=fft(x);T=1/Fs; %采样间隔n=length(x...

2019-12-26 08:41:52 4912 3

原创 电话拨键号码(DTMF信号)识别

1、流程图1 流程图2、MATLAB实现(1)主程序clear allclc[x0,Fs]=audioread('1234567890.wav');%sound(x0,Fs);N=length(x0); %采样点k=(0:N-1);f=(k/N-1/2)*Fs;X0=fft(x0);figuresubp...

2019-12-26 08:40:39 11654 38

原创 窄带随机过程的产生

1、窄带随机过程的产生过程图1 高斯白噪声的产生流程 随机过程的产生过程如图1所示,在利用莱斯表达式生成窄带随机过程时,需要通过高斯白噪声生成两个低频的随机过程,即首先使高斯白噪声通过低通滤波器(本实验中的使用的低通滤波器为巴特沃斯低通滤波器)得到两个低频随机过程,接着让两个随机过程分别通过乘法器,最后再通过累加器即可得到所需要的窄带随机过程。2、仿真程序(1...

2019-12-21 23:28:27 5314 2

原创 平稳随机过程的样本函数(随机信号)通过线性系统的仿真

现对平稳随机过程(其中为在上均匀分布的随机变量,和为常数)的样本经过线性系统进行仿真。 线性系统如下:function [ y ] = Linearsystem(x1,a,b)%Linearsystem 线性时不变系统%x-随机过程,a,b-线性系统参数,y-输出 y=a*x1+b;end 此处令,该随机过程的样本通过线性系统,此...

2019-12-21 23:03:26 3659 3

原创 时域抽取法FFT(DIT-FFT)算法的MATLAB实现

(1)序列的倒序function [X] = invertedorder(A)%invertedorder 序列时域抽取(倒序)% A-时域序列,X-时域抽取后的序列N=length(A);LH=N/2;j=LH;N1=N-2;X=A;for i=1:N1 if i>=j T=X(i+1); X(i+1)=X(j+1); ...

2019-11-17 21:22:23 5650 4

原创 确定单峰函数的极小点所在的区间

确定函数的在区间 的极小点,要求极小点所在的区间的长度压缩到0.3之内。目标函数为一元单值函数,该问题即为一维问题,可用一维搜索法进行迭代求解,下面用MATLAB实现黄金分割法、斐波那契数列法和二分法的求解。1、黄金分割法,程序代码如下:fx=@(x)x^4-14*x^3+60*x^2-70*x;a0=0;b0=2; %搜索区间d=0.3; ...

2019-11-03 16:31:56 1231 1

原创 二元对称信道输入二值图像仿真

二元对称信道如图所示:其中错误转移概率为,正确转移概率为,,,,。强对称信道(均匀信道)的信道矩阵是阶的矩阵,信道容量为,对于二元对称信道,信道容量,(此处的对数运算均为以2为底, ),对二元对称信道进行仿真,代码如下:clear allclcI=imread('star.jpg');Imgray=rgb2gray(I);thresh=graythresh(I); ...

2019-10-30 21:53:03 3929 3

原创 二元固定信道(BSC)信道的MATLAB实现

二元固定信道(BSC)信道参数p(转移概率)如图所示:其中错误转移概率为,正确转移概率为,,,,。现通过MATLAB编程实现该信道,由于该信道的转移特性与输入输出特性可知,该信道可通过一个二元信源与一个同维的仅含0或1的矩阵通过以概率p进行异或操作实现0。此函数可以采用两种方法编写,一种方法是将图片转换为列向量或者行向量与同维的矩阵异或;另外一种方法为与同维矩阵直接异或,无需转换。...

2019-10-25 23:27:07 10644 1

原创 MATLAB绘制常用分布密度函数图

%密度函数x1=-1:0.01:4;y1=unifpdf(x1,0,3); %均匀分布x2=-5:0.001:5;y2=normpdf(x2,0,1); %正态分布x3=0:0.001:10;y3=exppdf(x3,3); %指数分布x4=-5:0.01:25;y4=binopdf(x4,100...

2019-10-22 22:02:19 8303

原创 验证离散傅里叶变换(DFT)的频域循环移位定理

离散傅里叶变换(DFT)的频域循环移位定理如下:若: 则: 接下来通过MATLAB编程进行验证,为了便于给出任意移位点数与任意序列的验证,此处将验证代码封装为一个DFT_frequency_circshift函数,代码如下:function [yn,yn1] = DFT_frequency_circshift( xn,l )%D...

2019-10-18 21:00:49 5809

原创 验证离散傅里叶变换(DFT)的时域循环移位定理

离散傅里叶变换时域循环移位定理如下:接下来通过MATLAB编程进行验证,为了便于给出任意移位点数与任意序列的验证,此处将验证代码封装为一个DFT_time_circshift函数,代码如下:function [Xk,Yk,Yk1] = DFT_time_circshift( xn,m )%DFT_time_circshift 验证DFT的时域循环移位定理% xn0-信号,m-...

2019-10-16 23:09:20 5416 1

原创 绘制固定二元对称信道(BSC)平均互信息曲线图

将多条曲线绘制在同一坐标轴上,目前本人知道两种方法一、利用“hold on”将图形保持,多次绘制,代码如下:p=[(0+eps) 0.25 0.5 0.75 1];w=(0+eps):0.001:1;Line=['r','b','k','y','g'];for i=1:length(p) H1=-(w.*(1-p(i))+(1-w).*p(i)).*log((w.*(...

2019-10-10 12:45:28 4772 1

原创 编程计算循环卷积

function [ y ] = cyclic_conv( xn0,hn0,N )%cyclic_conv 循环卷积运算%计算xn与yn的N点循环卷积%xn0-序列,hn0-序列,N-循环卷积点数xn1=[xn0,zeros(1,N-length(xn0))]; %补零hn=[hn0,zeros(1,N-length(hn0))]';xn2=fliplr(xn1); ...

2019-10-10 12:44:43 1892

原创 绘制两个正弦信号叠加后的频谱

%绘制两个正弦信号相加的得到的信号的频谱f1=200; %信号频率(Hz)f2=300;fs=2000; %采样频率,奈奎斯特采样定理fs>=2(f1+f2)T=1/fs; %采样周期w1=2*pi*f1; %角频率(rad)w2=2*pi*f2; t...

2019-09-24 21:48:55 14888 4

原创 编程解决下列问题:1,编写熵函数。2,输出熵函数随概率变化的曲线图。

1.编写一个熵函数,并对输入参数进行检验,使之满足概率空间并处理函数计算log0时的Nan问题。编写的函数代码如下:function H= entropy(p)%entropy 信息熵函数%输入信源的概率空间,输出信息熵if p>=0 if sum(p)==1 p(find(p==0))=1; %解决log0的Nan问题 H=sum(...

2019-09-17 14:50:55 1706

原创 MATLAB信号处理——分解信号,双谱重构

编程分析幅度谱和相位谱在图像信号、语音信号中的作用。一、图像信号(1)原图像信号如下:代码如下:PA0=imread('大头儿子.jpg');PB0=imread('狗.jpg');PC0=imread('苹果.jpg');%灰度处理PA=rgb2gray(PA0);PB=rgb2gray(PB0);PC=rgb2gray(PC0);%调整...

2019-06-15 16:39:54 6988

原创 MATLAB创建特殊矩阵

ones(m,n)——创建m*n全1矩阵;ones(m)——创建m*m全1矩阵;ones(size(A))——创建和矩阵A相同维度的全1矩阵; zeros(m,n)——创建m*n全0矩阵;zeros(m)——创建m*m全0矩阵;zeros(size(A))——创建和矩阵A相同维度的全0矩阵; eye(m,n)——创建m*n单位矩阵;eye(m)——创建n*n单位矩阵;eye(eye(A))——...

2019-03-15 15:49:28 3816

原创 MATLAB计算阶乘、排列数与组合数

在1500件产品中有400件次品,1100件正品,任取200件求恰有90件次品的概率; 求至少有两件次品的概率。这是一道古典概型的概率问题,题目比较简单,很容易求得概率,其中但是,计算量较大,于是笔者希望通过MALTAB编程计算出数值。经查阅得知通过阶乘、排列数的对应命令如下:——factional(n)或prod(1:n)——nchoosek(n,k)笔者天真的以...

2019-03-08 18:30:16 26348 5

原创 MATLAB的函数句柄

在MATLAB中,函数调用分为直接调用与间接调用一、直接调用       被调用的函数通常被称为子函数,子函数只能与M文件同名的主函数或被M文件中的其他函数调用,同时在一个文件中只能有一个主函数。二、间接调用        1、函数句柄提供了一种间接调用的方法,避免了直接调用函数的缺陷。对MATLAB库函数中提供的各种M文件中的函数和用户自己编写的程序中的内部函数都可以通过创建函数...

2019-02-11 18:17:38 6664 1

转载 演示对称振子立体方向图动画

m=moviein(20);for i=1:20; sita=meshgrid(eps:pi/180:pi); fai=meshgrid(eps:2*pi/180:2*pi)'; l=i*0.1; r=abs(cos(2.*pi.*l.*cos(sita))-cos(2*pi*l))./(sin(sita)+eps); rmax=max(max(r));...

2019-01-18 20:22:21 3318 2

原创 随机密码生成

利用英文字母大小写与阿拉伯数字随机生成8位字符的密码#随机密码生成import randomStrs = []# 添加英文字符for i in (65,97): for j in range(26): Strs += chr(i+j)# 添加数字字符for i in range(10): Strs += str(i)#随机输出密码for i i...

2018-12-16 21:16:27 598

原创 MATLAB多窗口绘制椭圆、圆形、正余弦曲线、三维曲面

 第一个子图:给出7个a的值,编程画出一组椭圆,分别使用不同的颜色,添加标题“椭圆”。 第二个子图:同时用plot函数绘制以红线、(2,3)为圆心、半径为2的圆,用函数ezplot绘制以(1,2)为圆心,半径为1.5的圆。标题为“圆”,图例为“plot”、“ezplot”,各自的圆心用句号“。”在对应位置标出。 第三个子图:以0.05p为步长绘制正弦曲线sin(2pt)和余弦曲线cos(p...

2018-12-08 01:12:16 5442

原创 随机四则运算

此段代码通过设置srand(time(NULL))生成随机数,进而随机生成数进行随机四则运算。共有十道题,每题十分,通过循环语句计算得分与正确率。#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;#include&lt;time.h&gt;main(){ int i,j,a,magic3,magic1,magic2,answer; fl...

2018-12-01 00:13:39 1251

原创 学生管理系统

1)使用列表类型存储学生信息,列表元素是三元组(stuName,stuSex,stuTel);2)自定义函数getStu()insertStu(),deleteStu(),editStu(),displayStu(),quit()分别实现系统的获取学生信息、添加、删除、修改、显示及退出系统功能;3)自定义函数Menu()显示菜单,定义main()函数用于调用替他函数完成系统的功能,使用全局...

2018-11-17 00:20:06 3153 1

原创 Matlab九九乘法表(多种方法)

一、下三角 %九九乘法表for m=1:1:9 for n=1:1:m fprintf('%dx%d=%2d',m,n,m*n); if(n~=m) fprintf('\t') %当n不等于m时,水平移动制表位 end end fprintf('\n');end...

2018-10-27 13:04:44 19181 1

Link Prediction相似性计算方法示例.rar

根据吕琳媛、周涛《链路预测》中的相似性指标计算示例,参考附录提供的代码分别用python和matlab实现CN、Jaccard、RA指标的计算。并用书中提供了简单的五点的无权无向网络进行测试,结果与作者的计算吻合。 内含文件如下: (1)书中相似性指标计算示例原文 (2)网络的邻接表.txt文件 (3)matlab代码 (4)python代码 (5)python生成的网络图

2020-02-15

电话按键识别(内含按键录音).rar

1、读取录音,2、端点检测,3、分割信号,4、识别号码,5、重复3-4,直到识别完毕,6、输出信号。内有所需函数和代码。

2019-12-21

低通滤波器的设计.rar

(1)录制一段语音信号;(2)给语音信号加高频噪声;(3)设计低通滤波器;(4)用设计的低通滤波器除去高频噪声。 结果表明,加入频率f=20000Hz的噪声后播放带噪信号,可听到有一段尖锐的声音掺杂在信号当中,经低通滤波器滤波后,尖锐的声音几乎完全消失,滤波后的信号与原信号几乎完全相同。

2019-11-29

BSC信道仿真(输入二值图像)

通过改变BSC信道的参数(错误转移概率)来改变信道的类型,以输出的图像与原图像的不同来验证BSC信道的特性。

2019-10-30

BSC信道MATLAB实现

通过MATLAB编程实现固定二元对称信道(BSC),并与MATLAB内部的函数bsc进行对比,验证结果符合BSC信道特点。

2019-10-30

绘制固定二元对称信道(BSC)平均互信息曲线图.rar

采用两种方法绘制固定二元对称信道(BCS)平均互信息曲线图,将多条曲线绘制在同一坐标轴上,

2019-10-09

MATLAB——信号分解,改变频谱,双谱重构.rar

此文件夹中的代码,利用MATLAB读取信号,经傅里叶变换后分解,改变信号频谱后重组,可用来分析相位谱和幅度谱对信号的影响。

2019-06-16

24小时制数字时钟设计.rar

压缩包内包含三个文件,皆是经过quartus软件仿真验证无误的。其中clock_60为可启动/暂停、复位、进位的60进制计数器,clock_24为为可启动/暂停、复位、进位的24进制计数器,clock_day将前两个源码封装后的模块进行连接,即可得到24小时制的时、分、秒时钟,该时钟具有进位、复位、启动/暂停的功能。

2019-05-18

Python语言程序设计基础(第2版)全答案(嵩天 礼欣 黄天羽著)

此为python语言程序设计(第二版)答案,供初学python语言的学习者学习参考使用。

2018-12-28

MATLAB九九乘法表

该文档用MATLAB4种代码运行出了九九乘法表(循环语句以及嵌套)

2018-10-27

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

TA关注的人

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