信号处理原理实验指导书
数字信号处理实验指导书08.10
《数字信号处理》实验指导书自动化工程学院2008年实验基本要求课程名称:数字信号处理实验开课学期:5课程总学时:10学时(课内)开课对象:测控技术与仪器专业实验目的与要求:《数字信号处理》课程是自动化、电子信息、电子信息科学与技术、通信工程等专业的重要专业基础课。
本课程以信号与系统、工程数学为基础,要求学生掌握时域离散信号和系统的基本理论、基本分析方法以及FFT、数字滤波器等数字信号处理技术。
《数字信号处理》是一门理论与实践联系紧密的课程,本课程安排5个实验,共计10个学时,以帮助学生掌握数字信号处理技术,提高学生分析问题和解决问题的能力,并通过实验培养学生的创新意识。
本实验课程的基本要求如下:1.学会用MATLAB语言编写控制系统设计与分析的程序,通过上机实习加深对课堂所学知识的理解。
2.上机前按要求把实验内容准备好,编好程序及需要改变的参数,能预计出可能出现的结果。
3.观察实验结果,得出结论。
4.实验结束后提交实验报告。
5.实验考核:采用实验操作与实验报告综合评分。
实验报告内容要求:一、实验名称二、实验目的三、实验内容四、实验所涉及到的理论知识要点五、实验方法及步骤六、实验结果及分析实验一 信号发生一、实验目的1、掌握Matlab软件使用的基本方法;2、利用MATLAB实现常见离散信号的产生和图形显示。
二、实验内容:1 单位采样序列例:利用Matlab产生64点的单位采样序列clear all;N=64;x=zeros(1,N);x(1)=1;xn=0:N-1;stem(xn,x);%离散序列图或杆图axis([-1 65 0 1.1]); %更改绘图坐标2 单位阶跃序列例:产生一个32点的单位阶跃序列。
clear all;N=32;x=ones(1,N);%产生全1矩阵xn=0:N-1;stem(xn,x);axis([-1 32 0 1.1]);3 矩形序列4 单边指数序列例使用Matlab画出a=0.7时点数为32点的单边指数序列:clear all;N=32;a=0.7;xn=0:N-1;x=a.^xn;stem(xn,x);5 正弦信号:()sin()=Ω+f t A tθ例使用Matlab产生一个周期的正弦信号。
《数字信号处理》实验指导书(完整)
《数字信号处理》实验指导书通信教研室安阳工学院二零零九年三月第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 表示。
数字信号处理综合设计实验指导书-基于SYSTEMVIEW 滤波器的设计与仿真
学生需要规划整个系统,确定系统的采样频率、观测时间;细化并设计整个系统,仿真调整并不断改进,达到正确调制、正确滤波、正确解调的目的。
3、拟采用的实验指导方式、教学方法和手段
给学生提出问题和解决问题的思路,提供实验条件和实验要求,给出系统设计的框图,学生根据所学的知识,细化框图,设计系统,不断改进,作好记录,验证结果。
采用理论教学结合实验教学的方法,第一步将实验所需的所有知识点以理论教学的方式传授,第二步将SYSTEMVIEW软件工具以实验的方式让学生熟悉并掌握,最后学生根据实验要求自行设计系统并验证实验结果的正确性。
5、拟采用的实验结果评价办法
给学生提出问题和解决问题的思路,提供实验条件和实验要求,给出系统设计的框图,学生根据所学的知识,细化框图,设计系统,不断改进,作好记录,验证结果。
采用理论教学结合实验教学的方法,第一步将实验所需的所有知识点以理论教学的方式传授,第二步将SYSTEMVIEW软件工具以实验的方式让学生熟悉并掌握,最后学生根据实验要求自行设计系统并验证实验结果的正确性。
4.否达到预定要求;
(2)检查幅度调制的波形以及相加后的信号的波形与频谱是否正常;
(3)了解滤波器在通信系统中的应用
2、实验内容和涉及知识点
通过SYSTEMVIEW软件设计与仿真工具,设计一个FIR数字带通滤波器,预先给定截止频率和在截止频率上的幅度值,通过软件设计完后,确认滤波器的阶数和系统函数,画出该滤波器的频率响应曲线,进行技术指标的验证。
基带信号1
建立一个两载波幅度调制与解调的通信系统,将该滤波器作为两个载波分别解调的关键部件,验证其带通的频率特性的有效性。系统框图如下:
(3)检查解调后的的基带信号是否正常,分析波形变形的原因和解决措施;
数字信号处理实验指导书
数字信号处理实验指导书实验一离散时间系统及离散卷积一、实验目的(1)熟悉MA TLAB软件的使用方法。
(2)熟悉系统函数的零极点分布、单位脉冲响应和系统频率响应等概念。
(3)利用MATLAB绘制系统函数的零极点分布图、系统频率响应和单位脉冲响应。
(4)熟悉离散卷积的概念,并利用MATLAB计算离散卷积。
二、实验内容1、离散时间系统的单位脉冲响应(1)选择一个离散时间系统;(2)用笔进行差分方程的递推计算;(3)编制差分方程的递推计算程序;(4)在计算机上实现递推运算;(5)将程序计算结果与笔算的计算结果进行比较,验证程序运行的正确性;2、离散系统的幅频、相频的分析方法(1)给定一个系统的差分方程或单位取样响应;(2)用笔计算几个特殊的幅频、相频的值,画出示意曲线图;(3)编制离散系统的幅频、相频的分析程序;(4)在计算机上进行离散系统的幅频、相频特性计算,并画出曲线;(5)通过比较,验证程序的正确性;3、离散卷积的计算(1)选择两个有限长序列,用笔计算其线性卷积;(2)编制有限长序列线性卷积程序;(3)利用计算程序对(1)选择的有限长序列进行卷积运算;(4)比较结果验证程序的正确性。
三、实验要求a)自编并调试实验程序,并且,给实验程序加注释;b)按照实验内容完成笔算结果;c)验证计算程序的正确性,记录实验结果。
d) 至少要求一个除参考实例以外的实验结果,在实验报告中,要描述清楚实验结果对应的系统,并对实验结果进行解释说明。
实验二 离散傅立叶变换与快速傅立叶变换一、实验目的1、加深理解离散傅立叶变换及快速傅立叶变换概念;2、学会应用FFT 对典型信号进行频谱分析的方法;3、研究如何利用FFT 程序分析确定性时间连续信号;4、熟悉应用FFT 实现两个序列的线性卷积的方法。
二、实验原理在各种信号序列中,有限长序列信号处理占有很重要地位,对有限长序列,我们可以使用离散Fouier 变换(DFT)。
这一变换不但可以很好的反映序列的频谱特性,而且易于用快速算法在计算机上实现,当序列x(n)的长度为N 时,它的DFT 定义为()()[]()∑==-=10N n nk NWn x n x DFT k X 10-≤≤N k反变换为()()[]()∑==-=-101N n nk N Wk X Nk X IDFT n x 10-≤≤N n有限长序列的DFT 是其Z 变换在单位圆上的等距采样,或者说是序列Fourier变换的等距采样,因此可以用于序列的谱分析。
数字信号处理实验指导书78447
数字信号处理实验指导书实验一 时域离散信号的产生一、实验目的1、了解常用时域离散信号及其特点;2、掌握MATLAB 程序的编程方法;3、熟悉MATLAB 函数的调用方法。
二、实验原理在时间轴上的离散点取值的信号,称为离散时间信号。
离散时间信号只在某些离散的瞬时给出函数值,而在其他时刻无定义。
它是时间上不连续按一定先后次序排列的一组数的集合,称为时间序列,用x(n)表示,n 取整数代表时间的离散时刻。
在MA TLAB 中用向量来表示一个有限长度的序列。
常用离散信号: 1、单位抽样序列10()(00n n n δδ =⎧⎧= ⎨⎨≠ ≠⎩⎩0001n=n 或n-n )=0n n 2、单位阶跃序列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下标能力。
数字信号处理实验指导书
三. 实验主要仪器设备和材料 计算机,MATLAB6.5 或以上版本 四. 实验方法、步骤及结果测试 关于 MATLAB 它是由美国的 Math Works 公司推出的一个科技应用软件,它的名字 是由 MATRIX(矩阵)和 LABORATORY(实验室)的前三个字母组合而 成 MATLAB 是一种高性能的、用于工程计算的编程软件,它把科学计 算、结果的可视化和编程都集中在一个使用方便的环境中 优势在于能很容易求解复数 数值问题,速度快且容易扩展创建新的 命令和函数 主要组成部分: (1)编程语言:以矩阵和数组为基本单位的编程语言 (2)工作环境:包括一系列的应用工具,提供编程和调试程序的环 境
I
目录
目录
前言 ......................................................................................................................................I 目录 .................................................................................................................................... II 实验一 学习使用 MATLAB............................................................................................. 1 一. 实验目的 ................................................................................................. 1 二. 实验内容和要求 ..................................................................................... 1 三. 实验主要仪器设备和材料 ..................................................................... 1 四. 实验方法、步骤及结果测试 ................................................................. 1 五. 实验报告要求 ....................................................................................... 23 六. 思考题 ................................................................................................... 23 实验二 用 FFT 做谱分析 ............................................................................................... 24 一. 实验目的 ............................................................................................... 24 二. 实验内容和要求 ................................................................................... 24 三. 实验主要仪器设备和材料 ................................................................... 25 四. 实验方法、步骤及结果测试 ............................................................... 25 五. 实验报告要求 ....................................................................................... 37 六. 思考题 ................................................................................................... 37 实验三 用双线性变换法设计 IIR 数字滤波器 ............................................................. 38 一. 实验目的 ............................................................................................... 38 二. 实验内容和要求 ................................................................................... 38 三. 实验主要仪器设备和材料 ................................................................... 38 四. 实验方法、步骤及结果测试 ............................................................... 38 五. 实验报告要求 ....................................................................................... 43 六. 思考题 ................................................................................................... 43 实验四 用窗函数法设计 FIR 数字滤波器 .................................................................... 44 一. 实验目的 ............................................................................................... 44 二. 实验内容和要求 ................................................................................... 44 三. 实验主要仪器设备和材料 ................................................................... 45 四. 实验方法、步骤及结果测试 ............................................................... 45 五. 实验报告要求 ....................................................................................... 51 六. 思考题 ................................................................................................... 51
《数字信号处理》上机实验指导书
《数字信号处理》上机实验指导书实验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中把所有参与处理的数据都视为矩阵,并且其函数众多,希望同学注意查看帮助,经过一段时间的训练就会慢慢熟练使用本软件了。
数字信号处理实验指导书
《数字信号处理》实验指导书信息与机电工程学院实验中心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]并记录它。
实验一数字信号分析与处理实验指导书
数字信号分析与处理实验指导书实验一用FFT做频谱分析一、实验目的:1.进一步加深对DFT算法原理和基本性质的了解。
2.学习用FFT对连续时域信号进行频谱分析的方法。
了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。
二、实验内容:1.用FFT对连续信号进行频谱分析,先对Xa(t)进行时域采样得到X(n)=Xa(nt)。
再对X(n)进行FFT变换得到Xk(k)。
2.观察和分析泄露原因;改变程序参数观察混叠现象。
3.如何将频谱的横坐标定为频率刻度?三、实验设备与材料:PC计算机;MATLAB软件。
四、实验程序:T1=0.01;N1=40;n1=0:(N1-1);t1=n1*T1;X1=2*s i n(4*p i*t1)+5*c o s(8*p i*t1);X k1=f f t(x1,N1);M1=a b s(X k1):K1=(0:l o n g t h(M1)-1)*N1/l e n g t h(M1)’s u b p l o t(2,4,1);p l o t(t1,x1);a x i s([0,0.4,-7.5.,7]);Ti t l e(‘T1=0.01s,t1=0.4s’);y l a b e l(‘x1(t)’);s u b p l o t(2,4,5);s t e m(k1,M1);t i t l e(‘T1=0.01s,N1=40’);y l a b e l(‘x1(k));T2=0.01;N2=50;n2=0:(N2-1);t2=n2*T2;X2=2*s i n(4*p i*t2)+5*c o s(8*p i*t2);X k2=f f t(x2,N2);M2=a b s(X k2):K2=(0:l o n g t h(M2)-1)*N2/l e n g t h(M2)’s u b p l o t(2,4,2);p l o t(t2,x2);a x i s([0,0.4,-7.5.,7]);Ti t l e(‘T2=0.01s,t2=0.5s’);y l a b e l(‘x2(t)’);s u b p l o t(2,4,6);s t e m(k2,M2);t i t l e(‘T2=0.01s,N2=40’);y l a b e l(‘x2(k));T3=0.005;N3=40;n3=0:(N3-1);t3=n3*T3;X3=2*s i n(4*p i*t3)+5*c o s(8*p i*t3);X k3=f f t(x3,N3);M3=a b s(X k3):K3=(0:l o n g t h(M3)-1)*N3/l e n g t h(M3)’s u b p l o t(2,4,3);p l o t(t3,x3);a x i s([0,0.4,-7.5.,7]);Ti t l e(‘T3=0.005s,t3=0.2s’);y l a b e l(‘x3(t)’);s u b p l o t(2,4,7);s t e m(k3,M3);t i t l e(‘T3=0.005s,N3=40’);y l a b e l(‘x3(k));T4=0.005;N4=50;n4=0:(N4-1);t4=n4*T4;X4=2*s i n(4*p i*t4)+5*c o s(8*p i*t4);X k4=f f t(x4,N4);M4=a b s(X k4):K4=(0:l o n g t h(M4)-1)*N4/l e n g t h(M4)’s u b p l o t(2,4,4);p l o t(t4,x4);a x i s([0,0.4,-7.5.,7]);Ti t l e(‘T4=0.005s,t4=0.25s’);y l a b e l(‘x4(t)’);s u b p l o t(2,4,8);s t e m(k4,M4);t i t l e(‘T4=0.005s,N4=50’);y l a b e l(‘x4(k));。
数字信号处理实验指导书
前言数字信号处理是一门理论和工程实践密切结合的课程。
为了加深对教学内容的理解,应在学习理论的同时,加强上机实验,深入理解和消化基本理论,锻炼初学者独立解决问题的能力。
本课程实验要求学生运用MATLAB编程完成一些数字信号处理的基本功能。
MATLAB是一高效的工程计算语言,它将计算、可视化和编程等功能集于一个易于使用的环境。
在MATLAB环境中描述问题计编制求解问题的程序时,用户可以按照符合人们科学思维的方式和数学表达习惯的语言形式来书写程序。
MATLAB广泛应用于工业,电子,医疗和建筑等众多领域。
其典型应用主要包括以下几个方面:数学计算;算法开发;数据采集;系统建模和仿真;数据分析和可视化科学和工程绘图;应用软件开发(包括用户界面)。
;实验1 用MATLAB产生时域离散信号一、.实验目的:1、了解常用时域离散信号及其特点2、掌握用MATLAB 产生时域离散信号的方法 二、.实验原理: 1、时域离散信号的概念在时间轴的离散点上取值的信号,称为离散时间信号。
通常,离散时间信号用x(n)表示,其幅度可以在某一范围内连续取值。
由于信号处理设备或装置(如计算机、专用的信号处理芯片等)均以有限位的二进制数来表示信号的幅度,因此,信号的幅度也必须离散化。
我们把时间和幅度均取离散值的信号称为时域离散信号或数字信号。
在MATLAB 语言中,时域离散信号可以通过编写程序直接产生。
2、常用时域离散信号的生成 1) 单位抽样序列 单位抽样序列的表示式为⎩⎨⎧=01)(n δ00≠=n n 或 ⎩⎨⎧=-01)(k n δ 0≠=n kn 以下三段程序分别用不同的方法来产生单位抽样序列。
例1-1 用MATLAB 的关系运算式来产生单位抽样序列。
n1= -5;n2=5;n0=0;n=n1:n2; x=[n==n0]; stem(n,x,'filled');axis([n1,n2,0,1.1*max(x)]); xlabel('时间(n)');ylabel('幅度x(n)');title('单位脉冲序列');运行结果如图1-1所示:时间(n)幅度x (n )单位脉冲序列图1-1例1-2 用zeros 函数和抽样点直接赋值来产生单位抽样序列。
语音信号处理实验指导书
语音信号处理实验指导书实验一:语音信号的采集与播放实验目的:了解语音信号的采集与播放过程,掌握采集设备的使用方法。
实验器材:1. 电脑2. 麦克风3. 扬声器或者耳机实验步骤:1. 将麦克风插入电脑的麦克风插孔。
2. 打开电脑的录音软件(如Windows自带的录音机)。
3. 在录音软件中选择麦克风作为录音设备。
4. 点击录音按钮开始录音,讲话或者唱歌几秒钟。
5. 点击住手按钮住手录音。
6. 播放刚刚录制的语音,检查录音效果。
7. 将扬声器或者耳机插入电脑的音频输出插孔。
8. 打开电脑的音频播放软件(如Windows自带的媒体播放器)。
9. 选择要播放的语音文件,点击播放按钮。
10. 检查语音播放效果。
实验二:语音信号的分帧与加窗实验目的:了解语音信号的分帧和加窗过程,掌握分帧和加窗算法的实现方法。
实验器材:1. 电脑2. 麦克风3. 扬声器或者耳机实验步骤:1. 使用实验一中的步骤1-5录制一段语音。
2. 将录制的语音信号进行分帧处理。
选择合适的帧长和帧移参数。
3. 对每一帧的语音信号应用汉明窗。
4. 将处理后的语音帧进行播放,检查分帧和加窗效果。
实验三:语音信号的频谱分析实验目的:了解语音信号的频谱分析过程,掌握频谱分析算法的实现方法。
实验器材:1. 电脑2. 麦克风3. 扬声器或者耳机实验步骤:1. 使用实验一中的步骤1-5录制一段语音。
2. 将录制的语音信号进行分帧处理。
选择合适的帧长和帧移参数。
3. 对每一帧的语音信号应用汉明窗。
4. 对每一帧的语音信号进行快速傅里叶变换(FFT)得到频谱。
5. 将频谱绘制成图象,观察频谱的特征。
6. 对频谱进行谱减法处理,去除噪声。
7. 将处理后的语音帧进行播放,检查频谱分析效果。
实验四:语音信号的降噪处理实验目的:了解语音信号的降噪处理过程,掌握降噪算法的实现方法。
实验器材:1. 电脑2. 麦克风3. 扬声器或者耳机实验步骤:1. 使用实验一中的步骤1-5录制一段带噪声的语音。
数字信号处理实验指导书(带源程序)
实验一离散时间系统与MA TLAB一. 实验目的1. 进一步加深对离散时间系统的理解。
2. 学习在MATLAB中怎样表示离散时间信号。
3. 熟悉离散时间信号的作图。
二. 实验步骤1. 复习离散时间系统的有关容。
2. 复习MA TLAB的基本语法。
3. 按实验容熟悉stem。
4. 编写程序。
5. 输出结果,总结结论,按要求写出实验报告。
三. 实验容1.掌握stem函数STEM(Y) plots the data sequence Y as stems from the x axis terminated with circles for the data value.STEM(X,Y) plots the data sequence Y at the values specified in X.例:t=[0:0.1:2]; x=cos(pi*t+0.6); stem(t,x);xn=[4,2,2,3,6,7]; stem(xn);思考:STEM(Y)与STEM(X,Y)有什么不同?STEM与PLOT函数有什么不同?2.掌握subplot函数H = SUBPLOT(m,n,p), or SUBPLOT(mnp), breaks the Figure window into an m-by-n matrix of small axes, selects the p-th axes for the current plot, and returns the axis handle. The axes are counted along the top row of the Figure window, then the second row, etc.例:n1=0:3;x1=[1,1,1,1];subplot(221);stem(n1,x1);title('x1序列');n2=0:7;x2=[1,2,3,4,4,3,2,1];subplot(222);stem(n2,x2);title('x2序列');n3=0:7;x3=[4,3,2,1,1,2,3,4];subplot(223);stem(n3,x3);title('x3序列');n4=0:7;x41=cos((pi/4)*n4);subplot(224);stem(n4,x41);title('x4序列');思考:subplot是怎样分配各个作图分区的顺序号的?3.信号的运算]0,1.0,4.0,7.0,1[)(1=n x ,]9.0,7.0,5.0,3.0,1.0[)(2=n x ,请作出)()(21n x n x +,)()(21n x n x 的图形。
《数字信号处理》实验指导书
的相角, 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
变换类型 低通
Байду номын сангаас
数字信号处理实验指导书
《数字信号处理》实验指导书编写:刘梦亭审核:司玉娟阎维和适用专业:电子信息工程电子信息科学与技术通信工程等电子信息与工程系2009年9月目录实验一:离散时间信号分析 (1)实验二:离散时间系统分析 (3)实验三:离散系统的Z域分析 (6)实验四:FFT频谱分析及应用 (9)实验五:IIR数字滤波器的设计 (12)实验六:FIR数字滤波器的设计 (16)附录: MATLAB基本操作及常用命令 (20)实验一:离散时间信号分析实验学时:2学时 实验类型:验证 实验要求:必修 一、实验目的1) 掌握离散卷积计算方法; 2) 学会差分方程的迭代解法;3) 了解全响应、零输入响应、零状态响应和初始状态的物理意义和具体求法; 二、实验内容 1、信号的加数学描述 )()()(21n x n x n x += MATLAB 实现 21X X X +=设[ x10=[1 0.7 0.4 0.1 0]; x20=[0.1 0.3 0.5 0.7 0.9 1];]2、信号的乘数学描述 )()()(21n x n x n x *= MATLAB 实现 2.1X X X *=设[ x10=[1 0.7 0.4 0.1 0]; x20=[0.1 0.3 0.5 0.7 0.9 1];]3、计算卷积用MATLAB 计算序列{-2 0 1 –1 3}和序列{1 2 0 -1}的离散卷积。
首先用手工计算,然后用MATLAB 编程验证。
三、实验组织运行要求1、学生在进行实验前必须进行充分的预习,熟悉实验内容;2、学生根据实验要求,读懂并理解相应的程序;3、学生严格遵守实验室的各项规章制度,注意人身和设备安全,配合和服从实验室人员管理;4、教师在学生实验过程中予以必要的辅导,独立完成实验;5、采用集中授课形式。
四、实验条件1、具有WINDOWS 98/2000/NT/XP 操作系统的计算机一台; 2.、MATLAB 编程软件。
《数字信号处理》实验讲义(信息计算)
《数字信号处理》实验指导书实验一 常见离散信号的产生一、实验目的1. 加深对离散信号的理解。
2. 掌握典型离散信号的Matlab 产生和显示。
二、实验原理及方法在MATLAB 中,序列是用矩阵向量表示,但它没有包含采样信息,即序列位置信息,为此,要表示一个序列需要建立两个向量;一是时间序列n,或称位置序列,另一个为取值序列x ,表示如下: n=[…,-3,-2,-1,0,1,2,3,…]x=[…,6,3,5,2,1,7,9,…]一般程序都从0 位置起始,则x= [x(0), x(1), x(2),…]对于多维信号需要建立矩阵来表示,矩阵的每个列向量代表一维信号。
数字信号处理中常用的信号有指数信号、正弦信号、余弦信号、方波信号、锯齿波信号等,在MATLAB 语言中分别由exp, sin, cos, square, sawtooth 等函数来实现。
三、实验内容1. 用MATLAB 编制程序,分别产生长度为N(由输入确定)的序列:①单位冲击响应序列:()n δ可用MATLAB 中zeros 函数来实现; ②单位阶跃序列:u(n)可用MATLAB 中ones 函数来实现; ③正弦序列:()sin()x n n ω=; ④指数序列:(),nx n a n =-∞<<+∞⑤复指数序列:用exp 函数实现()0()a jb nx n K e+=,并给出该复指数序列的实部、虚部、幅值和相位的图形。
(其中00.2,0.5,4,40a b K N =-===.)参考流程图:四、实验报告要求1. 写出实验程序,绘出单位阶跃序列、单位阶跃序列、正弦序列、指数序列的图形以及绘 出复指数序列的实部、虚部、幅值和相位的图形。
2. 序列信号的实现方法。
3. 在计算机上实现正弦序列0()sin(2)x n A fn πϕ=+。
实验二 离散信号的运算一、实验目的1. 掌握离散信号的时域特性。
2. 用MATLAB 实现离散信号的各种运算。
数字信号处理实验指导书
实验-离散系统时域分析一、实验目的1.了解时域离散信号的表示方法;2.掌握线性时不变系统输入输出之间的关系;3.掌握线性卷积运算;4.掌握用线性差分方程描述时域离散系统的输入输出;5.熟悉Matlab编程。
二、实验内容1. 编制nonrec.m函数文件,实现y(n)=h(n)*x(n).这里给定h(n)=R8(n), x(n)=nR16(n), 求y(n).nonrec.m函数文件:function y=nonrec(x,h)x=[x,zeros(1,length(h)-1)];w=zeros(1,length(h));for i=1:length(x)for j=length(h):-1:2w(j)=w(j-1);endw(1)=x(i);y(i)=w*h’;end主程序文件:x=0:15;h=ones(1,8);y=nonrec(x,h);n=0:22;stem(n,y);分析:线性卷积y(n)=x(n)*h(n)的长度为16+8-1=23,可利用y(n)=∑h(m)x(n-m)直接计算得n(n+1)/2, n≤7y(n)= 4(2n-7), 8≤n≤15(n+8)(23-n)/2, 16≤n≤22即 y=[ 0 1 3 6 10 15 21 28 36 44 52 60 68 76 84 92 8 4 75 65 54 42 29 15] ,与曲线相符。
2. 编制rec.m函数文件,实现y(n)=x(n)+∑aky(n-k). 这里给定a1=2rcosw0,a2=-0.952, r=0.95, w0=π/8, 求单位抽样响应h(n).rec.m函数文件:function y=rec(x,a,n)x=[x,zeros(1,n-length(x))]; %补零到所需长度sum=0;w=zeros(1,length(a));for i=1:ny(i)=sum+x(i);for j=length(a):-1:2w(j)=w(j-1);endw(1)=y(i);sum=w*a';end主程序文件:x=[1];a=[2*0.95*cos(pi/8),-0.95^2];h=rec(x,a,75); %取h(n)的长度为75点n=0:74;stem(n,h);分析计算:由题意, a1=2*0.95*cos(π/8), a2=-0.952, 所以,得到系统函数 H(z)=1/[1-1.9cos(π/8)z-1+0.952z-2],做逆Z变换得 h(n)=0.95ncos(πn/8)+ctg(π/8)*0.95nsin(πn/8),利用MATLAB直接画h(n), 即使用下列语句n=0:74;h=0.95.^n.*cos(pi.*n./8)+cot(pi/8).*(0.95.^n).*sin(pi.*n./8);stem(n,h);比较这两个结果。
数字信号处理实验指导书(wcx)
1.线性和非线性系统
例2-1设系统为
y[n]-0.4y[n-1]+0.75y[n-2]=2.2403x[n]+2.4908x[n-1]+2.2403x[n-2]
要求用MATLAB程序仿真系统,输入三个不同的输入序列x1(n),x2(n)和
x(n)=a.x1(n)+b.x2(n),计算并求出相应的输出响应y1[n],y2[n]和y[n]。
数字信号处理应用的一个常见例子是从被加性噪声污染的信号中移除噪声。假定信号s[n]被噪声d[n]所污染,得到一个含有噪声的信号x[n]=s[n]+d[n]。我们需要对x[n]进行运算,产生一个合理的逼近s[n],对时刻n的样本求平均,产生输出信号是一种简单有效的方法。如:三点滑动平均的信号。
程序1-3实现三点滑动平均的信号运算:
(2)程序1-2:正弦序列的产生和绘制
% 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
由固冇频率wn把模拟低通滤波器原型转换为低通高通带通带阻滤运用脉冲响应不变法或双线性变换法把模拟滤波器转换成数字滤波器matlab信号处理工具箱提供了儿个用于直接设计iir数字滤波器的函数这一直接设计iir数字滤波器1butterworth模拟和数字滤波器设计数字域
数字信号处理
实验指导书
王创新文卉
长沙理工大学电气与信息工程学院电子信息工程教研室
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
= j = −1
圆周率π
『说明』 ・表中的变量名假如没有被用户赋值,那么该变量将取表中的预定义值。 ・ 假如用户对表中任何一个预定义变量进行赋值, 则那个变量的默认值将被 用户新赋 的值“临时”覆盖。所谓“临时”是指:假如使用 clear 指令清 除 MATLAB 内存中的变量, 或 MATLAB 指令窗被关闭后重新启动, 那么所有的 预定义变量将被重置为默认值,不管这些预定义变量曾被用户赋过什么值。 ・在遵循 IEEE 算法规则的机器上,被 O 除是允许的。它不会导致程序执行 的中断,只是在给出警告信息的同时,用一个特殊名称(如 Inf,NaN)记述。 这个特殊名称将在以后的计算中以合理的形式发挥作用。 ・虚单元 i,j 的使用须知,请参看例 1.3.3-l 和有关书籍。 4.运算符和表达式 (1) 经典教科书上的算术运算符在 MATLAB 中的表达方式,见表 1.3.2。 表 1.3.2 MATLAB 表达式的基本运算符 数学表达式 加 减 乘 除 幂 MATLAB 运算符 + * /或\ ^ MATLAB 表达式 A+b a-b a*b a/b 或 a\b a^b
sin( x 2 + y 2 )
x2 + y2
所表示的三维曲面 (图 1.3-4) 。x, y
R=sqrt(X.^2+Y.^2)+eps;
%<5>
6
Z=sin(R)./R; surf(X,Y,Z); colormap(cool)
%<6> % %
xlabel('x'),ylabel('y'),zlabel('z + 4.0000i
(2) z2 = 1 + 2 * i z3=2*exp(i*pi/6) z=z1*z2/z3
5
z2 = 1.0000 + 2.0000i z3 = 1.7321 + 1.0000i z = 0.3349 + 5.5801i
计算结果的图形表示 【例 1.3.4-1】画出衰减振荡曲线 y = e
a+b a−b a×b a ÷b
ab
『说明』 ・请读者记住:所有运算定义在复数域上。对于方根问题,运算只返还处于
4
第一象限的那个解。 ・MATLAB 用左斜杠或右斜杠分别表示“左除”或“右除”运算。对标量而 言,这两者的作用没有区别;但对矩阵来说, “左除”和“右除”将产生不 同的影响。 (2)MATLAB 书写表达式的规则与“手写算式”几乎完全相同。 ・表达式由变量名、运算符和函数名组成。 ・表达式将按与常规相同的优先级自左至右执行运算。 ・ 优先级的规定是: 指数运算级别最高, 乘除运算次之, 加减运算级别最低。 ・括号可以改变运算的次序。 ’ ・书写表达式时,赋值符“=”和运算符两侧允许有空格,以增加可读性。 5.复数和复数矩阵 MATLAB 把复数作为一个整体处理 ( 而不必象其他程序语言那样 , 把实 部、虚部分开处理)。虚数单位用预定义变量 i 或 j 表示。 复数 z = a + bi = re 直角坐标表示和极坐标之间转换的 MATLAB 指令 如下: real(z) imag(z) abs(z) angle(z) 给出复数 z 的实部 α = r cos θ 。 给出复数 z 的虚部 α = r sin θ 。 给出复数 z 的模 r =
1.1 MATLAB 的安装和内容选择
图
1.1-1
1.2 Desktop 操作桌面的启动
MATLAB 的启动:双击桌面 MATLAB 图标即可 操作桌面的缺省外貌
图 1.2-1
1
1.3 Command Window 运行入门
Command Window 指令窗简介
图 1.3-1
最简单的计算器使用法 【例 1.3.2-1】求 [12 + 2 × (7 − 4)] ÷ 3 的算术运算结果。
7
图 1.4-2
『说明』 ·历史指令的复制操作步骤大抵相同,但在现场菜单中,应选【Copy】项。 ·单行历史指令的再运行操作更简单,只要用鼠标左键双击所需的那行指令 即可。 指令窗实录指令 diary diary指令能产生“日志”文件,即把当前指令窗巾的所有内容(包括指 令、计算结果等)如实地记录为ASCII文件加以保存。 在MATLAB开启运行的情况下,用户若想把此后指令窗中的全部内容 记录为“日志”文件,那么以下操作过程可供参考。 把将来存放“日志”文件的目录(比如c:\mydir)设置成当前目录。设 置既可以通过桌面匕的【Current Directory】进行,也可以通过存指令 窗中运行cd c:\mydir指令完成。 在MATLAB指令窗中运行指令diary my_diary。此后,指令窗中的显示 内容(包括指 令、计算结果、提示信息等)将全部记录在内存中。 当用户运行关闭记录指令diary off后,那些内存里保存的操作内容就全 部记录在名为my_dlary的“日志”文件中(注意,文件名不带扩展名), 文件my_diary则登录在当前目录c:\mydir中。 『说明』 “日志”文件币能在MATLAB中运行。 不带扩展名的“日志”文件可以用MATfAB的M文件编辑器或其他文本读 写软件打开阅读和编辑。
附录
常 用 MATLAB 函 数 与 命 令 … … … … 39
第一章、MATLAB基础准备及入门
本章有两个目的:一是讲述 MATLAB 正常运行所必须具备的基础条件; 二是简明系统地介绍高度集成的 Desktop 操作桌面的功能和使用方法。 本章的前两节分别讲述:MATLAB 的正确安装方法和 MATLAB 环境的启 动。因为指令窗是 MATLAB 最重要的操作界面,所以本章用第 1.3、1.4 两 节以最简单通俗的叙述、 算例讲述指令窗的基本操作方法和规则。 这部分内 容几乎对 MATLAB 各种版本都适用。 MATLAB6.x 不同于其前版本的最突出之处是:向用户提供前所未有的、 成系列的交互式工作界面。 了解、 熟悉和掌握这些交互界面的基本功能和操 作方法,将使新老用户能事半功倍地利用 MATLAB 去完成各种学习和研究。 为此,本章特设几节用于专门介绍最常用的交互界面:历史指令窗、当前目 录浏览器、工作空间浏览器、内存数组编辑器、交互界面分类目录窗、M 文 件编辑/调试器、及帮助导航/浏览器。 本章是根据 MATLAB6.5 版编写的,但大部分内容也适用于其他 6.x 版。
2
(1)用键盘在 MATLAB 指令窗中输入以下内容 >> (12+2*(7-4))/3^2 (2)在上述表达式输入完成后,按【Enter】键,该就指令被执行。 (3)在指令执行后,MATLAB 指令窗中将显示以下结果。 ans = 2
1 2 3 【例 1.3.2-2】简单矩阵 A = 4 5 6 的输入步骤。 7 8 9
编
者
2005 年 10 月 8 日
目
第一章 第二章
实验一 实验二 实验三 实验四 实验五 实验六
录
MATLAB基 础 准 备 及 入 门 … … … … 1 实 验 部 分 … … … … … … … … … … 16
熟 悉 MATLAB环 境 … … … … … … … 16 信 号 调 制 与 解 调 … … … … … … … 23 频 谱 特 性 曲 线 … … … … … … … … 25 快 速 傅 立 叶 变 换 及 其 应 用 … … … … 29 IIR 滤 波 器 设 计 … … … … … … … 34 FIR 滤 波 器 设 计 … … … … … … … 37
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 2 4 6 8 10 12 14
图 1.3-3
【例 1.3.4-2】 画出 z = 的取值范围是 [ −8,8] 。
clear;x=-8:0.5:8; y=x'; X=ones(size(y))*x; Y=y*ones(size(x));
iθ
a2 + b2 。
以弧度为单位给出复数 z 的相角 θ = arctg
b 。 a
π
i
MATLAB 的矩阵元素允许是复数、复变量和由它们组成的表达式。 【 例 1.3.3-1 】 复 数 z1 = 3 + 4i, z 2 = 1 + 2i, z 3 = 2e 6 表 达 , 及 计 算
z=
z1 z 2 。 z3
预定义变量 ans eps Inf 或 inf i或j pi 含义 计算结果的缺省变量 名 机器零阈值 无穷大,如 I/0 虚单元 i 预定义变量 NaN 或 nan narigin nargout realmax realmin 含义 不是一个数(Not a Numbs),如 0/0,
∞/∞
函数输人宗量数日 函数输出宗量数目 最大正实数 最小正实数
信号处理原理实验指导书
主编:蒋文科 主审:李树涛
银翔
易茗 卢小勇
湖南大学电气与信息工程学院 2005 年 10 月
前言
信号处理原理是一门实践性与理论性并重的课程, 实验环节对于学生理解所学理论知识具有重要的意义, 本实验指导书以信号处理原理所涉及到的典型处理方法 为主,结合 MATLAB 语言,较系统地讲述了 MATLAB 在信 号处理方面的应用。通过实验的系统训练,将帮助同学 们尽早地认识或熟悉 MATLAB 的应用。 实验内容主要包括:MATLAB 熟悉及入门、信号调制 与解调、频谱特性分析、快速傅立叶变换、滤波器设计 等。 限于水平,书中难免有不妥或错误之处,恳请读者 指正。
【例 1.3.2-4】指令的续行输入 S=1-1/2+1/3-1/4+ ... 1/5-1/6+1/7-1/8 S = 0.6345
数值、变量和表达式 前节算例只是演示了“计算器”功能,那仅是 MATLAB 全部功能中很小 的一角。为深入学习 MATLAB,有必要系统介绍一些基本规定。本节先介绍 关于变量的若干规定。 1.数值的记述 MATLAB 的数值采用习惯的十进制表示,可以带小数点或负号。以下记述 都合法3 -99 0.001 9.456 1.3e-3 4.5e33 在采用 IEEE 浮点算法的汁算机上,数值的相对精度是 eps,即大约保持 有效数字 16 位。 数值范围大致为 10e-308~10e308, 即 1 × 10