首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏未竟东方白

    【笔记】《计算机图形学》(9)——信号处理

    例如下图里面,我们先让模拟音频进入低通滤波器中筛去高频信息防止采样的时候发生走样,然后通过模拟数字转换器ADC对音频进行采样,得到一串离散的数字音频信号保存起来,当需要还原为用于播放的模拟信号时,将数字信号输入数字模拟转换器 在这里由于采样频率与原始信号的频率不匹配所产生的错误就被称为走样,无论是一维信号还是二维三维等。 很多时候我们说到卷积就会觉得这是一个作用在二维信号上的方法,但很显然卷积也可以对一维信号使用 卷积的核心就是一个接受多个输入,将输入组合起来然后得到一个输出的运算,类似函数的运算。 写为连续函数如下,由于信号处理经常在离散情况下处理信号,因此这个比较少用: ? 现实中我们遇到的信号不会那么纯净,但是这个公式可以帮助我们计算需要保留细节时所需的最低采样频率。采样频率的改变对频谱的影响从下图可以看到: ? 另一种方法是对信号进行低通滤波,将高频信号消去。

    3.4K10发布于 2020-09-15
  • 来自专栏抠抠空间

    信号(Django信号、Flask信号、Scrapy信号

    这个时候,就体现出信号的作用了。 一般可以监听这个信号,来记录网站异常信息。 7. appcontext_tearing_down:app上下文被销毁的信号9. appcontext_popped:app上下文被推出栈中的信号 10. message_flashed:调用了Flask的`flashed`方法的信号。 Scrapy信号 Scrapy使用信号来通知事情发生。您可以在您的Scrapy项目中捕捉一些信号(使用 extension)来完成额外的工作或添加额外的功能,扩展Scrapy。 : engine_started scrapy.signals.engine_started() 当scrapy引擎启动爬取时发送该信号信号支持返回deferreds 当信号可能会在信号spider_opened

    2K40发布于 2018-07-04
  • 来自专栏c/c++&&linux

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

    : 忽略此信号 执行该信号的默认处理动作 提供一个信号处理函数,要求内核在处理该信号时切换到用户态执行这个处理函数,这种方式称为捕捉(Catch)一个信号 2.产生信号 2.1 通过终端按键产生信号 3.阻塞信号 3.1 信号其他相关常见概念 实际执行信号的处理动作称为信号递达(Delivery) 信号从产生到递达之间的状态,称为信号未决(Pending) 进程可以选择阻塞 (Block )某个信号 信号产生时,内核在进程控制块中设置该信号的未决标志,直到信号递达才清除该标志。 ,使其中所有信号的对应bit清零,表示该信号集不包含任何有效信号 函数sigfillset初始化set所指向的信号集,使其中所有信号的对应bit置位,表示该信号集的有效信号包括系统支持的所有信号 注意, 信号没有阻塞 4.捕捉信号 4.1 内核如何实现信号的捕捉 如果信号的处理动作是用户自定义函数,在信号递达时就调用这个函数,这称为捕捉信号 由于信号处理函数的代码是在用户空间的,处理过程比较复杂,举例如下

    1.7K10编辑于 2024-06-04
  • 来自专栏单片机爱好者

    搞懂PCB信号完整性,有这9个步就够了!

    信号完整性(Signal Inte grity,SI)是指信号信号线上的质量,即信号在电路中以正确的时序和电压作出响应的能力。 如果电路中信号能够以要求的时序、持续时间和电压幅度到达接收器,则可确定该电路具有较好的信号完整性。反之,当信号不能正常响应时,就出现了信号完整性问题。 ●PCB信号完整性的问题● PCB的信号完整性问题主要包括信号反射、串扰、信号延迟和时序错误。 1、反射 信号在传输线上传输时,当高速PCB上传输线的特征阻抗与信号的源端阻抗 或负载阻抗不匹配时,信号会发生反射,使信号波形出现过冲、下冲和由此导致的振铃现象。 9、模型的选择 关于模型选择的文章很多,进行静态时序验证的工程师们可能已经注意到,尽管从器件数据表可以获得所有的数据,要建立一个模型仍然很困难。

    6.4K20发布于 2020-07-30
  • 来自专栏学习之路

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

    温馨提示:信号信号量 二者之间没有任何关系 1, 信号概念 信号是 Linux 系统提供的一种向指定进程发送特定事件的方式,进程会对信号进行识别和处理。 中找到 其中:1-30号信号为普通信号,31-64号信号为实时信号 具体的信号采取的动作和详细信息可查看:man 7 signal 分析: Action列即为信号的默认处理方式 Core、Term即为进程终止 收到什么信号,就把对应比特位上的数字变为1 发送信号:修改指定进程 pcb 中的信号的指定位图的比特位 3, 信号产生 键盘可以产生信号。 ::signal(2, hander); while(true){ raise(2); cnt--; if(cnt<=0) raise(9) SIGABRT 可以被自定义捕捉处理,但是捕捉后仍然会立即退出进程,比较特殊 9信号 SIGKILL 无法被捕捉,否则如果所有的信号都被捕捉,那么进程将无法退出 3.4 由软件条件产生信号

    1.6K10编辑于 2024-11-19
  • 来自专栏学习之路

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

    信号其他相关的基本概念 实际执行信号的处理动作称为 信号递达(Delivery) 信号从产生到递达之间的状态,称为 信号未决(Pending) 进程可以选择 阻塞 (Block) 某个信号。 这个位图由32个比特位组成,分别代表32个不同的信号,如果对应的比特位为1,表示该信号已经产生但尚未处理) 信号阻塞:如果目标进程阻塞了某些信号,那么这些信号会保持在未决状态,直到进程解除对这些信号的阻塞 Linux的实现:常规信号在递达之前产生多次只计一次,而实时信号在递达之前产生多次可以依次放在一个队列里 信号阻塞和未决的区别 信号阻塞(Blocking):是一个开关动作,指的是阻止信号被处理,但不是阻止信号产生 ,使其中所有信号的对应 bit 清零,表示该信号集不包含任何有效信号 函数 sigfillset 初始化 set 所指向的信号集,使其中所有信号的对应 bit 置位,表示 该信号集的有效信号包括系统支持的所有信号 它可以取以下几个值之一: SIG_BLOCK:将信号集 set 中的信号添加到当前信号屏蔽字中,阻止这些信号的传 SIG_UNBLOCK: 从当前信号屏蔽字中删除信号集 set 中的信号,允许这些信号的传递

    3.2K10编辑于 2024-11-19
  • 来自专栏学习之路

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

    信号的产生是异步的 即一个进程不知道自己何时会收到信号,在收到信号之前进程只能一直在处理自己的任务 使用 kill -l 指令查看信号() 每个信号都有⼀个编号和⼀个宏定义名称,这些宏定义可以在 signal.h 中找到 其中:1-30号信号为普通信号,31-64号信号为实时信号 具体的信号采取的动作和详细信息可查看:man 7 signal 分析: Action列即为信号的默认处理方式 Core、Term即为进程终止 收到什么信号,就把对应比特位上的数字变为1 发送信号:修改指定进程 pcb 中的信号的指定位图的比特位 3, 信号产生 键盘可以产生信号。 ::signal(2, hander); while(true){ raise(2); cnt--; if(cnt<=0) raise(9) SIGABRT 可以被自定义捕捉处理,但是捕捉后仍然会立即退出进程,比较特殊 9信号 SIGKILL 无法被捕捉,否则如果所有的信号都被捕捉,那么进程将无法退出 3.4 由软件条件产生信号

    62310编辑于 2025-06-02
  • 来自专栏生命科学

    TLR9 炎症信号与 DNA 损伤 造就 的记忆回路!| MedChemExpress (MCE)

    信号分子的激活。 这些早期事件之后,一些神经元开始表现出炎症表型,涉及到 TLR9信号通道的激活,同时也出现了 DNA 损伤修复复合物的积累。 在免疫应答基因中,TLR9 及其下游 NF-κB 信号通路最为突出,并观察到 TLR9 基因和蛋白水平的上调,以及 TLR9 与晚期内体 (Endosomes) 和溶酶体标志物 LAMP2 的共定位增加 火山图显示与炎症和 TLR 信号传导相关的基因表达显着增加。B. TLR9 蛋白水平以及 TLR9 与 LAMP2 在 CFC 后不同时间的共定位。 虽然随后核病灶的数量减少,但在单个神经元内出现了更大的 γH2AX 标记病灶 (图 3A-B),且核周 γH2AX 信号与 TLR9 信号存在共定位 (图 3C)。

    39610编辑于 2024-05-23
  • 来自专栏学习

    【Linux】进程信号——信号保存和信号捕捉

    信号保存 信号相关的概念 信号递达:指 操作系统 将一个信号(Signal)从内核传递到目标进程 的过程。它是 信号处理机制 中的关键步骤。 信号未决:信号从产生到递达之间的状态 信号阻塞 进程或线程可以暂时屏蔽某些信号,使它们在阻塞期间不会递达和处理。一旦解除阻塞,信号会被递达并处理。 被阻塞的信号将保持未决状态,直到进程解除对此信号的阻塞,才能执行递达的动作。 注意:阻塞信号和忽略信号不同,阻塞信号表示信号没有递达,但是忽略信号表示信号已经抵达了,但是我们的处理方式是忽略处理。 它通常用于 阻塞信号、解除信号阻塞 和 检查信号 等操作。 第二个参数是新的信号集,是我们修改后的信号集,而第三个参数是旧的信号集,是修改之前的信号集,方便我们修改之后方便恢复。 信号的增删查改 上面五个函数是增删查改,第一个函数是将一个信号集置为零,第二个函数是将信号集全部设置为1,第三个函数是添加新的信号信号集当中,第四个函数表示在信号集中删除指定信号,第五个函数是在指定信号集中查找指定信号

    2.4K10编辑于 2025-03-05
  • 来自专栏学习之路

    【Linux】:进程信号(再谈信号保存和信号捕捉)

    信号到达时,会调用该函数来处理信号信号处理函数的原型为 void handler(int signum),其中 signum 是信号的编号。 ③ sa_mask: 这个字段用于指定一个信号集,表示在信号处理程序执行期间应该被阻塞的信号。即,在信号处理期间,可以通过 sa_mask 阻止其他信号的处理。 它包含信号处理的详细信息,如信号处理程序、信号屏蔽集等 oldact: 指向一个 struct sigaction 结构体的指针,用于存储之前信号的处理方式。 当某个信号的处理函数被调用时,内核自动将当前信号加入进程的信号屏蔽字,当信号处理函数返回时自动恢复原来的信号屏蔽字,这样就保证了在处理某个信号时,如果这种信号再次产生,那么 它会被阻塞到当前处理结束为止 如果在调用信号处理函数时,除了当前信号被自动屏蔽之外,还希望自动屏蔽另外一些信号,则用sa_mask字段说明这些需要额外屏蔽的信号,当信号处理函数返回时自动恢复原来的信号屏蔽字。

    1.2K10编辑于 2024-11-26
  • 来自专栏机器和智能

    【Linux信号】一:信号的概念、信号的产生

    一、什么是信号 1. 信号的概念 信号在生活中随处可见,比如体育比赛中使用的信号枪、我给你传递一个眼神(你懂的哈哈哈),等等。 阻塞信号集:也叫信号屏蔽字,将某些信号加入集合,对他们设置屏蔽,当屏蔽某个信号后,再收到该信号,该信号的处理将推后(解除屏蔽后)。 未决信号集: 信号产生,未决信号集中描述该信号的位立刻翻转为1,表信号处于未决状态;当信号被处理对应位翻转回为0,这一时刻往往非常短暂。 而阻塞信号集会影响到未决信号集,比如说我在阻塞信号集中将2号信号为置为1,也就是将2号信号屏蔽,那么未决信号集中2号信号对应的位就会变为1(未决状态),一直阻塞在这种状态。 其中1-31号信号称之为常规信号(也叫普通信号或标准信号),34-64称之为实时信号,驱动编程与硬件相关,这些信号名字类似。

    1.4K10编辑于 2024-08-08
  • 来自专栏机器和智能

    【Linux信号】四:SIGCHLD信号

    SIGCHLD产生的条件 实际上,在子进程结束的时候,会产生一个SIGCHLD信号信号描述如下,根据man手册可以知道,子进程结束运行,其父进程会收到SIGCHLD信号,该信号的默认处理动作是忽略。 信号停止时; 子进程处在停止态,接受到SIGCONT后唤醒时; 既然子进程在退出或暂停的时候会发送SIGCHLD信号,那么我们就可以利用该信号,捕捉该信号,并在捕捉函数中完成子进程状态的回收,这样就不用使用 ,但子进程没有继承未决信号集spending; 应该在fork之前,阻塞SIGCHLD信号,注册完捕捉函数后解除阻塞。 ; 信号的处理方式必须是捕捉 (默认动作、忽略都不可以); 中断后返回-1, 设置errno为EINTR,表示被信号中断; 可以通过修改sa_flags参数来设置被信号中断后系统调用是否重启:SA_INTERRURT sa_flags还有很多可选参数,适用于不同情况,比如:捕捉到信号后,在执行捕捉函数期间,不希望自动阻塞该信号,可将sa_flags设置为SA_NODEFER,除非sa_mask中包含该信号,等等。

    1.5K10编辑于 2024-08-08
  • 来自专栏机器和智能

    【Linux信号】二:未决信号集、阻塞信号集、信号集操作函数

    阻塞信号集:也叫信号屏蔽字,将某些信号加入集合,对他们设置屏蔽,当屏蔽某个信号后,再收到该信号,该信号的处理将推后(解除屏蔽后)。 未决信号集: 信号产生,未决信号集中描述该信号的位立刻翻转为1,表信号处于未决状态;当信号被处理对应位翻转回为0,这一时刻往往非常短暂。 而阻塞信号集会影响到未决信号集,比如说我在阻塞信号集中将2号信号为置为1,也就是将2号信号屏蔽,那么未决信号集中2号信号对应的位就会变为1(未决状态),一直阻塞在这种状态。 ,未决信号集中对应的2、3位将置1,并阻塞信号*/ sigaddset(&mvector, SIGKILL); /*9信号不能被阻塞,设了也没用*/ sigprocmask(SIG_BLOCK 此时按键ctrl+c或者ctrl+\产生信号后,不会再终止进程,只会将未决信号集对应位置1,因为信号已经被屏蔽了。但是,9信号不能被阻塞,我们可以通过 kill -9 杀死该进程。

    49510编辑于 2024-08-08
  • 来自专栏用户10155340的专栏

    Linux进程信号信号产生】

    ,部分信号只做了解即可 1.2、信号的作用 早在 《Linux进程学习【进程状态】》 我们就已经使用过 信号 了,比如: kill -9 pid 终止进程运行 kill -19 pid 暂停进程运行 kill ,同时产生一个 core 文件 8 SIGFPE 此信号表示一个算术运算异常,比如除0、浮点溢出等,该信号的默认处理动作是终止进程,同时产生一个 core 文件 9 SIGKILL 该信号不能被捕捉或忽略 ,该信号的默认处理动作是终止进程,同时会产生一个 core 文件 注意: 其中的 9 号 和 19 号信号是非常特殊的,不能修改其默认动作 1.3、信号的基本认知 进程信号信号编号 + 执行动作 ,如果在程序运行时加上 & 表示让其后台运行,此时会发现无法终止进程 像这种后台进程 ctrl + c 是无法终止的,可以通过 kill -9 PID 发出 9 信号终止它 2.1.1、signal ,但 9信号没有,因为 9信号是 SIGKILL,专门用于杀死进程,只要是进程,他都能干掉 19 号信号 SIGSTOP 也无法修改执行动作,所以前面说过,9 号 SIGKILL 和 19 号

    2.2K10编辑于 2023-07-01
  • 来自专栏用户10155340的专栏

    Linux进程信号信号处理】

    ---- 前言 从信号产生到信号保存,中间经历了很多,当操作系统准备对信号进行处理时,还需要判断时机是否 “合适”,在绝大多数情况下,只有在 “合适” 的时机才能处理信号,即调用信号的执行动作。 信号没有被阻塞,直接产生,记录未决信息后,再进行处理 在这种情况下,信号是不会被立即递达的,也就无法立即处理,需要等待合适的时机 特殊情况 当信号被 阻塞 后,信号 产生 时,记录未决信息,此时信号被阻塞了 当在 内核态 完成某种任务后,需要切回 用户态,此时就可以对信号进行 检测 并 处理 了 情况1:信号被阻塞,信号产生/未产生 信号都被阻塞了,也就不需要处理信号,此时不用管,直接切回 用户态 处理 过程 图片来源:Linux进程信号 ---- 3、信号的捕捉 接下来谈谈 信号 是如何被 捕捉 的 3.1、内核如何实现信号的捕捉? 表,信号在产生之后,存储在 pending 表中 信号处理阶段:信号在 内核态 切换回 用户态 时,才会被处理 ---- 总结 以上就是本次关于 Linux进程信号信号处理】的全部内容了,本文对信号的处理时机做了探讨

    1.5K10编辑于 2023-07-01
  • 来自专栏用户10155340的专栏

    Linux进程信号信号保存】

    ---- 前言 信号从产生到执行,并不会被立即处理,这就意味着需要一种 “方式” 记录信号是否产生,对于 31 个普通信号来说,一个 int 整型就足以表示所有普通信号的产生信息了;信号还有可能被 “阻塞 的相关概念 1.1、概念 信号 传递过程:信号产生 -> 信号未决 -> 信号递达 信号产生(Produce):由四种不同的方式发出信号 信号未决(Pending):信号从 产生 到 执行 的中间状态 信号递达(Delivery):进程收到信号后,对信号的处理动作 在这三种过程之前,均有可能出现 信号阻塞 的情况 信号阻塞(Block):使信号传递 “停滞”,无论是否产生,都无法进行处理 信号递达后的三种处理方式 ,本文探讨的是 信号保存阶段,即 物流信息 1.3、在内核中的表示 对于传递中的信号来说,需要存在三种状态表达: 信号是否阻塞 信号是否未决 信号递达时的执行动作 在内核中,每个进程都需要维护这三张与信号状态有关的表 模拟实现了 阻塞信号 - 产生信号 - 未决信号 - 解除阻塞 - 递达信号 的全过程,最终证明 信号在产生之后是保存在 未决表 中的 ----

    1.6K20编辑于 2023-07-01
  • 来自专栏AIoT技术交流、分享

    Python Qt GUI设计:多线程中信号与槽的使用(基础篇—9

    QThread有started和finished信号,可以为这两个信号指定槽函数,在线程启动和结束之时执行一段代码进行资源的初始化和释放操作,更灵活的使用方法是:在自定义的QThread实例中自定义信号 ,并将信号连接到指定的槽函数,当满足一定的业务条件时发射此信号。 : 信号 描述 started 在开始执行run函数之前,从相关线程发射此信号 finished 当程序完成业务逻辑时,从相关线程发射此信号 QThread的简单使用如以下代码所示: class Thread 使用 BackendThread 线程类在后台处理数据,每秒发射一次自定义信号update_date。 这样后台线程每发射一次信号,就可以把最新的时间值实时显示在前台窗口的QLineEdit文本对话框中。

    2.9K30发布于 2021-10-13
  • 来自专栏JavaEdge

    高可用架构设计(9)-基于Hystrix信号量资源隔离与限流

    0 Github 1 线程池隔离 VS 信号量隔离 Hystrix里面,核心的一项功能,就是资源隔离,要解决的最核心的问题,就是将多个依赖服务的调用分别隔离到各自自己的资源池内 避免对某一个依赖服务的调用 信号量,semaphore 信号量跟线程池,两种资源隔离的技术,区别到底在哪儿呢? ,timeout这种问题 2.2 信号量 适合访问不是对外部依赖的访问,而是对内部的一些比较复杂的业务逻辑的访问,但像这种访问,系统内部的代码,其实不涉及任何的网络请求,那么只要做信号量的普通限流就可 [5088755_1563099780970_20190714181907300.png] 3 实践本地内存获取地理位置数据的逻辑 业务背景里面, 比较适合信号量的是什么场景呢? 优点在于,不用自己管理线程池,不用担心超时,信号量做隔离的话,性能会相对来说高一些 4 采用信号量技术对地理位置获取逻辑进行资源隔离与限流 super(Setter.withGroupKey(HystrixCommandGroupKey.Factory.asKey

    1.8K10发布于 2019-07-14
  • 来自专栏Base_CDNKevin

    信号

    进程在收到信号后,会在合适的时候处理信号,而处理信号的动作有三种: 默认处理动作 自定义信号处理动作 忽略处理 大部分信号的默认处理动作是中断进程。 如此就可以把捕捉的信号处理方式改变,但是也有无法捕捉的信号,如9信号,用来防止恶意进程占用前台。 信号的保存 概念补充 信号处理机制 信号递达(Delivery):实际实行信号的处理动作称为信号递达。(自定义、默认、忽略) 信号未决(Pending):信号从产生到递达之间的状态称为信号未决。 当信号被阻塞时,即使该信号产生,也不会立即递达进程,而是保持在未决状态。直到进程解除对该信号的阻塞,信号才会继续执行递达的动作。 信号忽略(Ignore):忽略是在信号递达之后可选的一种处理动作。 bitmap[0] 存储着信号 0 到 31 的状态(第 0 到 31 位),bitmap[1] 存储着信号 32 到 63 的状态(第 32 到 63 位),以此类推,直到 bitmap[9] 存储着信号

    62010编辑于 2025-05-30
  • 来自专栏CSDN搜“看,未来”

    信号

    7.1 信号的概念 什么是信号信号是UNIX系统响应某些状况而产生的事件,进程在接收到信号时会采取相应的行动。 信号的特点: 简单,不能携带大量信息,满足特定条件才会发生。 信号也叫软中断,有可能会有延迟。 信号的实现机制: 信号实际上是由内核发送,内核来处理收到的信号。收到信号的进程,必须对信号做出处理(忽略,捕获,默认动作都行) 信号的产生: ? 信号状态: 产生 递达:信号被捕捉并处理 未决:信号被阻塞 信号四要素: 编号、事件、名称、默认处理动作 7.2 进程处理信号行为 1、默认动作 2、忽略 3、捕捉 (后面两种处理行为就需要涉及到信号集了 //Linux所支持的所有信号可以全部或部分的出现在信号集中,主要与信号阻塞相关函数配合使用。 好,看完上面这些处理函数,其实这几个函数真的就是对信号集进行操作而已,而不会对具体信号有什么动作。 别急 7.4 阻塞信号集 阻塞信号集也叫做当前进程的信号屏蔽字。

    1.5K20发布于 2020-08-26
领券