离散时间信号是一个数值的序列
x ( n ) = { x ( n ) } = { . . . , x ( − 1 ) , x ( 0 ) , x ( 1 ) . . . } , x 为 整 数 x(n) = \{x(n)\}=\{...,x(-1),x(0),x(1)...\},x为整数 x(n)={x(n)}={...,x(−1),x(0),x(1)...},x为整数
单位样本合成
任意序列 x ( n ) x(n) x(n)都能用延迟 k k k和加权 x ( k ) x(k) x(k)的单位样本 δ ( n − k ) \delta(n-k) δ(n−k)序列之和合成
x ( n ) = ∑ k = − ∞ ∞ x ( k ) δ ( n − k ) x(n) =\sum_{k=-\infty}^\infty x(k) \delta(n-k) x(n)=k=−∞∑∞x(k)δ(n−k)
δ ( n − k ) = { 1 , n = k 0 , n ≠ k \delta(n-k)=\begin{cases} 1, n=k \\ 0,n\not =k \end{cases} δ(n−k)={1,n=k0,n=k
离散时间系统 T T T,接受一个序列 x ( n ) x(n) x(n)(称为激励),并将它转换成另一个序列 y ( n ) y(n) y(n)(称为响应)
y ( n ) = T [ x ( n ) ] y(n)=T[x(n)] y(n)=T[x(n)]
线性系统
L [ a 1 x 1 ( n ) + a 2 x 2 ( n ) ] = a 1 L [ x 1 ( n ) ] + a 2 L [ x 2 ( n ) ] L[a_1 x_1(n)+a_2 x_2(n)]=a_1L[x_1(n)]+a_2L[x_2(n)] L[a1x1(n)+a2x2(n)]=a1L[x1(n)]+a2L[x2(n)]
y ( n ) = L [ x ( n ) ] = ∑ k = − ∞ ∞ x ( k ) δ ( n − k ) = ∑ k = − ∞ ∞ x ( k ) L [ δ ( n − k ) ] = ∑ k = − ∞ ∞ x ( k ) h ( n , k ) y(n)=L[x(n)]=\sum_{k=-\infty}^\infty x(k) \delta(n-k)=\sum_{k=-\infty}^\infty x(k) L[\delta(n-k)]=\sum_{k=-\infty}^\infty x(k) h(n,k) y(n)=L[x(n)]=k=−∞∑∞x(k)δ(n−k)=k=−∞∑∞x(k)L[δ(n−k)]=k=−∞∑∞x(k)h(n,k)
h ( n , k ) h(n,k) h(n,k)称为脉冲响应,表示一个线性系统由于在时刻 k k k的一个单位样本,产生在时刻 n n n的响应
线性时不变系统(LTI,Linear Time Invariant)
y ( n ) = L [ x ( n ) ] = > y ( n − k ) = L [ x ( n − k ) ] y(n)=L[x(n)]=>y(n-k)=L[x(n-k)] y(n)=L[x(n)]=>y(n−k)=L[x(n−k)]
y ( n ) = L T I [ x ( n ) ] = ∑ k = − ∞ ∞ x ( k ) δ ( n − k ) ≜ x ( n ) ∗ h ( n ) , ∗ 为 卷 积 y(n)=LTI[x(n)]=\sum_{k=-\infty}^\infty x(k) \delta(n-k)\triangleq x(n)*h(n),*为卷积 y(n)=LTI[x(n)]=k=−∞∑∞x(k)δ(n−k)≜x(n)∗h(n),∗为卷积
稳定性
∣ x ( n ) ∣ < ∞ = > ∣ y ( n ) ∣ < ∞ , ∀ x , y |x(n)|<{\infty}=>|y(n)|<{\infty},{\forall}x, y ∣x(n)∣<∞=>∣y(n)∣<∞,∀x,y
因果性
n 0 n_0 n0时刻的输出仅由 n 0 n_0 n0及其以前的输入决定
h ( n ) = 0 , n < 0 h(n)=0,n<0 h(n)=0,n<0
LTI系统可以用线性常系数差分方程描述:
∑ k = 0 N a k y ( n − k ) = ∑ m = 0 M b m x ( n − m ) , ∀ n \sum_{k=0}^{N}a_ky(n-k)=\sum_{m=0}^{M}b_mx(n-m),{\forall}n k=0∑Naky(n−k)=m=0∑Mbmx(n−m),∀n
y ( n ) = ∑ m = 0 M b m x ( n − m ) − ∑ k = 1 N a k y ( n − k ) y(n)=\sum_{m=0}^{M}b_mx(n-m)-\sum_{k=1}^{N}a_ky(n-k) y(n)=m=0∑Mbmx(n−m)−k=1∑Naky(n−k)
滤波器是为某一特别频率选择或者频率鉴别任务而专门设计的一个线性时不变系统。
FIR(Finite Impulse Response,有限脉冲响应)滤波器
单位脉冲响应有限长,也称非递归,滑动平均(MA)滤波器
h ( n ) = 0 , n < n 1 或 者 n > n 2 h(n)=0,n
y ( n ) = ∑ m = 0 M b m x ( n − m ) y(n)=\sum_{m=0}^{M}b_mx(n-m) y(n)=m=0∑Mbmx(n−m)
IIR(Infinite Impulse Response,无限脉冲响应)滤波器
从下面的差分方程也可看出,输入了一个 x ( n ) x(n) x(n),输出了很多 y ( n − k ) y(n-k) y(n−k),这些 y ( n − k ) y(n-k) y(n−k)又递归输出更多,由此为无限脉冲响应滤波器,又称递归(AR)滤波器
∑ k = 0 N a k y ( n − k ) = x ( n ) \sum_{k=0}^{N}a_ky(n-k)=x(n) k=0∑Naky(n−k)=x(n)
ARMA(Auto Regressive And Moving Average,自递归滑动平均)滤波器
∑ k = 0 N a k y ( n − k ) = ∑ m = 0 M b m x ( n − m ) , ∀ n \sum_{k=0}^{N}a_ky(n-k)=\sum_{m=0}^{M}b_mx(n-m),{\forall}n k=0∑Naky(n−k)=m=0∑Mbmx(n−m),∀n
脉冲响应,阶跃响应
function [x, n] = stepseq(n0, n1, n2)
% Gernerate x(n) = u(n - n0); n1 <= n <= n2
%
% [x, n] = stepseq(n0, n1, n2)
%
n = n1:n2; x = (n - n0) >= 0;
-------------------------------------------
% 差分方程:y(n)-y(n-1)+0.9y(n-2)=x(n)
b = 1; a = [1, -1, 0.9]; n = -20:120;
% 单位脉冲响应
h = impz(b, a, n);
subplot(2, 1, 1); stem(n, h);
title('Impulse Response'); xlabel('n'); ylabel('h(n)');
% 单位阶跃响应
x = stepseq(0, -20, 120); s = filter(b, a, x);
subplot(2, 1, 2); stem(n, s);
title('Step Response'); xlabel('n'); ylabel('s(n)');
数字信号处理(MATLAB版) 美 维纳 K 英格尔 西安交通大学出版社