测试信号分析与处理实验指导书
(完整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 变换可由离散傅里叶变换通过内插函数构造。
信号分析与处理实验指导书3

二、实验原理 信号的基本运算包括信号的相加和相乘。信号的时域变换包括信号的平移、
反折、倒相以及尺度变换。
三、涉及的 MATLAB 函数 fliplr 函数 功能:实现矩阵行元素的左右翻转。 调用格式: B=fliplr(A):其中 A 指要翻转的矩阵。
四、实验内容与方法
1、常规计算
1)序列的加法
x1=-2:2;
t0=1;u=stepfun(t,t0);
n=length(t);
for i=1:n
u(i)=b*u(i)*(t(i)-t0);
end
%产生一个斜坡信号
y=sin(2*pi*t) ;
%产生一个正弦信号
f=y+u;
%信号相加
plot(t,f);
xlabel('时间(t)');ylabel('幅值 f(t)');title('连续信号的相加');
if (n1>n2||n0>n2||n0<n1)
error('parameter error');
end;
if (n1<=n2)
for n=1:n2-n1+1
if (n==n0)
x(1,n)=n1-1+n;
x(2,n)=1;
end;
x(1,n)=n1-1+n;
x(2,n)=0;
end;
x(2,n0-n1+1)=1;
4)翻转 信号的翻转就是将信号的波形以纵轴为对称轴翻转 180°,将信号 f(t)中的
自变量 t 替换为-t 即可得到其翻转信号。 clear all t=0:0.02:1;t1=-1:0.02:0; g1=3*t; g2=3*(-t1); grid on; plot(t,g1,'--',t1,g2); xlabel('t');ylabel('g(t)'); title('信号的翻转'); 5)尺度变换 将信号 f(t)中的自变量 t 替换为 at clear all; t=0:0.001:1; a=2; y=sin(2*pi*t); y1=sin(2*a*pi*t); subplot(211) plot(t,y); ylabel('y(t)');xlabel('t'); title('尺度变换');
信号分析与处理实验指导书

实验一 信号频谱的测量一、实验目的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桌面的右边是命令窗口。
测试信号分析处理实验报告

《测试信号分析与处理》课程试验报告试验名称:快速傅立叶变换算法(FFT)在信号频谱分析中的应用及滤波器的设计和实现试验目的:通过本试验,基本掌握FFT算法的实现原理,同时能利用MATLAB语言编写完成FFT算法,并对给定的信号进行频谱分析。
按照给定的数字滤波器设计指标,完成相应数字滤波器的设计。
试验设备:通用计算机+MATLAB 6.0软件。
试验步骤:1、产生给定的需要分析的周期性信号,利用FFT算法对产生的周期性信号进行频谱分析。
2、按照给定的数字滤波器设计指标,设计完成相应的数字滤波器。
试验内容:1、理解FFT算法的基本原理;2、掌握MATLAB编程的基本语言;3、会利用MATLAB语言实现FFT算法。
4、利用实现的FFT算法对给定的周期性离散信号进行频谱分析,并绘出频谱图。
5、理解数字滤波器设计指标,完成数字滤波器设计。
试验的难点和要点:1、依据采样定理,对给定的信号选择合适的采样周期进行离散化。
2、熟练使用MATLAB语言中的FFT库函数对采样信号进行傅立叶变换。
3、利用MATLAB 绘图语言绘制傅立叶变换后的信号频谱图。
4、利用MATLAB 语言设计完成给定指标的数字滤波器。
试验过程记录:1、利用FFT 实现对信号频谱分析的基本原理(介绍试验内容中所涉及到的信号分析理论,注意介绍说明要规范和完整)本实验是求函数x=sin(2*pi*50*t)+sin(2*pi*25*t)的频谱曲线,实验中通过在0到1.023之间以0.001的间隔取了1024个点绘制两个正弦函数的叠加曲线,然后进行频谱分析。
由于序列的长度为1024=2^10,所以可以采用基2时析型FFT 算法。
序列长度1024=2^10,因此运算级数为10级。
第一步:先通过构造一个循环函数求出输入序列的按倒序重排的序列,然后接下来的运算是建立在这个重排序列的基础上。
第二步:通过构造一个三级嵌套循环求出该序列的傅里叶变换函数。
其中第三级循环函数中包含两个循环函数,第一个循环函数用来求出奇序列的值,第二个循环函数用来求出偶序列的值。
测试技术与信号处理 实验实验指导书

实验一 周期信号波形的叠加本实验是用计算机仿真的方法来观察周期信号叠加的原理及过程。
一、实验目的通过运行、观察各次谐波合成三种非正弦周期信号(方波、锯齿波、三角波)的过程,以及改变某次谐波的幅值或相位角值对合成波所产生的影响,以加深对周期信号频谱结构和叠加原理的认识。
二、实验前预习内容(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. 了解信号频谱分析的基本方法及仪器设备。
二. 实验原理正弦波、方波、三角波和白噪声信号是实际工程测试中常见的典型信号,通过对这些典型信号的频谱进行分析,掌握信号的特性,熟悉信号的分析方法。
并且这些典型信号也可以作为实际工程信号分析时的参照资料。
信号的频谱可分为幅值谱、相位谱、功率谱、对数谱等等。
利用频谱分析仪,把信号按数学关系作为频率的函数显示出来,其工作方式有模拟式和数字式二种。
模拟式频谱分析仪以模拟滤波器为基础,从信号中选出各个频率成分的量值;数字式频谱分析仪以数字滤波器或快速傅立叶变换为基础,实现信号的时—频关系转换分析。
傅立叶变换可以把一些复杂的信号分解为无穷多个相互之间具有一定关系的正弦信号之和,并通过对各个正弦信号的研究来了解复杂信号的频率成分和幅值。
信号频谱分析是采用傅立叶变换将时域信号x(t)变换为频域信号X(f)。
时域信号x(t)的傅氏变换为:式中X(f)为信号的频域表示,x(t)为信号的时域表示,f 为频率。
3. 周期信号的频谱分析周期信号是经过一定时间可以重复出现的信号,满足条件:x ( t ) = x ( t + nT )从数学分析已知,任何周期函数在满足狄利克利(Dirichlet )条件下,可以展开成正交函数线性组合的无穷级数,如正交函数集是三角函数集(sinn ω0t,cosn ω0t )或复指数函数集(tjn e0ω),则可展开成为傅里叶级数,通常有实数形式表达式:直流分量幅值为:各余弦分量幅值为:各正弦分量幅值为: 利用三角函数的和差化积公式,周期信号的三角函数展开式还可写如下形式:dte t xf X ft j ⎰+∞∞--=π2)()(∑∞=++=+++++=1000020201010sin cos sin cos sin cos )(n n n tn b t n a a t b t a t b t a a x x ωωωωωω⎰-=2/2/0)(1T T dtt x T a ⎰⎰--==2/2/02/2/02sin )(2sin )(2T T T T n tdt nf t x T tdt n t x T b πω⎰⎰--==2/2/02/2/02cos )(2cos )(2T T T T n tdt nf t x T tdt n t x T a πω∑∞=-+=100)cos()(n n n t n A A x x ϕω直流分量幅值为: A 0 = a 0 各频率分量幅值为: 各频率分量的相位为:式中,T —周期,T=2π/ω0;ω0—基波圆频率;f 0—基波频率;n=0,±1, ……。
信号分析与处理实验报告指导书

1
的波形图。
1.3 将 信 号 用 一 个 数 据 序列来表示
对于离散时间信号,还可以表示成一个数的序列,例如: x[n]={...., 0.1, 1.1, -1.2, 0, 1.3, ….} ↑n=0
上述三种信号的描述方法是经常要使用的。
2.MATLAB 及其操作简述 2.1 MATLAB 简介
即横轴和纵轴,因此,图像信号具有两个或两个以上的独立变量。
在《信号分析与处理》课程中,我们只关注这种只有一个独立变量
(Independent variable)的信号,并且把这个独立变量统称为时间变量(Time
variable),不管这个独立变量是否是时间变量。
在自然界中,大多数信号的时间变量都是连续变化的,因此这种信号被称为
(1)以直接列出元素的形式输入; (2)通过语句和函数产生; (3)建立在 M 文件中; (4)从外部的数据文件中装入。 在 MATLAB 语言中不必描述矩阵的维数和类型,它们是由输入的格式和内容来确 定的。 输入小矩阵最简单的方法是使用直接排列的形式,把矩阵的元素直接排列到 方括号中,每行内的元素用空格或逗号分开,行与行的内容用分号格开。例如输 入: A=[1 2 3;4 5 6;7 8 9] 或 A=[1,2,3;4,5,6;7,8,9] 都将得到同样的输出结果。 大的矩阵可以分行输入,用回车号代替分号。输入后矩阵 A 将一直保存在工 作空间中,除非被替代和清除,A 矩阵可以随时被调出来。若在命令末尾加上“;” 号,则表示结果不显示,除非再次调用。 2.矩阵的运算 如果一个矩阵 A 有 n 行、m 列元素,则称 A 矩阵为 n×m 矩阵,如果 n=m,则 称矩阵 A,又称为方阵。MATLAB 定义了下面各种矩阵的基本运算: (1)矩阵转置
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
... 《测试信号分析与处理》实验指导书翟任何王明武编写适用专业:测控专业陕西理工学院机械工程学院二零壹零年十月目录实验一:数字滤波器的设计 (2)实验二:数字振荡器的实现 (14)12实验一:数字滤波器的设计实验学时:4 实验类型:综合 实验要求:必修一、实验目的:1、熟悉Matlab 界面并进行操作。
2、掌握数字滤波器的计算机仿真方法。
2、掌握用双线性变换法设计IIR 数字滤波器的原理与方法,通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识。
3、掌握用窗函数法设计FIR 数字滤波器的原理与方法,了解各种窗函数对滤波特性的影响。
二、实验内容:(一)IIR 数字滤波器设计(1)用双线性变换法设计一个巴特沃斯低通IIR 数字滤波器,设计指标参数为:在通带内频率低于0.2pi 时,最大衰减小于1dB;在阻带内[0.3pi , pi] 频率区间上,,最小衰减大于15dB ;(2)以 0.02pi 为采样间隔,打印出数字滤波器在频率区间[ 0, 0.5pi]上的幅频响应特性曲线;(3)用所设计的滤波器对实际心电图信号采样序列(在本实验后面给出)进行仿真滤波处理,并分别打印出滤波前后的心电图波形图,观察总结滤波作用与效果。
(二)FIR 数字滤波器设计(1)用四种窗函数设计线性相位低通FIR 数字滤波器,截止频率π/4rad ,N=256。
(2)绘制相应的幅频特性曲线,观察3dB 带宽和20dB 带宽以及阻带最小衰减。
(3)比较四种窗函数对滤波器特性的影响。
三、实验原理:(一)用双线形变换法设计IIR 数字低通滤波器 脉冲响应不变法的主要缺点是会产生频谱混叠现象,使数字滤波器的频响偏离模拟滤波器的频响特性,产生的原因是模拟低通滤波器不是带限于折叠频率π/T ,在数字化后产生了频谱混叠,再通过映射关系 ,使数字滤波器在ω=π附近形成频谱混叠现象。
为了克服这一缺点,可以采用非线性频率压缩方法,将整个模拟频率轴压缩到±π/T 之间,再用 转换到Z 平面上。
设 ,然后经过非线性频率轴压缩用 表示。
用正切变换实现频率压缩(2-1) 式中T 仍是采样间隔,当Ω1从π/T 经过0变化到π/T 时,Ω则由∞经过0变化到+∞,实现了s 平面上整个虚轴完全压缩到s 1平面上虚轴的±π/T 之间的转换。
这样便有 (2-2)再通过 转换到z 平面上,得到:121tan()2T T Ω=Ω1112121()21s Ts Te s th T T T e ---=Ω=+1s Tz e =sTz e =sT z e =(),a H s s j =Ω111ˆ(),a Hs s j =Ω3(2-3)(二)用窗函数设计FIR 数字低通滤波器如果所希望的滤波器的理想频率响应函数为 )(ωj d e H ,则其对应的单位脉冲响应为)(n h d =π21ωωωππd e e Hj j d)(⎰-(2-4)窗函数设计法的基本原理是用有限长单位脉冲响应序列)(n h 逼近)(n h d 。
由于)(n h d 往往是无限长序列,且是非因果的,所以用窗函数)(n ω将)(n h d 截断,并进行加权处理,得到:)(n h =)(n h d )(n ω (2-5) )(n h 作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数)(ωj d e H 为: )(ωj d eH =∑-=-1)(N n j e n h ω (2-6)式中,N 为所选窗函数)(n ω的长度。
窗函数法设计的滤波器性能取决于窗函数)(n ω的类型及窗口长度N 的取值。
设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N 。
)(ωj e H 是否满足要求,要进行验算。
一般在)(n h 尾部加零使长度满足于2的整数次幂,以便用FFT 计算)(ωj e H 。
如果要观察细节,补零点数增多即可。
如果)(ωj e H 不满足要求,则要重新选择窗函数类型和长度N ,再次验算,直至满足要求。
如果要求线性相位特性,则)(n h 还必须满足)1()(n N h n h --±= (2-4)根据上式中的正负号和长度N 的奇偶性又将线性相位FIR 滤波器分成四类。
要根据设计的22s Tz s T+=-滤波特性正确选择其中一类。
四、实验条件:微型计算机matlab软件五、实验步骤:1、复习有关巴特沃斯模拟滤波器设计和用双线性变换法设计IIR数字滤波器的内容。
根据设计指标,调用MA TLAB信号处理工具箱函数buttord和butter,可得到H(z)。
编写滤波器仿真程序,计算H(z)对心电图信号采样序列x(n)的相应序列y(n)。
在通过计算机上运行仿真滤波程序,并调用通用绘图子程序,完成实验内容。
2、复习用窗函数法设计FIR数字滤波器一节内容,阅读本实验原理掌握设计步骤。
①编写能产生矩型窗、哈明窗、汉宁窗、莱克曼窗的窗函数子程序。
②编写主程序。
主程序框图如图2-1所示,仅供参考。
其中幅度特性要求用分贝dB表示。
图2-1 主程序框图45设 : [])()(n h DFT k H = (2-4) )()()(K jH k H k H I R += (2-5))()()(22k H k H k H I R += (2-6)画图时,20lg )(k H 打印幅度特性。
第k 点对应的频率k N k πω2=。
为使曲线包络更接近)(ωj e H 的幅度特性曲线,DFT 变换区间要选大些。
例如窗口长度N=33时,可通过在)(n h 末尾补零的方法,使长度变为64,再进行4点DFT ,则可得到更精确的幅度衰减特性曲线。
六、思考题:1、用双线性变换法设计数字滤波器过程中,变换公式:s=11z1z 1T 2--+-中T 的取值,对设计结果有无影响? 为什么?2、如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?写出设计步骤。
七、实验报告:(一)标题栏 (二)实验目的 (三)实验内容 (四)源代码 (五)运行结果 (六)问题回答 (七)实验总结八、源代码:参考程序1:人体心电图信号在测量过程中往往受到工业高频干扰,所以必须经过低通滤波处理后,才能作为判断心脏功能的有用信息。
下面给出一实际心电图信号采样序列样式本x(n),其中存在高频干扰,在实验中,以x(n)作为输入序列,滤除其中的干扰成分。
{ x(n) } = { -4 , -2, 0, -4, -6, -4, -2, -4, -6, -6, -4, -4, -6, -6, -2, 6, 12, 8, 0, -16 -38, -60, -84, -90, -66, -32, -4, -2, -4, 8,12, 12 , 10, 6, 6, 6, 4, 0, 0, 0 0, 0, -2, -4, 0, 0, 0, -2, -2, 0,0 , -2,, -2, -2, -2, 0} 参考程序:%x(n)的心电脉冲函数x=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,6,4,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0]; subplot(2,2,1); n=0:55;stem(n,x,'.');xlabel('n');ylabel('x(n)');title('x(n)的心电脉冲函数');%通过滤波器H1(z)后的y1(n)函数A=0.09036;b1=[A,2*A,A];a1=[1,-1.2686,0.7051];h1=filter(b1,a1,x);[H1,w]=freqz(b1,a1,100);%通过滤波器H1(z)、H2(z)后的y2(n)函数b2=[A,2*A,A];a2=[1,-1.0106,0.3583];h2=filter(b2,a2,h1);[H2,w]=freqz(b2,a2,100);%通过滤波器H1(z)、H2(z)、H3(z)后的y3(n)函数b3=[A,2*A,A];a3=[1,-0.9044,0.2155];h3=filter(b3,a3,h2);[H3,w]=freqz(b3,a3,100);subplot(2,2,2);stem(n,h3,'.');xlabel('n');ylabel('y(n)');title('通过滤波器H1(z)、H2(z)、H3(z)后的y3(n)函数');%通过滤波器H1(z)、H2(z)、H3(z)后的对数频率响应20log[Ha3(ejw)]函数subplot(2,2,3);H4=H1.*(H2);H=H4.*(H3);mag=abs(H);db=20*log10((mag+eps)/max(mag));plot(w/pi,db);xlabel('w/п');ylabel('20log[Ha3(ejw)]');title('通过滤波器H1(z)、H2(z)、H3(z)后的对数频率响应20log[Ha3(ejw)]函数');grid;参考程序2:N=input('窗宽度N=');k=input('窗型:1.矩形窗,2.hanning(升余弦窗),3.hamming(改进的升余弦窗),4.Blackman 请选择:');subplot(2,2,1);w=pi/5;a=(N-1)/2;n=0:(N-1);m=n-a+eps;6h=sin(w*m)./(pi*m);if k==1B=bartlett(N);else if k==2B=hanning(N);else if k==3B=hamming(N);else if k==4B=blackman(N);endendendendhd=h.*(B');stem(n,hd,'.');xlabel('n');ylabel('h(n)');title('在矩形窗下的N=33时h(n)函数');subplot(2,2,2);[H,m]=freqz(hd,[1],1024);mag=abs(H);db=20*log10((mag+eps)/max(mag));plot(m/pi,db);xlabel('w/п');ylabel('20log[H(ejw)]');title('h(n)的幅频特性');grid;pha=angle(H);subplot(2,2,3);plot(m,pha);xlabel('n');ylabel('φ');title('h(n)的相频特性');subplot(2,2,4);plot(m,mag);xlabel('w');ylabel('H(ejw)');title('h(n)的幅频特性');参考程序3:b=1;close all;i=0;while(b);temp=menu('选择窗函数长度N','N=10','N=15','N=20','N=25','N=30','N=33','N=35','N=40','N=45','N=50','N=55','N=60','N=64' );menu1=[10,15,20,25,30,33,35,40,45,50,55,60,64];7N=menu1(temp);temp=menu('选择逼近理想低通滤波器截止频率Wc','Wc=pi/4','Wc=pi/2','Wc=3*pi/4','Wc=pi','Wc=0.5','Wc=1.0','Wc=1.5','Wc=2.0','Wc=2.5',' Wc=3.0');menu2=[pi/4,pi/2,3*pi/4,pi,0.5,1,1.5,2,2.5,3];w=menu2(temp);n=[0:(N-1)];hd=ideal(w,N); %得到理想低通滤波器k=menu('请选择窗口类型:','boxcar','hamming','hanning','blackman');if k==1B=boxcar(N);string=['Boxcar','N=',num2str(N)];else if k==2B=hamming(N);string=['Hamming','N=',num2str(N)];else if k==3B=hanning(N);string=['Hanning','N=',num2str(N)];else if k==4B=blackman(N);string=['Blackman','N=',num2str(N)];endendendendh=hd.*(B)'; %得到FIR数字滤波器[H,m]=freqz(h,[1],1024,'whole'); %求其频率响应mag=abs(H); %得到幅值db=20*log10((mag+eps)/max(mag));pha=angle(H); %得到相位i=i+1;figure(i)subplot(2,2,1);n=0:N-1;stem(n,h,'.');axis([0,N-1,-0.1,0.3]);hold on;n=0:N-1;x=zeros(N);plot(n,x,'-');xlabel('n');ylabel('h(n)');title('实际低通滤波器的h(n)');text((0.3*N),0.27,string);hold off;subplot(2,2,2);plot(m/pi,db);axis([0,1,-100,0]);8xlabel('w/pi');ylabel('dB');title('衰减特性(dB)');grid;subplot(2,2,3);plot(m,pha);hold on;n=0:7;x=zeros(8);plot(n,x,'-');title('相频特性');xlabel('频率(rad)');ylabel('相位(rad)');axis([0,3.15,-4,4]);subplot(2,2,4);plot(m,mag);title('频率特性');xlabel('频率W(rad)');ylabel('幅值');axis([0,3.15,0,1.5]);text(0.9,1.2,string);b=menu('Do You want To Continue ?','Yes','No');if b==2b=0;endendtemp=menu('Close All Figure ?','Yes','No');if temp==1close allend9实验二:数字振荡器的实现实验学时:2实验类型:常规实验要求:必修一、实验目的:1、 学习数字振荡器的DSP 实现原理2、 学习C54X 定时器的使用3、 学习C54X 中断程序的编写二、实验内容:利用定时器产生一个2kHz 的正弦信号。