数字信号处理实验指导书
数字信号处理实验指导书
《数字信号处理》实验指导书信息与机电工程学院实验中心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]并记录它。
《数字信号处理》实验指导书(完整)
《数字信号处理》实验指导书通信教研室安阳工学院二零零九年三月第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 表示。
数字信号处理实验指导书
注意此书用的时候N要先付值数字信号处理实验指导书目录前言 (1)第一章MATLAB基础知识 (1)第二章MATLAB基本数值运算 (4)第三章MATLAB的图形处理功能 (8)第四章MATLAB的程序设计 (11)第五章常用数字信号处理函数 (16)第六章MATLAB在数字信号处理中的应用 (23)实验一常见离散信号的MATLAB产生和图形显示 (33)实验二离散系统的频率响应分析和零、极点分布 (37)实验三序列线性卷积、圆周卷积的计算及其关系的研究 (39)实验四利用DFT分析信号的频谱 (41)实验五信号时间尺度变换的研究 (43)实验六快速傅里叶变换及其应用 (47)实验七IIR滤波器的实现与应用 (56)实验八FIR滤波器的实现与应用 (61)第一章MATLAB基础知识§1-1 MA TLAB软件简介MATLAB,Matrix Laboratory的缩写,是由Mathworks公司开发的一套用于科学工程计算的可视化高性能语言,具有强大的矩阵运算能力。
它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个界面友好的用户环境,在这个环境中,问题与求解都能方便地以数学的语言(主要是矩阵形式)或图形方式表示出来。
与大家常用的Fortran 和C等高级语言相比,MA TLAB的语法规则更简单,更贴近人的思维方式,被称为“草稿纸式的语言”。
§1-2 MA TLAB应用入门1.MATLAB的安装与卸载MATLAB软件在用户接口时具有较强的亲和力,其安装过程比较典型,直接运行光盘中的安装向导支撑程序SETUP.exe,按其提示一步步选择即可。
MATLAB自身带有卸载程序,在其安装目录下有uninstall子目录,运行该目录下uninstall.exe的即可;也可以通过Windows系统的安装卸载程序进行卸载。
2.MATLAB的启动与退出MATLAB安装完成后,会自动在Windows桌面上生成一个MA TLAB图标,它是指向安装目录下\bin\win32\matlab.exe的链接,双击这个图标即可来到MATLAB集成环境的基本窗口;也可以在开始菜单的程序选项中选择MATLAB 快捷方式;还可以在MA TLAB的安装路径的bin子目录中双击可执行文件matlab.exe。
《数字信号处理》实验指导书
R6(n)
0.5
0 0.2
0
5
10
15
20
25 n
30
35
40
45
ቤተ መጻሕፍቲ ባይዱ
50
Magnitude
0.1
0 4
-3
-2
-1
0 Frequency(rad)
1
2
3
Phase
2 0 -2 -4 -3 -2 -1 0 Frequency(rad) 1 2 3
k=0 时的直流分量及其合成的波形:
0.5
the Kth harmonic
the Kth harmonic
0
the Kth harmonic
0 5 10 15 20 25 n 30 35 40 45 50
0
-0.5
-0.5
0
5
10
15
20
sum of the first K+1 harmonics
1
sum of the first K+1 harmonics
25 n
30
35
0
-0.5
-0.5
0
5
10
15
20
sum of the first K+1 harmonics
1
sum of the first K+1 harmonics
25 n
30
35
40
45
50
1
0.5
0.5
0 0 5 10 15 20 25 n 30 35 40 45 50
0 0 5 10 15 20 25 n 30 35 40 45 50
数字信号处理实验指导书
j j
括幅频特性和相频特性)曲线。并将其和第 4 步中得到的结果进行比较。
七. 实验报告内容与要求
1. 简述实验目的、实验原理及实验方法和步骤。 2. 对各实验所得结果进行分析和解释。 3. 打印程序清单和要求的各信号波形。 4. 总结实验中的主要结论。 5. 简要回答思考题。
八. 思考
1. 信号的频域特性即信号的傅立叶变换利用 MATLAB 程序如何实现? 2. 信号的频域特性即频率响应函数 H (e ) 利用 MATLAB 程序如何求取?
4
X (e j ) FT [ x(n)]
n
x ( n) e
j n
(2.1)
序列和信号的傅立叶变换是ω的连续函数, 而计算机只能计算出有限个离散频率点的 函数值。因此在取得频谱函数后,应该在 0~2π之间取许多点,计算这些点的频谱函数 的值,并取它们的包络,该包络才是需要的频率特性。当然,点数取得多一些,该包络才
y(n) 0.05 x(n) 0.05 x(n 1) 0.9 y(n 1) 的响应 y2 (n) ,并绘出 y2 (n) 的时域特性曲
线。
( n) ,并绘出 y1 ( n) 的 5. 利用卷积函数 conv () 求信号 x1 ( n) 通过系统 h1 (n) 的响应 y1
j 能接近真正得频率特性。通常对 X (e ) 在[0,2π]上取模 X (e ) ,绘出幅频特性曲
j
线进行观察分析。系统的频域特性,通常是指求系统频率响应函数 H (e ) ,即系统单位 脉冲响应 h(n)的傅里叶变换。 对于线性时不变时域离散系统,当系统的输入序列为 x(n) ,系统的单位脉冲响应为 为 h(n) ,则线性时不变系统的输出序列为
《数字信号处理实验》指导书
《数字信号处理实验》实验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 转换为级联型结构。
《数 字 信 号 处 理》 实 验 指 导 书PPT文档共55页
3、法律是最保险的头盔。——爱·科 克 4、一个国家如果纲纪不正,其国风一 定颓败 。—— 塞内加 5、法律不能使人人平等,但是在法律 面前人 人是平 等的。 ——波 洛克
谢谢你的阅读
❖ 知识就是财富 ❖ 丰富你的人生
71、既然我已经踏上这条道路,那么,任何东西都不应妨碍我沿着这条路走下去。——康德 72、家庭成为快乐的种子在外也不致成为障碍物但在旅行之际却是夜间的伴侣。——西塞罗 73、坚持意志伟大的事业需要始终不渝的精神。——伏尔泰 74、路漫漫其修道远,吾将上下而求索。——屈原 75、内外相应,言行相称。——韩非
《数字信号处理》实验指导书(全)
数字信号处理实验指导书电子信息工程学院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)这时候即可看到一个绘有正弦曲线的窗口弹出 另:每条语句后面加“;”表示不要显示当前语句的执行结果 不加“;”表示要显示当前语句的执行结果。
数字信号处理实验指导书
% Program P1_2
% Generation of a sinusoidal sequence
n = 0:40;
பைடு நூலகம்f = 0.1;
phase = 0;
A = 1.5;
arg = 2*pi*f*n - phase;
x = A*cos(arg);
clf;
% Clear old graph
附录A MATLAB系统的常用概念 .........................................................................28
附录B
信号处理工具箱函数...........................................................................33
分析,从而进一步研究它们的性质。 2.熟悉离散时间序列的 3 种表示方法:离散时间傅立叶变换(DTFT),离
散傅立叶变换(DFT)和 Z 变换。
二.实验相关知识准备 1.用到的 MATLAB 命令 运算符和特殊字符: < > .* ^ .^ 语言构造与调试: error function pause 基本函数: angle conj rem 数据分析和傅立叶变换函数: fft ifft max min 工具箱: freqz impz residuez zplane
数字信号处理 实验指导书
长沙理工大学电气与信息工程学院
目
录
实验一:离散时间信号的时域分析........................................................................3 实验二:离散时间系统的时域分析........................................................................6 实验三:离散时间信号的频域分析........................................................................9 实验四:线性时不变离散时间系统的频域分析..................................................13 实验五: IIR数字滤波器的设计...........................................................................17 实验六: FIR数字滤波器的设计..........................................................................24
《数字信号处理》实验指导书
实验一 采样率对信号频谱的影响一、实验目的1.理解采样定理; 2.掌握采样频率确定方法; 3.理解频谱的概念; 4.理解三种频率之间的关系。
二、实验原理理想采样过程是连续信号x a (t )与冲激函数串M (t )的乘积的过程∑∞-∞=-=k skT t t M )()(δ (1))()()(ˆt M t x t xa a = (2) 式中T s 为采样间隔。
因此,理想采样过程可以看作是脉冲调制过程,调制信号是连续信号x a (t ),载波信号是冲激函数串M (t )。
显然)()()()()(ˆs k s ak s aa kT t kT xkT t t xt x-=-=∑∑∞-∞=∞-∞=δδ (3)所以,)(ˆt xa 实际上是x a (t )在离散时间kT s 上的取值的集合,即)(ˆs a kT x 。
对信号采样我们最关心的问题是,信号经过采样后是否会丢失信息,或者说能否不失真地恢复原来的模拟信号。
下面从频域出发,根据理想采样信号的频谱)(ˆΩj X a和原来模拟信号的频谱)(Ωj X 之间的关系,来讨论采样不失真的条件∑∞-∞=Ω-Ω=Ωk ssakj j X T j X )(1)(ˆ (4)上式表明,一个连续信号经过理想采样后,其频谱将以采样频率Ωs =2π/T s 为间隔周期延拓,其频谱的幅度与原模拟信号频谱的幅度相差一个常数因子1/T s 。
只要各延拓分量与原频谱分量之间不发生频率上的交叠,则可以完全恢复原来的模拟信号。
根据式(4)可知,要保证各延拓分量与原频谱分量之间不发生频率上的交叠,则必须满足Ωs ≥2Ω。
这就是奈奎斯特采样定理:要想连续信号采样后能够不失真地还原原信号,采样频率必须大于或等于被采样信号最高频率的两倍h s Ω≥Ω2,或者h s f f 2≥,或者2hs T T ≤(5) 即对于最高频率的信号一个周期内至少要采样两点,式中Ωh 、f s 、T h 分别为被采样模拟信号的最高角频率、频率和最小周期。
数字信号处理实验指导书
实验一 信号、系统及系统响应1、实验目的:(1)熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。
(2)熟悉时域离散系统的时域特性。
(3)利用卷积方法观察分析系统的时域特性。
(4)掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
2、实验仪器:PC 机一台 MATLAB 软件 3、实验原理:采样是连续信号数字处理的第一个关键环节。
对一个连续信号)(t x a 进行理想采样的过程可用下式表示。
)()()(ˆt p t x t xa a = 其中)(ˆt xa 为)(t x a 的理想采样,)(t p 为周期冲激脉冲, 即 ∑∞-∞=-=n nT t t p )()(δ;由频域卷积定理,得)]([1)(ˆs a am j X Tj X Ω-Ω=Ω ※ 上式表明,)(ˆΩj X a为)(Ωj X a 的周期延拓,其延拓周期为采样角频率(T s /2π=Ω)。
采样前后的频谱示意图见课本。
只有满足采样定理时,才不会发生频率混叠失真。
在计算机上用高级语言计算)(ˆΩj X a 很不方便,下面给出用序列的傅里叶变换来计算)(ˆΩj X a的方法。
课本中(2.4.7)式∑∞-∞=-=r ajwr TT w j X T e X )]2([1)(π,表示序列的傅里叶变换)(jwe X 和模拟信号)(t x a 的傅里叶变换)(Ωj X a 之间的关系式。
与※式比较,可得T w jw a e X j X Ω==Ω|)()(ˆ,这说明两者之间只在频率度量上差一个常数因子T 。
实验过程中应注意这一差别。
为了在数字计算机上观察分析各种序列的频域特性,通常对)(jwe X 在[]π2,0上进行M 点采样来观察分析。
对长度为N 的有限长序列x(n), 有∑-=-=1)()(N n n jw jw k ke n x eX其中 1,,1,02-==M k k Mw k ,π通常M 应取得大一些,以便观察谱的细节变化。
《数字信号处理》实验指导书(正文)
实验一 离散时间信号分析一、实验目的1.掌握各种常用的序列,理解其数学表达式和波形表示。
2.掌握在计算机中生成及绘制数字信号波形的方法。
3.掌握序列的相加、相乘、移位、反褶等基本运算及计算机实现与作用。
4.掌握线性卷积软件实现的方法。
5.掌握计算机的使用方法和常用系统软件及应用软件的使用。
6.通过编程,上机调试程序,进一步增强使用计算机解决问题的能力。
二、实验原理1.序列的基本概念离散时间信号在数学上可用时间序列来表示,其中代表序列的第n 个数字,n 代表时间的序列,n 的取值范围为∞<<∞-n 的整数,n 取其它值)(n x 没有意义。
离散时间信号可以是由模拟信号通过采样得到,例如对)(t x a 模拟信号进行等间隔采样,采样间隔为T ,得到一个{})(nT x a 有序的数字序列就是离散时间信号,简称序列。
2.常用序列常用序列有:单位脉冲序列(单位采样))(n δ、单位阶跃序列)(n u 、矩形序列)(n R N 、实指数序列、复指数序列、正弦型序列等。
3.序列的基本运算序列的运算包括移位、反褶、和、积、标乘、累加、差分运算等。
4.序列的卷积运算∑∞∞-*=-=)()()()()(n h n x m n h m x n y上式的运算关系称为卷积运算,式中代表两个序列卷积运算。
两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。
其计算的过程包括以下4个步骤。
(1)反褶:先将)(n x 和)(n h 的变量n 换成m ,变成)(m x 和)(m h ,再将)(m h 以纵轴为对称轴反褶成)(m h -。
(2)移位:将)(m h -移位n ,得)(m n h -。
当n 为正数时,右移n 位;当n 为负数时,左移n 位。
(3)相乘:将)(m n h -和)(m x 的对应点值相乘。
(4)求和:将以上所有对应点的乘积累加起来,即得)(n y 。
《数字信号处理》实验指导书
的相角, Ai 就是极点 pi 到单位圆上的点 e jω 的矢量长度(距离),而θ i 就是该矢量 的相角,因此有:
M
∏ B e j(ψ1 +ψ 2 +⋅⋅⋅⋅+ψ M ) j
H (e jω ) =
j =1 N
= H (e jω ) e jϕ (ω )
∏ A e j(θ1+θ2 +⋅⋅⋅⋅+θ N ) i
(1) 设有直流信号 g(t)=1,现对它进行均匀取样,形成序列 g(n)=1。试讨 论若对该序列分别作加窗、补零,信号频谱结构有何变化。 四、实验过程及结果(含程序)
12
13
14
15
16
实验三 IIR 数字滤波器的设计
一、实验目的 (1)掌握双线性变换法及脉冲相应不变法设计 IIR 数字滤波器的具体设计 方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和 带通 IIR 数字滤波器的计算机编程。 (2)观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双 线性变换法及脉冲响应不变法的特点。 (3)熟悉 Butterworth 滤波器、Chebyshev 滤波器和椭圆滤波器的频率特 性
《数字信号处理》
实验指导书
班级: 学号: 姓名: 苏州科技学院 电子教研室
实验一 信号、系统及系统响应
一、实验目的
(1) 熟悉 MATLAB 平台的使用,掌握离散信号、离散系统的 MATLAB 实现。 (2)掌握根据系统函数绘制系统零极点分布图的基本原理和方法。 (3)理解离散系统频率特性分析的基本原理,掌握根据系统函数零极点分布来分 析离散系统频率响应的几何矢量法。
17
变换类型 低通
Байду номын сангаас
数字信号处理实验指导书(学生版)
“数字信号处理”实验指导书(一)一、实验课程编码: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.5
1
0.5
0
-0.5
-1
-1.5
-2
0
2
4
6
8
10
12
14
16
18
20
(3)用 impz 函数 a1=[1,0.75,0.125]; b1=[1,-1]; impz(b1,a1,21);
Impulse Response 1.5
1
0.5
Amplitude
0
-0.5
-1
-1.5
-2
0
2
4
6
8
10 12 n (samples)
5
……
程序计算结果: I.
y[n] + 0.75 y[n − 1] + 0.125 y[n − 2] = x[n] − x[n − 1]
a. 单位冲激响应: (1) 用 filter 函数 a1=[1,0.75,0.125]; b1=[1,-1]; n=0:20; x1=[1 zeros(1,20)]; y1filter=filter(b1,a1,x1); stem(n,y1filter); title('y1filter'); xlabel('x'); ylabel('y');
3. 编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。要求分
别用 filter、conv、impz 三种函数完成。
y[n] + 0.75 y[n − 1] + 0.125 y[n − 2] = x[n] − x[n − 1] y[n] = 0.25{x[n − 1] + x[n − 2] + x[n − 3] + x[n − 4]}
数字信号处理实验指导书
实验一DES 综合外设实验1.1实验目的和要求DES320E 提供了键盘,液晶,数码管,直流电机,步进电机,交通灯等外设。
本实验学习这些外设的控制原理。
本实验为大型综合性实验,要求学生掌握DSP编程的基本方法。
通过实验,学生能编写外设控制程序。
例如,使用交通灯和定时器实现十字路口红绿灯的控制,直流电机的调速控制,使用液晶数码管显示和键盘实现计算器等。
1.2实验原理1) C54XX 的I O 空间读写C54XX 提供64K 字的I O 空间访问能力。
在汇编指令中分别提供了读和写命令:portr和p ortw。
你也可以在C中实现该I O 操作,方法如下:首先定义I O 空间变量,如:ioport unsigned portXXXX;/* 其中,XXXX 代表具体I O 口地址*/然后,就可以象访问普通变量一样访问I O 口。
如portXXXX=0x55;/* 将0x55 写到X XXX 指定的I O 口*/2) 交通灯的控制DES320E 提供了 12 个 LED,其控制地址为 IO 空间的 0x0c000h。
该地址的 D0-11比特位分别对应这12 个L ED。
将1写入可以点亮L ED,0 则关闭。
3) 直流电机控制DES320E 实验系统配有一个小型直流电机,可以 DSP 编程完成直流电机的调速控制。
其控制方法为:当向0x0e000h(…VC5402 的I O 空间)的D0 比特位写入1时,电机正向转动;当写入 0 时,电机反向转动。
用户可以通过 D0 位为 1 或 0 的持续时间(即D0 输出方波的占空比)控制电机的转速。
注意,使用直流电机时,应该先接通电机的电源,方法如下:向I O 空间的0x8000 地址的D0 比特位写入1。
若要关闭电源,请写入0。
当写入1或0时,你可以听到继电器动作的声音。
4) 步进电机的控制DES320E 实验系统还配有一个步进电机。
IO 空间的0x0f000h 的D0,D1,D2,D3 四个比特位分别对应步进电机的四相驱动端。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字信号处理实验指导书武汉理工大学教材中心2010年7月实验一 时域离散信号的产生一、实验目的1、了解常用时域离散信号及其特点;2、掌握MATLAB 程序的编程方法;3、熟悉MATLAB 函数的调用方法。
二、实验原理在时间轴上的离散点取值的信号,称为离散时间信号。
离散时间信号只在某些离散的瞬时给出函数值,而在其他时刻无定义。
它是时间上不连续按一定先后次序排列的一组数的集合,称为时间序列,用x(n)表示,n 取整数代表时间的离散时刻。
在MA TLAB 中用向量来表示一个有限长度的序列。
常用离散信号: 1、单位抽样序列10()(00n n n δδ =⎧⎧= ⎨⎨ ≠ ≠⎩⎩0001n=n 或n-n )=0n n2、单位阶跃序列0110()(-)000n n u n u n n n n ≥ ≥⎧⎧= = ⎨⎨ < <⎩⎩00n 或n3、实指数序列()n x n a =4、复指数序列()()j t x n e αω+=5、正(余)弦序列0()sin()m x n U n ωθ=+6、随机序列在利用计算机进行系统的研究时,经常需要产生随机信号,MATLAB 提供一个工具函数rand 来产生随机信号。
7、周期序列()()x n x n N =+三、实验用函数1、stem功能:绘制二维图形。
调用格式:stem(n,x);n为横轴,x为纵轴的线性图形。
2、length功能:计算某一变量的长度或采样点数。
调用格式:N=length(t);计算时间向量t的个数并赋给变量N。
3、axis功能:限定图形坐标的范围。
调用格式:axis([x1,x2,y1,y2]);横坐标从x1—x2,纵坐标从y1—y2。
4、zeros功能:产生一个全0序列。
调用格式:x=zeros(1,n);产生n个0的序列。
5、ones功能:产生一个全1序列。
调用格式:y=ones(1,n);产生n个1的序列。
四、参考实例例1.1 用Matlab产生单位抽样序列。
%先建立函数impseq(n1,n2,n0)function [x,n]=impseq(n1,n2,n0)n=[n1:n2];x=[(n-n0)==0];%编写主程序调用该函数[x,n]=impseq(-2,8,2);stem(n,x)程序运行结果如图1-1所示:图1-1 单位抽样序列例1.2实数指数序列(运算符“.^”)Matlab程序如下:n=[0:10];x=0.9.^n;stem(n,x)程序运行结果如图1-2所示图1-2 实数指数序列例1.3复数指数序列((0.10.3)()(1010)j nx n en -+= -≤≤)Matlab 程序如下:n=[-10:10]; alpha=-0.1+0.3*j; x=exp(alpha*n); real_x=real(x); image_x=imag(x); mag_x=abs(x); phase_x=angle(x); subplot(2,2,1); stem(n,real_x) subplot(2,2,2); stem(n,image_x) subplot(2,2,3); stem(n,mag_x) subplot(2,2,4); stem(n,phase_x) 程序运行结果如图1-3所示图1-3 复数指数序列例1.4正、余弦序列(0()sin()m x n U n ωθ=+)Matlab 程序如下: n=[0:10];x=3*cos(0.1*pi*n+pi/3); stem(n,x)程序运行结果如图1-4所示图1-4 正、余弦序列例1.5随机序列rand(1,N)产生其元素在[0,1]之间均匀分布长度为N的随机序列randn(1,N)产生均值为0,方差为1,长度为N的高斯随机序列例1.6周期序列如何生成周期序列1、将一个周期复制p次;2、借助矩阵运算、matlab下标能力。
先生成一个包含p列x(n)值的矩阵,然后用结构(:)来把p列串接成一个长周期序列。
因为这个结构只能用于列向,最后还需要做矩阵转置获得所需序列。
Matlab程序如下:x=[1,2,3]; %一个x(n)xn=x'*ones(1,3) %生成p列x(n)xn=xn(:)' %将p列串接成长列序列并转置stem(xn)程序运行的结果如图1-5所示图1-5 周期序列五、实验任务1、调试部分例题程序,掌握Matlab基本操作方法。
2、编写程序,完成下列函数波形:1)利用zeros函数生成单位抽样序列;2)利用zeros函数和ones函数生成单位阶跃序列;六、实验报告1、简述实验目的、原理。
2、写出上机调试通过的实验任务的程序并描述其图形曲线。
实验二离散序列的基本运算一、实验目的1、加强MATLAB运用。
2、了解离散时间序列在时域中的基本运算。
3、熟悉相关函数的使用方法,掌握离散序列运算程序的编写方法。
二、实验原理离散序列的时域运算包括信号的相加、相乘,信号的时域变换包括信号的移位、反折、倒相及尺度变换等。
在MA TLAB中,序列的相加和相乘运算是两个向量之间的运算,因此参加运算的两个序列必须具有相同的长度,否则不能直接进行运算,需要进行相应的处理后再进行运算。
三、实验用函数1、find功能:寻找非零元素的索引号。
调用格式:find((n>=min(n1))&(n<=max(n1))):在符号关系运算条件的范围内寻找非零元素的索引号。
2、fliplr功能:对矩阵行元素进行左右翻转。
调用格式:x1=fliplr(x):将x的行元素进行左右翻转,赋给变量x1。
四、实例1、信号的时域变换1)序列移位将一个离散序列进行移位,形成新的序列:x1(n)=x(n-m)。
当m>0时,原序列向右移m 位,当m<0时,原序列向左移。
%建立移位函数(sigshift(x,m,n0))function [y,n]=sigshift(x,m,n0)n=m+n0;y=x;2)序列反折在这个运算中,x(n)以n=0为基准点,以纵轴为对称轴反折得到一个新的序列。
y(n)=|x(-n)|在MA TLAB中提供了fliplr函数实现序列反折。
%建立反折函数(sigfold(x,n))function [y,n]=sigfold(x,n)y=fliplr(x);n=-fliplr(n);3)序列倒相是求一个与原序列的向量值相反,对应的时间向量不变的新序列。
4)序列的尺度变换通过对时间轴的放大或压缩形成新的序列。
2、序列的算术运算1)序列相加序列相加是指两个序列中相同序号的序列值逐项对应相加,形成新的序列。
参加运算的两个序列的维数不同时%建立通用函数function [y,n]=sigadd(x1,n1,x2,n2)n=min(min(n1),min(n2)) : max(max(n1),max(n2));y1=zeros(1,length(n));y2=y1;y1(find((n>=min(n1))&(n<=max(n1))==1))=x1;y2(find((n>=min(n2))&(n<=max(n2))==1))=x2;y=y1+y2;1)序列相乘序列相加是指两个序列中相同序号的序列值逐项对应相乘,形成新的序列。
参加运算的两个序列的维数不同时处理方法与序列相加相同。
五、实验任务1、理解序列运算的性质,了解函数语句的意义。
2、利用例题函数完成下列序列运算1)已知x1(n)=u(n+1) (-3<n<5);x2(n)=u(n-3) (-4<n<7)求:x(n)=x1(n)+x2(n)2)已知x1(n)=3e-0.25n (-2<n<8)x2(n)=u(n+1) (-3<n<6)求:x(n)=x1(n)*x2(n)六、实验报告1、简述实验目的和原理。
2、列写上机调试通过的程序,并描绘其波形曲线。
实验三 离散卷积的原理及应用一、实验目的1、通过实验进一步理解卷积定理,了解卷积过程;2、掌握应用线性卷积求解离散时间系统响应的基本方法。
二、实验原理对于线性移不变离散系统,任意的输入信号x(n)可以用()n δ及其位移的线性组合来表示,即()()()k x n x k n k δ∞=-∞=-∑当输入为()n δ时,系统的输出y(n)=h(n),由系统的线性移不变性质可以得到系统对x(n)的响应y(n)为()()()k y n x k h n k ∞=-∞=-∑称为离散系统的线性卷积,简写为y(n)=x(n)*h(n)也就是说,如果已知系统的冲激响应,将输入信号与系统的冲激响应进行卷积运算,即可求得系统的响应。
三、实验用函数1、卷积函数conv功能:进行两个序列的卷积运算。
调用格式:y=conv(x,h);用于求解两有限长序列的卷积。
2、sum功能:求各元素之和。
调用格式:y=sum(x);求序列x 中各元素之和。
3、hold功能:控制当前图形窗口是否刷新的双向切换开关。
调用格式:hold on :使当前图形窗口中的图形保持且不被刷新,准备接受绘制新的图形。
hold off :使当前图形窗口中的图形不具备不被刷新的性质。
4、impz功能:求解数字系统的冲激响应。
调用格式:[h,t]=impz(b,a);求解数字系统的冲激响应h ,取样点数为缺省值。
[h,t]=impz(b,a,n);求解数字系统的冲激响应h ,取样点数由n 确定。
impz(b,a);在当前窗口用stem(t,h)函数绘制图形。
5、dstep功能:求解数字系统的阶跃响应。
调用格式:[h,t]=dstep(b,a);求解数字系统的冲激响应h ,取样点数为缺省值。
[h,t]=dstep(b,a,n);求解数字系统的冲激响应h ,取样点数由n 确定。
dstep(b,a);在当前窗口用stairs(t,h)函数绘制图形。
四、参考实例在利用Matlab 提供的卷积函数进行卷积运算时,主要是确定卷积结果的时间区间。
conv 函数默认两信号的时间序列从n=0开始,卷积结果对应的时间序列也从n=0开始。
如果信号不是从0开始,则编程时必须用两个数组确定一个信号,其中,一个数组是信号波形的幅度样值,另一个数组是其对应的时间向量。
%建立一个适用于信号从任意时间开始的通用函数 function [y,ny]=sconv(x,h,nx,nh,p) y=conv(x,h);n1=nx(1)+nh(1); %计算y 的非零样值的起点位置n2=nx(length(x))+nh(length(h)); %计算y 的非零样值的宽度 ny=n1:p:n2; %确定y 的非零样值的时间向量五、实验任务已知一个IIR 数字低通滤波器的系统函数公式为1231230.13210.39630.39630.1321()10.343190.604390.20407z z z H z z z z ------+++=-+-输入一个矩形信号序列 x=square(n/5) (-2<n<10π),求该系统的响应。