数字信号处理第一次翻转课堂
Flipped Classroom1 of DSP
对应教材:《数字信号处理(第五版)》西安电子科技大学出版社,高西全,丁玉美著
一、要点
1、了解数字信号处理的基本概念、实现方法和特点
2、回顾离散时间信号(序列)的基本概念,进一步加深对序列线性卷积的概念及其计算方法的理解
3、离散LTI系统的一些基本概念及其时域求解方法
4、离散LTI系统时域特性与其差分方程特征根之间的关系
5、熟悉一些离散信号和系统时域分析MATLAB函数的用法:conv、filter、filtic等
二、问题与解答
1、在教材绪论的基础上,进一步从互联网查阅有关数字信号处理的概述性介绍,理解并总结:
①什么是信号处理?什么是数字信号处理(侧重阐述其中“数字”的概念体现在什么方面)?
②数字信号处理的实现方法主要有哪些?各种实现方法分别有何优缺点?
③相对于模拟的信号处理方式,数字信号处理具有哪些突出的优势?
2、任意给出一个正弦序列,分别选择不同的数字频率(分别取2π/ω为整数、有理分数、无理数等情形),用MATLAB画出该序列在不同数字频率的波形,根据绘图结果,分析讨论正弦序列的周期性。
3、利用conv函数计算有限长序列的线性卷积。
①任意取若干个有限长序列,设计适当的方案,验证卷积的结合律和分配律。
②如果求卷积的两个序列,其中一个为无限长序列,用conv函数求线性卷积时,必须进行截断处理。例如,设f(n)为长度为10的矩形序列,u(n)为单位阶跃序列,用conv函数求y(n)=f(n)*u(n),如果要计算出n=0:100的y(n)卷积结果,应该如何处理,才能得到正确的卷积结果。请设计适当的方案,并用MATLAB编程进行验证。(可参考上学期信号课实验四的相关内容)
4、任意给定一个二阶离散LTI系统、初始状态、外加激励,利用MATLAB的filter函数求解该系统的零输入响应、零状态响应、全响应并画出各响应的波形。改变系统参数(差分方程的系数),分别取系统稳定和不稳定两种情形进行求解,比较稳定和不稳定条件下系统时域响应的特点。
5、针对上一题给出的系统,改变系统参数,在保持系统稳定的条件下,分别求解系统特征根为两个正实数、两个负实数和一对共轭复数时的响应,并画出时域响应波形(备注特征根的值),比较其响应特性的区别,总结特征根对系统时域响应特性的影响。
6、分析信号与系统课程综合实验参考程序的结果,着重注意以下一些问题:
①根据问题分析的需要,如何合理地设计实验方案,包括系统和信号的模型、实验参数、实验的步骤和方法;
②在程序设计时,如何以合理有效的方式来展示实验结果,便于对实验结果进行对比分析;
③怎么结合相关理论知识,对实验结果及其得到的结论进行总结和概括;
④对于模拟信号,如果转换为离散信号,用数字(数值计算)的方法来进行分析和处理(比如分析信号的频谱、求信号的卷积),需要注意哪些问题,数值计算的结果如何与模拟信号、模拟系统的结果对应起来,两者之间是否会存在差异,这种差异是如何产生的。
1.数字信号处理概述性介绍
在教材绪论的基础上,进一步从互联网查阅有关数字信号处理的概述性介绍,理解并总结:
①什么是信号处理?什么是数字信号处理(侧重阐述其中“数字”的概念体现在什么方面)?
②数字信号处理的实现方法主要有哪些?各种实现方法分别有何优缺点?
③相对于模拟的信号处理方式,数字信号处理具有哪些突出的优势?
1.信号处理:按照一定的目的对信号进行加工和变换
数字信号处理:利用数字系统、采用数值运算的方式来对数字信号进行处理
2.数字信号处理(通常为数据和计算密集型)利用具有数字运算能力的软件或硬件系统来实现
软件实现:通用计算机、嵌入式计算机、DSP处理器。灵活,但处理速度相对较慢,成本较高。适用于小规模或者处理方式复杂但计算量相对较小的应用
硬件实现:专用芯片(功能单一,速度快,成本低,便于大规模应用),可编程逻辑芯片(兼具灵活性和速度,但成本较高,适用于小规模应用)
3.灵活性:可以很方便地通过改变数字系统的参数和结构、来得到具有不同特性的系统,从而实现不同的处理目的(例如软件无线电)高精度、高稳定性、高抗干扰能力、可重复性,便于大规模集成、成本逐步降低、性能逐步提升
可以实现很多模拟处理方式所无法实现的信号处理功能(几乎是想得到就能做到)
2.不同采样频率正弦序列的周期性
任意给出一个正弦序列,分别选择不同的数字频率(分别取2π/ω为整数、有理分数、无理数等情形),用MATLAB画出该序列在不同数字频率的波形,根据绘图结果,分析讨论正弦序列的周期性。
代码
t=0:20;
x1=sin(pi/10*t);
subplot(1,3,1)
stem(t,x1)
xlabel('n')
title('sin(\pi/10n)')
x2=sin(4*pi*t/5);
subplot(1,3,2)
stem(t,x2)
xlabel('n')
title('sin(4/5\pin)')
x3=sin(t);
subplot(1,3,3)
stem(t,x3)
xlabel('n')
title('sin(n)')
运行结果
第一个,周期为20
第二个,周期为5/2的分子,即周期为5
第三个,因为2π为无理数,所以不是周期函数
3.conv函数计算线性卷积
利用conv函数计算有限长序列的线性卷积。
①任意取若干个有限长序列,设计适当的方案,验证卷积的结合律和分配律。
②如果求卷积的两个序列,其中一个为无限长序列,用conv函数求线性卷积时,必须进行截断处理。例如,设f(n)为长度为10的矩形序列,u(n)为单位阶跃序列,用conv函数求y(n)=f(n)*u(n),如果要计算出n=0:100的y(n)卷积结果,应该如何处理,才能得到正确的卷积结果。请设计适当的方案,并用MATLAB编程进行验证。(可参考上学期信号课实验四的相关内容)
代码:
n=0:100;
un=stepfun(n,0); %阶跃函数
xn=stepfun(n,10);
fn=un-xn; %阶跃函数相减得到长度为10的矩形序列
yn=conv(fn,un);
stem(yn);
axis([0 100 0 10]);
运行结果:
4.二阶离散LTI系统的时域响应
任意给定一个二阶离散LTI系统、初始状态、外加激励,利用MATLAB的filter函数求解该系统的零输入响应、零状态响应、全响应并画出各响应的波形。改变系统参数(差分方程的系数),分别取系统稳定和不稳定两种情形进行求解,比较稳定和不稳定条件下系统时域响应的特点。
稳定与否在于极点是否在单位圆内。
1、不稳定的情况
代码:
%% 任务1:求解一个不稳定系统的零输入、零状态、全响应
%% 其中2y(n)-y(n-1)-3y(n-2)=2x(n)-x(n-1);x(n)=u(n),y(-1)=1,y(-2)=3
%% 代码:
clear all;
close all;
num=[2 -1 0]; %系统函数分子的系数
den=[2 -1 -3]; %系统函数分母的系数
n=0:50;
nl=length(n); %求零输入响应
y01=[1 3]; %y的初始状态
x01=[0 0]; %x 的初始状态
x1=zeros(1,nl); %零输入响应的标志
zi1=filtic(num,den,y01,x01); %为filter函数准备初始值
y1=filter(num,den,x1,zi1); %求零输入响应
subplot(311);
stem(n,y1,'r.')
title('零输入响应');
grid on; %求零状态响应
y02=[0 0];
x02=[0 0];
x2=ones(1,nl); %此处与零输入响应不同
zi2=filtic(num,den,y02,x02);
y2=filter(num,den,x2,zi2);
subplot(312);
stem(n,y2,'r.')
title('零状态响应');
grid on; %求全响应
y03=[1 3];
x03=[0 0];
x3=ones(1,nl);
zi3=filtic(num,den,y03,x03);
y3=filter(num,den,x1,zi3);
subplot(313);
stem(n,y3,'r.');
title('全响应');
grid on;
运行结果:
2、稳定的情况
代码:
%% 任务2:求解一个稳定系统的零输入、零状态、全响应
%% 其中4y(n)-y(n-2)=2x(n)-x(n-1);x(n)=u(n),y(-1)=1,y(-2)=3
%% 代码:
clear all;
close all;
num=[2 -1 0]; %系统函数分子的系数
den=[4 0 -1]; %系统函数分母的系数
n=0:50;
nl=length(n); %求零输入响应
y01=[1 3]; %y的初始状态
x01=[0 0]; %x 的初始状态
x1=zeros(1,nl); %零输入的标志
zi1=filtic(num,den,y01,x01); %为filter函数准备初始值
y1=filter(num,den,x1,zi1); %求零输入响应
subplot(311);
stem(n,y1,'r.')
title('零输入响应');
grid on; %求零状态响应
y02=[0 0];
x02=[0 0];
x2=ones(1,nl); %注意与零输入区分
zi2=filtic(num,den,y02,x02);
y2=filter(num,den,x2,zi2);
subplot(312);
stem(n,y2,'r.')
title('零状态响应');
grid on; %求全响应
y03=[1 3];
x03=[0 0];
x3=ones(1,nl);
zi3=filtic(num,den,y03,x03);
y3=filter(num,den,x3,zi3);
subplot(313);
stem(n,y3,'r.');
title('全响应');
grid on;
运行结果:
特点:
稳定系统的响应是收敛的;
不稳定系统的响应是发散的。
5.特征根对二阶离散LTI系统时域响应的影响
针对上一题给出的系统,改变系统参数,在保持系统稳定的条件下,分别求解系统特征根为两个正实数、两个负实数和一对共轭复数时的响应,并画出时域响应波形(备注特征根的值),比较其响应特性的区别,总结特征根对系统时域响应特性的影响。
代码:
%% 任务
% 改变系统参数,在保持系统稳定的条件下,分别求解系统特征根为两个
% 正实数、两个负实数和一对共轭复数时的响应,并画出时域响应波形
%% No.1特征根为两个正实数1/2和1/3
%% 其中6y(n)-5y(n-1)+y(n-2)=2x(n)-x(n-1);x(n)=u(n),y(-1)=1,y(-2)=3
%% 代码:
% clear all;
% close all;
% num=[2 -1 0]; %系统函数分子的系数
% den=[6 -5 1]; %系统函数分母的系数
% n=0:50;
% nl=length(n);
%
% grid on; %求全响应
% y03=[1 3];
% x03=[0 0];
% x3=ones(1,nl);
% zi3=filtic(num,den,y03,x03);
% y3=filter(num,den,x3,zi3);
% stem(n,y3,'r.');
% title('全响应');
% grid on;
%% No.2特征根为两个负实数-1/2和-1/3
%% 其中6y(n)+5y(n-1)+y(n-2)=2x(n)-x(n-1);x(n)=u(n),y(-1)=1,y(-2)=3
%% 代码:
% clear all;
% close all;
% num=[2 -1 0]; %系统函数分子的系数
% den=[6 5 1]; %系统函数分母的系数
% n=0:50;
% nl=length(n);
%
% grid on; %求全响应
% y03=[1 3];
% x03=[0 0];
% x3=ones(1,nl);
% zi3=filtic(num,den,y03,x03);
% y3=filter(num,den,x3,zi3);
% stem(n,y3,'r.');
% title('全响应');
% grid on;
%% No.3特征根为一对共轭复数-1/2+1/2j和-1/2-1/2j
%% 其中2y(n)+2y(n-1)+y(n-2)=2x(n)-x(n-1);x(n)=u(n),y(-1)=1,y(-2)=3
%% 代码:
clear all;
close all;
num=[2 -1 0]; %系统函数分子的系数
den=[2 2 1]; %系统函数分母的系数
n=0:50;
nl=length(n);
grid on; %求全响应
y03=[1 3];
x03=[0 0];
x3=ones(1,nl);
zi3=filtic(num,den,y03,x03);
y3=filter(num,den,x3,zi3);
stem(n,y3,'r.');
title('全响应');
grid on;
运行结果:
No.1特征根为两个正实数1/2和1/3
No.2特征根为两个负实数-1/2和-1/3
No.3特征根为一对共轭复数-1/2+1/2j和-1/2-1/2j
6.课程实验一般步骤
分析信号与系统课程综合实验参考程序的结果,着重注意以下一些问题:
①根据问题分析的需要,如何合理地设计实验方案,包括系统和信号的模型、实验参数、实验的步骤和方法;
②在程序设计时,如何以合理有效的方式来展示实验结果,便于对实验结果进行对比分析;
③怎么结合相关理论知识,对实验结果及其得到的结论进行总结和概括;
④对于模拟信号,如果转换为离散信号,用数字(数值计算)的方法来进行分析和处理(比如分析信号的频谱、求信号的卷积),需要注意哪些问题,数值计算的结果如何与模拟信号、模拟系统的结果对应起来,两者之间是否会存在差异,这种差异是如何产生的。
答:
①在综合实验中,首先明确探究目的和已有条件,制定计划与设计实验的过程,据此需要构建出一个合理的实验模型,从零极点问题出发,构造出一个比较稳定的模型,考虑影响问题的主要因素,通过控制变量法、转换法、现象或数据归纳法来研究不同变量造成的不同结果,并以此进行实验结论的分析。
②程序设计中主要用到的比较差异的方法为控制变量法,将改变变量后的结果图形展示在依次进行比对。
③实验结果的表示,首先取决于实验的物理模式,通过被测量之间的相互关系,考虑实验结果的表示方法,常见的实验结果的表示方法是有图解法和方程表示法。通过图形和方程的方法,将我们所需要的结果以一种直观的方式表现出来,在此基础上进行实验的结论概括。
④有差异,从模拟信号转变为数字信号分为三大步骤:一、采样,二、量化,三,编码。量化会有信息的丢失,量化实质上是规定一个最小刻度,基于这个刻度,使用一些手段将连续的信号值转换为离散的信号值。
三、反思总结
疑惑:不太理解第5题稳定后冲激序列的高度由什么决定。
第一次写博客,请大家批评指正!