matlab移位运算符_matlab中将矩阵中某值替换为新值

matlab移位运算符_matlab中将矩阵中某值替换为新值信号与系统基础知识总结(code篇)0 写在前面信号与系统为雷达信号处理的基础课程,在很多工程设计分析中都有其身影。为了后面信号处理开展,本节总结信号与系统的相关内容,侧重工程应用,只做简单的理论介绍,重点在于实战。信号和系统的研究涉及两件事:信息以及

信号与系统基础知识总结(code篇)   0 写在前面   信号与系统为雷达信号处理的基础课程,在很多工程设计分析中都有其身影。为了后面信号处理开展,本节总结信号与系统的相关内容,侧重工程应用,只做简单的理论介绍,重点在于实战。   信号和系统的研究涉及两件事:信息以及信息如何影响事物。 信号的严格定义是传递信息的随时间变化的事件,系统的严格定义是接收信号并生成某种响应的模块的集合。The study of signals and systems concerns two things: information and how that information affects things. A strict definition of a signal is a time-varying occurrence that conveys information, and a strict definition of system is a collection of modules which take in signals and generate some sort of response.   1 信号   信号根据其基本特征和属性进行分类。 信号被定义为根据一个或多个自变量(例如时间或空间)而变化的任何自然量。 时间通常是自变量,但也可以考虑其他变量,例如频率。 信号的例子有声音、图像、电流或电压、传输的消息等等。 从数学的角度来看,信号由一个或多个自变量的函数来描述。 根据自变量的数量,信号被表征为一维(1-D)、二维(2-D)或多维信号。   1.1 按变量类型分类   根据自变量和因变量的类型,信号可分为三个主要类别。   连续时间信号:自变量(时间)在连续间隔中定义。   离散时间信号:自变量(时间)定义在离散区间(例如整数集合)中,因变量定义在连续值集合中。   数字信号:自变量和因变量均取离散组值的信号。   仿真结果如下图所示:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   1.2 基本连续时间信号   正弦信号定义如下:
 x(t) = A \cos(\Omega t + \theta)\tag{1.1} 其中
\Omega为角频率,
A
\theta分别为幅度和相位。   指数信号定义如下:
 x(t)=Ae^{bt}\tag{1.2} 复指数信号定义为:
 Ae^{j\Omega t+\theta}=A(\cos(\Omega t+\theta)+j\sin(\Omega t+\theta))\tag{1.3} 仿真结果如下图所示:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   单位阶跃函数定义如下:
 u(t)=\left\{\begin{array}{ll}1,&t\geq0\\0,&t<0\end{array}\right.\tag{1.4} 可以分别采用heaviside函数、分段函数和01组合生成,以及信号时延后结果如下图所示。
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   单位脉冲或 Delta 函数:严格来说,不是一个函数,而是通过其属性定义的。 主要属性是
 \int_{-\infty}^\infty f(t)\delta(t)=f(0),\int_{-\infty}^\infty\delta(t)=1\tag{1.5} 4种产生Delta 函数方法如下图所示:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   斜坡函数定义如下:
 r(t)=t\cdot u(t)=\begin{cases}t,&t\geq0\\0,&t<0&\end{cases}\tag{1.6} 其函数与时延仿真分别如下:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   矩形脉冲函数定义如下:
 pT(t)=u\left(t+\frac T2\right)-u\left(t-\frac T2\right)=\begin{cases}1,&-T/2\leq t\leq T/2\\0,&\mathrm{elsewhere}&\end{cases}\tag{1.7} 仿真结果如下图所示:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   1.3 离散时间信号   为对连续时间信号的采样得到,这里掠之~   1.4 信号性质   周期信号:连续时间信号 x(t) 是周期性的,如果存在正数 T 使得
 x(t)=x(t+T),\quad\forall t\in\mathbb{R}\tag{1.8} 仿真结果如下:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   因果信号:如果信号 x(t)(或 x[n])对于所有负时间值均为零,即 x(t) = 0、t < 0(或 x[n] = 0、n < 0 )。 非因果(Non-causal)信号是在正时间和负时间都具有非零值的信号。 最后,所有正时间都为零的信号称为反因果(anti-causal)信号。   偶奇信号:如果 x( t)=x(-t),则信号 x(t) 是偶信号(或具有偶对称性或 t 的偶函数);如果 x(-t)=-x(t),则信号是奇信号(或具有奇对称性或 t 的奇函数)。任意信号都可以分解为奇偶信号之和。   仿真结果如下图所示:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   能量信号:信号满足下式,
 0<E_x=\lim_{T\to\infty}\int_{-T}^T|x(t)|^2dt=\int_{-\infty}^\infty|x(t)|^2dt<\infty \tag{1.9} 功率信号:信号满足下式,
 0<P_x=\lim_{T\to\infty}\frac1{2T}\intop_{-T}^T|x(t)|^2dt<\infty \tag{1.10} 确定信号:如果信号的值不涉及随机性,即每个值都是固定的并且可以通过数学表达式确定,则信号是确定性的。   随机信号:随机信号具有随机性,其值无法预测。   随机信号如下图所示:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   1.5 连续时间信号的变换   时间反转:如果 y(t) = x(-t),则信号 y(t) 是 x(t) 关于垂直轴的反转或反射。   时间缩放:如果 x1(t) =x(at), a > 1,则信号 x1(t) 是 x(t) 的压缩版本。时间压缩实际上意味着信号的持续时间减少了因子 a。另一方面,如果 x2(t) = x(at), 0 < a < 1,则信号 x2(t) 是 x(t) 的扩展。在这种情况下,信号的持续时间增加系数 1/a。   时间移位:如果 y(t) =x(t -t0),则信号 y(t) 是 x(t) 的时移,其中 t0 是时移。如果 t0 > 0,则信号 y(t) = x(t -t0) 向右移动 t0 个单位; 如果 t0 < 0,则信号 y(t)=(t-t0) 向左移动 t0 个单位。   仿真结果如下图所示:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   1.6 离散时间信号的变换   与连续时间定义一致,仿真结果如下:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   2 系统   本小节给出了系统分类的主要类别并描述了系统的基本属性。 系统是一个具有非常广泛含义的概念,用于日常生活的各种表达中。 从电气工程的角度来看,系统是操纵一个或多个信号来执行操作并将操作结果作为一个或多个信号返回的实体。从信号和系统的角度来看,系统被视为黑匣子,这意味着可以根据其输入、输出和属性对其进行检查,而无需了解其内部工作原理。 考虑黑盒方法,我们对输入和输出信号感兴趣,而不是系统的内部实现(例如放大器电路)。   2.1 系统分类   按输入输出数量分类:这是比较简单的类别。   单输入单输出(SISO )系统:接受单个输入信号并返回单个输出。   多输入单输出 (MISO) 系统:接受多个输入但返回单个输出。   单输入多输出 (SIMO) 系统:接受单个输入并返回多个输出。   多输入多输出 (MIMO) 系统:接受多个输入并返回多个输出。   其仿真如下图所示:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   连续时间和离散时间信号:系统的第二类与输入和输出信号的“性质”有关。 更具体地,连续时间系统是连续时间输入信号产生连续时间输出信号的系统。 另一方面,离散时间系统是其中对离散时间输入信号的系统响应是离散时间输出信号的系统。 此外,还存在混合系统,其中连续时间输入信号被转换为离散时间输出信号,反之亦然。 模数 (A=D) 转换器是混合系统的一个示例。   确定和随机系统:系统的第三种分类介于随机系统和确定性系统之间。 如果输入和输出信号不涉及随机性,则系统是确定性的。 不确定性系统称为随机系统。 随机系统(与确定性系统不同)并不总是针对给定的输入产生相同的输出。   2.2 系统性质   因果与非因果系统:如果系统在时间 t = t0 时的输出 y(t0) 不依赖于 t > t0 时的输入 x(t) 的值,则系统是因果系统。 换句话说,对于任何输入信号 x(t),相应的输出 y(t) 仅取决于 x(t) 的当前值和过去值。所有自然系统都是因果的。 然而,在工程中存在许多非因果系统。 例如,离线数据处理是一个非因果系统。   时变与时变系统:如果输入信号的时移导致输出信号的时移相同,则系统是时不变的。 换句话说,如果 y(t) 是时不变系统对输入信号 x(t) 的响应,则系统对输入信号 x(t-t0) 的响应是 y(t-t0)。 数学表达式为
 y(t-t_0)=S\{x(t-t_0)\} ,y[n-n_0]=S\{x[n-n_0]\} \tag{2.1} 对应的仿真结果如下图所示:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   静态(无记忆)和动态(有记忆)系统: 如果对于任何输入信号 x(t) 或 x[n],相应的输出 y(t) 或 y[n] 仅取决于同时输入信号的值,则系统是静态的或无记忆的。 非静态系统称为动态系统或动力系统。   线性与非线性系统:设 y(t) 表示系统 S 对输入信号 x(t) 的响应,即 y(t) = S{x(t)}。 如果对于任何输入信号 x1(t) 和 x2(t) 以及任何标量 a1 和 a2 满足以下关系,则系统 S 是线性的:
 S\{a_1x_1(t)+a_2x_2(t)\}=a_1S\{x_1(t)\}+a_2S\{x_2(t)\}\tag{2.2} 对应的仿真结果如下图所示:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   可逆和不可逆系统: 如果应用于系统的输入信号 x(t) 可以从系统响应 y(t) 导出,则系统是可逆的。 换句话说,如果 I/O 关系 y(t) = S{x(t)} 是一对一的,即不同的输入值对应于不同的输出值,则系统是可逆的。   稳定和不稳定系统: 稳定性是一个非常重要的系统属性。 稳定系统的实际意义是,对于小的应用输入,系统响应也很小(不发散)。 更正式的定义是,如果系统对任何有界输入信号的响应是有界输出信号,则系统是稳定的或有界输入有界输出 (BIBO) 稳定的。 数学表达如下: 假设存在一个正数
M < \infty,使得
|x(t)|\leq M。如果
\forall t \in \mathbb{R} 存在一个正数
N < \infty,使得
|y(t)|<N,则系统稳定 ,否则系统为不稳定的。   对应的仿真结果如下:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   3 时域系统分析   在本小节中,我们介绍系统脉冲响应的概念,并讨论两个或多个系统之间可能的互连。 此外,卷积过程是信号和系统理论中最重要的概念之一,它是为连续时间和离散时间系统建立的。 此外,我们还介绍了如何通过微分或差分方程来描述系统,最后我们讨论了有限脉冲响应和无限脉冲响应滤波器。   3.1 脉冲响应   术语“响应”表示系统的输出,而术语“脉冲”表示施加到系统的输入信号是单位脉冲或狄拉克δ函数。 因此,当狄拉克δ函数是应用于系统的输入时,因果线性且时不变的连续时间系统的脉冲响应是其输出。 脉冲响应通常用h(t)表示。 从数学上讲,上述定义表示为
 h(t)=S\{\delta(t)\}\tag{3.1}   3.2 连续时间卷积   线性时不变系统的脉冲响应完全指定了系统。 更具体地说,如果系统的脉冲响应已知,则可以计算任何输入信号的系统输出。信号和系统理论中最重要的主题之一如下: 系统对任何输入信号的响应(或输出)是通过输入信号与系统的脉冲响应的卷积来计算的。   假设y(t)表示系统的输出,x(t)是输入信号,h(t)是系统的脉冲响应。 卷积关系的数学表达式为
 y(t)=x(t)*h(t)\tag{3.2} 其中符号*表示卷积。 两个信号之间的卷积计算涉及积分的计算。 (3.2)的完整形式为
 y(t)=x(t)*h(t)=\int_{-\infty}^\infty x(\tau)h(t-\tau)d\tau\tag{3.3} 通过交替变量 t 和
\tau, 上式变为
 y(t)=x(t)*h(t)=\int_{-\infty}^\infty x(t-\tau)h(\tau)d\tau\tag{3.4} 以上两式是等价的,表示卷积积分。   卷积计算:为了计算两个信号之间的卷积,必须遵循特定的计算过程。 卷积的计算过程如下图所示。
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   3.2 卷积与反卷积函数   在 MATLAB 中,命令 conv 允许直接计算两个信号之间的卷积。假设系统 h(t) 的脉冲响应和系统 y(t) 的输出可用,并且我们想要计算应用于系统的输入信号 x(t) 以生成输出 y( t)。 这个过程称为反卷积,在 MATLAB 中通过使用命令 deconv 来实现。 语法为 x = deconv(y,h),其中 x 是输入向量,h 是脉冲响应向量,y 是系统响应向量。 如果输入和输出信号已知,则反卷积过程对于确定系统的脉冲响应也很有用。 在这种情况下,命令是 h = deconv(y,x)。   3.3 卷积性质   交换律(Commutative property):对于两个信号 h1(t) 和 h2(t),交换律成立,如下:
 h_1(t)*h_2(t)=h_2(t)*h_1(t)\tag{3.5} 结合律(Associative property):对于三个信号 h1(t)、h2(t) 和 x(t),结合律成立, 如下:
 h_2(t)*[h_1(t)*x(t)]=[h_2(t)*h_1(t)]*x(t)\tag{3.6} 分配律(Distributive property):对于三个信号 h1(t)、h2(t) 和 x(t),分配律成立,如下:
 [h_1(t)+h_2(t)]*x(t)=h_1(t)*x(t)+h_2(t)*x(t)\tag{3.7}   等同性(Identity property): 如果
\delta(t)是狄拉克 delta 函数,则对于任何信号 h(t),以下表达式为真:
 h(t)*\delta(t)=h(t)\tag{3.8} 这个性质可以从狄拉克函数的定义中直接证明。   3.4 系统互联   系统可以是其他(子)系统的互连。 基本互连是级联、并行、混合和反馈。 这四种类型的框图如下图所示。
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   设输入为和传递函数分别为下式:
h_1(t)=te^{-3t}[u(t)-u(t-3)],  \\ h_2(t)=t\cos(2\pi t)[u(t)-u(t-3)],\\x(t)=u(t)-u(t-3) \tag{ex1} 对应的仿真结果如下图所示:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   3.5 稳定性   如果对于任何有界的应用输入,系统的响应也是有界的,则系统是有界输入有界输出 (BIBO) 稳定的。 了解 LTI 系统的脉冲响应使我们能够指定系统稳定性的新标准。 如果 LTI 系统的脉冲响应在
( -\infty, \infty) 上绝对可积,则该系统是 BIBO 稳定的:   数学表达为
 \int_{-\infty}^\infty|h(t)|dt<\infty\tag{3.9}   3.6 离散时间卷积   LTI 离散时间系统(相当于连续时间情况)完全由其脉冲响应描述,通常用 h[n] 表示。 LTI 离散时间系统的脉冲响应是当单位脉冲序列(或克罗内克德尔塔函数)用作输入时系统的输出。 尽管单位脉冲输入由一个非零项组成,但脉冲响应信号 h[n] 通常由多个非零素组成。 解释是系统是动态的(有记忆); 也就是说,系统在不同的时间实例上响应 t=0 处应用的输入。 了解系统的脉冲响应 h[n] 可以计算系统对任何输入信号 x[n] 的响应 y[n]。 输出信号由离散时间卷积计算。 离散时间卷积的数学表达式为
 y[n]=x[n]*h[n]=\sum_{k=-\infty}^{+\infty}x[k]h[n-k]=\sum_{k=-\infty}^{+\infty}h[k]x[n-k]\tag{3.10} 表达式(3.10)是(3.3)的离散时间对应项,称为卷积和。 使用 MATLAB 命令 conv 计算两个离散时间信号之间的卷积(根据连续时间卷积隐含的相同规则)。   其计算方法和性质参考连续时间卷积~~   3.7 差分方程描述的系统   在前面的部分中,我们计算了两个有限序列的卷积。 现在假设系统的脉冲响应序列 h[n] 由无限个非零项组成。 在这种情况下,无法使用命令 conv 计算系统的输出。 为了处理这种情况,现在建立了一种描述 LTI 系统的不同方式。 离散时间LTI系统可以完全用差分方程描述。 差分方程是以下形式的方程
 \sum_{k=0}^Na_ky[n-k]=\sum_{k=0}^Mb_kx[n-k]\tag{3.11} 系统的脉冲响应 h[n] 的可能无限个非零项中存在的系统信息由差分方程 ak 和 bk 的有限系数给出。   3.8 滤波器   LTI 系统也称为滤波器,因为输入信号根据表征系统的某些规则进行修改或过滤。 离散时间滤波器由具有以下形式的常数系数的线性差分方程描述:
 y[n]=\sum_{k=0}^Mb[k]x[n-k]-\sum_{k=1}^Na[k]y[n-k]\tag{3.12} 如果施加到信号上的输入信号是单位脉冲序列,即如果
x[n] = \delta[n],则滤波器的脉冲响应h[n]是差分方程的解。 LTI 滤波器根据其脉冲响应序列的长度分为两类。 这两类滤波器是有限脉冲响应 (FIR) 滤波器和无限脉冲响应 (IIR) 滤波器。 FIR 滤波器具有有限持续时间的脉冲响应,并由以下形式的差分方程描述:
 y[n]=\sum_{k=0}^Mb[k]x[n-k]\tag{3.13} FIR 滤波器的脉冲响应由下式给出:
 h[n]=\sum_{k=0}^Mb[k]\delta[n-k]\tag{3.14} IIR 滤波器具有无限持续时间的脉冲响应,并由 (3.11) 中给出的差分方程描述。   使用 MATLAB 命令filter滤波器计算由具有常系数的线性差分方程描述的滤波器(或系统)的响应。   FIR 和IIR 对应差分方程为:   
y[n]=3x[n]-2x[n-1]+4x[n-2]\\ y[n]-1.1y[n-1]+0.9y[n-2]=x[n], x[n]=[1,2,-1],n=0,1,2 \tag{ex2}   仿真结果如下图所示。
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   3.9 离散时间系统的稳定性准则   如果系统的脉冲响应绝对可积,则系统是稳定的。 对于离散时间系统,可以建立类似的标准。 更具体地说,离散时间线性平移不变系统当且仅当其脉冲响应 h[n] 绝对可求和时才是稳定的。 数学表达式为
 \sum_{n=-\infty}^\infty|h[n]|<\infty\tag{3.15}   3.10 微分方程描述的系统   在 3.7 节中,我们看到了如何用差分方程描述离散时间系统。 类似地,连续时间系统可以用微分方程来描述。 更具体地说,输入和输出信号通过具有常系数的线性常微分方程相关; 即系统的输入输出关系的形式为:
 a_n\frac{d^ny(t)}{dt^n}+\cdots+a_1\frac{dy(t)}{dt}+a_0y(t)=b_m\frac{d^mx(t)}{dt^m}+\cdots+b_1\frac{dx(t)}{dt}+b_0x(t)\tag{3.16} 通过求解微分方程可以轻松获得系统对给定输入信号 x(t) 的响应 y(t)。 MATLAB 命令 dsolve 用于求解常微分方程。求解如下差分方程:   
y'(t)+y(t)=exp(-t)u(t) , y(0)=0 \tag{ex3} 求解结果如下图所示:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   3.11 系统的阶跃响应   连续时间系统的阶跃响应 s(t) 定义为系统对单位阶跃函数 u(t) 的响应,相应地,离散时间系统的阶跃响应 s[n] 为 系统到单位步骤序列u[n]。系统响应的差分方程和输入分别为   
y[n]=y[n-1]+0.2x[n]+0.1x[n-1]\\ x[n]=u[n],0\leq n\leq100 \tag{ex} 仿真结果下图所示:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   在连续时间和离散时间情况下,系统的阶跃响应也可以分别通过命令step和dstep计算。   4 傅里叶级数   在本节中,我们介绍一种将连续时间信号分析/分解为正弦信号给出的频率分量的方法。 这个过程在信号处理领域至关重要,因为它揭示了信号的频率内容并简化了系统输出的计算。 该分析基于傅立叶级数的使用。 到目前为止,所有信号都是在时域中表达的。 通过使用傅里叶级数,信号可以在频域中表达,有时信号的频率表示比时域表示揭示更多的信号信息。 可以使用三种不同且等效的方式将信号表示为简单振荡函数的总和,即正弦、余弦或复指数的总和。   4.1 复指数信号的正交性   假设xm(t)和xk(t)是两个周期为T的复值连续时间周期信号。如果它们的内积为零,则这两个信号是正交的。 xm(t) 和 xk(t) 的内积由下式给出:
 I=\intop_{t_0}^{t_0+T}x_m(t)x_k^*(t)dt\tag{4.1} 两个信号满足下式,则为正交的
 I=\intop_0^Te^{jm\Omega_0t}e^{-jk\Omega_0t}dt=\intop_0^Te^{j(m-k)\Omega_0t}dt=\left\{\begin{array}{ll}T,&k=m\\0,&k\neq m\end{array}\right.\tag{4.2}   4.2 复指数傅里叶级数   假设信号 x(t) 定义在时间间隔 [t0, t0 + T] 内。 那么,x(t)以指数傅立叶级数形式表示为
 x(t)=\sum_{k=-\infty}^\infty a_ke^{jk\Omega_0t},\quad t\in[t_0,t_0+T], \tag{4.3} 其中,
\Omega_0=2\pi/T为基础频率,
t_0
T为实数。   公式 4.3 中出现的项
a_k 由下式给出:
 a_k=\frac1T\intop_{t_0}^{t_0+T}x(t)e^{-jk\Omega_0t}dt\tag{4.4} 其中考虑复指数信号的正交性来推导 ak。 复系数ak 称为复指数傅立叶级数系数,而a0 是实数,称为常数或直流分量。 每个系数ak对应于信号x(t)在第k个正交分量
e^{jk\Omega_0 t}上的投影,并且指示信号x(t)在频率
k\Omega_0处的频谱内容,该频率被称为第k次谐波。 傅立叶级数展开仅在区间[t0,t0+T]内有效,T的值定义了基频
\Omega_0。 由于傅里叶级数系数表示频域中的信号,因此我们将它们称为信号的频谱系数。   x(t) 可以通过使用有限数量的复指数傅立叶级数项来令人满意地近似。不同数量的项对原函数近似如下图所示。原函数为
\exp(-t), 0<t<3 \tag{ex}
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   4.3 三角傅里叶级数   在本节中,我们介绍傅里叶级数的第二种形式。 假设信号 x(t) 定义在时间间隔 [t0, t0 + T] 内。 那么x(t),利用三角傅里叶级数,可以在时间间隔[t0,t0+T]中表示为正弦信号,即正弦和余弦信号之和,其中每个信号的频率为
k\Omega_0 rad/s。   数学表达式为:
 x(t)=a_0+\sum_{k=1}^\infty b_k\cos{(k\Omega_0t)}+\sum_{k=1}^\infty c_k\sin{(k\Omega_0t)}\tag{4.5} 系数 a0,b1,b2,… , c1、c2,… 三角傅立叶级数的计算公式为:
 a_0=\frac1T\int_{t_0}^{t_0+T}x(t)\mathrm{~}dt\tag{4.6}   
 b_n=\frac2T\int_{t_0}^{t_0+T}x(t)\cos\left(n\Omega_0t\right)dt,\quad n=1,2,\ldots \tag{4.7}
 c_n=\frac2T\int_{t_0}^{t_0+T}x(t)\sin\left(n\Omega_0t\right)dt,\quad n=1,2,\ldots \tag{4.8}   同理不同傅里叶三角展开式对原函数的近似仿真如下:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   4.4 具有相位形式的余弦傅里叶级数   傅立叶级数的第三种形式是利用三角函数性质导出的:
 b_k\cos{(k\Omega_0t)}+c_k\sin{(k\Omega_0t)}=A_k\cos{(k\Omega_0t+\theta_k)}\tag{4.9} 这里,信号 x(t)(定义在时间间隔 [t0, t0 + T] 中)表示为
 x(t)=a_0+\sum_{k=1}^\infty A_k\cos{(k\Omega_0t+\theta_k)}\tag{4.10} 幅度和相位按照下式计算:
 a_0=\frac1T\intop_{t_0}^{t_0+T}x(t)\mathrm{~}dt\tag{4.11}
 A_k=\sqrt{b_k^2+c_k^2},\quad k=1,2,\ldots \tag{4.12}
 \theta_k=\left\{\begin{aligned}\tan^{-1}\left(-\frac{c_k}{b_k}\right)&=-\tan^{-1}\left(\frac{c_k}{b_k}\right),&\mathrm{d}k=1,2,\ldots,\mathrm{~when~}b_k\geq0\\\\\pi+\tan^{-1}\left(-\frac{c_k}{b_k}\right),&k=1,2,\ldots,\mathrm{~when~}b_k<0\end{aligned}\right.\tag{4.13}   由于
\theta_k的两部分定义,使用计算相位角时,atan2 命令代替 atan。   仿真结果如下图所示:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   4.5 绘制傅里叶级数系数   在前面的部分中,计算了三种形式的傅里叶级数的傅里叶系数。 对三种不同级数系数的仿真如下图所示。
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   4.6 周期信号的傅立叶级数   在前面的部分中,信号的傅立叶级数展开是在闭合时间间隔 [t0, t0 + T] 中定义的。 超出此区间,傅立叶级数展开并不总是收敛于原始信号 x(t)。 在本节中,我们介绍信号 x(t) 是周期为 T 的周期信号的情况,即 x(t) = x(t + T)。 在这种情况下,傅里叶级数也是周期性的,周期为T; 因此,当
-\infty < t < \infty时,它收敛于 x(t)。   不同傅里叶级数不同数量分量展开如下图所示:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   在所有上述图表中,都观察到信号不连续点处的振荡。 这种现象被称为吉布斯现象。 注意,振荡幅度与所使用的近似项的数量无关。相反,当使用的项数趋于无穷大时,出现振荡的时间间隔趋于零。 因此,当用于信号近似的项数无限时,吉布斯现象被消除。   4.7 线谱   幅度谱和相位谱构成线谱。仿真结果如下:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   4.8 傅里叶级数的性质   通过分析方程推导出的傅里叶级数系数完全确定了周期信号x(t)。 因此,可以说复指数系数ak 和信号x(t) 是一对傅里叶级数。 这种关系用
x(t)\leftrightarrow a_k 表示。 在本节中,我们将介绍傅立叶级数的一些性质。   线性:
 z_1x(t)+z_2y(t)\leftrightarrow z_1a_k+z_2b_k\tag{4.14} 时移:
 x(t-t_1)\leftrightarrow e^{-jk\Omega_0t_1}a_k \tag{4.15} 时间反转:
 x(-t)\leftrightarrow a_{-k} \tag{4.16} 时间缩放:
 x(\lambda t)\leftrightarrow a_k\tag{4.17} 信号相乘:
 x(t)y(t)\leftrightarrow a_k*b_k\tag{4.18}   4.9 对称性   如果信号 x(t) 是实数且偶数,则复指数傅里叶级数系数 ak 是实数且偶数,并且三角傅里叶级数系数 ck 为零。 另一方面,如果信号是实数且奇数,则复指数傅立叶级数系数ak 是虚数且奇数,并且三角傅立叶级数系数bk 为零。   4.10 帕塞瓦尔等式   在本节中,我们讨论一个重要的恒等式,它使我们能够根据信号的傅里叶级数系数计算信号的平均功率。 更具体地,周期为T的周期信号x(t)的平均功率等于复指数傅立叶级数系数的平方和。 数学表达式为
 P_x=\frac1T\int_T|x(t)|^2dt=\sum_{k=-\infty}^\infty|a_k|^2\tag{4.19} 此外,如果信号 x(t) 是实数,则上式变为
 P_x=\frac1T\int_T|x(t)|^2dt=a_0^2+2\sum_{k=1}^\infty|a_k|^2\tag{4.20}   4.11 傅里叶级数展开逼近信号的准则   考虑到前面的评论,可以建立关于周期信号近似的“质量”的标准, 近似百分比的数学表达式为
 p_c = \left(\sum_{k=-K}^K|a_k|^2/P_x\right)\cdot100\% \tag{4.21}   4.12 复指数与三角傅立叶级数系数之间的关系   本节建立了复指数傅里叶级数系数ak与三角傅里叶级数系数bk和ck之间的关系。 以下三个方程以数学方式描述了这种关系:
 b_k=a_k+a_{-k},\quad k=1,2,\ldots \tag{4.22}   
 c_k=j\cdot(a_k-a_{-k}),\quad k=1,2,\ldots \tag{4.23}   
 a_k=\frac12(b_k-j\cdot c_k),\quad k=1,2,\ldots \tag{4.24}   5 傅里叶变换   傅立叶变换是在频域中表达在时域中给出的信号的方法。 在本章中,我们讨论连续时间信号的傅里叶变换,称为连续时间傅里叶变换(CTFT)。 通过对连续时间信号 x(t) 应用傅里叶变换,我们获得了循环频域
\Omega或等效频域 f 的信号表示。   5.1 数学定义   傅里叶变换的数学表达式为:
 \mathcal{X}(\Omega)=F\{x(t)\}=\intop_{-\infty}^\infty x(t)\cdot e^{-j\Omega t}dt\tag{5.1}
 \mathsf{X}(f)=F\{x(t)\}=\intop_{-\infty}^\infty x(t)\cdot e^{-j2\pi ft}dt\tag{5.2} 傅立叶逆变换的数学表达式为:
 x(t)=F^{-1}\{X(\Omega)\}=\frac1{2\pi}\int_{-\infty}^\infty\mathcal{X}(\Omega)\cdot e^{j\Omega t}d\Omega\tag{5.3}
 x(t)=F^{-1}\{X(f)\}=\intop_{-\infty}^\infty X(f)\cdot e^{j2\pi ft}df\tag{5.4}   5.2 fourier and ifourier命令   上节给出的积分的计算并不总是一件小事。 然而,在 MATLAB中,可以使用 Fourier 命令直接计算信号 x(t) 的傅里叶变换
X(\Omega)。 相应地,利用ifourier命令来计算傅里叶逆变换。 在执行这两个命令之前,必须将时间 t 和频率
\Omega 声明为符号变量。 回想一下,符号变量是使用命令 syms 定义的。   5.3 傅里叶变换对   有时傅里叶变换计算复杂,这就是使用已计算的傅里叶变换对来计算函数的傅里叶变换或傅里叶逆变换的原因。 因此,计算过程是用具有已知傅里叶变换的函数来表达感兴趣的复杂函数,然后基于傅里叶变换的性质来计算该复杂函数的傅里叶(或逆傅里叶)变换。下表给出了最常见的变换对,傅里叶变换对通过使用命令 fourier 和 ifourier 来确认。
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   最后,介绍一个非常重要的傅里叶变换对, 即
 pT(t)\leftrightarrow T\sin(\Omega T/2)/(\Omega T/2)\tag{5.5} 其中:
 pT(t)=1,|t|\leq T/2\Rightarrow pT(t)=\left\{\begin{array}{ll}1,&&-T/2\leq t\leq T/2\\0,&&\mathrm{elsewhere}\end{array}\right.\tag{5.6} 仿真结果如下:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   5.4 傅里叶变换性质   线性:
 F\{a_1x_1(t)+a_2x_2(t)\}=a_1X_1(\Omega)+a_2X_2(\Omega)\tag{5.7} 时移:
 F\{x(t-t_0)\}=e^{-j\Omega t_0}X(\Omega)\tag{5.8} 频移:
 F\left\{e^{j\Omega_0t}x(t)\right\}=X(\Omega-\Omega_0)\tag{5.9} 时间缩放:
matlab移位运算符_matlab中将矩阵中某值替换为新值0\tag{5.10} ” eeimg=”1″> 频率缩放:
matlab移位运算符_matlab中将矩阵中某值替换为新值0\tag{5.11} ” eeimg=”1″> 该属性的自然含义是,如果信号随时间扩展 (b < 1),则其频谱会被压缩到较低的频率。 另一方面,信号的时间压缩 (b > 1) 会导致信号频谱扩展到更高的频率。   时间反转:
 F\{x(-t)\}=\mathcal{X}(-\Omega)\tag{5.12} 对偶:
 F\{\mathsf{X}(t)\}=2\pi x(-\Omega)\tag{5.13} 共轭:
 F\{x^*(t)\}=X^*(-\Omega),F\{x^*(-t)\}=X^*(\Omega)\tag{5.14} 时域微分:
 F\left\{\frac{dx(t)}{dt}\right\}=j\Omega X(\Omega)\tag{5.15} 频域微分:
 F\{tx(t)\}=j\frac{dX(\Omega)}{d\Omega}\tag{5.16} 积分:
 F\left\{\int_{-\infty}^tx(\tau)d\tau\right\}=\frac1{j\Omega}X(\Omega)+\pi X(0)\delta(\Omega)\tag{5.17}   5.5 时域频域卷积   两个非常有用的定理,涉及时域或频域中两个信号之间的卷积。 这两个定理使我们能够避免直接计算两个信号之间的卷积。数学表达为
 F\{x_1(t)*x_2(t)\}=X_1(\Omega)\cdot X_2(\Omega)\tag{5.18} 相应地,两个信号在频域的卷积变换为转化为时域的乘法。 准确的关系是:
 F\{x_1(t)x_2(t)\}=\frac1{2\pi}X_1(\Omega)*X_2(\Omega)\tag{5.19}   5.6 傅里叶变换实部和虚部的对称性   傅里叶变换可以写成下式:
 \mathrm{X}(\Omega)=\mathrm{Re}\{X(\Omega)\}+j\mathrm{Im}\{X(\Omega)\}\tag{5.20} 如果 x(t) 是实函数,则以下关系成立:
 \begin{gathered} \mathrm{Re}\{X(-\Omega)\}=\mathrm{Re}\{X(\Omega)\} \\ \mathrm{Im}\{X(-\Omega)\}=-\mathrm{Im}\{X(\Omega)\}\\ \mathsf{X}(-\Omega)=\mathsf{X}*(\Omega) \end{gathered}\tag{5.21} 这些方程表明实信号的傅里叶变换的实部是偶函数,而实信号的傅里叶变换的虚部是奇函数。   5.7 帕塞瓦尔定理   帕塞瓦尔定理指出,连续时间信号的能量可以通过信号的傅里叶变换在频域中计算出来。 更具体地说,信号 x(t) 的能量由下式计算:
 E_x=\intop_{-\infty}^\infty|x(t)|^2dt=\frac1{2\pi}\intop_{-\infty}^\infty|\mathcal{X}(\Omega)|^2d\Omega\tag{5.22}
|\mathcal{X}(\Omega)|^2 指定频谱上的能量分布,称为信号 x(t) 的能量谱密度。   5.8 自相关与互相关   假设x(t)是能量型信号。 x(t) 的自相关函数定义为:
 R_x(\tau)=\int_{-\infty}^\infty x(t)x*(t-\tau)dt=\int_{-\infty}^\infty x(t+\tau)x*(t)dt\tag{5.23} 在 MATLAB 中,信号的自相关函数是使用命令 xcorr 计算的。 语法为 R=xcorr(x)*step,其中 step 是信号 x(t) 定义中使用的时间步长。 如果x的长度为M,则命令xcorr(这里是向量R)的结果的长度为2M-1。 因此,R 必须在 x(t) 的双倍时间间隔内绘制。 更具体地说,如果 x(t) 定义在时间间隔 [0, T] 内,则其自相关函数在时间间隔 [ -T, T] 内绘制。 命令 xcorr 的使用方式与命令 conv 类似。   两个信号 x(t) 和 y(t) 的互相关是 x(t) 和 y(t) 之间相似性的度量。 互相关的数学表达式为:
 R_{xy}(\tau)=\int_{-\infty}^\infty x(t)y*(t-\tau)dt=\int_{-\infty}^\infty x(t+\tau)y*(t)dt\tag{5.24}   6 离散时间信号的傅里叶分析   傅立叶变换可应用于离散时间信号。 适用于离散时间信号的傅里叶变换有两种类型:离散时间傅里叶变换和离散傅里叶变换。   6.1 离散时间傅里叶变换   离散时间傅里叶变换 (DTFT) 是处理离散时间信号时连续时间傅里叶变换 (CTFT) 的对应变换。DTFT的数学表达式为:
 X(\omega)=\sum_{n=-\infty}^\infty x[n]e^{-j\omega n}\tag{6.1} 信号 x[n] 的 DTFT存在的充分条件是:
 \sum_{n=-\infty}^\infty|x[n]|<\infty\tag{6.2} 此外,DTFT始终是周期为
2\pi的周期函数。 为了从频域返回到离散时域 n,我们应用逆 DTFT。 逆DTFT的数学表达式为:
 x[n]=\frac1{2\pi}\int_{2\pi}X(\omega)e^{j\omega n}d\omega=\frac1{2\pi}\int_{-\pi}^{\pi}X(\omega)e^{j\omega n}d\omega\tag{6.3} 信号 x[n] 的 DTFT 的计算很容易直接从 (6.1) 获得。   6.2 离散时间傅里叶变换的性质   线性:
 ax_1[n]+bx_2[n]\leftrightarrow aX_1(\omega)+bX_2(\omega)\tag{6.4} 时移:
 x[n-n_0]\leftrightarrow X(\omega)e^{-j\omega n_0}\tag{6.5} 频移:
 x[n]e^{j\omega_0n}\leftrightarrow X(\omega-\omega_0)\tag{6.6} 频率微分:
 \frac njx[n]\leftrightarrow\frac{dX(\omega)}{d\omega}\tag{6.7} 时间差分:
 x[n]-x[n-1]\leftrightarrow(1-e^{-j\omega})X(\omega)\tag{6.8} 卷积:
 x[n]^*h[n]\longleftrightarrow X(\omega)Y(\omega)\tag{6.9}   6.3 离散时间傅立叶变换的帕塞瓦尔定理   它指出离散时间信号 x[n] 的能量根据下式在频域中计算:
 E_x=\sum_{n=-\infty}^\infty|x[n]|^2{=}\frac1{2\pi}\int_{2\pi}|X(\omega)|^2d\omega=\frac1{2\pi}\int_{-\pi}^\pi|X(\omega)|^2d\omega\tag{6.10}   6.4 离散傅立叶变换   为了在计算机上实现信号的 DTFT 分析,需要从频率
\omega样本
\omega_k。这导致了适用于离散时间信号的第二种类型的傅里叶变换,即离散傅里叶变换 (DFT)。它定义在离散时间间隔
0\leq n\leq  N-1,并根据以下公式计算:
 X_k=\sum_{n=0}^{N-1}x[n]e^{-j\frac{2\pi nk}N},\quad k=0,1,\ldots,N-1\tag{6.11} 极坐标表示为:
 X_k=|X_k|\mathrm{e}^{j\angle X_k},\quad k=0,1,\ldots,N-1\tag{6.12} 其实部可以表示为:
 \mathrm{Re}\{X_k\}=x(0)+\sum_{n=1}^{N-1}x[n]\cos\left(\frac{2\pi nk}N\right)=\sum_{n=0}^{N-1}x[n]\cos\left(\frac{2\pi nk}N\right)\tag{6.13} 其虚部可以表示为:
 \mathrm{Im}\{X_k\}=-\sum_{n=0}^{N-1}x[n]\sin\left(\frac{2\pi nk}N\right)\tag{6.14}   6.5 离散傅里叶性质   周期性:序列 x[n] 的 N 点 DFT 序列 Xk 是周期性的,周期为N。数学表达式为
 X_{k+N}=X_{k}\tag{6.15} 线性:
 DFT\{ax_1[n]+bx_2[n]\}=aX_1(k)+bX_2(k)\tag{6.16} 对称性:
 X_{k}=X_{((N-k))_{N}}^{*},\quad0\leq k\leq N-1\tag{6.17} 其中
((N-k))_N为N-k对N取余数。   DFT 的帕塞瓦尔定理:
 E=\frac{1}{N}\sum_{k=0}^{N-1}|X_{k}|^{2}\tag{6.18}   6.6 逆离散傅里叶变换   逆离散傅里叶变换表达式如下:
 x[n]=\frac{1}{N}\sum_{k=0}^{N-1}X_{k}e^{\frac{2\pi nk}{N}},\quad n=0,1,\ldots,N-1\tag{6.19}   6.7 序列的循环移位   循环移位序列在数学上由以下关系式描述:
 x_{c,m}[n]=x\bigl[((n-m))_{N}\bigr]\tag{6.20} 其原理图如下:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   DFT 与循环移位运算相关的两个性质分别为:
 DFT\{x[((n-m))_N]\}=X_ke^{-j\frac{2\pi mk}N}\tag{6.21}   
 DFT\{x[n]\}e^{j\frac{2\pi nm}{N}}=X_{((k-m))_N}\tag{6.22}   第一个关系是时间属性的循环平移,而第二个关系是频率特性的循环移位。   6.8 循环卷积   计算两个离散时间信号 x[n] 和 h[n] 之间的循环卷积,根据
 x[n]\otimes h[n]=\sum_{m=0}^{N-1}x[m]h[((n-m))_N]\tag{6.23} h[((n-m))N] 是序列 h[n] 循环移位 m 个样本。   FFT 算法可以加速循环卷积,因此它通常与 FIR 滤波器一起使用来有效地计算线性卷积。 这些图表说明了这是如何可能的。 请注意,较大的 FFT 大小 (N) 将防止重叠,从而导致图 #6 与所有图 #3 不完全匹配。
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   循环卷积的离散傅立叶变换:   回想一下,两个连续时间信号的线性卷积的 CTFT 等于这两个信号的傅立叶变换的乘积。 还记得 DTFT两个离散时间信号的线性卷积等于 DTFT 的乘积这两个信号。 关于 DFT,参考循环的类似属性成立。 两个离散时间循环卷积的DFT信号等于两个信号的 DFT 的乘积   上述性质的数学表达式为:
 DFT\{x_1[n]\otimes x_2[n]\}=X_1(k)\cdot X_2(k)\tag{6.24}   6.9 快速傅里叶变换   直接根据其定义计算 N 点 DFT 或 IDFT 时间成本很高,不满足系统实时性要求。为了减少所需的计算量,可以使用一种有效的算法(有许多变体)来进行 DFT 计算。 这种算法称为快速傅立叶变换算法或FFT算法。 FFT基于“分而治之”技术;即将N个点的原始问题划分为两个N/2点的对称子问题。Matlab语法为 X=fft(x),其中 x 是序列 x[n],X 是 DFT Xk。 FFT 一定不能与 DFT 混淆。 FFT 是一种计算序列的 DFT 的算法。   6.10 DFT与DTFT的关系   信号 x[n] 的的 DFT和DTFT由下式给出:
 X(\omega)=\sum_{n=-\infty}^\infty x[n]e^{-j\omega n},X_k=\sum_{n=0}^{N-1}x[n]e^{-j\frac{2\pi nk}{N}},\quad k=0,1,\ldots,N-1\tag{6.25} 将连续信号截取N点,对应两式可以得到如下关系:
 X_k=X(\mathbf{\omega})|_{\mathbf{\omega}=\frac{2\pi k}N}=X\biggl(\frac{2\pi k}N\biggr),\quad k=0,1,\ldots,N-1\tag{6.26} 上式指出 DFT Xk 实际上是 DTFT 频率的采样,或者换句话说,DFT 是离散时间的连续谱的采样信号。   6.11 傅里叶变换与离散傅里叶变换的关系   傅里叶变换
X(\Omega) 可以在以下频率处近似
 X(\Omega_k)=NT\frac{1-e^{-j\frac{2\pi k}N}}{j2\pi k}X_k,\quad k=0,1,\ldots,N-1\tag{6.27} 仿真结果如下:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   6.12 通过快速傅立叶变换进行线性卷积计算   在本章中,我们看到两个序列的循环卷积的DFT为等于它们的 DFT 的乘积。 此外,还确定了线性卷积两个序列的 等价于它们的循环卷积,如果这两个序列正确地用零填充。因此计算线性卷积方法如下:   a:计算 x1[n] 和 x2[n] 的 N = N1 + N2 – 1 点 DFT b:将两个 DFT 相乘 c:乘积的IDFT等于x1[n]和x2[n]的线性卷积:   可以用下式表示
 x_1[n] * x_2[n] = IFFT[FFT(x_1,N_1+N_2-1)\cdot FFT(x_2,N_1+N_2-1)]\tag{6.28}
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   7 频率响应   在信号处理和电子学中,系统的频率响应是作为输入频率函数的输出幅度和相位的定量测量。频率响应广泛用于系统的设计和分析,例如音频和控制系统,它们通过将控制微分方程转换为代数方程来简化数学分析。 在音频系统中,它可用于通过设计组件(例如麦克风、放大器和扬声器)来最小化可听失真,以使整个系统带宽内的整体响应尽可能平坦(均匀)。 在控制系统中,例如车辆的巡航控制,它可用于评估系统稳定性,通常通过使用波特图。 可以使用模拟和数字滤波器来设计具有特定频率响应的系统。   频率响应表征频域中的系统,就像脉冲响应表征时域中的系统一样。 在线性系统中(或作为忽略二阶非线性特性的真实系统的近似),任一响应都完全描述系统,因此具有一一对应关系:频率响应是脉冲响应的傅里叶变换。 频率响应可以更简单地分析多级放大器等级联系统,因为整个系统的响应可以通过各个级的频率响应相乘(而不是时域中脉冲响应的卷积)来找到。 频率响应与线性系统中的传递函数密切相关,传递函数是脉冲响应的拉普拉斯变换。   7.1 连续时间频率响应   系统完全由其脉冲响应 h(t) 指定。 系统响应 y(t)通过将脉冲响应与输入信号 x(t)进行卷积来计算,系统响应由下式给出:
 y(t)=h(t)*x(t)\leftrightarrow Y(\Omega)=H(\Omega)X(\Omega) \tag{7.1} 频率响应是(循环)频域中系统的完整描述。 频率响应的数学表达式:
 H(\Omega)=F\{h(t)\}=\frac{Y(\Omega)}{X(\Omega)}=|H(\Omega)|e^{j/H(\Omega)}\tag{7.2} 频率响应如下示意图所示:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   7.2 freqs 命令   系统的频率响应通常以有理形式表示,即如下形式:
 H(j\Omega)=\frac{B(j\Omega)}{A(j\Omega)}=\frac{b_n(j\Omega)^n+b_{n-1}(j\Omega)^{n-1}+\cdots+b_1(j\Omega)+b_0}{a_m(j\Omega)^m+a_{m-1}(j\Omega)^{m-1}+\cdots+a_1(j\Omega)+a_0}.\tag{7.3}   Matlab中freqs 命令来计算频率响应。其语法为 H=freqs(num,den,w),其中 num 是分子多项式的系数,den 是分母对应的向量,w 是评估频率响应 H 的频率向量。   如频率响应函数如下式:
 H(j\Omega)=\frac{B(j\Omega)}{A(j\Omega)}=\frac{8(j\Omega)^2+2(j\Omega)+20}{6(j\Omega)^2-5(j\Omega)-10} 其频率响应如下图所示:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   freqs中的多项式系数对应的是
a_n(j\Omega)^n的形式,应用时要注意转换成此形式,例如:
 H(j\Omega)=\frac{\Omega^3+\Omega^2-5\Omega+1}{3\Omega^2-1}\Rightarrow H(j\Omega)=\frac{1/j^3(j\Omega)^3+1/j^2(j\Omega)^2-5/j(j\Omega)+1}{3/j^2(j\Omega)^2+0j\boldsymbol{\Omega}-1} 命令 invfreqs 用于命令freqs进行逆操作。命令 invfreqs 计算频率响应的数学表达式根据最小二乘法。 因此,该命令获得的结果是近似值并不总是准确的。   7.3 lsim命令   语法为 y=lsim(num,den,x,t),其中 num 为频率响应
H(j\Omega)的分子多项式的系数向量,den 是
H(j\Omega)分母对应的向量,x 是输入信号,t 是应用输入信号并计算输出信号的时间。使用lsim命令时可能出现的三个问题。 第一个是输入向量 num 和 den 不能包含复系数。 第二个是分子多项式阶数必须小于或等于分母多项式的阶数,第三个是在输出信号计算在很短的一段时间发生初始变化。 如果我们使用语法 lsim(num,den,x,t) 命令,结果是输出 信号 y(t) 与指定时间 t 内的输入信号 x(t)一起的图像。   举例:频率响应与输入信号具有如下表达式:
 H(j\Omega)=\frac{5j\Omega+2}{2(j\Omega)^2+3j\Omega+4},x(t)=te^{-t},0\leq t\leq10 系统输出如下图所示。
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   7.4 系统对正弦输入的响应   输入信号为正弦信号,系统输入为:
 y(t)=A|H(\Omega_0)|\cos{(\Omega_0t+\varphi+\angle H(\Omega_0))}\tag{7.4} 仿真实例如下:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   7.5 理想滤波器   系统频率响应
H(j\Omega) 描述的是一个阻止(或切断)输入信号在特定的频率间隔内的滤波器 。 根据被阻止的频率区域,有是四种基本类型的过滤器。低通滤波器:输入信号在低频处通过并在高频处被切断频率。高通滤波器: 输入信号以高频通过并在低频。带通滤波器: 信号通过某个频段并在所有其他频段被切断带外的频率。带阻滤波器。 信号在一个频段上被切断,而在所有其他频段上通过频率。   理想滤波器的仿真结果如下所示:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   到目前为止,我们讨论了频率响应的幅度,并得出结论信号在特定频率范围内不失真地传递,如果幅度滤波器的响应在此范围内都为单位1。 然而,滤波器频率响应的相位性能对于从该滤波器传递的信号可能出现的失真起着关键作用。 在为了避免信号失真,滤波器频率响应的相位必须是
\Omega线性的函数,或更具体地说,滤波器在通带的相位响应必须是如下形式:
matlab移位运算符_matlab中将矩阵中某值替换为新值0\tag{7.5} ” eeimg=”1″> 在通带中具有单位幅度响应且满足上式的滤波器称为理想滤波器。 理想滤波器的频率响应为:
 H(\Omega)=\left\{\begin{array}{ll}e^{-j\Omega t_d},&\Omega\in\text{passband}\\0,&\Omega\in\text{stopband}\end{array}\right.\tag{7.6}   7.6 离散时间系统的频率响应   离散时间系统的频率响应计算如下:
 H(\omega)=DTFT\{h[n]\}=\sum_{n=-\infty}^\infty h[n]e^{-j\omega n}\tag{7.7}   举例脉冲响应为
h[n]=[3,5,2,1],0\leq n\leq3.   仿真结果如下:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   7.7 freqz 命令   离散时间系统的频率响应通常是以下形式的函数:
 H(\omega)=\frac{B(\omega)}{A(\omega)}=\frac{b_0+b_1e^{-j\omega}+\cdots+b_ne^{-jn\omega}}{a_0+a_1e^{-j\omega}+\cdots+a_me^{-jm\omega}}\tag{7.8} freqz的语法和使用类似于用于计算连续时间系统的频率响应的命令freqs。   举例:   
H(\omega)=\frac{3+5e^{-j\omega}-7e^{-2j\omega}}{2-4e^{-j\omega}}\tag{ex} 上式频率响应为:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   命令invfreqz完成freqz的逆操作。   7.8 系统对离散时间正弦输入的响应   系统对离散时间正弦输入的响应表达式为:
 y[n]=A|H(\omega_0)|\cos(\omega_0n+\theta+\angle H(\omega_0))\tag{7.9} 仿真结果如下:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   7.9 移动平均滤波器   在统计学中,移动平均值(滚动平均值或运行平均值)是一种通过创建完整数据集的不同选择的一系列平均值来分析数据点的计算。 它也称为移动平均值 (MM)或滚动平均值,是一种有限脉冲响应滤波器。 变体包括:简单、累积或加权形式。   移动平均滤波器有时称为 Boxcar 滤波器,尤其是在进行抽取时。 移动平均滤波器是一种简单的 FIR 滤波器,由输入/输出关系描述:
 y[n]=\frac{1}{N}(x[n]+x[n-1]+\cdots+x[n-N+1])=\frac{1}{N}\sum_{k=0}^{N-1}x[n-k]\tag{7.10} 根据时移性质,上式变换到频域可以写成
 \begin{aligned}&Y(\omega)=\frac1N(X(\omega)+X(\omega)e^{-j\omega}+\cdots+X(\omega)e^{-j(N-1)\omega})\\&\Rightarrow Y(\omega)=\frac1N(1+e^{-j\omega}+\cdots+e^{-j(N-1)\omega})X(\omega).\end{aligned}\tag{7.11} 因此,移动平均滤波器的频率响应由下式给出:
 H(\omega)=\frac{Y(\omega)}{X(\omega)}=\frac{1}{N}\sum_{k=0}^{N-1}e^{-jk\omega}=\frac{\sin{(N\omega/2)}}{N\operatorname{sin}{(\omega/2)}}e^{-j(N-1)\omega/2}\tag{7.12} 最后,移动平均滤波器的脉冲响应由下式给出:
 h[n]=\left\{\begin{matrix}\frac{1}{N},&\quad0\leq n\leq N-1\\0,&\quad\text{elsewhere}\end{matrix}\right.\tag{7.13}   3点的移动平均幅频响应如下图所示:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   使用移动平均值(红色曲线)平滑叠加噪声的正弦信号(蓝色曲线)如下图所示:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   两个移动平均线指标(简单和指数)添加到典型的股票图表中如下图所示:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   8 拉普拉斯变换   在数学中,拉普拉斯变换以其发现者皮埃尔-西蒙·拉普拉斯 (/ləˈplɑːs/) 命名,是一种积分变换,可将实变量的函数(通常为t,在时域)到复变量的函数s(在复频域中,也称为 s 域或 s 平面)。 该变换在科学和工程中具有许多应用,因为它是求解微分方程的工具。 特别是,它将常微分方程转化为代数方程,将卷积转化为乘法。   在本章中,我们介绍连续时间信号的拉普拉斯变换。 这拉普拉斯变换是一种将连续时间信号从时域 t 转换为复数频域 s,是信号处理领域中的一个有价值的工具。   8.1 数学定义   拉普拉斯变换有两种可用形式。 第一种是双边(two-sided or bilateral)拉普拉斯变换,其中函数 f (t) 的拉普拉斯变换 F(s) 由下式给出:
 F(s)=L\{f(t)\}=\intop_{-\infty}^{\infty}f(t)e^{-st}dt\tag{8.1} 变量 s 是一个复数值,因此可以写为
s=\sigma+j\Omega。将积分的下限设置为零会产生单边(one-sided or unilateral)拉普拉斯变换。信号处理使用单边拉普拉斯变换更适合,因为所考虑的信号通常是因果信号。 为了从S域变回时域,应用拉普拉斯逆变换。 拉普拉斯逆变换数学表达式为:
 f(t)=L^{-1}\{F(s)\}=\frac{1}{2\pi j}\int\limits_{\mathbf{o}-j\infty}^{\mathbf{\sigma}+j\infty}F(s)e^{st}dt\tag{8.2}   8.2 laplace 和 ilaplace命令   命令 laplace 计算函数的单边拉普拉斯变换。命令 ilaplace 计算函数的逆拉普拉斯变换。   8.3 收敛域   函数的拉普拉斯变换并不总是存在,因为 (8.1) 的积分并不总是收敛。以信号
x(t)=e^{-at}u(t),a\in\mathbb{R}为例,其拉普拉斯变换为:
 X(s)=L(x(t))=\intop_{-\infty}^{\infty}x(t)e^{-st}dt=\intop_{-\infty}^{\infty}e^{-at}u(t)e^{-st}dt=\intop_{0}^{\infty}e^{-(a+s)t}dt=\left.-\frac{1}{s+a}(e^{-(a+s)t}\Bigr|_{t\to\infty}-1\right)\tag{8.3}
matlab移位运算符_matlab中将矩阵中某值替换为新值-a” eeimg=”1″>时,
\left.e^{-(a+s)t}\right|_{t\to\infty}有界的,对应s的取值范围定义为收敛域。   8.4 拉普拉斯变换对   常见拉普拉斯变换对及其收敛域如下图所示。
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   常见拉普拉斯变换对及Matlab仿真命令如下图所示。
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   8.5 拉普拉斯变换性质   单边拉普拉斯变换的性质如下图所示。
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   8.6 有理函数的偏分式展开式   在通常情况下,函数的拉普拉斯变换表示为s有理函数也就是说,以 s 的两个多项式之比的形式给出。 数学表达式为:
 X(s)=\frac{B(s)}{A(s)}=\frac{b_ms^m+b_{m-1}s^{m-1}+\cdots+b_1s+b_0}{a_ns^n+a_{n-1}s^{n-1}+\cdots+a_1s+a_0}\tag{8.4} 其中 ai 和 bi 是实标量。   首先,我们讨论 m < n 的情况; 也就是说,这种情况分子多项式 B(s) 的次数低于分母的 A(s)多项式的次数。 假设
\lambda_i是 A(s) 的根。考虑以下两种情况:
\lambda_i是各不相同的,则X(s)可以写成:
 X(s)=\frac{c_1}{s-\lambda_1}+\frac{c_2}{s-\lambda_2}+\cdots+\frac{c_n}{s-\lambda_n}\tag{8.5} 其中系数 c1, …. , cn 根据以下公式计算:
 c_i=\lim_{s\to\lambda_i}(s-\lambda_i)X(s)=[(s-\lambda_i)X(s)]_{s=\lambda_i}\tag{8.6} 当根
\lambda_i 重复,假设根
\lambda_i 重复 r 次,所有其他根是不同的。 在这种情况下,A(s) 被写成因式分解的形式:
 A(s)=a_n(s-\lambda_1)^r\prod_{i=r+1}^n(s-\lambda_i)\tag{8.7} 对应的X(s)可以写成:
 \begin{aligned}X(s)=\frac{c_1}{s-\lambda_1}+\frac{c_2}{(s-\lambda_1)^2}+\cdots+\frac{c_r}{(s-\lambda_1)^r}+\frac{c_{r+1}}{s-\lambda_{r+1}}+\cdots+\frac{c_n}{s-\lambda_n}.\end{aligned}\tag{8.8} 系数 c1, … , cn 的计算公式为:
 \begin{aligned}c_i&=\lim_{s\to\lambda_1}\frac1{(r-i)!}\frac{d^{r-i}[(s-\lambda_1)^rX(s)]}{ds^{r-i}},\quad i=1,\ldots,r,\\c_i&=\lim_{s\to\lambda_i}(s-\lambda_i)X(s),\quad i=r+1,\ldots,n\end{aligned}\tag{8.9} 现在让我们考虑
m\geq n 的情况,即分子多项式的次数B(s) 大于或等于分母多项式 A(s) 的次数。 在这种情况下,我们必须实现 B(s) 和 A(s) 之间的划分。 信号 X(s) 写为:
 X(s)=\dfrac{B(s)}{A(s)}=K(s)+\dfrac{G(s)}{A(s)}\tag{8.10} 两个多项式的除法由命令 deconv 计算。   residue命令:语法为 [R,P,K]=residue(B,A),其中 B 是包含分子系数的向量多项式,A 是分母多项式的系数向量。命令residue也可用于逆运算; 也就是说,它可以用来将以部分分数形式书写的信号表达为有理形式,语法为 [B, A]=residue(R,P,K)。   8.7 时间和复数频率的卷积   时域中的卷积变换为复频域中的乘法。 数学表达式为:
 L\{x_1(t)*x_2(t)\}=X_1(s)\cdot X_2(s)\tag{8.11} 复频域中的卷积变换为时域中的乘法。 数学表达式为:
 L\{x_1(t)x_2(t)\}=\frac{1}{2\pi j}X_1(s)*X_2(s)\tag{8.12}   8.8 使用拉普拉斯变换求解微分方程   线性微分方程具有常数系数的关系由以下关系描述:
 a_n\frac{d^ny(t)}{dt^n}+a_{n-1}\frac{d^{n-1}y(t)}{dt^{n-1}}+\cdots+a_1\frac{dy(t)}{dt}+a_0y(t)=x(t)\tag{8.13} 利用下式求导公式:
 L\left\{\frac{d^nx(t)}{dt^n}\right\}=sL\left\{\frac{d^{n-1}x(t)}{dt^{n-1}}\right\}-x^{(n)}(0)\tag{8.14} 对8.13进行拉普拉斯变换后,应用8.14求导方法,整理合并可以求得
Y(s),再进行逆拉普拉斯变换,既可以得到微分方程的解。   如求解下述微分方程:
 y''(t)+3y'(t)+2y(t)=e^{-t},y(0)=2,y'(0)=3\tag{8.15} 代码与执行结果如下:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   为了确认 y(t) 实际上是微分方程的解,将 y(t) 代入微分方程。 满足微分方程以及初始条件, 那么它确实是它的解。   9 Z变换   在数学和信号处理中,Z 变换将离散时间信号(实数或复数序列)转换为复频域(z 域或 z 平面)表示形式。它可以被视为拉普拉斯变换(s 域)的离散时间等效项。这种相似性在时间尺度微积分理论中得到了探讨。   连续时间傅里叶变换是在拉普拉斯 s 域的虚线上计算的,而离散时间傅里叶变换是在 z 域的单位圆上计算的。 大致上是 s 域的左半平面,现在是复数单位圆的内部; z域在单位圆之外的部分大致对应于s域的右半平面。   被称为 Z 变换的基本思想为拉普拉斯所知,并于 1947 年由 W. Hurewicz和其他人重新引入,作为处理雷达使用的采样数据控制系统的一种方法。 它提供了一种求解线性常系数差分方程的易处理方法。 后来,1952 年哥伦比亚大学采样数据对照组的 Ragazzini 和 Zadeh 将其称为“z 变换”。   Z 变换中包含的思想在数学文献中也被称为生成函数的方法,其历史可以追溯到 1730 年,当时由 de Moivre 结合概率论提出。 从数学角度来看,Z 变换也可以被视为洛朗级数,其中人们将所考虑的数字序列视为解析函数的(洛朗)展开。   在本章中,我们介绍 z 变换。 z 变换是拉普拉斯变换的对应变换处理离散时间信号时进行变换。 它用于转换差异描述离散时间系统的输入/输出关系的代数方程,是离散时间系统分析和设计的非常有用的工具。   9.1 数学定义   Z变换的双边数学表达式为:
 F(z)=Z\{f[n]\}=\sum_{n=-\infty}^{\infty}f[n]z^{-n}\tag{9.1} 逆z 变换的数学表达式为
 x[n]=\dfrac{1}{2\pi j}\oint X(z)z^{n-1}dz\tag{9.2}   9.2 ztrans 和iztrans命令   命令 ztrans 计算单边z 变换。iztrans计算逆z变换。
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   9.3 收敛域   收敛区域 (ROC) 是复平面中 Z 变换求和收敛的点集。定义为
 \mathrm{ROC}=\left\{z:\left|\sum_{n=-\infty}^\infty x[n]z^{-n}\right|<\infty\right\}\tag{9.3} 设序列
x[n]=0.5^nu[n],则有:
 \sum_{n=-\infty}^\infty x[n]z^{-n}=\sum_{n=0}^\infty0.5^nz^{-n}=\sum_{n=0}^\infty\left(\frac{0.5}z\right)^n=\frac1{1-0.5z^{-1}}\tag{9.4} 其收敛域以蓝色显示,单位圆为灰色虚线圆,圆 |z| = 0.5 显示为黑色虚线圆圈,如下图所示。
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   9.4 z变换对   常见z变换对如下图所示。
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   最常见的变换对及Matlab验证代码如下所示。
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   9.5 z变换性质   z变换性质如下图所示。
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   帕塞瓦尔定理:
 \sum_{n=-\infty}^\infty x_1[n]x_2^*[n]\quad=\quad\frac1{j2\pi}\oint_CX_1(v)X_2^*(\frac1{v^*})v^{-1}\mathrm{d}v\tag{9.5} 初值定理:如果 x[n] 是因果关系,则
 x[0]=\lim_{z\to\infty}X(z)\tag{9.6} 终值定理: 如果 (z − 1)X(z) 的极点在单位圆内,则
 x[0]=\lim_{z\to\infty}X(z)\tag{9.7}   9.6 有理函数的偏分式展开式   序列的 z 变换通常表示为 z 的有理函数,即写为 z 的两个多项式之比。 数学表达式为
 X(z)=\frac{B(z)}{A(z)}=\frac{b_mz^m+b_{m-1}z^{m-1}+\cdots+b_1z+b_0}{a_nz^n+a_{n-1}z^{n-1}+\cdots+a_1z+a_0}\tag{9.8} 展开方法可参考拉普拉斯的展开方法。matlab命令为residuez和residue,使用方法类似。   9.7 使用 z 变换求解差分方程   差分方程的一般形式为:
 y[n]=\sum_{k=0}^qb_kx[n-k]+\sum_{k=1}^pa_ky[n-k]\tag{9.9} 用于求差解分方程的采用因果信号z 变换的移位特性,如下:
 Z\{x[n-m]\}=z^{-m}X(z)\tag{9.10} 求解差分方程:
 y[n]+0.5y[n-1]+2y[n-2]=0.9^nu[n],y[n]=0,n<0 matlab代码和执行结果如下图所示:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   10 传递函数   在工程中,系统、子系统或组件的传递函数(也称为系统函数或网络函数)是一种数学函数,用于对每个可能输入的系统输出进行建模。它们广泛应用于电路模拟器和控制系统等电子工程工具中。 在一些简单的情况下,该函数可以表示为独立标量输入与相关标量输出的二维图,称为传递曲线或特征曲线。 组件的传递函数用于设计和分析由组件组装的系统,特别是在电子和控制理论中使用框图技术。   术语“传递函数”也用于使用拉普拉斯变换等变换方法的系统频域分析; 这里它意味着输出的幅度作为输入信号频率的函数。 例如,电子滤波器的传递函数是输出端的电压幅度,作为施加到输入端的恒定幅度正弦波的频率的函数。 对于光学成像设备,光学传递函数是点扩散函数的傅里叶变换(因此是空间频率的函数)。   在本章中,我们介绍连续和离散时间系统传递函数的概念。 传递函数是一个有价值的工具,可以简化研究和分析线性时不变系统。   10.1 连续时间系统   LTI 系统完全由具有常数系数的线性微分方程描述,即通过以下形式的 n 阶微分方程:
 a_n\frac{d^ny(t)}{dt^n}+\cdots+a_1\frac{dy(t)}{dt}+a_0y(t)=b_m\frac{d^mx(t)}{dt^m}+\cdots+b_1\frac{dx(t)}{dt}+b_0x(t)\tag{10.1} 系数ai、bj 是常数。 此外,假设初始条件为零。进行拉普拉斯变换,求输出与输入之比,即传递函数如下:
 H(s)=\frac{Y(s)}{X(s)}=\frac{b_ms^m+b_{m-1}s^{m-1}+\cdots+b_0}{a_ns^n+a_{n-1}s^{n-1}+\cdots+a_0}\tag{10.2} 传递函数的另一种定义是系统脉冲响应的拉普拉斯变换。   传递函数 H(s) 完全指定了系统,因为它包含了所有有关描述的微分方程的系数和阶数的信息系统。 换句话说,如果系统传递函数已知,则微分可以推导出描述系统输入/输出关系的方程, 反之亦然。   10.2 tf 命令   语法是H=tf(num, den),其中 num 和 den 是包含多项式系数的向量,分别为分子和分母。 结果 H 是 MATLAB 的一种特殊类型变量名为TF对象,代表系统的传递函数。   tf 命令的一个很好的功能是可以将时间延迟应用于指定系统的传递函数,通过使用语法 H=tf(num,den, ‘inputdelay’,m) ,其中 m是所需的延迟。   计算下面系统传函的脉冲响应:
 H_{1}(s)=s/(s^{2}+4),H_2(s)=e^{-3s}s/(s^2+4) 结果如下图所示:
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   10.3 连续时间系统的稳定性   如果脉冲是有界输入有界输出(BIBO)稳定的,系统的响应是绝对可积的。 数学表达式为
 \int\limits_{-\infty}^\infty|h(t)|<\infty\tag{10.3} 假设传递函数H(s)=Y(s)/X(s) 写成有理式如10.2形式,那么分子多项式的根称为系统的零点;分母多项式的根称为系统的极点。   现在可以建立系统稳定性的标准。 如果系统传递函数的所有极点都位于复平面的左半部分,系统BIBO稳定。 等效地,如果所有极点的实部均为负,则系统是 BIBO 稳定的。   如果单个极点位于复平面的右半部分(或者等效地具有正实数),则系统不稳定。 最后,如果极点位于虚轴上(或等效地实部为零),系统临界稳定。   10.4 传递函数的零点/极点/增益形式   线性单输入单输出 (SISO) 系统的传递函数可以写为零/极点/增益形式,即可以写成以下形式:
 H(s)=K\frac{(s-z_1)(s-z_2)\cdots(s-z_m)}{(s-p_1)(s-p_2)\cdots(s-p_n)}\tag{10.4} 用于转换的命令从有理形式到零/极点/增益形式的传递函数是命令 zpk。   如转换下式:
 H(s)=\frac{2s+1}{s^2+3s+2}   又一个可用于计算传递函数零点、极点和增益的 MATLAB 命令是 tf2zp:[z,p,k]= tf2zp(num,den),逆操作为[n,d]=zp2tf(z,p,k)。   10.5 互联系统   如前面介绍的,基本的系统之间可能的互连关系为是级联、并联、混合、和反馈,如下图所示。易知,级联传递函数相乘,并联传递函数相加,混合为传递函数的加和乘的混合操作,图中反馈的传递函数不难求得如下:
 H(s)=\frac{H_1(s)}{1+H_1(s)H_2(s)}\tag{10.5}   10.6 连续时间系统响应   假设 H(s) 是系统的传递函数。 系统对输入的响应 y(t), 信号x(t)是Y(s)=H(s)X(s)的拉普拉斯逆变换。 如果系统稳定的话, 系统响应 y(t) 经过一定的时间间隔 Ts(称为复位时间)后,收敛到恒定状态。 y(t) 的这种状态称为稳态,用 yss(t) 表示。稳态之前y(t) 状态称为瞬态,用 yts(t) 表示。   10.7 离散时间系统   离散时间系统的传递函数 H(z) 的定义方式与连续时间系统的传递函数类似。 因此 LTI 离散时间的传递函数系统被定义为系统输出信号的 z 变换 Y(z) 与应用于系统的输入信号的 z 变换 X(z)的比值,假设初始值为零状况。 数学表达式为
 H(z)=\frac{Y(z)}{X(z)}\tag{10.6}   10.8 离散时间系统的稳定性   离散时间传递函数的零点和极点的计算非常重要,因为极点的知识为系统的稳定性提供了标准。 针对连续时间情况引入的命令也适用于离散时间系统。 如果离散时间系统的传递函数的所有极点都位于单位圆内,则该系统是稳定的: 如果一个极点位于单位圆外,则系统不稳定。   10.9 离散时间系统响应   阶跃响应:dstep的语法 为 y=dstep(num,den),其中 num 和 den 分别是分子的系数和系统传递函数的分母。   脉冲响应:dimpulse 的语法为 y= dimpulse(num,den),其中 num 和 den 分别是系统传递函数的分子和分母的系数。   10.10 连续时间和离散时间系统之间的转换   适当的语法是 sysdis=c2d(syscont,Ts,method),其中 syscont 表示连续时间系统,sysdis 是离散时间系统,Ts 是采样时间,method 是所选的离散化方法。 可用的离散化方法有:“zoh”:输入的零阶保持。 这是默认方法。“foh”:输入的线性插值。“imp”:脉冲不变离散化。“tustin”:双线性(Tustin)近似。“prewarp”:带有频率预扭曲的 Tustin 近似。“matched”:匹配零极点方法。   10.11传递函数和频率响应   其语法为 Hw= freqresp(Hs,w),其中 Hs 表示系统的传递函数 H(s),w 是包含频率的向量,Hw 是在指定的频率 w向量中评估的系统的频率响应。   10.12 波特图   波特图是波特幅度图和波特相位图的组合。考虑如下传递函数:
 H(s)=\frac{s+2}{s^2+3s+1}
matlab移位运算符_matlab中将矩阵中某值替换为新值
matlab移位运算符_matlab中将矩阵中某值替换为新值   10.13 状态空间表示   暂掠之~   11 总结讨论   信号与系统是电子信息类必修课程,个人认为其最大的意义在于前期建立起信号、系统的概念,为后面其他高阶信号处理课程做铺垫。概念有的时候起到条件反射作用,很重要的。   12 参考文献   【1】维基百科   【2】Alex Palamides Anastasia Veloni 《Signals and Systems Laboratory with MATLAB®》

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/70865.html

(0)
上一篇 2024年 8月 7日 上午10:08
下一篇 2024年 8月 7日 上午10:12

相关推荐

关注微信