离散系统的时域分析是数字信号处理中的关键概念,它主要涉及离散时间信号通过线性时不变(LTI)系统的过程。实验“数字信号处理实验2-离散系统的时域分析”旨在深入理解离散系统的差分方程、单位抽样响应以及卷积计算方法。离散系统用差分方程描述输入输出之间的关系,这在信号处理中至关重要。
差分方程是离散系统的基本数学模型,通常形式为:
\[ \sum_{k=0}^{N} a_k y(n-k) = \sum_{m=0}^{M} b_m x(n-m) \]
其中,\( a_k \) 和 \( b_m \) 是系统系数,\( x(n) \) 是输入信号,\( y(n) \) 是输出信号,\( N \) 和 \( M \) 分别是系统回忆的长度和前向传播的长度。
单位抽样响应 \( h(n) \) 描述了系统对单位阶跃输入 \( u(n) \) 的响应,它可以通过卷积运算得到:
\[ y(n) = x(n) * h(n) = \sum_{m=-\infty}^{\infty} x(m) h(n-m) \]
实验中提到了两种类型的离散系统:FIR(有限冲击响应)和IIR(无限冲击响应)。如果所有 \( a_k \neq 0 \) 仅当 \( k=0 \),则系统为FIR系统,其单位抽样响应具有有限长度。反之,如果 \( a_k \neq 0 \) 对于某些 \( k > 0 \),则系统为IIR系统,其响应可以是无限长的。
MATLAB 提供了方便的函数来模拟离散系统。`filter(b,a,x)` 函数可以基于差分方程仿真系统的响应,其中 `b` 是系统系数 \( b_m \),`a` 是系统系数 \( a_k \),而 `x` 是输入信号。`conv(x,h)` 函数用于计算两个序列的卷积。`impz(b,a,n)` 函数则用于计算并绘制系统脉冲响应。
实验内容包括编写MATLAB代码来求解特定系统的单位抽样响应并绘制图形。例如,第一个系统是一个FIR滤波器,其差分方程为:
\[ y(n) + 0.75y(n-1) + 0.125y(n-2) = x(n) - x(n-1) \]
通过`filter`函数求解并使用`stem`函数绘制响应。
第二个例子展示了一个IIR滤波器:
\[ y(n) = 0.25[x(n-1) + x(n-2) + x(n-3) + x(n-4)] \]
同样地,利用`filter`函数求解并绘制响应。
实验还涉及到不同输入信号如单位阶跃信号 \( u(n) \) 和衰减的余弦序列 \( R^{30}(n) \) 通过给定差分方程系统的响应。这些示例有助于理解输入信号如何影响输出,并展示系统稳定性和因果性的概念。
通过这个实验,学生可以更好地掌握离散系统的时域分析,熟悉差分方程的使用,加深对单位抽样响应和卷积运算的理解。MATLAB的可视化功能使信号处理的概念更加直观,有助于理论与实践相结合,增强学习效果。