数字信号处理实验指导
- 格式:pdf
- 大小:262.72 KB
- 文档页数:14
《数字信号处理》上机实验指导书实验1 离散时间信号的产生1.实验目的数字信号处理系统中的信号都是以离散时间形态存在,所以对离散时间信号的研究是数字信号处理的基本所在。
而要研究离散时间信号,首先需要产生出各种离散时间信号。
MATLAB 是一套功能强大的工程计算及数据处理软件,广泛应用于工业,电子,医疗和建筑等众多领域。
使用MATLAB软件可以很方便地产生各种常见的离散时间信号,而且它还具有强大的绘图功能,便于用户直观地输出处理结果。
通过本实验,学生将学习如何用MATLAB产生一些常见的离散时间信号,并通过MATLAB中的绘图工具对产生的信号进行观察,加深对常用离散信号的理解。
2.实验要求本实验要求学生运用MATLAB编程产生一些基本的离散时间信号,并通过MATLAB的几种绘图指令画出这些图形,以加深对相关教学内容的理解,同时也通过这些简单的函数练习了MATLAB的使用。
3.实验原理(1)常见的离散时间信号1)单位抽样序列,或称为离散时间冲激,单位冲激:?(n)???1?0n?0 n?0如果?(n)在时间轴上延迟了k个单位,得到?(n?k)即:?1n?k ?(n?k)??0n?0?2)单位阶跃序列n?0?1 u(n)?n?0?0在MATLAB中可以利用ones( )函数实现。
x?ones(1,N);3)正弦序列x(n)?Acos(?0n??)这里,A,?0,和?都是实数,它们分别称为本正弦信号x(n)的振幅,角频率和初始相位。
f0??02?为频率。
x(n)?ej?n4)复正弦序列5)实指数序列x(n)?A?n(2)MATLAB编程介绍MATLAB是一套功能强大,但使用方便的工程计算及数据处理软件。
其编程风格很简洁,没有太多的语法限制,所以使用起来非常方便,尤其对初学者来说,可以避免去阅读大量的指令系统,以便很快上手编程。
值得注意得就是,MATLAB中把所有参与处理的数据都视为矩阵,并且其函数众多,希望同学注意查看帮助,经过一段时间的训练就会慢慢熟练使用本软件了。
《数字信号处理》实验指导书实验一离散傅里叶变换一、实验目的(1) 熟悉Matlab的主要操作命令;掌握Matlab的基本使用方法,能够运用Matlab软件分别产生常见的连续信号和离散信号,并对其进行一定的运算。
(2) 理解离散傅立叶变换是信号分析与处理的一种重要变换,特别是FFT在数字信号处理中的高效率应用。
掌握DFT的理论,通过DFT对典型信号进行的频谱分析,加深对DFT的理解。
(3) 通过对同一信号,作不同点数的FFT,比较其对应的频谱,比较两者的异同点,加深理解信号频谱概念和谱分析的原理与方法,了解快速傅立叶变换(FFT)可以提高运算量的特点,并运用Matlab软件分别对离散周期信号和非周期信号进行谱分析,同时绘出幅度频谱和相位频谱。
二、预习要求1、掌握连续信号和离散信号的特点及其运算方法;2、熟悉Matlab的基本编程语言及其变量、数组、向量与矩阵和部分运算符的使用;3、掌握部分Matlab基本数学函数和作图函数的使用。
三、和实验相关的一些功能函数正弦信号:A*sin(w0*t+phi),A*cos(w0*t+phi),A*sin(omega*n+phi);方波信号:square(w0*t),square(w0*t,DUTY),A*square(omega*n);注意DUTY的取值情况。
指数信号:A*exp(a*t);矩形脉冲信号:rectpulse(t),rectpulse(t,w);单位脉冲信号和单位阶跃信号:ones(1,n)和zeros(1,n);基本信号运算函数:abs(幅值)、 angle(相角)。
四、实验原理1、有限长序列x(n)的DFT的概念和公式:N?1?kn?x(k)??x(n)WN?n?0?N?1?kn?x(n)?1x(k)WN??Nk?0?0?k?N?10?n?N?1《数字信号处理》实验指导书WN?e?j(2?/N)2、FFT算法调用格式是X= fft(x)或 X=fft(x,N)对前者,若x的长度是2的整数次幂,则按该长度实现x的快速变换,否则,实现的是慢速的非2的整数次幂的变换;对后者,N应为2的整数次幂,若x的长度小于N,则补零,若超过N,则舍弃N以后的数据。
目录第一部分MATLAB 简介 (1)一、MATLAB简介及其安装使用说明 (1)二、Matlab基本语句 (8)三、Matlab基本数值运算 (13)四、Matlab函数、及其调用方法 (17)第二部分实验内容 (18)实验一离散时间信号分析 (18)实验二离散时间系统分析 (24)实验三利用FFT进行谱分析 (31)实验四利用FFT实现快速卷积 (38)第一部分MATLAB 简介一、MATLAB简介及其安装使用说明1、MATLAB程序设计语言简介MATLAB,Matrix Laboratory的缩写,是由Mathworks公司开发的一套用于科学工程计算的可视化高性能语言,具有强大的矩阵运算能力。
与大家常用的Fortran和C等高级语言相比,MATLAB的语法规则更简单,更贴近人的思维方式,被称之为“草稿纸式的语言”。
截至目前,MATLAB已经发展到7.x版,适用于所有32位的Windows操作系统,按NTFS(NT文件系统)格式下完全安装约需850 MB。
MATLAB软件主要由主包、仿真系统和工具箱三大部分组成。
2、MATLAB应用入门(1)MATLAB的安装与卸载MATLAB软件在用户接口设计上具有较强的亲和力,其安装过程比较典型,直接运行光盘中的安装向导支撑程序SETUP.exe,按其提示一步步选择即可。
MATLAB自身带有卸载程序,在其安装目录下有uninstall子目录,运行该目录下的uninstall.exe即可;也可以通过Windows系统的安装卸载程序进行卸载。
(2)MATLAB的启动与退出MATLAB安装完成后,会自动在Windows桌面上生成一个快捷方式,它是指向安装目录下\bin\win32\matlab.exe的链接,双击它即可来到MATLAB集成环境的基本窗口,通常称之为命令窗口。
MATLAB的退出与普通WIN32的程序一样,值得一提的是它有一个自身专有的快捷键Ctrl+Q。
数字信号处理实验指导书实验一离散时间与系统的傅立叶分析一、实验目的用傅立叶变换对信号和系统进行频域分析。
二、实验原理对信号进行频域分析就是对信号进行傅立叶变换。
对系统进行频域分析即对它的单位脉冲响应进行傅立叶变换,得到系统的传输函数。
也可以由差分方程经过;傅立叶变换直接求它的传输函数。
传输函数代表的就是系统的频率响应特性。
但传输函数是ω的连续函数,计算机只能计算出有限个离散频率点的传输函数值,因此得到传输函数以后,应该在0~2л之间取许多点,计算这些点的传输函数的值,并取它们的包络,该包络才是需要的频率特性。
当然,点数取得多一些,该包络才能接近真正的频率特性。
注意:非周期信号的频率特性是ω的连续函数,而周期信号的频率特性是离散谱,它们的计算公式不一样,响应的波形也不一样。
三、实验内容‘1.已知系统用下面差分方程描述:y(n)=x(n)十ay(n一1)试在a=0.95和a=一0.5两种情况下用傅立叶变换分析系统的频率特性。
要求写出系统的传输函数和幅度响应,并打印|H(e jw)|~ω曲线。
2.已知两系统分别用下面差分方程描述:y1(n)=x(n)+x(n一1)y2(n)=x(n)一x(n一1)试分别写出它们的传输函数和幅度响应,并分别打印|H(e jw)|~ω曲线。
3.已知信号x(n)=R3(n),试分析它的频域特性,要求打印|H(e jw)|~ω曲线。
4.假设x(n)=a(n),将x(n)以2为周期进行周期延拓,得到x(n),试分析它的频率特性,并画出它的幅频特性。
四、实验用MATLAB函数介绍1.abs功能:求绝对值(复数的模)。
y=abs(x):计算实数x的绝对值。
当x为复数时得到x的模(幅度值)。
当x为向量时,计算其每个元素的模,返回模向量y。
2.angle功能:求相角。
Ph=angle(x):计算复向量x的相角(rad)。
Ph值介于-л和+л之间.3.freqz:计算数字滤波器H(z)的频率响应。
《数字信号处理》实验指导书通信教研室安阳工学院二零零九年三月第1章 系统响应及系统稳定性1.1 实验目的● 学会运用MATLAB 求解离散时间系统的零状态响应;● 学会运用MATLAB 求解离散时间系统的单位取样响应;● 学会运用MATLAB 求解离散时间系统的卷积和。
1.2 实验原理及实例分析1.2.1 离散时间系统的响应离散时间LTI 系统可用线性常系数差分方程来描述,即∑∑==-=-Mj jN i i j n x b i n y a 00)()( (1-1) 其中,i a (0=i ,1,…,N )和j b (0=j ,1,…,M )为实常数。
MATLAB 中函数filter 可对式(13-1)的差分方程在指定时间范围内的输入序列所产生的响应进行求解。
函数filter 的语句格式为y=filter(b,a,x)其中,x 为输入的离散序列;y 为输出的离散序列;y 的长度与x 的长度一样;b 与a 分别为差分方程右端与左端的系数向量。
【实例1-1】 已知某LTI 系统的差分方程为)1(2)()2(2)1(4)(3-+=-+--n x n x n y n y n y试用MATLAB 命令绘出当激励信号为)()2/1()(n u n x n=时,该系统的零状态响应。
解:MATLAB 源程序为>>a=[3 -4 2];>>b=[1 2];>>n=0:30;>>x=(1/2).^n;>>y=filter(b,a,x);>>stem(n,y,'fill'),grid on>>xlabel('n'),title('系统响应y(n)')程序运行结果如图1-1所示。
1.2.2 离散时间系统的单位取样响应系统的单位取样响应定义为系统在)(n 激励下系统的零状态响应,用)(n h 表示。
“数字信号处理”实验指导书(一)一、实验课程编码:105003 二、实验课程名称:数字信号处理三、实验项目名称: 应用MATLAB 分析离散信号频谱 四、实验目的掌握应用MATLAB 分析离散信号频谱的方法,即熟悉应用MATLAB 分析离散信号的函数。
五、主要设备安装有MATLAB 软件的电脑 六、实验内容编写MATLAB 程序,实现下面题目:1. 用快速卷积法计算下面两个序列的线性卷积。
)()4.0(s )(15n R n in n x =,)(9.0)(20n R n h n =2.已知序列[]()cos 0120n n N Nx n π⎧≤≤-⎪=⎨⎪⎩其它(1)计算该序列DTFT 的表达式()j X e ω,并画出N=10时的()j X e ω曲线; (2)编写MATLAB 程序,利用FFT 函数,计算N =10时,序列x [k ]的DTFT 在2m mNπω=的抽样值。
利用hold 函数,将抽样点画在()j X e ω的曲线上。
3.理解高密度频谱和高分辨率频谱的概念。
设)52.0cos()48.0(co )(n n s n x ππ+=(1) 取0≤n ≤9,求)(1k X(2) 将(1)中的)(x n 补零加长到0≤n ≤99,求)(2k X (3) 增加取样值的个数,取0≤n ≤99,求)(3k X4. 用DFT 对连续信号做谱分析。
设)50cos()100sin()200cos()(t t t t x a πππ++=,用DFT 分析)(t x a 的频谱结构,选择不同的截取长度Tp ,观察截断效应,试用加窗的方法减少谱间干扰。
选取的参数:(1) 频率s s f T Hz f /1 ,400==(2) 采样信号序列)()()(n w nT x n x a =,)(n w 是窗函数。
选取两种窗函数:矩形窗函数)()(n R n w N =和Hamming 窗,后者在程序中调用函数Hamming 产生宽度为N 的Hamming 窗函数向量。
《数字信号处理实验》实验1 常用信号产生实验目的:学习用MATLAB编程产生各种常见信号。
实验内容:1、矩阵操作:输入矩阵:x=[1 2 3 4;5 4 3 2;3 4 5 6;7 6 5 4]引用 x的第二、三行;引用 x的第三、四列;求矩阵的转置;求矩阵的逆;2、单位脉冲序列:产生δ(n)函数;产生δ(n-3)函数;3、产生阶跃序列:产生U(n)序列;产生U(n-n0)序列;4、产生指数序列:x(n)=0.5n⎪⎭⎫⎝⎛4 35、产生正弦序列:x=2sin(2π*50/12+π/6)6、产生取样函数:7、产生白噪声:产生[0,1]上均匀分布的随机信号:产生均值为0,方差为1的高斯随机信号:8、生成一个幅度按指数衰减的正弦信号:x(t)=Asin(w0t+phi).*exp(-a*t)9、产生三角波:实验要求:打印出程序、图形及运行结果,并分析实验结果。
实验2 利用MATLAB 进行信号分析实验目的:学习用MATLAB 编程进行信号分析实验内容:1数字滤波器的频率响应:数字滤波器的系统函数为:H(z)=21214.013.02.0----++++z z z z , 求其幅频特性和相频特性:2、离散系统零极点图:b =[0.2 0.1 0.3 0.1 0.2];a=[1.0 -1.1 1.5 -0.7 0.3];画出其零极点图3、数字滤波器的冲激响应:b=[0.2 0.1 0.3 0.1 0.2];a=[1.0 -1.1 1.5 -0.7 0.3];求滤波器的冲激响应。
4、 计算离散卷积:x=[1 1 1 1 0 0];y=[2 2 3 4];求x(n)*y(n)。
5、 系统函数转换:(1)将H(z)=)5)(2)(3.0()1)(5.0)(1.0(------z z z z z z 转换为直接型结构。
(2)将H (z )=3213210.31.123.7105.065.06.11-------+--+-zz z z z z 转换为级联型结构。
《数字信号处理》实验指导书实验1 数字滤波器的设计实验序号:1 实验名称:数字滤波器的设计 适用专业:通信工程、电子信息工程 学 时 数:4学时一、实验目的1.掌握双线性变换法设计IIR 数字滤波器的具体设计方法及其原理和窗函数设计FIR 滤波器的设计原理与基本方法。
2.观察双线性变换的频域特性。
熟悉Butterworth 滤波器的频率特性。
3.了解各种不同窗函数对滤波器性能的影响。
4.熟悉Matlab 计算机编程。
二、实验原理1.用双线性变换法设计IIR 数字滤波器方法(1)设计思想:将模拟滤波器转换成数字滤波器的实质是,用一种从s 平面到z 平面的映射函数将Ha(s)转换成H(z)。
对这种映射函数的要求是:(1) 因果稳定的模拟滤波器转换成数字滤波器,仍是因果稳定的。
(2)数字滤波器的频率响应模仿模拟滤波器的频响,s 平面的虚轴映射z 平面的单位圆,相应的频率之间成线性关系。
脉冲响应不变法和双线性变换法都满足如上要求。
s 平面与z 平面之间满足以下映射关系:1111--+-=zz ss 平面的虚轴单值地映射于z 平面的单位圆上,s 平面的左半平面完全映射到z 平面的单位圆内。
双线性变换不存在混叠问题。
双线性变换时一种非线性变换)/ω(tg 2=Ω,这种非线性引起的幅频特性畸变可通过预畸而得到校正。
(2)以低通数字滤波器为例,将设计步骤归纳如下:·确定数字滤波器的性能指标:通带临界频率f p 、阻带临界频率f s ;通带内的最大衰减A p ;阻带内的最小衰减A s ;· 确定相应的数字角频率,ωp=2πfp ;ωs=2πfs ;·计算经过预畸的相应模拟低通原型的频率,)2/(ωtg =Ω;·根据Ωp 和Ωs 计算模拟低通原型滤波器的阶数N ,并求得低通原型的传递函数Ha(s); ·用上面的双线性变换公式代入Ha(s),求出所设计的传递函数H(z); ·分析滤波器特性,检查其指标是否满足要求。
数字信号处理实验指导书电子信息工程学院2012年6月目录实验一离散信号产生和基本运算 (3)实验二基于MATLAB的离散系统时域分析 (7)实验三基于ICETEK-F2812-A 教学系统软件的离散系统时域分析 (9)实验四基于MATLAB 的FFT 算法的应用 (16)实验五基于ICETEK-F2812-A 的FFT 算法分析 (18)实验六基于ICETEK-F2812-A 的数字滤波器设计 (20)实验七基于ICETEK-F2812-A的交通灯综合控制 (24)实验八基于BWDSP100的步进电机控制 (26)实验一离散信号产生和基本运算一、实验目的(1)掌握MATLAB最基本的矩阵运算语句。
(2)掌握对常用离散信号的理解与运算实现。
二、实验原理1.向量的生成a.利用冒号“:”运算生成向量,其语句格式有两种:A=m:nB=m:p:n第一种格式用于生成不长为1的均匀等分向量,m和n分别代表向量的起始值和终止值,n>m 。
第二种格式用于生成步长为p的均匀等分的向量。
b.利用函数linspace()生成向量,linspace()的调用格式为:A=linspace(m,n)B=linspace(m,n,s)第一种格式生成从起始值m开始到终止值n之间的线性等分的100元素的行向量。
第二种格式生成从起始值m开始到终止值n之间的s个线性等分点的行向量。
2.矩阵的算术运算a.加法和减法对于同维矩阵指令的A+BA-B对于矩阵和标量(一个数)的加减运算,指令为:A+3A-9b.乘法和除法运算A*B 是数学中的矩阵乘法,遵循矩阵乘法规则A.*B 是同维矩阵对应位置元素做乘法B=inv(A)是求矩阵的逆A/B 是数学中的矩阵除法,遵循矩阵除法规则A./B 是同维矩阵对应位置元素相除另'A表示矩阵的转置运算3.数组函数下面列举一些基本函数,他们的用法和格式都相同。
sin(A),cos(A),exp(A),log(A)(相当于ln)sqrt(A)开平方 abs(A)求模 real(A)求实部 imag(A)求虚部 式中A 可以是标量也可以是矩阵 例: 利用等差向量产生一个正弦值向量 t=0:0.1:10 A=sin(t) plot(A)这时候即可看到一个绘有正弦曲线的窗口弹出 另:每条语句后面加“;”表示不要显示当前语句的执行结果 不加“;”表示要显示当前语句的执行结果。