第一章 离散时间信号和系统

来源:互联网 发布:佳能 35 1.4 知乎 编辑:程序博客网 时间:2024/05/18 14:45

离散时间信号:对连续信号抽样得到。

数字信号:幅度量化了的时域离散信号。


常用典型序列

1.单位采样序列

2.单位阶跃序列

3.矩形序列

4.实指数序列

5.正弦序列

6.复指数序列

7.周期序列

8.任意序列


离散时间系统

1.线性

2.时不变性

3.系统输入输出关系

4.卷积和

设两序列长度分别为N,M,线性卷积后序列长度N+M-1


系统的因果性和稳定性

1.因果性

因果系统:加入输入序列后才有输出

2.稳定性

LTI(线性时不变)系统稳定充要条件:单位抽样响应绝对可积


线性常系数差分方程及其求解

1.经典法

分别写出差分方程的齐次解和特解形式,用边界条件求待定系数

2.时域离散法

递推法:写出递推形式的差分方程,求数值解

卷积和法:求零状态解

3.变换域法

把差分方程经ZT,在Z域求解


模拟信号数字处理方法及相关转换

模拟信号转化为数字信号

1.抽样

2.术语

信号最高频率fh=Nysquist频率=折叠频率(系统允许通过的信号最高频率),Nyquist抽样率fs=2fh。

3.抽样定理

数字信号转化为模拟信号

1.理想低通

内插函数非因果,不可实现。

2.零阶保持器

内插函数为矩形,样点间插常数,实现简单。

3.一阶线性内插

采样点折现相连。常用于要求不高的场合


MATLAB实现

常用序列

1.单位脉冲序列

>> clear
>> n=[-3:3];  %生成位置向量
>> x=[(n-1)==0]; %生成单个脉冲序列
>> stem(n,x)
>> axis([-3,3,0,2]) %标示坐标

2.单位阶跃序列

>> clear
>> n=[-3:3];
>> x=[(n+1)>=0];
>> stem(n,x)
>> axis([-3,3,0,2])

3.矩形序列

保存为rectseq.m

function[x,n] =rectseq(n0,n1,n2,N)
%单位矩阵序列生成函数
%调用方式[x,n]=rectseq(n0,n1,n2,N)
n=[n0:n2];
x=[(n-1)>=0&((-n1+N-1)-n)>=0];

调用如下

>> [x,n]=rectseq(-3,-1,5,5);
>> stem(n,x)
>> axis([-3,5,0,2])

4.实指数序列(0.5)^n * u(n)

>> n=[0:10];
>> x=(0.5).^n;
>> stem(n,x)
>> axis([0,10,0,2])

5.正弦序列2sin(0.2pi * n- pi /3)

>> n=[0:1:20];
>> x=2*sin(0.2*pi*n-pi/3);
>> stem(n,x)
>> axis([0,20,-3,3])

6.复指数序列

>> n=[-2,10];
>> x=exp((0.2-0.5j)*n); %生成复指数序列
>> subplot(1,2,1),stem(n,real(x))
>> line([-5,10],[0,0])
>> subplot(1,2,2),stem(n,imag(x),'filled')
>> line([-5,10],[0,0])


序列运算

1.翻转fliplr

>> n=[-3:3];
>> x=[0,0,1,0.5,0.2,0.3,0];
>> stem(n,x)
>> stem(n,x)
>> x=fliplr(x);
>> n=-fliplr(n);
>> stem(n,x)

2.序列的能量

两种方法

>> E=sum(x.*conj(x))

E =

    1.3800

>> E=sum(abs(x).^2)

E =

    1.3800


卷积和 conv

>> x=[3,-3,7,0,-1,5,2];
>> h=[2,3,0,-5,2,1];
>> y=conv(x,h)

同时得到卷积和的数值和位置向量

保存为convextd.m

function[y,ny]=convextd(x,nx,h,nh)
%序列y为序列x和序列h的卷积
%ny,nx,nh分别为序列y,x和h的位置向量
ny1=nx(1)+nh(1);         %计算卷积后的起点位置
ny_end=nx(end)+nh(end);  %计算卷积后的终点位置
y=conv(x,h);             %计算卷积和序列的数值
ny=[ny1:ny_end];         %计算卷积和序列的位置向量

调用

>> x=[3,-3,7,0,-1,5,2];
>> nx=[-4:2];  %给定输入序列
>> h=[2,3,0,-5,2,1];
>> nh=[-1:4];  %给定脉冲响应序列
>> [y,ny]=convextd(x,nx,h,nh)

结果

y =

     6     3     5     6    19   -31    30    18   -27    -1     9     2


ny =

    -5    -4    -3    -2    -1     0     1     2     3     4     5     6