音频进阶学习十六——LTI系统的差分方程与频域分析一(频率响应)

news2025/2/28 8:55:50

文章目录

  • 前言
  • 一、差分方程的有理式
    • 1.差分方程的有理分式
    • 2.因果系统和ROC
    • 3.稳定性与ROC
  • 二、频率响应
    • 1.定义
    • 2.幅频响应
    • 3.相频响应
    • 4.群延迟
  • 总结


前言

本篇文章会先复习Z变换的有理分式,这是之前文章中提过的内容,这里会将差分方程和有理分式进行结合来看。主要是通过有理分式进行对于冲激响应的表达,以及根据导函数对于频率响应的介绍。

本文会对Z变换的频率响应中的幅频响应、相频响应以及群延迟的表达式进行推导。

|版本声明:山河君,未经博主允许,禁止转载


一、差分方程的有理式

1.差分方程的有理分式

在音频进阶学习十三——Z变换二(有理z变换、稳定性与反变换)中,其实已经对于差分方程进行有里分式的转换,对于差分方程:
y [ n ] = ∑ k = 1 N a k y [ n − k ] + ∑ i = 0 M b i x [ n − i ] y[n]= \sum_{k=1}^Na_ky[n-k] +\sum_{i = 0}^M b_ix[n-i] y[n]=k=1Naky[nk]+i=0Mbix[ni]
通过展开,然后对于Z变换的线性和时移性得到:
Y ( z ) − ( a 1 z − 1 Y ( z ) + . . . + a N z − N Y ( z ) ) = b 0 X ( z ) + b 1 z − 1 X ( z ) + . . . + b M z − M X ( z ) Y(z)-(a_1z^{-1}Y(z)+...+a_Nz^{-N}Y(z)) = b_0X(z)+b_1z^{-1}X(z)+...+b_Mz^{-M}X(z) Y(z)(a1z1Y(z)+...+aNzNY(z))=b0X(z)+b1z1X(z)+...+bMzMX(z)
使用有理分式表示为:

H ( z ) = Y ( z ) X ( z ) = b 0 + b 1 z − 1 + . . . + b M z − M 1 − ( a 1 z − 1 + . . . + a N z − N ) = ∑ k = 0 M b k z − k 1 − ∑ k = 1 N b k z − k H(z)=\frac{Y(z)}{X(z)}=\frac{b_0+b_1z^{-1}+...+b_Mz^{-M} }{1-(a_1z^{-1}+...+a_Nz^{-N})} = \frac{\sum_{k=0}^Mb_kz^{-k}}{1 -\sum_{k=1}^Nb_kz^{-k}} H(z)=X(z)Y(z)=1(a1z1+...+aNzN)b0+b1z1+...+bMzM=1k=1Nbkzkk=0Mbkzk

而对于满足松弛条件,也就是在 n < 0 , y [ n ] = 0 n<0,y[n]=0 n<0,y[n]=0时,是一个因果的LTI系统,对于LTI系统根据卷积定理又满足 Y ( z ) = X ( z ) H ( z ) Y(z)=X(z)H(z) Y(z)=X(z)H(z),所以这个导函数为有理分式中, H ( z ) H(z) H(z)是系统的单位冲激响应的Z变换,且 H ( z ) H(z) H(z)需要满足一定收敛

2.因果系统和ROC

对于因果系统,在音频进阶学习三——离散时间信号与系统中说过,是指是在任意时刻 n n n的输出仅仅依赖当前、或者之前时刻的输入,与以后的输入无关。并且在讲解LTI系统时,对于系统因果性判断的依据是 h [ n ] = 0 , n < 0 h[n] = 0, n<0 h[n]=0,n<0,则为因果系统。

在Z变换中,因果系统的必要性是需要满足ROC包含 ∣ z ∣ = + ∞ |z|=+\infty z=+,而充分性如果ROC包含 ∣ z ∣ = + ∞ |z|=+\infty z=+,那么该系统一定为因果系统,证明方法和音频进阶学习十三——Z变换二(有理z变换、稳定性与反变换)中相似

将单位冲激响应的Z变换单独拿出来
X ( z ) = ∑ n = − ∞ − 1 x [ n ] z − n + ∑ n = 0 + ∞ x [ n ] z − n X(z)=\sum_{n=-\infty}^{-1}x[n]z^{-n}+\sum_{n=0}^{+\infty}x[n]z^{-n} X(z)=n=1x[n]zn+n=0+x[n]zn

  • 必要性
    当系统为因果系统时,只需要关注 X ( z ) = ∑ n = 0 + ∞ x [ n ] z − n X(z)=\sum_{n=0}^{+\infty}x[n]z^{-n} X(z)=n=0+x[n]zn,此时满足收敛就要求 ∑ n = 0 + ∞ ∣ x [ n ] ∣ ∣ z ∣ − n < ∞ \sum_{n=0}^{+\infty}|x[n]||z|^{-n} < \infty n=0+x[n]∣∣zn<,即当 ∣ Z ∣ > R |Z|>R Z>R也就是某个圆外部分,所以ROC包含 ∣ z ∣ = + ∞ |z|=+\infty z=+
  • 充分性
    n → − ∞ , − n → + ∞ n\rightarrow -\infty, -n \rightarrow +\infty n,n+,此时对于 ∑ n = − ∞ − 1 x [ n ] z − n \sum_{n=-\infty}^{-1}x[n]z^{-n} n=1x[n]zn部分, x [ n ] x[n] x[n]求和趋于无穷大,那么 z − n z^{-n} zn需要区域无穷小才满足ROC收敛,那么 ∣ z ∣ < 1 |z|<1 z<1和条件 ∣ z ∣ = + ∞ |z|=+\infty z=+不符合,所以当 ∣ z ∣ = + ∞ |z|=+\infty z=+时,不存在左边部分,系统也一定为因果系统。

3.稳定性与ROC

对于LTI系统如果一定稳定,那么 h [ n ] h[n] h[n]一定满足绝对可和,而对于
H ( z ) = ∑ n = − ∞ + ∞ h [ n ] z − n H(z)=\sum_{n=-\infty}^{+\infty}h[n]z^{-n} H(z)=n=+h[n]zn

  • 稳定性的必要条件:当 ∑ n = − ∞ + ∞ ∣ h [ n ] ∣ < ∞ \sum_{n=-\infty}^{+\infty}|h[n]|<\infty n=+h[n]<时,系统稳定的必要条件是ROC一定包含单位圆,当 ∣ z ∣ = 1 |z|=1 z=1时,相当于一定稳定
  • 稳定性的充分条件:当系统为因果系统,那么 H ( z ) H(z) H(z)也一定是绝对可和的,即 ∣ z ∣ = + ∞ |z|=+\infty z=+,因为需要该系统稳定,所以一定要包含单位圆,此时所有的极点应该在单位圆内

二、频率响应

1.定义

在上一篇文章中介绍过对于频率响应是指单位冲激响应在频域上的特征,对于卷积公式使用的是DTFT进行的分析,而对于差分方程,使用的是Z变换的方式对于单位冲激响应在频域上的特征。

而对于LTI系统,上文中给出了传递函数,也就是有理分式表达的单位冲激响应Z变换,根据音频进阶学习十三——Z变换二(有理z变换、稳定性与反变换)中对于有理分式的分析,我们可以把累加变成累积的形式:
H ( z ) = ∑ k = 0 M b k z − k ∑ k = 0 N a k z − k = ∏ m = 1 M ( 1 − c m z − 1 ) ∏ n = 1 N ( 1 − d n z − 1 ) H(z)=\frac{\sum_{k=0}^Mb_kz^{-k}}{\sum_{k=0}^Na_kz^{-k}}=\frac{\prod_{m=1}^M(1-c_mz^{-1})}{\prod_{n=1}^N(1-d_nz^{-1})} H(z)=k=0Nakzkk=0Mbkzk=n=1N(1dnz1)m=1M(1cmz1)

  • c m c_m cm:是频率响应的零点,存在 M M M
  • d n d_n dn:是频率响应的极点,存在 N N N

由于使用连乘形式对于频率响应分析比较方便,下文中使用的是连乘的方式来进行表示,同时以 z = e j ω z=e^{j\omega} z=e为单位圆方便分析。即:

对于Z变换中 H ( z ) = H ( e j ω ) ∣ z = e j ω H(z)=H(e^{j\omega})|_{z=e^{j\omega}} H(z)=H(e)z=e,也就是 z = e j ω z=e^{j\omega} z=e为单位圆时,有:
H ( e j ω ) = ∑ k = 0 M b k e j ω ∑ k = 0 N a k e j ω = b 0 a 0 ∏ m = 1 M ( 1 − c m e j ω ) ∏ n = 1 N ( 1 − d n e j ω ) H(e^{j\omega})=\frac{\sum_{k=0}^Mb_ke^{j\omega}}{\sum_{k=0}^Na_ke^{j\omega}}=\frac{b_0}{a_0}\frac{\prod_{m=1}^M(1-c_me^{j\omega})}{\prod_{n=1}^N(1-d_ne^{j\omega})} H(e)=k=0Nakek=0Mbke=a0b0n=1N(1dne)m=1M(1cme)

2.幅频响应

和DTFT一样,对于幅频响应一样是计算Z变换的模,对于模长的求解应该还记得吧,就是虚部和实部的平方求根,具体可看音频进阶学习九——离散时间傅里叶变换DTFT中对于实部和虚部的介绍,而对于Z变换的模,就是分子和分母的幅频相除
∣ H ( e j ω ) ∣ = b 0 a 0 ∏ m = 1 M ∣ ( 1 − c k e j ω ) ∣ ∏ n = 1 N ∣ ( 1 − d k e j ω ) ∣ |H(e^{j\omega})|=\frac{b_0}{a_0}\frac{\prod_{m=1}^M|(1-c_ke^{j\omega})|}{\prod_{n=1}^N|(1-d_ke^{j\omega})|} H(e)=a0b0n=1N(1dke)m=1M(1cke)
为了方便分析,对于Z变换中幅频响应一般是看模平方,也就是:
∣ H ( e j ω ) ∣ 2 = H ( e j ω ) × H ∗ ( e j ω ) |H(e^{j\omega})|^2=H(e^{j\omega})\times H^*(e^{j\omega}) H(e)2=H(e)×H(e)
代入进去,分子和分母也用共轭表示为:
∣ H ( e j ω ) ∣ 2 = ( b 0 a 0 ) 2 ∏ m = 1 M ( 1 − c k e j ω ) ( 1 − c k ∗ e j ω ) ∏ n = 1 N ( 1 − d k e j ω ) ( 1 − d k ∗ e j ω ) |H(e^{j\omega})|^2=\Big(\frac{b_0}{a_0}\Big)^2\frac{\prod_{m=1}^M(1-c_ke^{j\omega})(1-c_k^*e^{j\omega})}{\prod_{n=1}^N(1-d_ke^{j\omega})(1-d_k^*e^{j\omega})} H(e)2=(a0b0)2n=1N(1dke)(1dke)m=1M(1cke)(1cke)
如果使用对数,表示为:
20 log ⁡ 10 ∣ H ( e j ω ) ∣ = 20 log ⁡ 10 ( b 0 a 0 ) + ∑ k = 1 M 20 log ⁡ 10 ( 1 − c k e j ω ) − ∑ k = 1 N 20 log ⁡ 10 ( 1 − d k e j ω ) 20\log_{10}|H(e^{j\omega})|=20\log_{10}\Big(\frac{b_0}{a_0}\Big)+\sum_{k=1}^M20\log_{10}(1-c_ke^{j\omega})-\sum_{k=1}^N20\log_{10}(1-d_ke^{j\omega}) 20log10H(e)=20log10(a0b0)+k=1M20log10(1cke)k=1N20log10(1dke)

  • c k c_k ck:是频率响应的零点,存在 M M M
  • d k d_k dk:是频率响应的极点,存在 N N N

3.相频响应

对于上文中的 H ( e j ω ) H(e^{j\omega}) H(e)
H ( e j ω ) = ∑ k = 0 M b k e j ω ∑ k = 0 N a k e j ω = B ( e j ω ) A ( e j ω ) H(e^{j\omega})=\frac{\sum_{k=0}^Mb_ke^{j\omega}}{\sum_{k=0}^Na_ke^{j\omega}}=\frac{B(e^{j\omega})}{A(e^{j\omega})} H(e)=k=0Nakek=0Mbke=A(e)B(e)
而对于 H ( e j ω ) H(e^{j\omega}) H(e)的实部和虚部分别为

  • H R e ( e j ω ) = R e ( B ( e j ω ) ) R e ( A ( e j ω ) ) + I m ( B ( e j ω ) ) I m ( A ( e j ω ) ) R e ( A ( e j ω ) ) 2 + I m ( B ( e j ω ) 2 H_{Re}(e^{j\omega}) = \frac{Re(B(e^{j\omega}))Re(A(e^{j\omega}))+Im(B(e^{j\omega}))Im(A(e^{j\omega}))}{Re(A(e^{j\omega}))^2+Im(B(e^{j\omega})^2} HRe(e)=Re(A(e))2+Im(B(e)2Re(B(e))Re(A(e))+Im(B(e))Im(A(e))
  • H I e ( e j ω ) = I m ( B ( e j ω ) ) R e ( A ( e j ω ) ) − R e ( B ( e j ω ) ) I m ( A ( e j ω ) ) R e ( A ( e j ω ) ) 2 + I m ( B ( e j ω ) 2 H_{Ie}(e^{j\omega}) = \frac{Im(B(e^{j\omega}))Re(A(e^{j\omega}))-Re(B(e^{j\omega}))Im(A(e^{j\omega}))}{Re(A(e^{j\omega}))^2+Im(B(e^{j\omega})^2} HIe(e)=Re(A(e))2+Im(B(e)2Im(B(e))Re(A(e))Re(B(e))Im(A(e))

而对于相频响应有:
∠ H ( e j ω ) = tan ⁡ − 1 H I m ( e j ω ) H R e ( e j ω ) = ∠ H I m ( e j ω ) + ∠ H R e ( e j ω ) \angle H(e^{j\omega})=\tan^{-1}\frac{H_{Im}(e^{j\omega})}{H_{Re}(e^{j\omega})}=\angle{H_{Im}(e^{j\omega})}+\angle{H_{Re}(e^{j\omega})} H(e)=tan1HRe(e)HIm(e)=HIm(e)+HRe(e)
但是这里值得注意的是,对于DTFT,如果满足则一定收敛,而我们在分析相位响应时,默认周期是在 [ − π , π ] [-\pi,\pi] [π,π]之间。

而对于Z变换,当 r = 1 r=1 r=1时,Z变换和DTFT一样,但是由于 z z z存在系统稳定性、极点和零点的问题,会在整个复平面上的变换,相位也会随着复平面中 z z z的变化而连续变化。

我们对于相位响应的分析是为了相位的变化率,此时就存在一个相位卷绕的问题:当相位从 π \pi π − π -\pi π时,会出现相位跳跃,下一篇文章会有图片直观看到。此时则需要区分:

  • 主值相位:描述的相位变换在 [ − π , π ] [-\pi,\pi] [π,π]之间,对于DTFT而言,它意味着相位不连续,但这种不连续性在离散时间信号处理中并不会影响信号的分析。
  • 连续相位:相位变换在 θ + 2 k π \theta + 2k\pi θ+2,其中 k k k为整数,为了保证保持相位的平滑变化Z变换需要考虑连续相位

综上对于Z变换它的相位响应使用 A R G ARG ARG表示为主值响应,使用 a r g arg arg表示为连续相位响应

  • 主值相频响应:
    A R G [ H ( e j ω ) ] ∈ [ − π , π ] = tan ⁡ − 1 H I m ( e j ω ) H R e ( e j ω ) ARG[H(e^{j\omega})]\in[-\pi, \pi]=\tan^{-1}\frac{H_{Im}(e^{j\omega})}{H_{Re}(e^{j\omega})} ARG[H(e)][π,π]=tan1HRe(e)HIm(e)
  • 连续相位响应:
    a r g [ H ( e j ω ) ] = A R G [ H ( e j ω ) ] + 2 π r arg[H(e^{j\omega})] = ARG[H(e^{j\omega})]+2\pi r arg[H(e)]=ARG[H(e)]+2πr

根据上文可知,对于相频响应将有理式进行展开,分别将实部和虚部进行归纳转换(复数相位的性质,分子和分母相位之差即为整体相位响应),最终可以表示为

  • 主值相频响应:
    ∠ ∣ H ( e j ω ) ∣ = ∠ [ b 0 a 0 ] + ∠ ∑ k = 1 M [ 1 − c k e j ω ] − ∠ ∑ k = 1 N [ 1 − d k e j ω ] \angle|H(e^{j\omega})|=\angle\Big[\frac{b_0}{a_0}\Big]+\angle\sum_{k=1}^M[1-c_ke^{j\omega}]-\angle\sum_{k=1}^N[1-d_ke^{j\omega}] ∠∣H(e)=[a0b0]+k=1M[1cke]k=1N[1dke]
  • 连续相频响应:
    ∠ ∣ H ( e j ω ) ∣ = A R G [ b 0 a 0 ] + A R G ∑ k = 1 M [ 1 − c k e j ω ] − A R G ∑ k = 1 N [ 1 − d k e j ω ] + 2 π r \angle|H(e^{j\omega})|=ARG\Big[\frac{b_0}{a_0}\Big]+ARG\sum_{k=1}^M[1-c_ke^{j\omega}]-ARG\sum_{k=1}^N[1-d_ke^{j\omega}]+2\pi r ∠∣H(e)=ARG[a0b0]+ARGk=1M[1cke]ARGk=1N[1dke]+2πr

4.群延迟

由上文一样可以知道群延迟(信号不同频率分量通过系统的延迟)就是求相位响应的导数,下式为连续相位响应的群延迟:
g r d [ H ( e j ω ] = − d d w a r g [ H ( e j ω ) ] = > − ∑ k = 1 M d d ω ( arg ⁡ [ 1 − c k e j ω ] ) + ∑ k = 1 N d d ω ( arg ⁡ [ 1 − d k e j ω ] ) grd[H(e^{j\omega}]=-\frac{d}{dw}arg[H(e^{j\omega})]=>-\sum_{k=1}^M\frac{d}{d\omega}(\arg[1-c_ke^{j\omega}])+\sum_{k=1}^N\frac{d}{d\omega}(\arg[1-d_ke^{j\omega}]) grd[H(e]=dwdarg[H(e)]=>k=1Mdωd(arg[1cke])+k=1Ndωd(arg[1dke])
负值的原因是因为相位和频率之间的反向关系。

对于主值相位响应群延迟和连续相位响应群延迟可以使用下图表示:
在这里插入图片描述
可以看到对于不同的 r r r,主值相位响应式跳跃的,而连续相位响应式连续的。


总结

由于受到篇幅的原因,本篇文章只是对Z变换的频率响应中的幅频响应、相频响应以及群延迟进行了推导。但是在本篇文章中,反复提及了Z变换中的零点与极点,那么极点和零点到底有什么作用,会对于系统带来什么影响,这会在下一篇文章中进行介绍。

反正收藏也不会看,不如点个赞吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2307304.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaWeb-ServletContext应用域接口

文章目录 ServletContext接口简介获取一个ServletContext对象ServletContext接口中的相关方法获取应用域配置参数关于应用域参数的配置要求getContextPath获取项目路径getRealPath获取真实路径log系列方法添加相关日志增删查应用域属性 ServletContext接口简介 ServletContext…

SQL命令详解之操作数据表

​​​​​ 操作数据表 操作数据表是数据库管理系统中用于存储、管理和操作数据的核心结构。数据表通常由行和列组成&#xff0c;每一列代表一种数据类型&#xff08;例如&#xff0c;整数、字符、日期等&#xff09;&#xff0c;而每一行代表一条记录&#xff08;即数据项&a…

Javaweb后端数据库多表关系一对多,外键,一对一

多表关系 一对多 多的表里&#xff0c;要有一表里的主键 外键 多的表上&#xff0c;添加外键 一对一 多对多 案例

【洛谷贪心算法题】P2240部分背包问题

【解题思路】 贪心策略选择 对于部分背包问题&#xff0c;关键在于如何选择物品放入背包以达到最大价值。由于物品可以分割&#xff0c;遍历排序后的物品数组&#xff0c;根据物品重量和背包剩余容量的关系&#xff0c;决定是将整个物品放入背包还是分割物品放入背包&#xff…

SpringBoot 2 后端通用开发模板搭建(异常处理,请求响应)

目录 一、环境准备 二、新建项目 三、整合依赖 1、MyBatis Plus 数据库操作 2、Hutool 工具库 3、Knife4j 接口文档 4、其他依赖 四、通用基础代码 1、自定义异常 2、响应包装类 3、全局异常处理器 4、请求包装类 5、全局跨域配置 补充&#xff1a;设置新建类/接…

DeepSeek本地部署与Dify结合创建私有知识库指南

python调用本地deepseek+Dify的API使用--测试WX自动发送信息-CSDN博客 DeepSeek,一家在人工智能领域具有显著技术实力的公司,凭借其千亿参数规模的AI大模型,以及仅需0.5元人民币即可进行百万tokens的API调用成本,已经取得了令人瞩目的成就。不仅如此,DeepSeek的模…

Nginx 报错:413 Request Entity Too Large

做web开发时&#xff0c;对于上传附件的功能&#xff0c;如果nginx没有调整配置&#xff0c;上传大一点的文件就会发生下面这种错误&#xff1a; 要解决上面的问题&#xff0c;只需要调整Nginx配置文件中的 client_max_body_size 参数即可&#xff0c;这个配置参数一般在http配…

Arduino项目实战:使用MQ-2气体传感器与OLED屏幕监测环境气体

概述 在这个项目中,MQ-2气体传感器是一个多功能的气体检测设备,能够感知多种常见气体,如甲烷、丁烷、丙烷、酒精和烟雾等。你可以把它想象成一个超级灵敏的“嗅觉”,能够帮助你实时检测环境中的各种有害气体。与Arduino板连接后,MQ-2传感器把捕捉到的气体浓度数据传送给A…

C#实现本地Deepseek模型及其他模型的对话

前言 1、C#实现本地AI聊天功能 WPFOllamaSharpe实现本地聊天功能,可以选择使用Deepseek 及其他模型。 2、此程序默认你已经安装好了Ollama。 在运行前需要线安装好Ollama,如何安装请自行搜索 Ollama下载地址&#xff1a; https://ollama.org.cn Ollama模型下载地址&#xf…

【ESP32S3接入讯飞在线语音识别】

视频地址: 【ESP32S3接入讯飞在线语音识别】 1. 前言 使用Seeed XIAO ESP32S3 Sense开发板接入讯飞实现在线语音识别。自带麦克风模块用做语音输入,通过串口发送字符“1”来控制数据的采集和上传。 语音识别对比 平台api教程评分百度

【问题记录】Go项目Docker中的consul访问主机8080端口被拒绝

【问题记录】Go项目Docker中的consul访问主机8080端口被拒绝 问题展示解决办法 问题展示 在使用docker中的consul服务的时候&#xff0c;通过命令行注册相应的服务&#xff08;比如cloudwego项目的demo_proto以及user服务&#xff09;失败。 解决办法 经过分析&#xff0c;是…

DeepSeek实现FunctionCalling调用API查询天气

什么是FunctionCalling Function Calling&#xff08;函数调用&#xff09;是大型语言模型&#xff08;如 OpenAI 的 GPT 系列&#xff09;提供的一种能力&#xff0c;允许模型在生成文本的过程中调用外部函数或工具&#xff0c;以完成更复杂的任务。通过 Function Calling&am…

windows设置暂停更新时长

windows设置暂停更新时长 win11与win10修改注册表操作一致 &#xff0c;系统界面不同 1.打开注册表 2.在以下路径 \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings 右键新建 DWORD 32位值&#xff0c;名称为FlightSettingsMaxPauseDays 根据需求填写数…

【Kimi】自动生成PPT-并支持下载和在线编辑--全部免费

【Kimi】免费生成PPT并免费下载 用了好几个大模型&#xff0c;有些能生成PPT内容&#xff1b; 有些能生成PPT&#xff0c;但下载需要付费&#xff1b; 目前只有Kimi生成的PPT&#xff0c;能选择模板、能在线编辑、能下载&#xff0c;关键全部免费&#xff01; 一、用kimi生成PP…

一款在手机上制作电子表格

今天给大家分享一款在手机上制作电子表格的&#xff0c;免费好用的Exce1表格软件&#xff0c;让工作变得更加简单。 1 软件介绍 Exce1是一款手机制作表格的办公软件&#xff0c;您可以使用手机exce1在线制作表格、工资表、编辑xlsx和xls表格文件等&#xff0c;还可以学习使用…

【实战 ES】实战 Elasticsearch:快速上手与深度实践-1.3.1单节点安装(Docker与手动部署)

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 文章大纲 10分钟快速部署Elasticsearch单节点环境1. 系统环境要求1.1 硬件配置推荐1.2 软件依赖 2. Docker部署方案2.1 部署流程2.2 参数说明2.3 性能优化建议 3. 手动部署方案3.1 安…

【Mac电脑本地部署Deepseek-r1:详细教程与Openwebui配置指南】

文章目录 前言电脑配置&#xff1a;安装的Deepseek版本&#xff1a;使用的UI框架&#xff1a;体验效果展示&#xff1a;本地部署体验总结 部署过程Ollama部署拉取模型运行模型Openwebui部署运行Ollama服务在Openwebui中配置ollama的服务 后话 前言 deepseek最近火的一塌糊涂&a…

网络安全学习中,web渗透的测试流程是怎样的?

渗透测试是什么&#xff1f;网络安全学习中&#xff0c;web渗透的测试流程是怎样的&#xff1f; 渗透测试就是利用我们所掌握的渗透知识&#xff0c;对网站进行一步一步的渗透&#xff0c;发现其中存在的漏洞和隐藏的风险&#xff0c;然后撰写一篇测试报告&#xff0c;提供给我…

将VsCode变得顺手好用(1

目录 设置中文 配置调试功能 提效和增强相关插件 主题和图标相关插件 创建js文件 设置中文 打开【拓展】 输入【Chinese】 下载完成后重启Vs即可变为中文 配置调试功能 在随便一个位置新建一个文件夹&#xff0c;用于放置调试文件以及你未来写的代码&#xff0c;随便命名但…

第6_7章_管理权限评估和测试策略

管理权限 权限将受保护的对象与必须评估以决定是否应授予访问权限的策略相关联。 在创建要保护的资源以及要用于保护这些资源的策略后&#xff0c; 您可以开始管理权限。要管理权限&#xff0c;请在编辑资源服务器时单击 Permissions 选项卡。 可以创建权限来保护两种主要类…