首页 数字信号处理实验报告

数字信号处理实验报告

举报
开通vip

数字信号处理实验报告《数字信号处理》 实验指导书 --学生用书V2010-- 信息与机电工程学院实验中心 2010-04-20 实验一  常见离散信号的MATLAB产生和图形显示 一、 实验目的:加深对常用离散信号的理解; 二、 实验原理: 1、基础知识: R1.1      单位样本序列 如果 在时间轴上延迟了k个单位,得到 ,即: R1.2      单位阶跃序列 R1.3  指数序列 ,其中 , ,则前式化为 R1.4      正弦序列 ,其中 , , 是实数,分别称为正弦序列的振幅、角频率和初始相...

数字信号处理实验报告
《数字信号处理》 实验指导书 --学生用书V2010-- 信息与机电工程学院实验中心 2010-04-20 实验一  常见离散信号的MATLAB产生和图形显示 一、 实验目的:加深对常用离散信号的理解; 二、 实验原理: 1、基础知识: R1.1      单位样本序列 如果 在时间轴上延迟了k个单位,得到 ,即: R1.2      单位阶跃序列 R1.3  指数序列 ,其中 , ,则前式化为 R1.4      正弦序列 ,其中 , , 是实数,分别称为正弦序列的振幅、角频率和初始相位。 称为频率。 2、用到的MATLAB命令 运算符和特殊符号 :    .    +    -    *    /    .^    ;    % 基本矩阵和矩阵控制 i    ones        pi        rand        randn        zeros 基本函数 cos        sin        exp        imag        real 二维图形 axis        gird        legend    plot        stem        title        xlabel    ylabel    stairs 通用图形函数 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]并记录它。 Q1.2        命令clf,axis,title,xlabel,ylabel的作用是什么? 答: clf:产生单位样本信号 axis:图 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 数值大小30*1.2 title:图标标题 xlabel:X轴变量 ylabel:Y轴变量 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,以产生复指数序列并记录它。 Q1.5        哪个参数控制该序列的增长或衰减率?哪个参数控制该序列的振幅? 答:exp控制该序列的增长或衰减率,c*n控制该序列的振幅。 Q1.6        若参数c改为1/12+(pi/6)*i,将会发生什么情况? 答:图像从从衰减改变成增长。 Q1.7        real、imag和subplot的作用是什么? 答: subplot:控制频率 real: 实部 imag:虚部 Q1.8        运行程序P1.3,以产生实指数序列并记录它。 Q1.9        哪个参数控制该序列的增长或衰减率?哪个参数控制该序列的振幅? 答:x控制该序列的振幅, n控制该序列的增长或衰减率。 Q1.10    若参数a小于1,会发生什么情况?将参数a改为0.9,将参数k改为20,再次运行程序P1.3并记录。 答:该序列将从增长趋势变为衰减趋势。 例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,以产生正弦序列并记录它。 Q1.13    该序列的频率是多少?周期是多少?哪个参数控制该序列的相位?哪个参数控制该序列的振幅? 答:f=0.1Hz, T=10s,A控制该序列的振幅,arg控制该序列的相位。 Q1.14    修改程序P1.4,以产生一个频率为0.9的正弦序列并记录它,与Q1.12中产生的序列做比较;修改程序P1.4,以产生一个频率为1.1的正弦序列并记录它,与Q1.12中产生的序列做比较。评价得到的结果。 答:第一个是f=0.9,T=10/9,该图形与f=0.1时图形一样,因为f=0.1时该正弦序列的最小周期是2pi,当f=0.9时其周期正好是2pi的整数倍。 第二个是f=1.1,T=10/11,该图形与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中生成的图形有什么区别? 答:plot变成二维序列 Stairs变成阶梯序列 实验2  离散时间系统的时域分析 一、实验目的:加深对线性时不变离散时间系统的冲激响应、阶跃响应和卷积的理解。 二、实验原理: 1、基础知识 R2.1 数字滤波器对单位样本序列 的响应称为单位样本响应,简称冲激响应,用 表示。相应的,离散时间系统对单位阶跃序列 的响应用 表示,称为单位阶跃响应,简称阶跃响应。 R2.2 输入信号 的冲激响应 可用来描述线性时不变离散系统的响应 ,表示为 ,=>, ,=>, 。 R2.3 线性时不变离散时间系统用形如 的线性常系数差分方程来描述。其中, 和 分别是系统的输入和输出, 和 是常数。离散时间系统的阶数为 ,它表征系统差分方程的阶数。 R2.4 若离散时间系统的冲激响应 是有限长的,则该系统称为有限冲激响应(FIR)系统。否则,该系统就称为无限冲激响应(IIR)系统。 2、用到的MATLAB命令 运算符和特殊符号 :    .    +    -    *    /    .^    ;    % 基本矩阵和矩阵控制 ones        pi    zeros 基本函数 cos        abs 二维图形 axis        plot        stem        title        xlabel    ylabel 通用图形函数 clf        subplot 多项式和内插函数 conv 信号处理工具箱 filter        impz        stepz 三、实验内容: 例2.1    线性时不变离散时间系统的冲激响应的计算 MATLAB命令y=impz(num,den,N),可用来计算下式 ……(2.1)的因果线性时不变离散时间系统的冲激响应的前N个样本。 % 程序 P2.1 % 计算冲激响应 y clf; 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)所给的离散时间系统的冲激响应并记录。 Q2.2        修改程序P2.1,产生如下因果线性时不变系统的冲激响应的前45个样本。 Q2.3    编写一个MATLAB程序,生成式(2.1)给出的线性时不变系统的阶跃响应的前40个样本。 例2.2    卷积 把系统的冲激响应与给定的有限长输入序列进行卷积,得到有限冲激响应系统的输出序列。 % 程序 P2.2 clf; h = [3 2 1 -2 1 0 -4 0 3];  %冲激 x = [1 -2 3 -4 3 2 1];  %输入序列 y=conv(h,x); n = 0:14; subplot(2,1,1); stem(n,y); xlabel('时间序号 n');ylabel('振幅'); title('用卷积得到的输出');grid; x1=[x zeros(1,8)]; y1=filter(h,1,x1); subplot(2,1,2); stem(n,y1); xlabel('时间序号 n');ylabel('振幅'); title('由滤波器生成的输出');grid; 习题: Q2.4    运行程序P2.2,对序列x[n]和h[n]求卷积,生成y[n],并用FIR滤波器h[n]对输入x[n]滤波,求得y1[n]。y[n]和y1[n]有差别吗?为什么要使用对x[n]补零后得到的x1[n]作为输入来产生y1[n]? 答:y[n]与y1[n]没有差别;因为fliter函数产生的输出向量y的长度与输入序列x的长度相同,而conv函数输出向量的长度为冲激h与输入序列x的长度之和减一,两者的长度不等,所以要对x[n]补零,使得x1[n]的长度与conv输出向量的长度相等。 例2.3    滤波概念的解释 考虑用如下差分方程描述的两个离散时间系统: 系统1        系统2        对输入    用P2.3程序来计算上述两个系统的输出。 % 程序 P2.3 % 产生输入序列 clf; n = 0:299; x1 = cos(2*pi*10*n/256); x2 = cos(2*pi*100*n/256); x=x1+x2; % 计算输出序列 num1 = [0.5 0.27 0.77]; y1= filter(num1,1,x); % 系统#1输出 num2 = [0.45 0.5 0.45]; den2 = [1 -0.53 0.46]; y2= filter(num2,den2,x); % 系统#2输出 % 画出输出序列 subplot(2,1,1); plot(n,y1);axis([0 300 -2 2]); xlabel('时间序号 n');ylabel('振幅');title('系统#1输出');grid; subplot(2,1,2); plot(n,y2);axis([0 300 -2 2]); xlabel('时间序号 n');ylabel('振幅');title('系统#2输出');grid; 习题: Q2.5    运行程序P2.3。在该程序中,两个滤波器都是低通滤波器,在阻带中,尤其是信号的频点上,有不同的衰减。哪个滤波器能更好地抑制输入信号x[n]的高频分量? 答:如图所示,系统2的干扰明显小于系统1,因此系统2能够更好的抑制高频分量。 实验三 离散时间信号的频域分析 一、实验目的:加深对离散时间信号的DTFT(离散时间傅立叶变换)和DFT(离散傅立叶变换)的理解。 二、实验原理: 1、基础知识 R3.1 序列x[n]的离散时间傅里叶变换(DTFT) 定义为: , 也可表示为: ,其中 , 称为幅度函数, 称为相位函数。在很多应用中被称为幅度谱和相位谱。 R3.2 当 时,有限长序列x[n]的N点离散傅里叶变换(DFT)为 , 2、用到的MATLAB命令 运算符和特殊符号 :    .    +    -    *    /    .^    ;    %    .*    ^ 基本矩阵和矩阵控制 fliplr        i    pi    zeros 基本函数 abs        angle    conj        exp        imag        real        rem 二维图形 axis        plot        stem        title        xlabel    ylabel 通用图形函数 clf        subplot 多项式和内插函数 conv 信号处理工具箱 freqz    impz        zplan 数据分析和傅里叶变换函数 fft        ifft        max        min 三、实验内容: 例3.1    计算离散时间傅里叶变换(DTFT) 序列x[n]的离散时间傅里叶变换 是 的连续函数。由于数据在MATLAB中以向量的形式存在, 只能在一个给定的离散频率的集合中计算。然而,只有类似   形式的 的有理函数,才能计算其离散时间傅里叶变换。 %程序P3.1 %离散时间傅里叶的求取 clf; %计算离散时间傅里叶变换的频率样本 w=-4*pi:8*pi/511:4*pi; num=[2 1];den=[1 -0.6]; h=freqz(num,den,w); %输出DTFT subplot(211) plot(w/pi,real(h));grid title(‘H(e^{j\omega})的实部’);xlabel(‘\omega/\pi’);ylabel(‘振幅’); subplot(212) plot(w/pi,imag(h));grid title(‘H(e^{j\omega})的虚部’);xlabel(‘\omega/\pi’);ylabel(‘振幅’); pause subplot(211) plot(w/pi,abs(h));grid title(‘|H(e^{j\omega})|幅度谱’);xlabel(‘\omega/\pi’);ylabel(‘振幅’); subplot(212) plot(w/pi,angle(h));grid title(‘相位谱arg[H(e^{j\omega})]’); xlabel(‘\omega/\pi’);ylabel(‘以弧度为单位的相位’); 习题: Q3.1        运行程序P3.1,求离散时间傅里叶变换的实部、虚部及幅度和相位谱并记录。 Q3.2    在程序P3.1中,计算离散时间傅里叶变换的原始序列是什么?MATLAB命令pause的作用是什么? Q3.3    修改程序P3.1,在范围 内计算如下序列的离散时间傅里叶变换: 并重做Q3.1。讨论你的结果,你能解释相位谱中的跳变吗?MATLAB命令unwrap可以移除跳变。试求跳变被移除后的相位谱。 例3.2    计算离散傅里叶变换(DFT) 在MATLAB中,使用函数fft很容易地计算有限长序列x[n]的离散傅里叶变换X[k]。此函数有两种形式,fft(x)计算序列x[n]的离散傅里叶变换值X[k],这里X[k]的长度与x[n]的长度相等。fft(x,L)计算序列x[n]的L点离散傅里叶变换,其中L>=N。若L>N,在计算离散傅里叶变换之前,对x[n]尾部的L-N个值进行补零。 已知一长度为16的序列 ,计算其16点DFT,绘出幅度谱图形。 %程序P3.2 %离散傅里叶变换的计算 L=16;n=0:1:L-1; x=cos(5*pi*n/16); X=fft(x); w=2*pi*n/L; plot(w/pi,abs(X)) title('DFT幅度谱,16点') xlabel('频率单位:pi') axis([0 2 0 6]) 习题: Q3.4        运行程序P3.2,求16点离散傅里叶变换的幅度谱并记录。 Q3.5    修改程序P3.2,以补零方式使x[n]加长到 ,求32点离散傅里叶变换的幅度谱并记录。 Q3.6    修改程序P3.2,取x[n]( )求其幅度谱,比较Q3.4、Q3.5得到的结果并讨论。 实验四 线性时不变离散时间系统的频域分析 一、实验目的:加深对线性时不变离散时间系统的频率响应分析和零、极点分布的概念理解。 二、实验原理: 1、基础知识 R4.1线性时不变离散时间系统用形如 的线性常系数差分方程来描述。其变换域分析方法如下: 频域: 系统的频率响应 为 Z域: 系统的传输函数 为 上式也可用下面形式表示: 其中 是 的M个零点,而 是 的N个极点。若N>M,在z=0处另有(N-M)个零点,而若N
本文档为【数字信号处理实验报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_882336
暂无简介~
格式:doc
大小:756KB
软件:Word
页数:41
分类:
上传时间:2018-11-23
浏览量:130