离散时间系统的结构图表示

该内容摘自《数字信号处理第四版》,介绍了信号处理中的一个基本结构——递归系统,公式为y(n)=14y(n−1)+12x(n)+12x(n−1)。这个系统涉及到离散时间信号的处理,结合了前一时刻的输出和当前及前一时刻的输入来计算当前的输出,是数字信号处理中的核心概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常用结构图示

pic1
举个栗子: y ( n ) = 1 4 y ( n − 1 ) + 1 2 x ( n ) + 1 2 x ( n − 1 ) y(n) = \frac{1}{4}y(n-1)+\frac{1}{2}x(n)+\frac{1}{2}x(n-1) y(n)=41y(n1)+21x(n)+21x(n1)
pic2

参考《数字信号处理第四版》方艳梅 刘永清等译
英文原版《Digital Signal Processing Principles, Algorithms, and Applications》John G. Proakis, Dimitris G. Manolakis

### 离散时间系统的直接形式实现 离散时间系统的方框图可以通过多种方式实现,其中最常见的是直接形式I型和II型。这两种方法都是基于差分方程的描述来构建系统。 #### 直接形式I型 (Direct Form I) 直接形式I型是最直观的一种实现方式。假设有一个线性时不变(LTI)系统,其输入输出关系由如下差分方程给出: \[ y[n] = b_0 x[n] + b_1 x[n-1] + ... + b_M x[n-M] - a_1 y[n-1] - ... - a_N y[n-N] \] 这里 \(y[n]\) 是当前时刻的输出,\(x[n]\) 表示输入序列;而系数向量 \(\{b_i\}\),\(\{a_j\}\) 定义了滤波器特性[^1]。 为了实现该系统,在实际应用中通常会按照下述流程操作: - 首先计算前馈路径上的加权求和项; - 接着减去反馈路径的影响; - 最终得到新的输出样本并更新延迟单元的内容以便用于下一个周期内的运算。 下面是Python代码模拟了一个简单的FIR(有限冲击响应)滤波器作为例子,它属于直接形式的一部分特例(当所有的 \(a_k=0\) 时): ```python import numpy as np def fir_filter(x, b): N = len(b) output = [] for n in range(len(x)): sum_val = 0 for k in range(N): if n-k >= 0: sum_val += b[k]*x[n-k] output.append(sum_val) return np.array(output) # 测试数据 input_signal = [1, 2, 3, 4, 5] coefficients = [0.5, 0.75, 0.25] output = fir_filter(input_signal, coefficients) print("Output:", output) ``` #### 直接形式II型 (Direct Form II) 相比之下,直接形式II型更加紧凑高效。此结构利用了状态变量的概念,减少了所需的存储空间数量。具体来说,它可以被看作是由一系列串联的一阶节组成,每个一阶节内部包含了乘法、累加以及单位延时的操作。 对于同样的LTI系统,如果采用DF-II的方式,则只需要M+N个记忆位置即可完成整个系统的仿真,这比DF-I节省了一半以上的资源消耗。下面是一个简化版的状态空间表达式的MATLAB代码片段展示如何创建一个IIR无限脉冲响应(IIR)低通巴特沃斯滤波器,并绘制其幅频特性曲线: ```matlab [b,a]=butter(6,0.2); % 设计六阶巴特沃斯LPF截止频率为Fs*0.2 fvtool(b,a,'Analysis','freq')% 使用fvtool工具查看滤波效果 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值