测试信号分析与处理作业实验五

合集下载

信号分析与处理实验指导书3

信号分析与处理实验指导书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.实验总体目标通过实验,巩固掌握课程的讲授内容,使学生对信号分析与线性系统分析的基本理论及分析方法有一个感性认识和更好地理解,使学生在分析问题与解决问题的能力及实践技能方面有所提高。

2.适用专业自动化专业本科生3.先修课程信号分析与处理4.实验课时分配5需要配置微机及MATLAB工具软件。

6.实验总体要求1、掌握信号分解的基本思想及信号在时域、频域和变换域进行分解的基本理论及描述方法,用MATLAB编程语言实现基本信号的表示及可视化,计算和分析信号的频谱;2、掌握在时域、频域和变换域分析LTI系统的方法,及系统在时域、频域和变换域的描述方法,用MATLAB编程语言实现LTI系统的时域分析及频率分析。

3、掌握信号的调制与解调,用MATLAB编程语言仿真分析信号的调制与解调。

⒎ 本实验的重点、难点及教学方法建议实验通过MATLAB编程语言来实现基本信号的表示及可视化,计算分析信号的频谱,实现LTI系统的时域分析及频率分析,并仿真分析信号的调制与解调,使学生对信号分析与线性系统分析的基本理论及分析方法有一个感性认识和更好地理解。

实验的重点及难点是:掌握基本信号的数学表示,信号的频谱特点,计算LTI系统的典型响应,掌握信号的调制与解调。

在这样的理论基础上,学会用MATLAB编程语言来实现对信号与系统响应的可视化及对数字滤波器进行设计。

教学建议:打好理论基础,熟练编程语言。

目录实验一信号的时域与频域分析 3实验二信号的时域与频域处理 4实验三数字滤波器的设计 5实验一一、实验目的1、熟悉MATLAB 平台,高效的数值计算及符号计算功能;2、实现基本信号的表示及可视化计算;3、分析信号的频谱。

二、 实验类型验证型 三、 实验仪器微机,MATLAB 工具软件。

四、 实验原理MATLAB 是功能强大的数学软件,它提供了计算周期连续函数和周期离散序列的频谱的一系列函数。

信号分析与处理实验指导书

信号分析与处理实验指导书

实验一时域分析实验一.实验目的(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级。

第一步:先通过构造一个循环函数求出输入序列的按倒序重排的序列,然后接下来的运算是建立在这个重排序列的基础上。

第二步:通过构造一个三级嵌套循环求出该序列的傅里叶变换函数。

其中第三级循环函数中包含两个循环函数,第一个循环函数用来求出奇序列的值,第二个循环函数用来求出偶序列的值。

信号分析与处理实验报告(基于MATLAB)

信号分析与处理实验报告(基于MATLAB)

武汉工程大学电气信息学院三、实验数据与结果分析1、2、四、思考:2. 3.四、思考:1、代数运算符号*和.*的区别是?*是矩阵相乘,是矩阵A行元素与B的列元素相乘的和.*是数组相乘,表示数组A和数组B中的对应元素相乘实验内容实验三连续时间信号的卷积一、实验内容1、已知两连续时间信号如下图所示,绘制信号f1(t)、f2(t)及卷积结果f(t)的波形;设时间变化步长dt分别取为0.5、0.1、0.01,当dt取多少时,程序的计算结果就是连续时间卷积的较好近似?2、、计算信号()()()11==-a t u e t f at 和()()t tu t f sin 2=的卷积f(t),f 1(t)、f 2(t)的时间范围取为0~10,步长值取为0.1。

绘制三个信号的波形。

二、实验方法与步骤1、绘制信号f 1(t)、f 2(t)及卷积结果f(t)的波形,当dt 取0.01时程序的计算结果就是连续时间卷积的较好近似程序代码如下:clear allclose allclcdt=0.01t1=0:dt:2;t2=-1:dt:1;f1=0.5*t1;f2=0.5*(t2+1);y=dt*conv(f1,f2); %计算卷积t0=t1(1)+t2(1); %计算卷积结果的非零样值的起点位置2.实验内容三、实验数据与结果分析1.2.实验内容实验五连续时间信号的频域分析一、实验内容1、如图5.4所示的奇谐周期方波信号,周期为T1=1,幅度为A=1,将该方波信号展开成三角形式Fourier级数并分别采用频域矩形窗和Hanning窗加权,绘制两种窗函数加权后的方波合成图像。

时间范围取为-2~2,步长值取为0.01。

2、将图5.5中的锯齿波展开为三角形式Fourier级数,按(2)式求出Fourier级数的系数,并在频域分别采用矩形窗、Hanning窗和三角窗加权,观察其Gibbs效应及其消除情况。

时间范围取为-2~2,步长值取为0.01。

信号分析与处理实验报告

信号分析与处理实验报告

信号分析与处理实验报告一、实验目的1.了解信号分析与处理的基本概念和方法;2.掌握信号分析与处理的基本实验操作;3.熟悉使用MATLAB进行信号分析与处理。

二、实验原理信号分析与处理是指利用数学和计算机技术对信号进行分析和处理的过程。

信号分析的目的是了解信号的特性和规律,通过对信号的频域、时域和幅频特性等进行分析,获取信号的频率、幅度、相位等信息。

信号处理的目的是对信号进行数据处理,提取信号的有效信息,优化信号的质量。

信号分析和处理的基本方法包括时域分析、频域分析和滤波处理。

时域分析主要是对信号的时变过程进行分析,常用的方法有波形分析和自相关分析。

频域分析是将信号转换到频率域进行分析,常用的方法有傅里叶级数和离散傅里叶变换。

滤波处理是根据信号的特性选择适当的滤波器对信号进行滤波,常用的滤波器有低通滤波器、高通滤波器、带通滤波器和带阻滤波器等。

三、实验内容1.信号的时域分析将给定的信号进行波形分析,绘制信号的时域波形图;进行自相关分析,计算信号的自相关函数。

2.信号的频域分析使用傅里叶级数将信号转换到频域,绘制信号的频域图谱;使用离散傅里叶变换将信号转换到频域,绘制信号的频域图谱。

3.滤波处理选择合适的滤波器对信号进行滤波处理,观察滤波前后的信号波形和频谱。

四、实验步骤与数据1.时域分析选择一个信号进行时域分析,记录信号的波形和自相关函数。

2.频域分析选择一个信号进行傅里叶级数分析,记录信号的频谱;选择一个信号进行离散傅里叶变换分析,记录信号的频谱。

3.滤波处理选择一个信号,设计适当的滤波器对信号进行滤波处理,记录滤波前后的信号波形和频谱。

五、实验结果分析根据实验数据绘制的图像进行分析,对比不同信号在时域和频域上的特点。

观察滤波前后信号波形和频谱的变化,分析滤波效果的好坏。

分析不同滤波器对信号的影响,总结滤波处理的原理和方法。

六、实验总结通过本次实验,我们了解了信号分析与处理的基本概念和方法,掌握了信号分析与处理的基本实验操作,熟悉了使用MATLAB进行信号分析与处理。

测试信号处理实验报告

测试信号处理实验报告

一、实验目的1. 熟悉信号处理的基本概念和基本原理;2. 掌握信号的时域、频域分析方法;3. 理解滤波器的设计与实现方法;4. 提高实验操作技能和数据分析能力。

二、实验内容1. 信号的产生与基本特性分析2. 信号的时域、频域分析3. 滤波器的设计与实现4. 系统性能测试与分析三、实验原理1. 信号的产生与基本特性分析信号是信息传递的载体,信号的时域特性描述了信号随时间变化的规律,频域特性描述了信号中不同频率成分的分布情况。

2. 信号的时域、频域分析时域分析通过对信号进行时域波形观察,分析信号的波形、幅度、周期、频率等特性。

频域分析通过对信号进行傅里叶变换,分析信号的频谱分布情况。

3. 滤波器的设计与实现滤波器是一种能对信号进行选择性通、阻、衰减的装置。

滤波器的设计包括理想滤波器、实际滤波器的设计。

4. 系统性能测试与分析系统性能测试与分析包括系统稳定性、线性度、频率响应、群延迟、幅度响应等方面的测试。

四、实验步骤1. 信号的产生与基本特性分析(1)使用信号发生器产生不同类型的信号,如正弦波、方波、三角波等;(2)使用示波器观察信号的波形、幅度、周期、频率等特性;(3)对信号进行时域分析,记录相关数据。

2. 信号的时域、频域分析(1)对信号进行傅里叶变换,得到信号的频谱;(2)使用频谱分析仪观察信号的频谱分布情况;(3)对信号进行频域分析,记录相关数据。

3. 滤波器的设计与实现(1)设计一个低通滤波器,限制信号中高频成分的通过;(2)设计一个高通滤波器,限制信号中低频成分的通过;(3)设计一个带通滤波器,允许信号中特定频率范围内的成分通过;(4)使用滤波器对信号进行处理,观察滤波效果。

4. 系统性能测试与分析(1)测试滤波器的稳定性、线性度、频率响应、群延迟、幅度响应等性能指标;(2)记录测试数据,分析系统性能。

五、实验结果与分析1. 信号的产生与基本特性分析实验中产生的信号波形、幅度、周期、频率等特性符合理论预期。

《测试信号分析与处理》(附实验结果).doc

《测试信号分析与处理》(附实验结果).doc

《测试信号分析与处理》实验指导书实验一差分方程、卷积、z变换一、实验目的通过该实验熟悉 matlab软件的基本操作指令,掌握matlab软件的使用方法,掌握数字信号处理中的基本原理、方法以及matlab函数的调用。

二、实验设备1、微型计算机1台;2、matlab软件1套三、实验原理Matlab 软件是由mathworks公司于1984年推出的一套科学计算软件,分为总包和若干个工具箱,其中包含用于信号分析与处理的sptool工具箱和用于滤波器设计的fdatool工具箱。

它具有强大的矩阵计算和数据可视化能力,是广泛应用于信号分析与处理中的功能强大且使用简单方便的成熟软件。

Matlab软件中已有大量的关于数字信号处理的运算函数可供调用,本实验主要是针对数字信号处理中的差分方程、卷积、z变换等基本运算的matlab函数的熟悉和应用。

差分方程(difference equation)可用来描述线性时不变、因果数字滤波器。

用x表示滤波器的输入,用y表示滤波器的输出。

a0y[n]+a1y[n-1]+…+a N y[n-N]=b0x[n]+b1x[n-1]+…+b M x[n-M] (1)ak,bk 为权系数,称为滤波器系数。

N为所需过去输出的个数,M 为所需输入的个数卷积是滤波器另一种实现方法。

y[n]= ∑x[k] h[n-k] = x[n]*h[n] (2) 等式定义了数字卷积,*是卷积运算符。

输出y[n] 取决于输入x[n] 和系统的脉冲响应h[n]。

传输函数H(z)是滤波器的第三种实现方法。

H(z)=输出/输入= Y(z)/X(z) (3)即分别对滤波器的输入和输出信号求z变换,二者的比值就是数字滤波器的传输函数。

序列x[n]的z变换定义为X (z)=∑x[n]z-n (4) 把序列x[n] 的z 变换记为Z{x[n]} = X(z)。

由X(z) 计算x[n] 进行z 的逆变换x[n] = Z-1{X(z)}。

信号分析与处理实验五

信号分析与处理实验五

实验五:FIR数字滤波器设计与软件实现一、实验目的(略)二、实验内容及步骤(略)三、相关程序1、信号产生函数xtg清单Function xt=xtg(N) %信号x(t)产生函数,并显示信号的幅频特性曲线%xt=xtg产生一个长度为N,有加性高频噪声的单频调幅信号xt,采样频率Fs=1khz%载波频率fc=Fs/10=100Hz,调制正弦波频率f0=Fc/10=10HzN=2000;Fs=1000;T=1/Fs;Tp=N*T;T=0:T:(N-1)*T;fc=Fs/10;f0=fc/10; %载波频率fc=Fs/10,单频调制信号频率为f0=fc/10mt=cos(2*pi*f0*t); %产生单频正弦波调制信号mt,频率为f0ct=cos(2*pi*fc*t); %产生载波正弦波信号ct,频率为fcxt=mt.*ct; %相乘产生单频调制信号xtnt=2*rand(1,N)-1; %产生随机噪声nt%=========设计高通滤波器hn,用于滤除噪声nt中的低频成分,生成高频噪声===== fp=150;fs=200;rp=0.1;rs=70; %滤波器指标fb=[fp,fs];m=[0,1]; %计算remenzord函数所需参数f,m,devdev=[10^(-rs/20),(10^(rp/20)-1)/ (10^(rp/20)+1)];[n,fo,mo,w]=remenzord(fb,m,dev,Fs); %确定remenz函数所需参数hn=remenz(n,fo,mo,w); %调用remenz函数进行设计,用于滤除噪声nt中的低频成分yt=filter(hn,1,10*nt); %滤除随机噪声中低频成分,生成高频噪声yt%=================================================================== xt=xt+yt; %噪声加信号fst=fft(xt,N);k=0:N-1;f=k/Tp;subplot(3,1,1);plot(t,xt);grid;xlabel([0,Tp/5,min(xt),max(xt)]);title(‘(a)信号加噪声波形’)subplot(3,1,2);plot(f,abs(fst)/max(abs(fst)));grid;title(‘(b)信号加噪声的频谱’)axis([0,Fs/2,0,1.2]);xlabel(‘f/Hz’);ylabel(‘幅度’)2、实验程序清单%实验五程序exp5.m%FIR数字滤波器设计与软件实现clear all;close all;%=====调用xtg产生信号xt,xt长度N=1000,并显示xt及其频谱===========N=1000;xt=xtg(N);fp=120;fs=150;rp=0.2;rs=60; %输入给定指标Fs=1000; T=1/Fs;Tp=N*T; k=0:N-1;f=k/Tp; t=0:T:(N-1)*T;%(1)用窗函数法设计滤波器wc=(fp+fs)/Fs; %理想低通滤波器截止频率(关于pi归一化)B=2*pi*(fs-fp)/Fs; %过渡带宽度指标Nb=ceil(11*pi/B); %blackman窗的长度Nhn=fir(Nb-1,wc,blackman(Nb));Hw=abs(fft(hn,1024)); %求设计的滤波器频率特性ywt=fftfilt(hn,xt,N); %调用函数fftfilt对xt滤波subplot(3,1,1);plot(f,Hw/max(Hw)); grid;title(‘(a)低通滤波器幅频特性’) axis([0,Fs/2,-120,20]);xlabel(‘f/Hz’);ylabel(‘幅度’)subplot(3,1,2);plot(t,ywt); grid;title(‘(b)滤除噪声后的信号波形’)axis([0,0.5,-1,1]);xlabel(‘t/s’);ylabel(‘yw(t)’)%=======(2)用等波纹逼近法设计滤波器======================== fb=[fp,fs];m=[1,0]; %确定remenzord函数所需参数f,m,devdev=[(10^(rp/20)-1)/(10^(rp/20)+1),10^(-rs/20)];[Ne,fo,mo,W]=remenzord(fb,m,dev,fs); %确定remenz函数所需参数hn=remenz(Ne,fo,mo,W); %调用remenz函数进行设计Hw=abs(fft(hn,1024)); %求设计的滤波器频率特性yet=fftfilt(hn,xt,N); %调用函数fftfilt对xt滤波figure(2)subplot(3,1,1);plot(f,Hw/max(Hw)); grid;title(‘(a)低通滤波器幅频特性’) axis([0,Fs/2,-80,10]);xlabel(‘f/Hz’);ylabel(‘幅度’)subplot(3,1,2);plot(t,yet); grid;title(‘(b)滤除噪声后的信号波形’)axis([0,0.5,-1,1]);xlabel(‘t/s’);ylabel(‘ye(t)’)。

信号分析与处理实验报告(基于matlab)

信号分析与处理实验报告(基于matlab)
f=exp(z);%定义指数信号
fr=real(f);%描述函数实部
fi=imag(f);%描述函数虚部
fa=abs(f);%描述函数幅度
fg=angle(f);%描述函数相位
subplot(2,2,1)%将当前窗口分成2行2列个子窗口,并在第1个子窗口绘图
plot(t,fr)
title('实部')
ty=t0:dt:(t0+(t3-1)*dt);%确定卷积结果的非零样值的时间向量
subplot(3,1,1)
plot(t1,f1)%绘制信号f1(t)的时域波形
title('f1')
xlabel('t1')
axis([-0.2,10.2,-0.2,1])
gridon
subplot(3,1,2)
plot(t2,f2)%绘制信号f2(t)的时域波形
1、将方波信号展开成三角形式Fourier级数并分别采用频域矩形窗和Hanning窗加权
方波展开的三角式傅立叶级数为:
采用频域矩形窗加权,则展开式变为:
采用Hanning窗加权,则展开式变为:
程序代码如下:
clearall
closeall
clc
t1=-2:0.01:2;
t2=-2:0.01:2;
K=30
xlabel('t')
axis([-0.5,20.5,-0.8,1.2])
gridon
subplot(2,2,2)%将当前窗口分成2行2列个子窗口,并在第2个子窗口绘图
plot(t,fi)
title('虚部')
xlabel('t')

测试信号分析与处理实验指导书

测试信号分析与处理实验指导书

《测试信号分析与处理》实验指导书翟任何王明武编写适用专业:测控专业陕西理工学院机械工程学院二零壹零年十月目录实验一:数字滤波器的设计 (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 平面上。

信号处理实验五报告

信号处理实验五报告

实验五谱分析一、 实验原理信号是无限长的,而在进行信号处理时只能采用有限长信号,所以需要将信号“截断”。

在信号处理中,“截断”被看成是用一个有限长的“窗口”看无限长的信倍号,或者从分析的角度是无限长的信号()x t 乘以有限长的窗函数()w t ,由傅里叶变换性质可知1()()()*()2x t w t X j W j ωωπ⇔如果()x t 是频宽有限信号,而()w t 是频宽无限函数,截断后的信号也必是频宽无限信号,从而产生所谓的频谱泄漏。

频谱泄漏是不可避免的,但要尽量减小,因此设计了不同的窗函数满足不同用途的要求。

从能量的角度,频谱泄漏也是能量泄漏,因为加窗后,使原来的信号集中在窄频带内的能量分散到无限的频宽范围。

MATLAB 信号处理工具箱提供了8种窗函数: (1) 函数boxcar()用于产生矩形窗,调用格式:w=boxcar(N)其中,N 为窗长度,w 为返回的窗函数序列。

矩形窗的表达式为101()()0N n N w n R n n≤≤-⎧==⎨⎩其它(2) 函数Hanning()用于产生汉宁窗,调用格式:w=hanning(N)Hanning 窗表达式为212()sin ()1cos ()121N N n n w n R n R n N N ππ⎡⎤⎛⎫⎛⎫==- ⎪ ⎪⎢⎥--⎝⎭⎝⎭⎣⎦(3) 函数Hamming()用于产生汉明窗,调用格式为w=hamming(N) 汉明窗的表达式为2()0.540.46cos ()1N n w n R n N π⎡⎤⎛⎫=- ⎪⎢⎥-⎝⎭⎣⎦(4) 函数bartlett()用于产生巴特利特窗,调用格式为w=bartlett(N)巴特利特窗的表达式为21012()212112n N n N w n n N n N N ⎧-≤≤⎪⎪-=⎨-⎪-≤≤-⎪-⎩(5) 函数blackman()用于产生布莱克曼窗,调用格式w=blackman(N)布莱克曼窗表达式为24()0.420.5cos 0.08cos ()11N n n w n R n N N ππ⎡⎤⎛⎫⎛⎫=-+ ⎪ ⎪⎢⎥--⎝⎭⎝⎭⎣⎦(6) 函数triang()用来产生triang 窗,调用格式 w=triang(N)triang 窗类似于bartlett 窗,triang 窗两端不为0,而bartlett 窗两端为0。

信号分析与处理实验报告

信号分析与处理实验报告

信号分析与处理实验报告一、实验目的(1)掌握计算序列的离散傅立叶变换(DFT)的方法;(2)掌握实现时间抽取快速傅立叶变换(FFT)的编程方法;(3)复习复数序列的运算方法;(4)掌握设计IIR数字滤波器的冲激响应不变法和双线性变换法;(5)掌握IIR数字滤波器的实现方法。

二、实验原理1、快速傅利叶变换的软件实现(1)程序输入元素的数目必须为2的整数次幂,即N为2的M次幂,整个运算需要M级蝶形运算。

(2)输入序列按二进制码位倒置排列,输出序列按自然顺序排列。

(3)输出数据占用输入数据的存储单元。

(4)每一级含N/2个基本蝶形运算。

(5)第L级中有N/2的L次幂个群,群与群间隔为2的L次幂。

(6)同一级中各个群的系数W分布相同,第L级的群中有2的L-1次幂个系数。

(7)处于第L级的群的系数是(p=1,2,3,……,)(8)对于第L级的蝶形运算,输入数据的间隔为2的L-1次幂。

2、码位倒置程序流程图输入A[I],MI ←0,J ←0,N ←2MI ≥J ?T ←A[J]A[J]←A[I]A[I]←TK ←N/2K>J?J ←J ←K K ←K/2J ←J+KI ←I+1I=N-1?输出A[I]NoYesNoYes No接蝶形运算程序Yes3、蝶形运算程序流程图接码位倒置程序L=1LE=2LLE1=LE/2W=1W1=exp(-jπ/LE1)R=0P=RQ=P+LE1T=A[Q]*WA[Q]=A[P]-TA[P]=A[Q]+TP=P+LEP>N-1?NoW=W*W1YesR=R+1R>LE1-1? L=L+1No YesL>M?No 结束Yes4、IIR 数字滤波器的设计以教材第九章无限冲激响应数字滤波器的例子说明软件实现方法。

设滤波器为级联型结构,其系统函数如下:)()()()(321z H z H z H z H =式中⎪⎪⎪⎩⎪⎪⎪⎨⎧+-+=+-+=+-+=---------21213212122121123422.094592.01)1(08338.0)(37534.005410.11)1(08338.0)(71489.031432.11)1(08338.0)(z z z z H z z z z H z z z z H 显然,该数字滤波器为无限冲激响应数字滤波器,其数字网络和软件流程图分别如图所示。

数字信号处理实验五谱分析

数字信号处理实验五谱分析

用FFT 对信号作频谱分析1.实验目的学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析 误差及其原因,以便正确应用FFT 。

2. 实验原理用FFT 对信号作频谱分析是学习数字信号处理的重要内容。

经常需要进行谱分析的信号是模拟信号和时域离散信号。

对信号进行谱分析的重要问题是频谱分辨率D 和分析误差。

频谱分辨率直接和FFT 的变换区间N 有关,因为FFT 能够实现的频率分辨率是N /2π,因此要求D N ≤/2π。

可以根据此式选择FFT 的变换区间N 。

误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N 较大时离散谱的包络才能逼近于连续谱,因此N 要适当选择大一些。

周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT ,得到的离散谱才能代表周期信号的频谱。

如果不知道信号周期,可以尽量选择信号的观察时间长一些。

对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。

如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。

3.实验步骤及内容(1)对以下序列进行谱分析。

⎪⎩⎪⎨⎧≤≤-≤≤-=⎪⎩⎪⎨⎧≤≤-≤≤+==其它nn n n n n x 其它n n n n n n x n R n x ,074,330,4)(,074,830,1)()()(3241 选择FFT 的变换区间N 为8和16 两种情况进行频谱分析。

分别打印其幅频特性曲线。

并进行对比、分析和讨论。

(2)对以下周期序列进行谱分析。

4()cos 4x n n π=5()cos(/4)cos(/8)x n n n ππ=+选择FFT 的变换区间N 为8和16 两种情况分别对以上序列进行频谱分析。

分别打印其幅频特性曲线。

并进行对比、分析和讨论。

(3)对模拟周期信号进行谱分析6()cos8cos16cos20x t t t t πππ=++选择 采样频率Hz F s 64=,变换区间N=16,32,64 三种情况进行谱分析。

测试信号分析与处理实验

测试信号分析与处理实验

193 实验一,混叠现象的时域与频域表现考虑频率分别为3Hz ,7Hz ,13Hz 的三个余弦信号,即:g1(t)=cos(6πt), g2(t)=cos(14πt), g3(t)=cos(26πt),当采样频率为10Hz 时,即采样间隔为0.1秒,则产生的序列分别为:g1[n]=cos(0.6πn), g2[n]=cos(1.4πn), g3[n]=cos(2.6πn)对g2[n],g3[n] 稍加变换可得:g2[n]=cos(1.4πn)=cos((2π-0.6π)n)= cos(0.6πn)g3[n]=cos(2.6πn)= cos((2π+0.6π)n)=cos(0.6πn)因此它们在时域表现为一个序列。

实际上,当给定频率为(10k ±3Hz)的余弦信号,且采样频率为10Hz 时,均表现为g1[n]=cos(0.6πn)的序列。

以下的matlab 程序画出三序列的时域和频域图(图9―32),非常直观地说明了混叠现象。

n=1:300;t=(n-1)*1/300;g1=cos(6*pi*t);g2=cos(14*pi*t);g3=cos(26*pi*t);plot(t,g1,t,g2,t,g3);k=1:100;s=k*0.1;q1=cos(6*pi*s);q2=cos(14*pi*s);q3=cos(26*pi*s);hold on; plot(s(1:10),q1(1:10),'bd');figuresubplot(2,2,1);plot(k/10,abs(fft(q1)))subplot(2,2,2);plot(k/10,abs(fft(q2)))subplot(2,2,3);plot(k/10,abs(fft(q3)))如果将采样频率改为30Hz,则三信号采样后不会发生频率混叠,可运行以下的程序,观察序列的频谱。

n=1:300;t=(n-1)*1/300;g1=cos(6*pi*t);g2=cos(14*pi*t);g3=cos(26*pi*t);g4=cos(34*pi*t);plot(t,g1,t,g2,t,g3,t,g4);k=1:300;s=k*0.1;q=cos(6*pi*k/30);q1=cos(14*pi*k/30);q2=cos(26*pi*k/30);q3=cos(34*pi*k/30);hold on; plot(s(1:10),q1(1:10),'bd');figuresubplot(2,2,1);plot(k/10,abs(fft(q)))subplot(2,2,2);plot(k/10,abs(fft(q1)))subplot(2,2,3);plot(k/10,abs(fft(q2)))subplot(2,2,4);plot(k/10,abs(fft(q3)))问题与实践:保证采样后的信号不发生混叠的条件是什么?若信号的最高频率为17Hz,采样频率为30Hz,问是否会发生频率混叠?混叠成频率为多少Hz的信号?编程验证你的想法。

数字信号处理--实验五

数字信号处理--实验五

实验五FIR数字滤波器的设计04011344 王晨一、实验目的(1) 掌握用窗函数法、频率采样法及优化设计法设计FIR滤波器的原理及方法,熟悉相应的MATLAB编程。

(2) 熟悉线性相位FIR滤波器的幅频特性和相频特性。

(3) 了解各种不同窗函数对滤波器性能的影响。

二、实验原理①线性相位实系数FIR滤波器按其N值奇偶和h(n)的奇偶对称性分为四种:1、h(n)为偶对称,N为奇数;H(ejω)的幅值关于ω=0,π,2π成偶对称。

2、h(n)为偶对称,N为偶数;H(ejω)的幅值关于ω=π成奇对称,不适合作高通。

3、h(n)为奇对称,N为奇数;H(ejω)的幅值关于ω=0,π,2π成奇对称,不适合作高通和低通。

4、h(n)为奇对称,N为偶数;H(ejω) ω=0、2π=0,不适合作低通。

② 窗口法窗函数法设计线性相位FIR 滤波器步骤:➢ 确定数字滤波器的性能要求:临界频率k {}ω,滤波器单位脉冲响应长度N ; ➢ 根据性能要求,合理选择单位脉冲响应(n)h 的奇偶对称性,从而确定理想频率响应j (e )d H ω的幅频特性和相频特性;➢ 求理想单位脉冲响应(n)d h ,在实际计算中,可对j (e )d H ω按M(M 远大于N)点等距离采样,并对其求IDFT 得(n)M h ,用(n)M h 代替(n)d h ;➢ 选择适当的窗函数(n)ω,根据d (n)h (n)(n)h ω=求所需设计的FIR 滤波器单位脉冲响应;➢ 求j (e )H ω,分析其幅频特性,若不满足要求,可适当改变窗函数形式或长度N ,重复上述设计过程,以得到满意的结果。

窗函数的傅式变换j (e )W ω的主瓣决定了j (e )H ω过渡带宽。

j (e )W ω的旁瓣大小和多少决定了j (e )H ω在通带和阻带范围内波动幅度,常用的几种窗函数有:(1) 矩形窗(Rectangle Window) N (n)R (n)ω=(2) 汉宁(Hanning)窗,又称升余弦窗(3) 汉明(Hamming)窗,又称改进的升余弦窗(4) 布莱克曼(Blankman)窗,又称二阶升余弦窗(5) 凯塞(Kaiser)窗其中:β是一个可选参数,用来选择主瓣宽度和旁瓣衰减之间的交换关系,一般说来,β越大,过渡带越宽,阻带越小衰减也越大。

《信号分析与处理》实验报告

《信号分析与处理》实验报告

(此文档为word格式,下载后您可任意编辑修改!)序号:号项目名称:《信号分析与处理》实验报告学生学院:信息工程学院专业班级:学生学号:学生姓名:指导老师:朱铮涛2013年12月25日目录实验一、基本信号的产生和时频域抽样实验 (1)一、实验目的 (1)二、实验内容及所得图表 (1)三、思考题解答 (15)实验二、连续和离散系统分析 (16)一、实验目的 (16)二、实验内容和要求 (16)三、思考题解答 (22)实验三、用FFT实现谱分析实验 (23)一、实验目的 (23)二、实验原理 (23)三、实验内容及实验得到的结果 (23)四、实验结论 (26)五、思考题解答 (26)实验四、IIR数字滤波器设计和应用 (27)一、实验目的 (27)二、实验原理 (27)三、实验内容和结果 (27)四、思考题解答 (33)实验五、FIR数字滤波器设计和应用 (34)一、实验目的 (34)二、FIR数字滤波器的设计基本原理 (34)三、实验内容和实验结果 (37)四、思考题解答 (40)实验一、基本信号的产生和时频域抽样实验一、实验目的1、学习使用matlab产生基本信号波形、实现信号的基本运算;2、熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解;3、加深理解频谱离散化过程中的数学概念和物理概念,掌握频域抽样定理的基本内容。

二、实验内容及所得图表1、用Matlab产生以下序列的样本,并显示其波形:(a):()(0.9)cos(0.2/3),020nx n n nππ=+≤≤(b):)20()5()(---=nununx(c):)*5.0exp()(n nx-=(d):(e):(f):)()sin()(t u tAetx taΩ=-α2 设(a):求其傅里叶变换;(b):用频率对进行采样,求出采样所得离散时间信号的傅里 Fs=5000Hz对进行采样,求出采样所得离散时间信号的叶变换;再用频率Fs=1000Hz傅里叶变换;(c):分别针对(b)中采样所得离散时间信号和,重建出对应的连续时间信号和,并分别与原连续时间信号进行比较;根据抽样定理(即Nyquist 定理)的知识,说明采样频率对信号重建的影响。

信号分析与处理实验报告

信号分析与处理实验报告

华北电力大学实验报告||实验名称FFT的软件实现实验(Matlab)IIR数字滤波器的设计课程名称信号分析与处理||专业班级:电气化1308 学生姓名:袁拉麻加学号: 2 成绩:指导教师:杨光实验日期: 2015-12-17快速傅里叶变换实验一、实验目的及要求通过编写程序,深入理解快速傅里叶变换算法(FFT)的含义,完成FFT和IFFT算法的软件实现。

二、实验内容利用时间抽取算法,编写基2点的快速傅立叶变换(FFT)程序;并在FFT程序基础上编写快速傅里叶反变换(IFFT)的程序。

三:实验要求1、FFT和IFFT子程序相对独立、具有一般性,并加详细注释;2、验证例6-4,并能得到正确结果。

3、理解应用离散傅里叶变换(DFT)分析连续时间信号频谱的数学物理基础。

四、实验原理:a.算法原理1、程序输入序列的元素数目必须为2的整数次幂,即N=2M,整个运算需要M 级蝶形运算;2、输入序列应该按二进制的码位倒置排列,输出序列按自然序列排列;3、每个蝶形运算的输出数据军官占用其他输入数据的存储单元,实现“即位运算”;4、每一级包括N/2个基本蝶形运算,共有M*N/2个基本蝶形运算;5、第L级中有N/2L个群,群与群的间隔为2L。

6、处于同一级的各个群的系数W分布相同,第L级的群中有2L-1个系数;7、处于第L级的群的系数是(p=1,2,3,…….,2L-1)而对于第L级的蝶形运算,两个输入数据的间隔为2L-1。

b.码位倒置程序流程图开始检测A序列长度nk=0j=1x1(j)=bitget(k,j);j=j+1Yj<m?Nx1=num2str(x1);y(k+1)=bin2dec(x1);clear x1k=k+1c.蝶形运算程序流程图五、程序代码与实验结果a.FFT程序:%%clear all;close all;clc;%输入数据%A=input('输入x(n)序列','s');A=str2num(A);% A=[1,2,-1,4]; %测试数据%%%%校验序列,%n=length(A);m=log2(n);if (fix(m)~=m)disp('输入序列长度错误,请重新输入!');A=input('输入x(n)序列','s');A=str2num(A);elsedisp('输入正确,请运行下一步')end%%%码位倒置%for k=0:n-1for j=1:m %取M位的二进制数%x1(j)=bitget(k,j); %倒取出二进制数%endx1=num2str(x1); %将数字序列转化为字符串%y(k+1)=bin2dec(x1); %二进制序列转化为十进制数%clear x1endfor k=1:nB(k)=A(y(k)+1); %时间抽取序列%endclear A%%%计算%for L=1:m %分解为M级进行运算%LE=2^L; %第L级群间隔为2^L%LE1=2^(L-1); %第L级中共有2^(L-1)个Wn乘数,进行运算蝶运算的两数序号相隔LE1%W=1;W1=exp(-1i*pi/LE1);for R=1:LE1 %针对第R个Wn系数进行一轮蝶运算,共进行LE1次%for P=R:LE:n %每个蝶的大小为LE% Q=P+LE1;T=B(Q)*W;B(Q)=B(P)-T;B(P)=B(P)+T;endW=W*W1;endendB %输出X(k)%%%验证结果:例6-4b.IFFT程序:%%clear all;close all;clc;%输入数据%A=input('输入X(k)序列','s');A=str2num(A);% A=[6,2+2i,-6,2-2i]; %测试数据%%%%校验序列,%n=length(A);m=log2(n);if (fix(m)~=m)disp('输入序列长度错误,请重新输入!');A=input('输入x(n)序列','s');A=str2num(A);elsedisp('输入正确,请运行下一步')end%%%码位倒置%for k=0:n-1for j=1:m %取M位的二进制数%x1(j)=bitget(k,j); %倒取出二进制数%endx1=num2str(x1); %将数字序列转化为字符串%y(k+1)=bin2dec(x1); %二进制序列转化为十进制数%clear x1endfor k=1:nB(k)=A(y(k)+1); %时间抽取序列%endclear A%%%计算%for L=1:m %分解为M级进行运算%LE=2^L; %第L级群间隔为2^L%LE1=2^(L-1); %第L级中共有2^(L-1)个Wn乘数,进行运算蝶运算的两数序号相隔LE1%W=1;W1=exp(-1i*pi/LE1);for R=1:LE1 %针对第R个Wn系数进行一轮蝶运算,共进行LE1次%for P=R:LE:n %每个蝶的大小为LE%Q=P+LE1;T=B(Q)*W;B(Q)=B(P)-T;B(P)=B(P)+T;endW=W*W1;endendB=conj(B); %取共轭%B=B/n %输出x(n)%验证结果:六、实验心得与结论本次实验借助于Matlab软件,我避开了用C平台进行复杂的复数运算,在一定程度上简化了程序,并添加了简单的检错代码,码位倒置我通过查阅资料,使用了一些函数,涉及到十-二进制转换,数字-文本转换,二-文本转换,相对较复杂,蝶运算我参考了书上了流程图,做些许改动就能直接实现。

信号与系统实验报告 实验五 信号的分解与合成

信号与系统实验报告  实验五  信号的分解与合成

实验五信号的分解与合成基波二次谐波
三次谐波四次谐波
五次谐波信号合成
调整后信号合成三次谐波与基波相位差
五次谐波与基波相位差
通过观察和示波器测量,可以发现各次谐波的幅值符合方波的傅利叶级数各项系数之比,此时,基波、三次谐波、五次谐波合成的信号最贴近原方波信号。

基波二次谐波
三次谐波四次谐波
五次谐波信号合成
三次谐波与基波相位差五次谐波与基波相位差
数各项系数之比,此时,基波、三次谐波、五次谐波合成的信号最贴近原三角波信号
2.分别绘出三角波基波、三次谐波、五次谐波及合成的波形在同一坐标
平面的图形。

3.总结信号的分解与合成原理。

信号分解:采用性能较好的有源带通滤波器作为选频网络,选频网络的输出频率调整到被分解信号的基波、二次谐波、三次谐波四次、五次谐波,分别将电信号中所包含的该谐波频率成份提取出来。

信号合成:分解后的各次谐波信号分别输送到加法器中合成即可。

但要调整各次谐波的幅度和相位符合傅立叶分解级数中各次谐波间的幅度相位的比例关系,才能合成出效果良好的信号。

4. 总结方波、三角波所含频谱成分的差异。

等幅三角波与方波,傅立叶分解后,同次谐波相比,三角波信号分量幅度小。

方波与三角波相比,含有的高次谐波更丰富。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

王锋实验五:多种功率谱估计的比较一、实验目的a.了解功率谱估计在信号分析中的作用;b.掌握随机信号分析的基础理论,掌握参数模型描述形式下的随机信 号的功率谱的计算方法;c.掌握在计算机上产生随机信号的方法;d.了解不同的功率谱估计方法的优缺点。

二、实验准备有三个信号源,分别代表三种随机信号(序列)。

信号源1:123()2cos(2)2cos(2)2cos(2)()x n f n f n f n z n πππ=+++其中,1230.08,=0.38,0.40f f f == z(n)是一个一阶 AR 过程,满足方程: ()(1)(1)()z n a z n e n =--+ (1)0.823321a =-e(n)是一高斯分布的实白噪声序列,方差20.1σ=信号源2和信号源3:都是4阶的AR 过程,它们分别是一个宽带和一个窄带过程,满足方程: ()(1)(1)(2)(2)(3)(3)(4)(4)()x n a x n a x n a x n a x n e n =--------+ e(n)是一高斯分布的实白噪声序列,方差2σ,参数如下:三、实验内容a. 描绘出这三个实验信号的真实功率谱波形。

b. 在计算机上分别产生这个三个信号,令所得到的数据长度 N= 256 。

注意:产生信号的时候注意避开起始瞬态点。

例如,可以产生长度为512 的信号序列,然后取后面256 个点作为实验数据。

c. 分别用如下的谱估计方法,对三个信号序列进行谱估计。

1、经典谱估计 周期图法 自相关法平均周期图法(Bartlett 法)Welch法(可选每段64 点,重叠32 点,用Hamming 窗)2、现代谱估计Yule - Walker方程(自相关法)最小二乘法注:阶次p可在3-20之间,由自己给定。

四、实验结果分析生成的信号源进行一次估计时的结果:信号1的经典谱估计:信号1的现代谱估计:信号2的现代谱估计:信号3的现代谱估计:运行50次求平均的结果:信号1的经典谱估计:信号1的现代谱估计:信号2的现代谱估计:信号3的现代谱估计:运行1次估计结果分析:可见现代谱估计的分辨率和光滑性都比较好。

而经典谱估计中,周期图法和自相关法的分辨率较好,但是光滑性不好,起伏剧烈。

Bartlett法和Welch法光滑性比较好,但是是分辨率降低了很多。

运行50次结果分析:可以看到运行50次求平均后,周期图法以及自相关法的光滑性都得到了改善,并且没有降低分辨率。

这是因为50次求平均对于平稳信号来说相当于进行了数据长度更长的welch 法和平均周期图法,因此在没有牺牲分辨率的情况下,改善了光滑性。

实验还发现,burg算法的结果很不稳定,分辨率有时极差,这可能与随机信号的采样点数太少有关。

需要进步一研究。

五、原程序清单%=======生成信号源1=======e1=wgn(1,512,0.1);%生成高斯白噪声a1=-0.823321;z1(1)=0;for i=2:512z1(i)=-a1.*z1(i-1)+e1(i);endf1=0.08;f2=0.38;f3=0.40;for i=1:512xn11(i)=2.*cos(2.*pi.*f1.*i)+2.*cos(2.*pi.*f2.*i)+2.*cos(2.*pi.*f3.*i)+z1(i);endxn1(1:256)=xn11(257:512);%取后半段256点subplot(3,1,1);plot(1:256,xn1)title('信号源1');axis([0 256 -10 10])%=======生成信号源2=======e2=wgn(1,512,1);%生成高斯白噪声a21=-1.300;a22=1.200;a23=-0.600;a24=0.250;z2(1)=0;z2(2)=0;z2(3)=0;z2(4)=0;for i=5:512z2(i)=(-a21).*z2(i-1)+(-a22).*z2(i-2)+(-a23).*z2(i-3)+(-a24).*z2(i-4)+e2(i);endxn2(1:256)=z2(257:512);%取后半段256点subplot(3,1,2);plot(1:256,xn2)title('信号源2');axis([0 256 -10 10])%=======生成信号源3=======e3=wgn(1,512,1);%生成高斯白噪声a31=-2.750;a32=3.799;a33=-2.650;a34=0.928;z3(1)=0;z3(2)=0;z3(3)=0;z3(4)=0;for i=5:512z3(i)=(-a31).*z3(i-1)+(-a32).*z3(i-2)+(-a33).*z3(i-3)+(-a34).*z3(i-4)+e3(i);endxn3(1:256)=z3(257:512);%取后半段256点subplot(3,1,3);plot(1:256,xn3)title('信号源3');axis([0 256 -100 100])%====信号1的经典谱估计===m=50;%实验次数m取1和50for i=1:mX11(:,i)=fft(xn1,512);px11(:,i)=1/256*abs(X11(:,i)).^2;%周期图法Rx12(:,i)=xcorr(xn1);px12(:,i)=1/256*abs(fft(Rx12(:,i)));%自相关法xnk1(1:64)=xn1(1:64);xnk2(1:64)=xn1(65:128);xnk3(1:64)=xn1(129:192);xnk4(1:64)=xn1(193:256);Xnk1(:,i)=fft(xnk1,128);pxnk1(:,i)=1/64*abs(Xnk1(:,i)).^2;Xnk2(:,i)=fft(xnk2,128);pxnk2(:,i)=1/64*a bs(Xnk2(:,i)).^2;Xnk3(:,i)=fft(xnk3,128);pxnk3(:,i)=1/64*abs(Xnk3(:,i)).^2;Xnk4(:,i)=fft(xnk4,128);pxnk4(:,i)=1/64*a bs(Xnk4(:,i)).^2;px13(:,i)=1/4.*(pxnk1(:,i)+pxnk2(:,i)+pxnk3(:,i)+pxnk4(:,i));%4段平均周期图法px14(:,i)=pwelch(xn1,[],64,512);%welch法endpx111=mean(px11,2);px112=mean(px12,2);px113=mean(px13,2);px114=mean(px14,2);figure(4)subplot(4,1,1);plot(1:512,px111);title('信号1-周期图法');axis([0 256 0 300]);subplot(4,1,2);plot(1:511,px112);title('信号1-自相关法');axis([0 256 0 300]);subplot(4,1,3);plot(1:length(px113),px113);title('信号1-4段平均周期图法');axis([0 64 0 100]); subplot(4,1,4);plot(1:length(px114),px114);title('信号1-Welch法');axis([0 256 0 40]);%====信号1的现代谱估计===for i=1:mpx15(:,i)=pyulear(xn1,15,512);px16(:,i)=pburg(xn1,15,512);endpx115=mean(px15,2);px116=mean(px16,2);figure(5)subplot(2,1,1);plot(px115);title('信号1-Yule-Walker自相关法');subplot(2,1,2);plot(px116);title('信号1-Burg算法');%====信号2的经典谱估计===m=50;%实验次数m取1和50for i=1:mX21(:,i)=fft(xn2,512);px21(:,i)=1/256*abs(X21(:,i)).^2;%周期图法Rx22(:,i)=xcorr(xn2);px22(:,i)=1/256*abs(fft(Rx22(:,i)));%自相关法xnk21(1:64)=xn2(1:64);xnk22(1:64)=xn2(65:128);xnk23(1:64)=xn2(129:192);xnk24(1:64)=xn2(193:256);xnk221(:,i)=fft(xnk21,128);pxnk21(:,i)=1/64*abs(xnk221(:,i)).^2;xnk222(:,i)=fft(xnk22,128);pxnk22 (:,i)=1/64*abs(xnk22(:,i)).^2;xnk223(:,i)=fft(xnk23,128);pxnk23(:,i)=1/64*abs(xnk223(:,i)).^2;xnk224(:,i)=fft(xnk24,128);pxnk24 (:,i)=1/64*abs(xnk24(:,i)).^2;px23(:,i)=1/4.*(pxnk21(:,i)+pxnk22(:,i)+pxnk23(:,i)+pxnk24(:,i));%4段平均周期图法px24(:,i)=pwelch(xn2,[],64,512);%welch法endpx211=mean(px21,2);px212=mean(px22,2);px213=mean(px23,2);px214=mean(px24,2);figure(6)subplot(4,1,1);plot(1:512,px211);title('信号2-周期图法');axis([0 256 0 100]);subplot(4,1,2);plot(1:511,px212);title('信号2-自相关法');axis([0 256 0 100]);subplot(4,1,3);plot(1:length(px213),px213);title('信号2-4段平均周期图法');axis([0 64 0 50]); subplot(4,1,4);plot(1:length(px214),px214);title('信号2-Welch法');axis([0 256 0 10]);%====信号2的现代谱估计===for i=1:mpx25(:,i)=pyulear(xn2,15,512);px26(:,i)=pburg(xn2,15,512);endpx215=mean(px25,2);px216=mean(px26,2);figure(7)subplot(2,1,1);plot(px215);title('信号2-Yule-Walker自相关法');subplot(2,1,2);plot(px216);title('信号2-Burg算法');%====信号3的经典谱估计===m=50;%实验次数m取1和50for i=1:mX31(:,i)=fft(xn3,512);pX31(:,i)=1/256*abs(X31(:,i)).^2;%周期图法Rx32(:,i)=xcorr(xn3);px32(:,i)=1/256*abs(fft(Rx32(:,i)));%自相关法xnk31(1:64)=xn3(1:64);xnk32(1:64)=xn3(65:128);xnk33(1:64)=xn3(129:192);xnk34(1:64)=xn3(193:256);xnk321(:,i)=fft(xnk31,128);pxnk31(:,i)=1/64*abs(xnk321(:,i)).^2;xnk322(:,i)=fft(xnk32,128);pxnk32 (:,i)=1/64*abs(xnk32(:,i)).^2;xnk323(:,i)=fft(xnk33,128);pxnk33(:,i)=1/64*abs(xnk323(:,i)).^2;xnk324(:,i)=fft(xnk34,128);pxnk34 (:,i)=1/64*abs(xnk34(:,i)).^2;px33(:,i)=1/4.*(pxnk31(:,i)+pxnk32(:,i)+pxnk33(:,i)+pxnk34(:,i));%4段平均周期图法px34(:,i)=pwelch(xn3,[],64,512);%welch法endpX311=mean(pX31,2);pX312=mean(px32,2);pX313=mean(px33,2);pX314=mean(px34,2);figure(8)subplot(4,1,1);plot(1:512,pX311);title('信号3-周期图法');axis([0 256 0 40000]);subplot(4,1,2);plot(1:511,pX312);title('信号3-自相关法');axis([0 256 0 40000]);subplot(4,1,3);plot(1:length(pX313),pX313);title('信号3-4段平均周期图法');axis([0 64 0 20000]); subplot(4,1,4);plot(1:length(pX314),pX314);title('信号3-Welch法');axis([0 256 0 6000]);%====信号3的现代谱估计===for i=1:mpx35(:,i)=pyulear(xn3,15,512);px36(:,i)=pburg(xn3,15,512);endpX315=mean(px35,2);pX316=mean(px36,2);figure(9)subplot(2,1,1);plot(pX315);title('信号3-Yule-Walker自相关法');subplot(2,1,2);plot(pX316);title('信号3-Burg算法');六、实验后的体会和建议通过此次实验,了解不同的功率谱估计方法的优缺点,更加熟悉了MATLAB 相关的操作。

相关文档
最新文档