首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏硬件工程师

    区分高速与低速信号!!

    高速信号通过PCB走线进行传输的时候会发生一些问题,造成反射、振荡、地弹、串扰等一系列信号完整性问题。 信号是否为高速信号,取决于两个因素:信号频率和信号传输路径长度(信号线长度)。 (10%-90%)≈5 其中,Tr(10%-90%)为由信号的10%到90%所需时间。 4)若L< 1/6U,为低速信号,若L > 1/6 U,为高速信号 综上所述:对于数字电路,关键是看信号的边沿陡峭程度,即信号的上升、下降时间,信号从10%上升到90%的时间小于6倍导线延时,就是高速信号 特别的是,在计算有效频率时,如果不方便测量信号的上升时间,对于周期频率低于 1GHz信号,可认为信号有效频率为周期频率5倍,例如,周期频率为100MHz的信号, 可估计其有效信号频率= 500MHz; 而对于周期频率高于1GHz信号,基本不用计算,绝大部分都属于高速信号了。

    3.4K21编辑于 2022-08-29
  • 来自专栏算法工程师的学习日志

    5.信号处理(1) --常用信号平滑去噪的方法

    以窗口长度为5为例,smoothdata()函数调用方法为: y = smoothdata( x , 'movmean' , 5 ); 但是这个smoothdata函数实际上是调用了movmean()函数 movmean()函数的调用方法为: y = movmean( x , 5 ); 下面以一个加噪声的正弦信号为例: %移动平均滤波 Nber_window = 3;%窗口长度(最好为奇数) t = 0: 主要是因为,movmean()函数在处理边缘时,采用减小窗口的方式,而conv()相当于在两端补零。所以如何处理边缘也是值得注意的。 所以对应的移动平均滤波可以表示为: y = filter( [1/3,1/3,1/3] , [1] , x ); 它和下面代码的是等价的(在边缘上的处理方式有所不同) y = movmean( x , 2)3点平均对于1/3频率的信号滤波效果最好,5点平均对1/5和2/5频率的信号滤波效果最好。所以根据这个特性,一方面我们要好好利用,一方面也要避免其影响。

    8.5K11编辑于 2022-07-27
  • 来自专栏硬件大熊

    面试题:高速电路是什么,什么信号高速

    数百兆赫兹(MHz)甚至吉赫兹(GHz)的高速信号对于设计者而言,需要考虑在低频电路设计中所不需要考虑的信号完整性(Signal Integrity)问题。 然而,高速电路是什么,什么信号才属于高速信号? 这是笔者曾在一次面试中被问到过的一个问题,当时脑袋中迅速闪过图像数据处理、音频处理等设计,但是如何定义所谓的“高速”却一下子想不出来如何定义这个基本概念。 高速电路:数字逻辑电路的频率达到或超过50MHz,而且工作在这个频率之上的电路占整个系统的1/3以上,就可以称其为高速电路 高速信号:如果线传播延时大于数字信号驱动端上升时间的1/2,则可以认为此类信号高速信号信号属于高速信号时,应该使用高速信号布线方法进行PCB设计。

    1.4K10编辑于 2022-06-23
  • 来自专栏全栈程序员必看

    信号处理之父_信息与信号处理

    发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/166376.html原文链接:https://javaforall.cn

    68910编辑于 2022-09-20
  • 来自专栏上善若水

    L007Linux信号信号处理信号处理函数

    (5) SIGTRAP:该信号由断点指令或其他trap指令产生。默认动作为终止进程并产生core文件。 (6) SIGABRT:调用abort函数时产生该信号。默认动作为终止进程并产生core文件。 本信号不能被忽略、处理和阻塞。默认作为暂停进程。 (19) SIGTSTP:停止进程的动作,但该信号可以被处理和忽略。按下组合键时发出该信号。默认动作为暂停进程。 1、 捕捉信号:对于要捕捉的信号,可以为其指定信号处理函数,信号发生时该函数自动被调用,在该函数内部实现对该信号处理。 ,第二个参数指定针对前面信号值的处理,可以忽略该信号(参数设为SIG_IGN);可以采用系统默认方式处理信号(参数设为SIG_DFL);也可以自己实现处理方式(参数指定一个函数地址)。 第二个参数是指向结构sigaction的一个实例的指针,在结构sigaction的实例中,指定了对特定信号处理,可以为空,进程会以缺省方式对信号处理;第三个参数oldact指向的对象用来保存原来对相应信号处理

    4.6K30发布于 2018-09-28
  • 来自专栏学习之路

    【Linux】:进程信号信号保存 & 信号处理

    虽然它的处理动作是忽略,但在没有解除阻塞之前不能忽略这个信号,因为进程仍有机会改变处理动作之后再解除阻塞 SIGQUIT信号未产生过,一旦产生SIGQUIT信号将被阻塞,它的处理动作是用户自定义函数sighandler ,索引信号处理方法!) 信号产生后,如果未被处理且没有被阻塞,则处于未决状态,等待被处理。 \n"); sleep(5); // 解除阻塞 SIGINT 信号 if (sigprocmask(SIG_SETMASK, &oldset, NULL) == -1) { \n"); sleep(5); return 0; } 2.3 sigpending 2.4 使用样例 (检查pending信号集,获取当前进程pending位图) #include

    2.4K10编辑于 2024-11-19
  • 来自专栏用户10155340的专栏

    Linux进程信号信号处理

    ---- 前言 从信号产生到信号保存,中间经历了很多,当操作系统准备对信号进行处理时,还需要判断时机是否 “合适”,在绝大多数情况下,只有在 “合适” 的时机才能处理信号,即调用信号的执行动作。 关于信号何时处理、该如何处理,本文中将会一一揭晓 捕捉动作并进行处理 ---- ️正文 1、信号处理时机 直奔主题,谈谈信号处理时机 1.1、处理情况 普通情况 所谓的普通情况就是指 普通情况 就有点难搞了,它需要等待 “合适” 的时机,才能被 递达,继而被 处理 1.2、“合适” 的时机 信号的产生是 异步 的 也就是说,信号可能随时产生,当信号产生时,进程可能在处理更重要的事,此时贸然处理信号显然不够明智 sigaddset(&act.sa_mask, 3); sigaddset(&act.sa_mask, 4); sigaddset(&act.sa_mask, 5); 号信号的循环结束(10 秒),3、4、5 信号的 阻塞 状态解除,立即被 递达,进程就被干掉了 注意: 屏蔽信号集 sa_mask 中已屏蔽的信号,在 用户自定义动作 执行完成后,会自动解除 阻塞 状态

    1.2K10编辑于 2023-07-01
  • 来自专栏c/c++&&linux

    【Linux】信号信号产生&&信号处理&&信号保存&&信号详解

    也就是你能“识别快递” 当快递员到了你楼下,你也收到快递到来的通知,但是你正在打游戏,需5min之后才能去取快递。那么在在这5min之内,你并没有下去去取快递,但是你是知道有快递到来了。 : 忽略此信号 执行该信号的默认处理动作 提供一个信号处理函数,要求内核在处理信号时切换到用户态执行这个处理函数,这种方式称为捕捉(Catch)一个信号 2.产生信号 2.1 通过终端按键产生信号 信号没有阻塞 4.捕捉信号 4.1 内核如何实现信号的捕捉 如果信号处理动作是用户自定义函数,在信号递达时就调用这个函数,这称为捕捉信号 由于信号处理函数的代码是在用户空间的,处理过程比较复杂,举例如下 显然,这也是一个回调函数,不是被main函数调用,而是被系统所调用 当某个信号处理函数被调用时,内核自动将当前信号加入进程的信号屏蔽字,当信号处理函数返回时自动恢复原来的信号屏蔽字,这样就保证了在处理某个信号时 SIGCHLD, SIG_IGN); // 手动设置对SIGCHLD进行忽略即可 pid_t id = fork(); if (id == 0) { int cnt = 5;

    1.3K10编辑于 2024-06-04
  • 来自专栏学习之路

    【Linux】:进程信号信号概念 & 信号处理 & 信号产生)

    温馨提示:信号信号量 二者之间没有任何关系 1, 信号概念 信号是 Linux 系统提供的一种向指定进程发送特定事件的方式,进程会对信号进行识别和处理。 中找到 其中:1-30号信号为普通信号,31-64号信号为实时信号 具体的信号采取的动作和详细信息可查看:man 7 signal 分析: Action列即为信号的默认处理方式 Core、Term即为进程终止 信号可以随时产生 如果进程做着别的事,可以暂不处理信号,等到合适的时候再处理 2, 信号处理 ❓ ( sigaction 函数后面博客来详细介绍),现在先说可选的以下三种处理动作 默认处理(通常为终止 返回值:返回值为一个函数指针,指向之前的信号处理器;如果之前没有信号处理器,则返回 SIG_ERR 2.1 执行该信号的默认处理动作 如果signal函数的 func 参数为 SIG_DFL,则系统将使用默认的信号处理动作 ,后面将会更新关于信号保存和处理的知识,敬请期待吧

    1.3K10编辑于 2024-11-19
  • 来自专栏韩曙亮的移动开发专栏

    【数字信号处理】数字信号处理简介 ( 数字信号处理技术 | 傅里叶变换 )

    文章目录 一、数字信号处理技术 二、傅里叶变换 ( 时域转频域 ) 一、数字信号处理技术 ---- 数字信号处理 ( DSP , Digital Signal Processing ) 是 信息学科 和 计算机学科 结合产生的一门新的学科 , 核心是 使用 数值计算的方法 , 完成对信号处理 ; DSP 有两种理解 : Digital Signal Processor : 数字信号处理器 ; DSP , Digital Signal Processing : 数字信号处理技术 ; 数字信号处理完整过程 : 模拟信号 经过 A/D 转换 为 数字信号 , 数字信号经过 数字信号处理 转换成新的 数字信号处理 ; DSP 实现 : 数字信号处理一般使用硬件实现 , 通用 CPU: 一般的电脑 , 服务器 上运行的 DSP 算法 ; CPU 的性能越来越高 ( 这个是主要趋势 ) ; DSP 芯片 : 之外的频率上 , 能量都是 0 , 如果一个信号在时间上是可分的 , 没有噪声 , 如 在 0 ~ 100 秒内发出 5KHz 信号 , 在 100 ~ 200 秒内发出 2KHz

    2.1K20编辑于 2023-03-29
  • 来自专栏Android点滴分享

    信号处理(三)

    本篇介绍 本篇接续信号处理的介绍。 图像中的信号处理 信号处理在采样图像中使用的最为广泛。 计算公式如下: image.png 锐化后的效果如下: image.png d就是离散脉冲信号。 图像的投影本质上就是模糊滤波器和平移滤波器的综合。 公式如下: image.png image.png 效果如下: image.png 图像抗锯齿 在对图像采样过程中,也就是针对2D连续信号进行采样,如果不加任何处理,结果就会出现摩尔纹或锯齿,效果如下 ,左边是摩尔纹,右边是锯齿: image.png 摩尔纹的现象就是出现重复的样式,原因就是采样频率和原始信号频率接近时,就会出现周期性的重叠。 重采样伪代码如下: image.png 这儿有一个问题需要考虑下,遇到边界时怎么处理

    74510编辑于 2022-10-25
  • 来自专栏Linux内核那些事

    Linux信号处理

    事实上,进程也不知道信号到底什么时候到达。一般来说,我们只需要在进程中设置信号相应的处理函数,当有信号到达的时候,由系统异步触发相应的处理函数即可。 信号实现原理 接下来我们分析一下Linux对信号处理机制的实现原理。 return 0; } 上面的代码表示,如果指定为默认的处理方法,那么就使用系统的默认处理方法去处理信号,比如 SIGSEGV 信号的默认处理方法就是使用 do_coredump() 函数来生成一个 core ,所以信号处理程序的代码是在用户态的。 设置信号处理程序 最后我们来分析一下怎么设置一个信号处理程序。

    6.5K40发布于 2020-08-25
  • 来自专栏Android点滴分享

    信号处理(一)

    本篇介绍 图像处理离不开采样与重建,本篇就介绍下采样与重建背后的数学逻辑。 一维采样 采样就是将模拟信号用数字信号表示,参考音频的处理流程如下: image.png 这儿可以看到有滤波器的出现,滤波器是为了消除走样,后面会专门介绍。 从公式上看是没问题的,不过从信号处理角度看,翻转一下更接近实际情况。 当时间是n时,输入的信号是a[n],此时系统整体的影响是n时刻及以前信号影响的累加,也就是a[0]刻的信号对于n时刻的系统也有影响,影响多大呢?就是b[n]a[0], 为啥是b[n]而不是b[0]呢? 因为,而n时刻的信号对n时刻系统的影响就是a[n]b[0], 相应的a[n-1]b[1]等等,这样就形成了现在的卷积公式。

    1.2K20编辑于 2022-10-25
  • 来自专栏Android点滴分享

    信号处理(二)

    本篇介绍 本篇继续信号处理的介绍。 卷积滤波器 首先先总结下几种卷积滤波器。 盒子滤波器 盒子滤波器的值要不是常数,要不就是零,积分为1。 image.png Mitchell-Netravali 3次滤波 其实就是对B样条滤波和 Catmull-Rom 滤波做一个加权和: image.png image.png 滤波器的性质 插值滤波器利用离散信号重建连续信号的本质就是构造一条曲线将离散的点连接起来

    84020编辑于 2022-10-25
  • 来自专栏Android点滴分享

    信号处理(四)

    本篇介绍 本篇介绍下采样背后的理论,也是信号处理的最后一部分。 这时候会有2个地方出现走样,一个是采样的时候,会出现信号重叠,一个是重建的时候,又会在原始信号上加上一些走样信号。 比如用盒子滤波器重建,实际上就是原始信号的傅里叶和盒子信号傅立叶的乘积,由于盒子滤波器也有其他信号的频谱,因此也会将其他信号的频率加上。 重采样时候的滤波就是为了保护原始信号周期内的信号,弱化原始信号整数倍频率的信号,从盒子信号频域的波形就可以看出它有这样的能力,帐篷滤波器,B样条都可以起到同样的作用,效果如下: image.png 现在再从频域整体看下原始信号,重采样,重建信号的关系: image.png 实际上,高斯滤波器用的最多,效果最好。

    86210编辑于 2022-10-25
  • 来自专栏学习之路

    【Linux进程#4】:进程信号信号概念 & 信号处理 & 信号产生)

    1, 信号概念 信号是 Linux 系统提供的一种向指定进程发送特定事件的方式,进程会对信号进行识别和处理信号可以随时产生 如果进程做着别的事,可以暂不处理信号,等到合适的时候再处理 2, 信号处理 ❓ ( sigaction 函数后面博客来详细介绍),现在先说可选的以下三种处理动作 默认处理(通常为终止 信号处理方式,可以是以下三种之一: SIG_DFL :使用默认处理方式(如 SIGINT 默认终止程序) SIG_IGN :忽略信号(但某些信号如 SIGKILL 无法忽略) 自定义函数指针 :指向用户定义的信号处理函数 ,函数原型为 void handler(int) 返回值:返回值为一个函数指针,指向之前的信号处理器;如果之前没有信号处理器,则返回 SIG_ERR 替代方案:sigaction sigaction 提供更可靠和灵活的信号处理接口 sigaction *oldact); 2.1 执行该信号的默认处理动作 如果signal函数的 func 参数为 SIG_DFL,则系统将使用默认的信号处理动作。

    56610编辑于 2025-06-02
  • 来自专栏全栈程序员必看

    sigaction信号处理

    sa_mask 指定的信号集搁置 sa_flags:设置信号处理相关操作 SA_SIGINFO:如果设置,那么采用sa_sigaction;默认采用sa_handler SA_RESETHAND:当调用信号处理函数时 ,将信号处理函数重置为缺省值SIG_DFL SA_RESTART:如果信号中断了进程的某个系统调用,则系统自动启动该系统调用 SA_NODEFER :一般情况下, 当信号处理函数运行时,内核将阻塞该给定信号 但是如果设置了 SA_NODEFER标记, 那么在该信号处理函数运行时,内核将不会阻塞该信号 sa_restorer:此参数没有使用 3. siginfo_t siginfo_t { int 所以也可同这种方式获得sigqueue发送过来的数据 5. sigqueue int sigqueue(pid_t pid, int sig, const union sigval value); union ,sigaction主动发送一次信号;子进程退出,系统还会调用sig_handler信号处理,此时携带参数为0 参考:http://blog.csdn.net/wangpengqi/article/details

    74710编辑于 2022-09-01
  • 来自专栏我的博客

    【Linux系统】进程信号信号处理

    上一篇文章在介绍完信号的产生和保存后,我们现在对信号有了一个基本的认识,信号由键盘、系统调用、硬件异常、软件条件等方式产生,然后被保存在三张表中,再将信号递达,操作系统有三种处理方式:默认处理、忽略处理 5. 执行信号处理函数 进程返回用户态,但不再是继续执行 main 函数,而是开始执行 sighandler。 2. sa_mask - 执行处理函数期间阻塞的信号 指定在信号处理函数执行期间,额外需要阻塞的信号集合 即使没有明确指定,当前正在处理信号也会被自动阻塞 这可以防止信号处理函数被同一信号重入 调用对应的系统调用处理函数 call [sys_call_table + eax * 4] ; 5.  __NR_open → 替换为数字(如 5) 内核与用户空间协作: 角色职责实现方式内核定义系统调用号/include/uapi/asm/unistd.h 中定义 __NR_open=5glibc

    29710编辑于 2025-12-22
  • 来自专栏C++/Linux

    【Linux】信号保存与信号捕捉处理

    因为进程收到信号之后,可能不会立即处理这个信号,可能正在处理更重要的事情,所以信号不会被处理,就要有一个时间窗口,所以信号就要被保存。 typedef void (*sighandler_t)(int); sighandler_t signal(int signum, sighandler_t handler); (5) 二、信号捕捉处理 1. 信号处理 我们在上面说过,信号保存是为了让进程在合适的时候处理,那么信号是什么时候被处理的呢? (3)struct sigaction 中的 sa_mask 字段 当某个信号处理函数被调用时,内核自动将当前信号加入进程的信号屏蔽字,当信号处理函数返回时自动恢复原来的信号屏蔽字,这样就保证了在处理某个信号时 其实,子进程在终止时会给父进程发 SIGCHLD 信号,也就是 17 号信号,该信号的默认处理动作是忽略,父进程可以自定义 SIGCHLD 信号处理函数,这样父进程只需专心处理自己的工作,不必关心子进程了

    53811编辑于 2024-03-01
  • 来自专栏全栈程序员必看

    雷达系统及信号处理_毫米波雷达信号处理

    雷达的工作原理是: 发射机向目标发射电磁波,经目标反射之后,由接收机接收,经过信号处理可获得目标至发射机的距离、(径向)速度、方位、高度等信息。 二、脉冲体制雷达 2.1 系统构成及作用 一种简单的脉冲单基雷达大致由波形发生器、发射机、天线、接收机、信号处理器、数据处理器组成。 ; 接收机对回波信号进行了放大、解调,将调制信号调制到较低的中频和最终的基带上,基带信号上是没有调制任何载波的,基带信号会被送入信号处理器; 信号处理器完成信号处理功能,比如脉冲压缩、匹配滤波、多普勒滤波 、积累和运动补偿等; 信号处理器的输出被送入最终的数据处理器和显示器。 实际应用中,信号处理通常会将 I 通道的信号当成实部,Q 通道的信号当成虚部,形成一个复信号,即: x ( t ) = I ( t ) + j Q ( t ) = e j θ ( t ) x(t)=

    1.4K30编辑于 2022-09-27
领券