《数字信号处理》实验指导书信息与机电工程学院实验中心2017-11-20实验一 常见离散信号的MATLAB 产生和图形显示一、实验目的:加深对常用离散信号的理解; 二、实验原理:1、基础知识:R1.1 单位样本序列10[]0n n n δ=⎧=⎨≠⎩如果()n δ在时间轴上延迟了k 个单位,得到()n k δ-,即:1[]0n k n k n kδ=⎧-=⎨≠⎩R1.2 单位阶跃序列10[]0n u n n ≥⎧=⎨<⎩ R1.3 指数序列[]n x n A α=,其中()00j e σωα+=,j A A e φ=,则前式化为()000000[]cos()sin()n j n n n x n A eA e n j A e n σωφσσωφωφ++==+++R1.4 正弦序列0[]cos()x n A n ωφ=+,其中A ,0ω,φ是实数,分别称为正弦序列的振幅、角频率和初始相位。
00/2f ωπ=称为频率。
2、用到的MATLAB 命令 运算符和特殊符号 : . + -* / .^ ; %基本矩阵和矩阵控制 i ones pirand randnzeros基本函数 cos sin exp imag real二维图形 axis gird legendplotstem title xlabel ylabelstairs 通用图形函数 clf subplot三、实验内容及要求:编制程序产生信号,并绘出其图形。
例1.1单位样本和单位阶跃序列% 程序 P1.1% 一个单位样本序列的产生clf;% 产生一个从-10到20的向量n = -10:20;% 产生单位样本序列u = [zeros(1,10) 1 zeros(1,20)];% 绘制单位样本序列stem(n,u);xlabel('时间序号 n');ylabel('振幅');title('单位样本序列');axis([-10 20 0 1.2]);习题:Q1.1 运行程序P1.1,以产生单位样本序列u[n]并记录它。
% 程序 P1.1% 一个单位样本序列的产生clf;% 产生一个从-10到20的向量n = -10:20;% 产生单位样本序列u = [zeros(1,10) 1 zeros(1,20)];% 绘制单位样本序列stem(n,u);xlabel('时间序号 n');ylabel('振幅');title('单位样本序列');axis([-10 20 0 1.2]);U[n]序列:Q1.2 命令clf,axis,title,xlabel,ylabel的作用是什么?答:clf: 清除当前图像窗口;axis:设置坐标轴范围和纵横比;title: 给图附上标题;xlabel:图形横坐标附上标签;ylabel:图形纵坐标附上标签;Q1.3 修改程序P1.1,以产生单位阶跃序列u[n]并记录它。
例1.2指数信号% 程序 P1.2% 生成一个复指数序列clf;c = -(1/12)+(pi/6)*i;n = 0:40;K=2;x = K*exp(c*n);subplot(2,1,1);stem(n,real(x));xlabel('时间序号 n');ylabel('振幅');title('复指数序列-实部');subplot(2,1,2);stem(n,imag(x));xlabel('时间序号 n');ylabel('振幅');title('复指数序列-虚部');% 程序 P1.3% 产生一个实指数序列clf;n = 0:35; a1 = 1.2; k=0.2;x = k*a1.^n;stem(n,x);xlabel('时间序号 n');ylabel('振幅');title('实指数序列');习题:Q1.4 运行程序P1.2,以产生复指数序列并记录它。
% 程序 P1.2% 生成一个复指数序列clf;c = -(1/12)+(pi/6)*i;n = 0:40;K=2;x = K*exp(c*n);subplot(2,1,1);stem(n,real(x));xlabel('时间序号 n');ylabel('振幅');title('复指数序列-实部');subplot(2,1,2);stem(n,imag(x));xlabel('时间序号 n');ylabel('振幅');title('复指数序列-虚部');Q1.5 哪个参数控制该序列的增长或衰减率?哪个参数控制该序列的振幅?答:exp控制该序列的增长或衰减率,K控制该序列的振幅。
Q1.6 若参数c改为1/12+(pi/6)*i,将会发生什么情况?答:图像趋势从从衰减改变成增长。
Q1.7 real、imag和subplot的作用是什么?答:real:取实部;imag:取虚部;subplot:可多图分区呈现;Q1.8 运行程序P1.3,以产生实指数序列并记录它。
% 程序 P1.3% 产生一个实指数序列clf;n = 0:35; a1 = 1.2; k=0.2;x = k*a1.^n;stem(n,x);xlabel('时间序号 n');ylabel('振幅');title('实指数序列');Q1.9 哪个参数控制该序列的增长或衰减率?哪个参数控制该序列的振幅?答:a1控制该序列的增长或衰减率,k控制该序列的振幅。
Q1.10 若参数a小于1,会发生什么情况?将参数a改为0.9,将参数k改为20,再次运行程序P1.3并记录。
答:该序列将从增长趋势变为衰减趋势。
Q1.11 real、imag和subplot的作用是什么?答:real:取实部;imag:取虚部;subplot:可多图分区呈现;例1.3正弦序列% 程序 P1.4% 产生一个正弦序列n = 0:40;f = 0.1;phase = 0;A = 1.5;arg = 2*pi*f*n - phase;x = A*cos(arg);clf; % 清除旧图形stem(n,x); % 绘制产生的序列axis([0 40 -2 2]);grid;title('正弦序列');xlabel('时间序号 n');ylabel('振幅');axis;习题Q1.12 运行程序P1.4,以产生正弦序列并记录它。
% 程序 P1.4% 产生一个正弦序列n = 0:40;f = 0.1;phase = 0;A = 1.5;arg = 2*pi*f*n - phase;x = A*cos(arg);clf; % 清除旧图形stem(n,x); % 绘制产生的序列axis([0 40 -2 2]);grid;title('正弦序列');xlabel('时间序号 n');ylabel('振幅');axis;Q1.13 该序列的频率是多少?周期是多少?哪个参数控制该序列的相位?哪个参数控制该序列的振幅?答:f=0.1Hz,T=10s,phase控制该序列的相位,A控制该序列的振幅。
Q1.14 修改程序P1.4,以产生一个频率为0.9的正弦序列并记录它,与Q1.12中产生的序列做比较;修改程序P1.4,以产生一个频率为1.1的正弦序列并记录它,与Q1.12中产生的序列做比较。
评价得到的结果。
答:(1)f=0.9时,该图形与f=0.1时图形一样,因为f=0.1时该正弦序列的最小周期是2pi,当f=0.9时其周期正好是2pi的整数倍。
(2)f=1.1时,该图形与f=0.1时图形一样,因为f=0.1时该正弦序列的最小周期是2pi,当f=1.1时其周期正好是2pi的整数倍。
Q1.15 axis和grid的作用是什么?答:axis:设置坐标轴范围和纵横比;grid:显示或者隐藏轴线。
Q1.16 在程序P1.4中用plot代替stem,运行程序,比较新图形与Q1.12中生成的图形有什么区别?在程序P1.4中用stairs代替stem,运行程序,比较新图形与Q1.12中生成的图形有什么区别?答:(1)plot让原本的点线图变成了折线图。
(2)stairs使之为阶梯图像。
实验2 离散时间系统的时域分析一、实验目的:加深对线性时不变离散时间系统的冲激响应、阶跃响应和卷积的理解。
二、实验原理:1、基础知识R2.1 数字滤波器对单位样本序列{}[]n δ的响应称为单位样本响应,简称冲激响应,用{}[]h n 表示。
相应的,离散时间系统对单位阶跃序列{}[]n μ的响应用{}[]n δ表示,称为单位阶跃响应,简称阶跃响应。
R2.2 输入信号[]x n 的冲激响应[]h n 可用来描述线性时不变离散系统的响应[]y n ,表示为[][][]k y n h k x n k ∞=-∞=-∑,=>,[][][]k y n h n k x k ∞=-∞=-∑,=>,[][][]y n h n x n =⊗。
R2.3 线性时不变离散时间系统用形如[][]NMkk k k dy n k p x n k ==-=-∑∑的线性常系数差分方程来描述。
其中,[]x n 和[]y n 分别是系统的输入和输出,{}k d 和{}k p 是常数。
离散时间系统的阶数为max(,)N M ,它表征系统差分方程的阶数。
R2.4 若离散时间系统的冲激响应[]h n 是有限长的,则该系统称为有限冲激响应(FIR )系统。
否则,该系统就称为无限冲激响应(IIR )系统。
2、用到的MATLAB 命令 运算符和特殊符号 : . + - * / .^ ; %基本矩阵和矩阵控制 ones pi zeros基本函数 cos abs二维图形axis plot stemtitlexlabelylabel通用图形函数 clf subplot 多项式和内插函数 conv信号处理工具箱filterimpzstepz三、实验内容:例2.1 线性时不变离散时间系统的冲激响应的计算MATLAB命令y=impz(num,den,N),可用来计算下式+-+-=--……(2.1)的因果线性时不变离散[]0.75[1]0.125[2][][1]y n y n y n x n x n时间系统的冲激响应的前N个样本。
% 程序 P2.1% 计算冲激响应 yclf;N = 40;num = [1 -1];den = [1 0.75 0.125];y = impz(num,den,N);% 画出冲激响应stem(y);xlabel('时间序号 n'); ylabel('振幅');title('冲激响应'); grid;习题:Q2.1 运行程序P2.1,生成式(2.1)所给的离散时间系统的冲激响应并记录。