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

合集下载

(完整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、掌握信号频谱的测量方法,加深对周期信号频谱特点的了解。

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级。

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

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

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

信号分析与处理实验报告

信号分析与处理实验报告

实验一图像信号频谱分析及滤波一:实验原理FFT不是一种新的变化,而是DFT的快速算法。

快速傅里叶变换能减少运算量的根本原因在于它不断地把长序列的离散傅里叶变换变为短序列的离散傅里叶变换,在利用的对称性和周期性使DFT运算中的有些项加以合并,达到减少运算工作量的效果。

为了消除或减弱噪声,提取有用信号,必须进行滤波,能实现滤波功能的系统成为滤波器。

按信号可分为模拟滤波器和数字滤波器两大类。

数字滤波器的关键是如何根据给定的技术指标来得到可以实现的系统函数。

从模拟到数字的转换方法很多,常用的有双线性变换法和冲击响应不变法,本实验主要采用双线性变换法。

双线性变换法是一种由s平面到z平面的映射过程,其变换式定义为:数字域频率与模拟频率之间的关系是非线性关系。

双线性变换的频率标度的非线性失真是可以通过预畸变的方法去补偿的。

变换公式有Ωp=2/T*tan(wp/2)Ωs=2/T*tan(ws/2)二:实验内容1.图像信号的采集和显示选择一副不同彩色图片,利用Windows下的画图工具,设置成200*200像素格式。

然后在Matlab软件平台下,利用相关函数读取数据和显示图像。

要求显示出原始灰度图像、加入噪声信号后的灰度图像、滤波后的灰度图像。

2.图像信号的频谱分析要求分析和画出原始灰度图像、加入噪声信号后灰度图像、滤波后灰度图像信号的频谱特性。

3.数字滤波器设计给出数字低通滤波器性能指标:通带截止频率fp=10000 Hz,阻带截止频率fs=15000 Hz,阻带最小衰减Rs=50 dB,通带最大衰减Rp=3 dB,采样频率40000Hz。

三:实验程序clear allx=imread('D:\lan.jpg');%原始彩色图像的数据读取x1=rgb2gray(x);%彩色图像值转化为灰度图像值[M,N]=size(x1);%数据x1的长度,用来求矩阵的大小x2=im2double(x1);%unit8转化为double型x3=numel(x2);%计算x2长度figure(1);subplot(1,3,1);imshow(x2);title('原始灰度图')z1=reshape(x2,1,x3);%将二维数据转化成一维数据g=fft(z1);%对图像进行二维傅里叶变换mag=fftshift(abs(g));%fftshift是针对频域的,将FFT的DC分量移到频谱中心K=40000;Fs=40000;dt=1/Fs;n=0:K-1;f1=18000;z=0.1*sin(2*pi*f1*n*dt);x4=z1+z;%加入正弦噪声f=n*Fs/K;y=fft(x4,K);z2=reshape(x4,M,N);%将一维图转换为二维图subplot(1,3,2);imshow(z2);title('加入噪声后')g1=fft(x4);mag1=fftshift(abs(g1));%设计滤波器ws=0.75*pi;wp=0.5*pi;fs=10000;wp1=2*fs*tan(wp/2);ws1=2*fs*tan(ws/2);rs=50;rp=3;% [n,wn]=buttord(wp/pi,ws/pi,rp,rs);% [bz,az]=butter(n,wn);[n,wn]=buttord(wp1,ws1,rp,rs,'s');[z,p,k]=buttap(n);[b,a]=zp2tf(z,p,k);[B,A]=lp2lp(b,a,wn);[bz,az]=bilinear(B,A,fs);[h,w]=freqz(bz,az,128,fs);L=numel(z2);z3=reshape(z2,1,L);x6=filter(bz,az,double(z3));x7=reshape(x6,M,N);subplot(1,3,3);imshow(x7);g2=fft(x6);mag2=fftshift(abs(g2));title('滤波后')%建立频谱图figure(2);subplot(1,3,1);plot(mag);title('原始Magnitude')subplot(1,3,2);plot(mag1);title('加噪声Magnitude')subplot(1,3,3);plot(mag2);title('滤波后Magnitude')figure(3);subplot(1,2,1)plot(w,abs(h));xlabel('f');ylabel('h');title('滤波器幅谱');subplot(1,2,2);plot(w,angle(h));title('滤波器相谱');四:实验结果与分析图一图二分析:由图二可以知道加入噪声后的幅值谱和原始图的幅值谱明显多了两条幅值线,而这两条幅值线就是我们对原始灰度图加入的正弦噪声,而相应的图一中的加噪声后的图与原始图相比,出现了明显的变化。

《测试信号分析与处理》(附实验结果).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)}。

信号分析与处理实验报告2(完成)

信号分析与处理实验报告2(完成)

合肥工业大学电气与自动化工程学院 实验报告专业 班级 学号 姓名 日期 指导教师 共 页 第 页实验二 数字滤波器设计实验报告要求:1、实验内容为实验指导书实验三第2题、实验四第1题;2、实验报告包括四部分:实验原理、实验内容、实验程序、结果分析;分别占实验报告总成绩的20%,10%,30%,40%;3、实验程序及结果分析如有内容雷同,均不给分;4、实验程序、结果分析内容可以直接打印。

【 项目一 双线性变换法设计巴特沃斯滤波器 】实验内容:给定待设计的数字高通和带通滤波器的技术指标如下:(1) HP :Hz f p 400=,Hz f s 300=,Hz F s 1000=,dB p 3=α,dB s 35=α。

(2) BP :Hz f sl 200=,Hz f 3001=,Hz f 4002=,Hz f sh 500=,Hz F s 2000=,dB p 3=α,dB s 40=α。

试用双线性变换分别设计满足上述要求的巴特沃斯滤波器,给出其系统函数、对数幅频及相频曲线。

实验原理:为了克服脉冲响应不变法中产生频率响应的混叠失真,采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到-π/T ~π/T 之间,再用z =e sT转换到Z 平面上。

也就是说,第一步先将整个S 平面压缩映射到S 1平面的-π/T ~π/T 一条横带里;第二步再通过标准变换关系z =e s 1T将此横带变换到整个Z 平面上去。

这样就使S 平面与Z 平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象。

由下图看出,在零频率附近,模拟角频率Ω与数字频率ω之间的变换关系接近于线性关系;但当Ω进一步增加时,ω增长得越来越慢,最后当Ω→∞时,ω终止在折叠频率ω=π处,因而双线性变换就不会出现由于高频部分超过折叠频率而混淆到低频部分去的现象,从而消除了频率混叠现象。

将S 平面j Ω轴压缩变换到s1平面j Ω轴上的-π/T 到π/T 一段,可以采用以下变换关系:⎪⎭⎫⎝⎛Ω=Ω2tan 1T 这样±∞=Ω变换到Tπ±=Ω1,0=Ω变换到01=Ω,可将上式写成22221111T jT j T jTjeee e j Ω-ΩΩ-Ω+-=Ω令s j =Ω,11s j =Ω,解析延拓到整个s 平面和s1平面,可得22221111T s T s T s T s eee e s --+-=再将1s 平面通过以下变换关系映射到z 平面,即T s e z 1=从而得到s 平面和z 平面的单值映射关系为1111--+-=z z s , ss z -+=11一般来说,为了使模拟滤波器的某一频率与数字滤波器的任一频率有对应关系,可引入待定常数c ,⎪⎭⎫ ⎝⎛Ω=Ω2tan 1Tc ()Ts Ts e e c s 1111--+-=将Ts ez 1=代入到上式,可得1111--+-=z zcs , sc s c z -+=在MATLAB 中,双线性Z 变换可以通过bilinear 函数实现,其调用格式为:[Bz ,Az]=bilinear(B ,A ,Fs);其中B ,A 为模拟滤波器传递函数G (s )的分子分母多项式的系数向量,而Bz ,Az 为数字滤波器的传递函数H (z )的分子分母多项式的系数向量。

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

王锋实验一:利用FFT 作快速相关估计一、实验目的a.掌握信号处理的一般方法,了解相关估计在信号分析与处理中的作用。

b.熟悉FFT算法程序;熟练掌握用FFT作快速相关估计的算法。

c.了解快速相关估计的谱分布的情况。

二、实验内容a.读入实验数据[1]。

b.编写一利用FFT作相关估计的程序[2]。

c.将计算结果表示成图形的形式,给出相关谱的分布情况图。

注[1]:实验数据文件名为“Qjt.dat”。

实验数据来源:三峡前期工程 “覃家沱大桥” 实测桥梁振动数据。

实验数据采样频率:50Hz。

可从数据文件中任意截取几段数据进行分析,数据长度N 自定。

注[2]:采用Matlab 编程。

三、算法讨论及分析算法为有偏估计,利用FFT计算相关函数Step 1: 对原序列补N个零,得新序列x2N(n)Step2: 作FFT[x2N(n)]得到X2N(k)Step 3: 取X2N(k)的共轭,得Step 4: 作Step 5: 调整与的错位。

四、实验结果分析1. 该信号可以近似为平稳信号么?可以近似为平稳信号,随机过程的统计特性不随样本的采样时刻而发生变化。

取N=8192,分别取间隔m=500,m=700,m=1000,所得到的均值均为0.5366,方差为47369,与时间无关。

图1-1 自相关函数图(上图表示的R0,下图为调整后的R0)2. 该信号是否具有周期性,信噪比如何?>> load Qjt.dat; %加载数据N=32768; %数据长度i=1:1:N; %提取数据plot(i,Qjt(i));抛去几个极值点,从图1-2可以看出,数据具有一定的周期性,杂音比较少,说明信噪比较高。

图1-2 数据图3.数据量N对估计结果有何影响?在实验中,用FFT做相关估计,有偏估计均值的表达式为有偏估计方差的表达式为可知,N越大,方差越小,均值越趋于,为无偏渐进一致估计,估计效果好。

4.采用有偏估计和无偏估计的结果有何不同?哪一种结果更好?无偏估计的均值为无偏估计的方差为可以看出均值为无偏估计,但是当m增大时,方差大,估计值分散,综合质量差,有偏估计的方差就没有这样的问题,估计值比较集中,故有偏估计更适合实际应用。

五、原程序清单>> %%计算数据的自相关函数的程序load Qjt.dat; %加载数据N=16384; %数据长度%N=8192;for i=1:1:N %提取数据X(i)=Qjt(i);endnum=2*N; %补零措施for i=N+1:1:numX(i)=0;endXfft=fft(X); % x2N(n)进行FFT变换X2N(k)conXfft=conj(Xfft);%求X2N(k)的共轭R0=ifft((Xfft.*conXfft)/N);%求自相关函数Rxx=0*R0;for i1=1:1:NRxx(i1)=R0(i1+N);Rxx(i1+N)=R0(i1);endn=1:1:num;subplot(2,1,1);stem(n,R0);%绘制R0的图subplot(2,1,2);axis onstem(fftshift(R0));%调整后的R0%%计算数据的均值和均方差的程序load Qjt.dat; %加载数据%N=16384;N=8192; %选取数据量for i=1:1:NX(i)=Qjt(i); %选取数据,数据范围1~8192endold_mean=mean(X) %求数据的均值old_var=var(X) %求数据的方差%选取数据,与原数据的间隔为m=500,数据范围500~8692for i=500:1:(N+500)X(i)=Qjt(i);endnew500_mean=mean(X)%求数据的均值new500_var=var(X) %求数据的方差%选取数据,与原数据的间隔为m=700,数据范围700~8892for i=700:1:(N+700)X(i)=Qjt(i);endnew700_mean=mean(X)%求数据的均值new700_var=var(X) %求数据的方差%选取数据,与原数据的间隔为m=1000,数据范围1000~9192for i=1000:1:(N+1000)X(i)=Qjt(i);endnew1000_mean=mean(X)%求数据的均值new1000_var=var(X) %求数据的方差六、实验后的体会与建议通过该实验,熟练应用了FFT作快速相关估计的算法来解决实际中的问题,更加熟悉了MATLAB相关的操作。

建议:课上可以多教授一些关于MATLAB的相关函数的用法,以及常见的误区。

实验二:采用Welch法作谱估计一、实验目的a. 掌握We l c h算法的概念、应用及特点;b. 了解谱估计在信号分析中的作用;c. 能够利用We l c h法对信号作谱估计,对信号的特点加以分析。

二、实验内容a. 读入实验数据。

b. 编写一利用We l c h法作谱估计的算法程序。

c. 将计算结果表示成图形的形式,给出信号谱的分布情况图。

三、算法讨论及分析四、实验结果及分析图2-1 实验结果图1 不同的分段点数对Welch谱估计结果有何影响?分段数K增大,每组数据量M减小,则会造成谱估计的偏差增大,曲线平滑;反之, 曲线起伏激烈, 谱线的尖峰保留。

从图2-2中的K值大于图2-3的K值,图2-2中的曲线比图2-3的曲线平滑,但是图2-3的尖峰效果比图2-2好。

图2-2 K =N/1100时的频谱图图2-3 K=N/3000时的频谱图2 不同的数据重叠长度Welch对谱估计结果有何影响?如果数据交叠使用,分段数K 比平均周期图法增大,则估计方差比平均周期图法小,数据交叠长度越大,分段数K越大,则估计方差会越小,图形会变得平滑,如图2-4所示,上图数据重叠度大,K大,则曲线相对平滑。

从式(1)也可以看出,式(1)为谱估计的方差。

(1)图2-4 使用不同的重叠度得到的谱估计图(上:重叠度为97%,下:重叠度为3%)3 不同的窗函数对Welch谱估计结果有何影响?使用窗函数,会使Welch谱估计的图形变得平滑,但是,不同的窗函数不同,则其主瓣宽度不同。

主瓣宽度越窄,对信号的主瓣频率辨识效果越好,分辨率较高。

从图2-5可以看出,使用矩形窗的分辨率高于汉宁窗。

图2-5 使用不同的窗函数得到的谱估计(上:矩形窗,下:汉宁窗)4周期图法与Welch法的谱估计结果有何不同?周期图法本身的误差就很大,不是无偏估计,而且偏差比较大;welch方法应该会准确一些,它频谱分辨率可能低一些,但估计的方差会小些,所以功率谱看起来平滑一些,另外一个原因是welch方法你是加了窗的。

两个估计都是跟准确值有偏差的,只是后者统计方差更小一些,相对更加可靠一点。

五、原程序清单load Qjt.dat %加载数据N=length(Qjt); %获得数据的长度L=1800; %确定每段数据的长度K=N/L; %在总数据中共取K段,没有重合%K=2*N/L-1; %在总数据中共取K段,有重合K=fix(K);for num=1:1:K %使用循环,提取每段数据for i=1:1:LA(i,num)=Qjt((num-1)*L+i); %每段数据占据A阵的一列,没有重合% A(i,num)=Qjt((num-1)*L/2+i); %每段数据占据A阵的一列,有重合endfor i2=L+1:1:2048 % 使用循环,补零A(i2,num)=0;endendfor num=1:1:K %使用循环,对每段数据使用矩形窗截取tempA=A(:,num); %tempw=boxcar(2048); % 获取窗函数for i3=1:1:2048 %对每段数据使用矩形窗截取A(i3,num)=tempA(i3)*tempw(i3);endendfor num=1:1:K %对截取之后的数据进行FFT变换,并获得傅里叶变换后的数据模tempA=A(:,num);tempFFT=fft(tempA); %对每一段数据进行FFT变换for i3=1:1:2048 %获取数据FFT变换后的模Sxi(i3,num)=tempFFT(i3)*conj(tempFFT(i3))/2048;endend %循环结束U=dot(boxcar(2048),boxcar(2048))/2048; %获得修正系数U tempSUM=0*ones(2048,1);for num=1:1:KtempSUM=Sxi(:,num)+tempSUM; %获得数据FFT变换后的功率谱和endSxx=tempSUM/(K*U); %调整系数subplot(3,1,1);Sxxi=ones(1024,1);for inum=1:1:1024Sxxi(inum)=Sxx(inum);endplot(Sxx); %绘制0~2048点的图[Px,F]=pwelch(Qjt,boxcar(2048),0,2048); %使用pwelch函数计算subplot(3,1,2);plot(Sxxi);subplot(3,1,3);plot(Px); %绘制pwelch所得的图六、实验后的体会和建议通过此次实验,掌握了We l c h算法的概念、应用及特点,更加熟悉了MATLAB相关的操作。

建议:课上可以多教授一些关于MATLAB的相关函数的用法,以及常见的误区。

相关文档
最新文档