信号处理实验指导Word版
(完整word版)信号分析与处理实验报告程序+报告内容(非常全)

0,11)N -的输入序列,把它按⎩⎨⎧+=)12()2(r x r x 2N W ,title('傅立叶反变换');3.2.4 实验结果图(workspace里的各数据结果在此不一一列出)由图可知,离散时间信号经过傅里叶变换和傅里叶反变换后,没有发生改变,说明了程序的正确性。
3.2.5 频谱混叠%% 验证主程序clc;clear allTs=0.005; %采样时间间隔N=64; %采样点数T0=N*Ts; %采样时间长度M=N*Ts/T0; %M*T0为采样时间,M=1表示采样为整周期采样,M不等于1会发生频谱泄露M1=N1*Ts1/T1;for n=1:N1xx1(n)=10*sin(2*pi*50*n*Ts1+pi/3); %要进行傅立叶变换的连续时间函数endyy1=fft(xx1,N1); %对时域信号做傅立叶变换deltaf1=1/(T1*M1); %书上(6-78)for n=1:N1/2+1yy2(n)=yy1(n); %书上(6-76)endsubplot(2,1,2)f1=0:deltaf1:N1/2*deltaf1; %stem(f1,abs(yy2))xlabel('f/Hz');ylabel('|X(k)|/(A)');title('傅立叶变换');得到图像:四、实验分析1、比较快速傅里叶变换与离散傅里叶变换计算效率对于N 点DFT ,需进行2N 次复数乘法及(1)N N - 次复数加法,而对于同样点数的FFT ,则只需2log 2NN 次复数乘法和 2Nlog N 次复数加法,大大加快了运算速度。
2、离散傅里叶变换与z 变换的关系:有限长序列()x n 的离散傅里叶变换也可以定义为它的z 变换在z 平面单位圆上N 等分的均匀采样,即()[()]()k Nz W X k DFT x n X z -===同时,z 变换可由离散傅里叶变换通过内插函数构造。
医学信号处理 实验指导书

医学信号处理实验1 离散时间信号的表示一、实验目的1.加深对离散时间信号特点的理解2.掌握MATLAB 中一些常用离散时间信号的表示方法 3.学习MATLAB 中M 文件的使用和调用函数方法二、实验方法与示例1.正弦信号离散正弦序列的MATLAB 表示与连续信号类似,只不过是用stem 函数而不是用plot 函数来画出序列的波形。
下面是正弦序列k ⎪⎭⎫⎝⎛6sin π的MATLAB 源程序。
%正弦序列实现程序 k=0:39;fk=sin(pi/6*k); stem(k,fk)title('正弦序列sin(pi/6*k)的波形') 程序运行结果如图1–1所示。
510152025303540-1-0.8-0.6-0.4-0.200.20.40.60.81正弦序列sin(pi/6*k)的波形图1–1 正弦序列波形2.实指数序列离散实指数序列的一般形式为kca ,可用MA TLAB 中的数组幂运算(即点幂运算)c*k a .^来实现。
可直接实现 也可调用用MATLAB 编写绘制离散时间实指数序列波形的函数。
下面为实指数序列的波形函数。
function dszsu(c,a,k1,k2) %c :指数序列的幅度 %a :指数序列的底数%k1:绘制序列的起始序号 %k2:绘制序列的终止序号 k=k1:k2; x=c*(a.^k); stem(k,x,'filled')3.复指数序列对于复指数序列,其一般形式为[]kj kf k r eω=,可以通过调用下面绘制复指数序列时域波形的MATLAB 函数。
function dfzsu(n1,n2,r,w)%n1:绘制波形的虚指数序列的起始时间序号 %n2:绘制波形的虚指数序列的终止时间序号 %w :虚指数序列的角频率 %r: 指数序列的底数 k=n1:n2;f=(r*exp(i*w)).^k; Xr=real(f); Xi=imag(f); Xa=abs(f); Xn=angle(f);subplot(2,2,1), stem(k,Xr,'filled'),title('实部'); subplot(2,2,3), stem(k,Xi,'filled'),title('虚部'); subplot(2,2,2), stem(k,Xa,'filled'),title('模'); subplot(2,2,4), stem(k,Xn,'filled'),title('相角');4.单位抽样序列可以通过借助MA TLAB 中的零矩阵函数zeros 表示。
信号处理原理实验指导书

= 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
(完整word版)语音信号处理实验报告实验一

通信工程学院12级1班罗恒2012101032实验一语音信号的低通滤波和短时分析综合实验一、实验要求1、根据已有语音信号,设计一个低通滤波器,带宽为采样频率的四分之一,求输出信号;2、辨别原始语音信号与滤波器输出信号有何区别,说明原因;3、改变滤波器带宽,重复滤波实验,辨别语音信号的变化,说明原因;4、利用矩形窗和汉明窗对语音信号进行短时傅立叶分析,绘制语谱图并估计基音周期,分析两种窗函数对基音估计的影响;5、改变窗口长度,重复上一步,说明窗口长度对基音估计的影响。
二、实验目的1.在理论学习的基础上,进一步地理解和掌握语音信号低通滤波的意义,低通滤波分析的基本方法。
2.进一步理解和掌握语音信号不同的窗函数傅里叶变化对基音估计的影响。
三、实验设备1.PC机;2。
MATLAB软件环境;四、实验内容1。
上机前用Matlab语言完成程序编写工作.2。
程序应具有加窗(分帧)、绘制曲线等功能。
3.上机实验时先调试程序,通过后进行信号处理。
4.对录入的语音数据进行处理,并显示运行结果。
5。
改变滤波带宽,辨别与原始信号的区别。
6。
依据曲线对该语音段进行所需要的分析,并且作出结论。
7.改变窗的宽度(帧长),重复上面的分析内容。
五、实验原理及方法利用双线性变换设计IIR滤波器(巴特沃斯数字低通滤波器的设计),首先要设计出满足指标要求的模拟滤波器的传递函数Ha(s),然后由Ha(s)通过双线性变换可得所要设计的IIR滤波器的系统函数H(z)。
如果给定的指标为数字滤波器的指标,则首先要转换成模拟滤波器的技术指标,这里主要是边界频率Wp和Ws的转换,对ap和as指标不作变化。
边界频率的转换关系为∩=2/T tan(w/2).接着,按照模拟低通滤波器的技术指标根据相应设计公式求出滤波器的阶数N和3dB截止频率∩c ;根据阶数N查巴特沃斯归一化低通滤波器参数表,得到归一化传输函数Ha(p);最后,将p=s/ ∩c 代入Ha(p)去归一,得到实际的模拟滤波器传输函数Ha(s)。
信号分析与处理实验指导书

实验一 信号频谱的测量一、实验目的1、掌握信号频谱的测量方法,加深对周期信号频谱特点的了解。
2、研究矩形脉冲时域周期和脉宽的变化对频谱结构的影响,了解时域和频域间的关系。
3、学习TH-SG01P 型功率函数信号发生器各旋钮、开关的作用及其使用方法。
4、学习虚拟示波器的使用方法。
二、原理及说明1、周期信号的频谱分为幅度谱、相位谱和功率谱三种,分别是信号各频率分量的振幅,初相和功率按频率由低到高依次排列构成的图形。
通常讲的频谱指幅度谱,它可选频表或波形分析仪逐个频率测试而得,也可用频率谱仪直接显示,现在更多的是应用虚拟示波器的FFT 变换来实现。
2、连续周期信号频谱的特点是离散性、谐波性和幅度总趋势的收敛性,可以通过对正弦波、三角波、方波(或矩形脉冲)频谱的具体测试而得到验证。
(1)、正弦波的频谱特别简单,即本身频率的振幅,如图1-1所示。
图1-1 正弦波及其频谱(2)、宽度为2τ,高度为A 的三角波的频谱,当2T τ=时,2()2k k A A Sa π=,如图1-2所示。
图1-2 三角波及其频谱ω12ω1k ω13ω ω1ωAk A13ω15ωω12ω 24/(5)A π24/(3)A π /2A1k ωω1ω24/A πkA(3)、矩形脉冲的频谱,122k k A A Sa Tωττ⎛⎫=⎪⎝⎭。
当为方波2T τ=时,12k k A A Sa ωτ⎛=⎝图1-3 (4)、周期型矩形脉冲的频谱按122k A Sa Tωττ⎛⎫⎪⎝⎭规律变化,它的第一个零点频率2πτ取决于脉宽τ,谱线的疏密取决于周期T 。
当脉宽τ不变时,在20πτ内谱线会增多而变密;当周期T 不变而脉宽τ减小时,其第一零点频率会增高,从而使20πτ内的谱线增多;谱线高度都会因T 增大或τ减小而降低。
因此,信号的波形和其频谱间是一一对应的,它们不过是对同一信号的两种不同描述方式罢了。
在频域中,常把20πτ的一段频率范围定义为信号的有效频带宽度,对于5T τ≥的矩形脉冲,这种定义就比较精确了。
信号分析与处理实验指导书

实验一时域分析实验一.实验目的(1)熟悉MATLAB开发环境。
(2)掌握MATLAB各种表达式的书写规则以及常用函数的使用。
(3)熟悉MATLAB的基本操作(4)熟悉MATLAB中产生信号和绘制信号的基本命令。
(5)熟悉序列的简单运算,如:加法、标量乘法、时间反转、延时、乘法等。
二.实验原理MATLAB (矩阵实验室的简称)是一种专业的计算机程序,用于工程科学的矩阵数学运算。
但在以后的几年内,它逐渐发展为一种极其灵活的计算体系,用于解决各种重要的技术问题。
MA TLAB程序执行MATLAB语言,并提供了一个极其广泛的预定义函数库,这样就使得技术工作变得简单高效。
三.实验任务及步骤1、学习了解MATLAB的实验环境:在Windows桌面上,双击MA TLAB图标,即可进入MA TLAB系统命令窗口。
图1-1 MATLAB系统命令窗口当MA TLAB运行时,有多种类型的窗口,有的用于接收命令,有的用于显示信息。
三个重要的窗口有命令窗口;图像窗口;编辑/调试窗口;它们的作用分别为输入命令;显示图形;充许使用者创建和修改MATLAB程序。
在本节课中我们将会看到这三个窗口的例子。
当MA TLAB程序启动时,一个叫做MATLAB桌面的窗口出现了。
默认的MATLAB桌面结构如图1-1所示。
在MA TLAB集成开发环境下,它集成了管理文件、变量和应用程序的许多编程工具。
在MA TLAB桌面上可以得到和访问的窗口主要有:■命令窗口(The Command Window)■命令历史窗口(The Command History Window)■启动平台(Launch Pad)■编辑调试窗口(The Edit/Debug Window)■工作台窗口和数组编辑器(Workspace Browser and Array Editor)■帮助空间窗口(Help Browser)■当前路径窗口(Current Directory Browser)1.1 命令窗口MA TLAB桌面的右边是命令窗口。
电信号处理实验指导书(电路实验)

实验一元件参数及性能的测定一、实验目的1.学会识别常用电路元件的方法。
2.掌握线性电阻、非线性电阻元件伏安特性的逐点测试法。
3.掌握实验台上直流电工仪表和设备的使用方法。
4.用实验证明电路中电位的相对性、电压的绝对性。
5.掌握电路电位图的绘制方法。
二、实验原理任何一个二端元件的特性都可以用电压和电流的方程式V=IR来表示,利用这一公式的前提是电压V和电流I的参考方向相关联,即参考方向一致。
如果参考方向相反,则方程式为V=-IR。
除了上述的表述方法以外,二端元件的特性还可以用该元件的端电压U与通过该元件的电流I之间的函数关系I=f(U)来描述,即在U-I平面上采用逐点测试的方法,测试一条电流和电压对应关系曲线,这条曲线称为该元件的伏安特性曲线。
电阻元件是一种对电流呈现阻力的元件,有阻碍电流流动的性能。
当电流通过电阻元件时,必然要消耗能量,沿着电流流动的方向将产生电压降。
其值的大小等于该电流与电阻的乘积,这一关系称为欧姆定律。
1、线性电阻元件当电阻元件R的阻值不随电压或电流的Array大小变化而变化时,则电阻R两端的电压与流过的电流成正比,符合这种条件的电阻元件称为线性电阻元件。
线性电阻的伏安特性曲线如图1-1(A)所示,它是一条通过坐标原点的直线,其斜率等于该电阻阻值的倒数。
2、非线性电阻元件电路中大部分元件是不具备上述线性电阻元件的,这类元件叫非线性电阻元件。
半导体二极管就是典型的非线性电阻元件,其伏安特性如图1-1(C)所示。
它的阻值随着流过的电流大小而变化。
当外加电压的极性和二极管的极性相同时,称为正向连接。
正向连接时二极管的阻值很小(十几欧至几十欧),正向压降很小(锗管为0.2―0.3V,硅管约为0.5―0.7V),正向电流随正向压降的升高而呈指数规律变化。
当外加电压极性与二极管极性不相同时,称为反向连接。
反向电压从零伏一直增加到十几伏,反向电流值很小且其变化也很小(约为微安级)。
半导体二极管的这一特性称为单向导电性。
测试技术与信号处理 实验实验指导书

实验一 周期信号波形的叠加本实验是用计算机仿真的方法来观察周期信号叠加的原理及过程。
一、实验目的通过运行、观察各次谐波合成三种非正弦周期信号(方波、锯齿波、三角波)的过程,以及改变某次谐波的幅值或相位角值对合成波所产生的影响,以加深对周期信号频谱结构和叠加原理的认识。
二、实验前预习内容(P6-P8页预习报告) 三、实验原理根据傅里叶级数的理论,凡满足狄里赫利条件的周期信号x (t )都可以展开为0001()(cos sin )n n n x t a a n t b n t ωω∞==++∑∑∞=++=100)sin(n n n t n A a ϕω这说明周期信号是由一个或几个,乃至无穷多个不同频率、不同幅值和不同相位的谐波叠加而成的,因此可以用谐波信号叠加合成出复杂的周期信号。
四、实验设备计算机及本实验仿真软件。
五、软件启动及说明:1. 启动计算机并找到本实验仿真软件的子目录,点击执行文件“测试技术实验.exe ”则出现一个封面,点击“进入”后,进入本实验界面。
2. 进入界面后,点击工具栏上的“实验一”,即可进入实验,接着请在出现的对话框上选择波形和填写“改阶次”、“振幅比”、“相位差”、“直接显阶”参数,输入数据的时候请从主键盘输入,小键盘已经被锁定;本软件预设置的是方波、改阶=0、振幅比=1、相位差=0、直接显阶=1。
参数说明:TYPE —— 波形代号(1—方波;2—锯齿波;3—三角波) 改阶—— 要改变某谐波的幅值或初相角的阶次,不改则输入零。
振幅比—— 由改阶次所确定的那阶谐波改变后的振幅与其原理论振幅之比。
本实验的理论方波、锯齿波、三角波的幅值均设计为1。
相位差——由改阶次确定的那阶谐波改变后的相位角与其原来相位角之差。
直接显阶 ——不依次运行,而直接显示合成至某阶的合成波形图。
n —— 当前谐波的阶次(运行某波形所达到的阶次) A —— 振幅 ϕ —— 相位角3. 点击“继续”键后则自动显示出相关图形,屏幕上方显示当前波的参数,下方显示输入的各参数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录绪论 (1)1离散时间信号和系统分析1.1 离散时间信号产生与运算 (2)1.2 离散时间系统的时域分析 (9)1.3 离散时间系统的频域分析 (13)1.4 离散时间系统频响的零极点确定 (14)2快速傅立叶变换的应用2.1 FFT的计算 (17)2.2 利用FFT进行谱分析 (18)2.3利用FFT实现快速卷积 (19)3数字滤波器的设计3.1数字滤波器的结构 (23)3.2无限冲激响应(IIR)数字滤波器的设计 (25)3.3有限冲激响应(FIR)数字滤波器的设计 (27)4综合应用举例4.1 语音信号处理 (32)4.2 电话拨号音的合成与识别 (32)绪论数字信号处理主要研究如何对信号进行分析、变换、综合、估计与识别等加工处理的基本理论和方法。
随着计算机技术和大规模集成电路技术的发展,数字信号处理以其方便、灵活等特点引起人们越来越多的重视。
在40多年的发展过程中,这门学科基本形成了一套完整的理论体系,其中也包括各种快速、优良的算法,而且数字信号处理的理论和技术也在不断、快速地丰富和完善,新理论和新技术也层出不穷。
学习这门课程的过程中,容易使人感到数字信号处理的概念抽象难懂,其中的分析方法与基本理论不容易很好地理解与掌握。
因此,如何理解与掌握课程中的基本概念、基本原理、基本分析方法以及综合应用所学知识解决实际问题的能力,是本课程学习中所要解决的关键问题。
Matlab是一种面向科学和工程的高级语言,现已成为国际上公认的优秀的科技界应用软件,在世界范围内广为流行和使用。
在欧美高等院校里,Matlab已成为大专院校学生、教师的必要基本技能,广泛应用于科学研究、工程计算、教学等。
上世纪90年代末和本世纪初Matlab在我国也被越来越多地应用于科研和教学工作中。
Matlab是一套功能强大的工程计算及数据处理软件,在工业,电子,医疗和建筑等众多领域均被广泛运用。
它是一种面向对象的,交互式程序设计语言,其结构完整又具有优良的可移植性。
它在矩阵运算,数字信号处理方面有强大的功能。
另外,Matlab提供了方便的绘图功能,便于用户直观地输出处理结果。
本文通过Matlab系列仿真,旨在掌握基本的数字信号处理的理论和方法,提高综合运用所学知识,提高Matlab计算机编程的能力。
进一步加强独立分析问题、解决问题的能力、综合设计及创新能力的培养,同时注意培养实事求是、严肃认真的科学作风和良好的实验习惯。
1. 离散时间信号和系统分析1.1 离散时间信号产生与运算本节的目的是使读者熟悉Matlab 中离散时间信号产生和信号运算的基本命令。
几种常用的序列如下:(1)单位抽样序列⎩⎨⎧=01)(n δ 00≠=n n 在MATLAB 中可以利用zeros()函数实现:;1)1();,1(==x N zeros x 例如,下列程序N = input ('Type in length of sequence = ');n=0:N-1;x=zeros(1,N);x(1)=1;stem(n,x);xlabel('n');ylabel('x(n)');title('单位抽样序列 N 取10');输入Type in length of sequence = 10,可产生(2)单位阶跃序列⎩⎨⎧01)(n u 00<≥n n 在MATLAB 中可以利用ones()函数实现:);,1(N ones x =例如,下列程序N = input ('Type in length of sequence = ');n=0:N-1;x=ones(1,N);stem(n,x);xlabel('n');ylabel('x(n)');title('单位阶越序列 N 取10');输入Type in length of sequence = 10,可产生(3)正弦序列)/2sin()(ϕπ+=Fs fn A n x在MATLAB 中:)/***2sin(*1:0fai Fs n f pi A x N n +=-= 例如,下列程序a = input('Type in a = ');b = input('Type in b = ');A = input('Type in the gain constant = ');N = input ('Type in length of sequence = ');n = 0:N; x = A*sin(a*pi*n+pi/b);stem(n,x); title('正弦序列');xlabel('Time index n');ylabel('Amplitude');输入Type in a = 0.1,Type in b = 2,Type in the gain constant = 3,Type in length of sequence = 40,可产生(4)指数序列n a n x =)(在MATLAB 中:na x N n .^1:0=-= 例如,下列程序a = input('Type in exponent = ');K = input('Type in the gain constant = ');N = input ('Type in length of sequence = ');n = 0:N; x = K*a.^n;stem(n,x);xlabel('Time index n');ylabel('Amplitude');title([' 指数序列 alpha = ',num2str(a)]);输入Type in exponent = 2,Type in the gain constant = 1,Type in length of sequence = 20,可产生如下结果(5)复指数序列n j e n x ϖ=)(在MATLAB 中:)**ex p(1:0n w j x N n =-= 例如,下列程序a = input('Type in real exponent = ');b = input('Type in imaginary exponent = ');c = a + b*i;K = input('Type in the gain constant = ');N = input ('Type in length of sequence = ');n = 1:N;x = K*exp(c*n);subplot(211); stem(n,real(x));ylabel('Amplitude');title('复指数序列 Real part');subplot(212); stem(n,imag(x));xlabel('Time index n');ylabel('Amplitude');title('复指数序列 Imaginary part');输入Type in real exponent = 0.2,Type in imaginary exponent = 0.2,Type in the gain constant = 2,Type in length of sequence = 40,可产生如下结果(6)Sinc 函数 {0,)sin(0,1)(≠==t tt t t Sinc n ππ 在MATLAB 中:),()(sin 10:01.0:10x t plot t c x t =-=例如,下列程序t=-10:0.01:10;x=sinc(t);plot(t,x);xlabel('t');ylabel('x(t)');title('Sinc 函数');可产生(7)随即序列例如,下列程序clf;R=51;d=0.8*(rand(R,1)-0.5);m=0:R-1;stem(m,d','b');title('随机序列');xlabel('k');ylabel('f(k)');可产生序列的基本运算有:(1)序列加法和乘法在MATLAB中:x= c+ b;y= c.* b;例如,下列程序%取a=[2,1, 3, 4],b=[0,1,2, 3, 1]m=1:4;a=[2 1 3 4];c=[2 1 3 4 0];n=1:5;b=[0 1 2 3 1];c=[a zeros(1)];x=c+b;y=c.*b;subplot(4,1,1); stem(m,a);xlabel('m');ylabel('a(m)'); subplot(4,1,2); stem(n,b);xlabel('n');ylabel('b(n)'); subplot(4,1,3); stem(n,x);xlabel('n');ylabel('x(n)'); title('序列的加法');subplot(4,1,4); stem(n,y);xlabel('n');ylabel('y(n)') ; title('序列的乘法');可产生(2)序列的卷积在MATLAB中:c=conv(a,b);例如,下列程序a=input('Type in the first sequence =');b=input('Type in the second sequence =');c=conv(a,b);M=length(c)-1; n=0:1:M;disp('output sequence ='); disp(c);stem(n,c);xlabel('Time index n'); ylabel('Amplitude');title('序列的卷积');输入Type in the first sequence =[1 2 3],Type in the second sequence =[4 5 6],可产生:output sequence =4 13 28 27 181.2 离散时间系统的时域分析对线性离散时间系统,若y1[n]和y2[n]分别是输入序列x1[n]和x2[n]的响应,则输入x[n]=ax1[n]+bx2[n]的输出响应为y[n]=ay1[n]+by2[n]式中叠加性质对任意常数a和b以及任意输入x1[n]和x2[n]都成立。