信号分析与处理实验四个
- 格式:doc
- 大小:567.50 KB
- 文档页数:19
实验一1、基本信号的表示及可视化(1)单位冲激信号 (t)程序:t=-1:0.001:1; %定义时间向量for i=1:3; %采用循环语句观察i取不同值时的图形dt=1/(i^4);X=(1/dt)*((t>=(-1/2*dt))-(t>=(1/2*dt)));%计算函数值subplot(1,3,i);%将图像分成三部分同时观察stairs(t,X);title('单位冲激信号δ(t)');end(2)单位阶跃信号程序:t=-0.5:0.001:1;%定义时间变量,间隔为0.001S=stepfun(t,0);%定义单位阶跃信号S1=stepfun(t,0.5);%定义单位阶跃延迟信号figure(1);plot(t,S);axis([-0.5 1 -0.2 1.2]);title('单位阶跃信号')%画出图形figure(2);plot(t,S1);axis([-0.5 1 -0.2 1.2]);title('单位阶跃延迟信号')(3)抽样信号f=sin(t)./t;程序:t=-10:0.6:10; %向量t时间范围t=t1:p:t2,p为时间间隔f=sin(t)./t;plot(t,f,'o'); %显示该信号的时域波形title('f(t)=Sa(t)(时间间隔为0.6s)'); %标题xlabel('t') %横坐标标题axis([-10,10,-0.4,1.1]) %横坐标和纵坐标范围(4)单位样值序列和单位阶跃序列A.单位序列δ(k)B.单位阶跃序列ε(k)程序:n1=-10;n2=10;%输入序列的起始点n=n1:n2;k=length(n);x1=zeros(1,k);x1(1,-n1+1)=1;%产生单位样值序列subplot(2,1,1);%绘图stem(n,x1,'filled');x2=ones(1,k);x2(1,1:-n1)=0;subplot(2,1,2);stem(n,x2,'filled');2、信号的频域分析已知周期方波信号0||2()0||22E t f t T t ττ⎧<⎪⎪=⎨⎪<<⎪⎩,当02T τ=, 04T τ=,08T τ=时,画出其幅度谱和相位谱,观察不同周期下,()f t 的频谱图有何区别。
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.了解信号分析与处理的基本概念和方法;2.掌握信号分析与处理的基本实验操作;3.熟悉使用MATLAB进行信号分析与处理。
二、实验原理信号分析与处理是指利用数学和计算机技术对信号进行分析和处理的过程。
信号分析的目的是了解信号的特性和规律,通过对信号的频域、时域和幅频特性等进行分析,获取信号的频率、幅度、相位等信息。
信号处理的目的是对信号进行数据处理,提取信号的有效信息,优化信号的质量。
信号分析和处理的基本方法包括时域分析、频域分析和滤波处理。
时域分析主要是对信号的时变过程进行分析,常用的方法有波形分析和自相关分析。
频域分析是将信号转换到频率域进行分析,常用的方法有傅里叶级数和离散傅里叶变换。
滤波处理是根据信号的特性选择适当的滤波器对信号进行滤波,常用的滤波器有低通滤波器、高通滤波器、带通滤波器和带阻滤波器等。
三、实验内容1.信号的时域分析将给定的信号进行波形分析,绘制信号的时域波形图;进行自相关分析,计算信号的自相关函数。
2.信号的频域分析使用傅里叶级数将信号转换到频域,绘制信号的频域图谱;使用离散傅里叶变换将信号转换到频域,绘制信号的频域图谱。
3.滤波处理选择合适的滤波器对信号进行滤波处理,观察滤波前后的信号波形和频谱。
四、实验步骤与数据1.时域分析选择一个信号进行时域分析,记录信号的波形和自相关函数。
2.频域分析选择一个信号进行傅里叶级数分析,记录信号的频谱;选择一个信号进行离散傅里叶变换分析,记录信号的频谱。
3.滤波处理选择一个信号,设计适当的滤波器对信号进行滤波处理,记录滤波前后的信号波形和频谱。
五、实验结果分析根据实验数据绘制的图像进行分析,对比不同信号在时域和频域上的特点。
观察滤波前后信号波形和频谱的变化,分析滤波效果的好坏。
分析不同滤波器对信号的影响,总结滤波处理的原理和方法。
六、实验总结通过本次实验,我们了解了信号分析与处理的基本概念和方法,掌握了信号分析与处理的基本实验操作,熟悉了使用MATLAB进行信号分析与处理。
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,则三信号采样后不会发生频率混叠,可运行以下的程序,观察序列的频谱。
k=1:300;q=cos(6*pi*k/30);q1=cos(14*pi*k/30);q2=cos(26*pi*k/30);subplot(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)))问题与实践:保证采样后的信号不发生混叠的条件是什么?若信号的最高频率为17Hz,采样频率为30Hz,问是否会发生频率混叠?混叠成频率为多少Hz的信号?编程验证你的想法。
实验一图像信号频谱分析及滤波一:实验原理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('滤波器相谱');四:实验结果与分析图一图二分析:由图二可以知道加入噪声后的幅值谱和原始图的幅值谱明显多了两条幅值线,而这两条幅值线就是我们对原始灰度图加入的正弦噪声,而相应的图一中的加噪声后的图与原始图相比,出现了明显的变化。
实验一 常见信号的MATLAB 表示及运算一、实验目的1.熟悉常见信号的意义、特性及波形2.学会使用MATLAB 表示信号的方法并绘制信号波形 3. 掌握使用MATLAB 进行信号基本运算的指令 4. 熟悉用MATLAB 实现卷积积分的方法二、实验原理信号一般是随时间而变化的某些物理量。
按照自变量的取值是否连续,信号分为连续时间信号和离散时间信号,一般用()f t 和()f k 来表示。
若对信号进行时域分析,就需要绘制其波形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确。
MATLAB 强大的图形处理功能及符号运算功能,为实现信号的可视化及其时域分析提供了强有力的工具。
根据MATLAB 的数值计算功能和符号运算功能,在MATLAB 中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法。
在采用适当的MATLAB 语句表示出信号后,就可以利用MATLAB 中的绘图命令绘制出直观的信号波形了。
下面分别介绍连续时间信号和离散时间信号的MATLAB 表示及其波形绘制方法。
1.连续时间信号所谓连续时间信号,是指其自变量的取值是连续的,并且除了若干不连续的点外,对于一切自变量的取值,信号都有确定的值与之对应。
从严格意义上讲,MATLAB 并不能处理连续信号。
在MATLAB 中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。
在MATLAB 中连续信号可用向量或符号运算功能来表示。
⑴ 向量表示法对于连续时间信号()f t ,可以用两个行向量f 和t 来表示,其中向量t 是用形如12::t t p t =的命令定义的时间范围向量,其中,1t 为信号起始时间,2t 为终止时间,p 为时间间隔。
向量f 为连续信号()f t 在向量t 所定义的时间点上的样值。
例如:对于连续信号sin()()()t f t Sa t t== ,我们可以将它表示成行向量形式,同时用绘图命令plot()函数绘制其波形。
信号与系统分析实验报告信号与系统分析实验报告引言:信号与系统分析是电子工程领域中的重要课程之一,通过实验可以更好地理解信号与系统的基本概念和原理。
本实验报告将对信号与系统分析实验进行详细的描述和分析。
实验一:信号的采集与重构在这个实验中,我们学习了信号的采集与重构。
首先,我们使用示波器采集了一个正弦信号,并通过数学方法计算出了信号的频率和幅值。
然后,我们使用数字信号处理器对采集到的信号进行重构,并与原始信号进行比较。
实验结果表明,重构后的信号与原始信号非常接近,证明了信号的采集与重构的有效性。
实验二:线性系统的时域响应本实验旨在研究线性系统的时域响应。
我们使用了一个线性系统,通过输入不同的信号,观察输出信号的变化。
实验结果显示,线性系统对于不同的输入信号有不同的响应,但都遵循线性叠加的原则。
通过分析输出信号与输入信号的关系,我们可以得出线性系统的传递函数,并进一步研究系统的稳定性和频率响应。
实验三:频域特性分析在这个实验中,我们研究了信号的频域特性。
通过使用傅里叶变换,我们将时域信号转换为频域信号,并观察信号的频谱。
实验结果显示,不同频率的信号在频域上有不同的分布特性。
我们还学习了滤波器的设计和应用,通过设计一个低通滤波器,我们成功地去除了高频噪声,并得到了干净的信号。
实验四:系统辨识本实验旨在研究系统的辨识方法。
我们使用了一组输入信号和对应的输出信号,通过数学建模的方法,推导出了系统的传递函数。
实验结果表明,通过系统辨识可以准确地描述系统的特性,并为系统的控制和优化提供了基础。
结论:通过本次实验,我们深入学习了信号与系统分析的基本概念和原理。
实验结果证明了信号的采集与重构的有效性,线性系统的时域响应的线性叠加原则,信号的频域特性和滤波器的设计方法,以及系统辨识的重要性。
这些知识和技能对于我们理解和应用信号与系统分析具有重要的意义。
通过实验的实际操作和分析,我们对信号与系统的理论有了更深入的理解,为我们今后的学习和研究打下了坚实的基础。
《信号分析与处理》实验指导书(修订版)上海大学精密机械工程系2009年4月目录DRVI可重构虚拟仪器实验平台简介 (2)实验一常用数字信号生成实验 (8)实验二典型信号波形的合成与分解实验 (11)实验三滤波器原理与应用实验 (13)附录一151DRVI可重构虚拟仪器实验平台简介1、概述DRVI的主体为一个带软件控制线和数据线的软主板,其上可插接软仪表盘、软信号发生器、软信号处理电路、软波形显示芯片等软件芯片组,并能与A/D卡、I/O卡等信号采集硬件进行组合与连接。
直接在以软件总线为基础的面板上通过简单的可视化插/拔软件芯片和连线,就可以完成对仪器功能的裁减、重组和定制,快速搭建一个按应用需求定制的虚拟仪器测量系统。
图2、虚拟仪器软件总线结构图2、软件运行双击WINDOWS桌面上的图标,或在程序组中的DRVI,就可以启动DRVI软件。
DRVI启动后点击红色箭头所示按钮从DRVI采集卡、运动控制卡,或网络在线进行注册登记,获取软件使用权限,然后就可以使用了。
图3、DRVI软件运行界面3、插接软件芯片DRVI通过在前面板上可视化插接虚拟仪器软件芯片来搭构虚拟仪器或测量实验。
插接软件芯片的过程很简单,从软件芯片表中点击需要的软件芯片,将其添加到DRVI 前面板上,然后在新插入的软件芯片上压下鼠标不放,将其拖动到合适位置。
重复上述步骤,插入其它软件芯片。
图4 用DRVI设计虚拟仪器插接在DRVI前面板上的虚拟仪器软件芯片的屏幕位置是可以移动和调整的,点击快捷工具条中的“移动软件芯片位置”图标,然后在待移动的软件芯片上压下鼠标不放,就可以将其拖动到新位置,从而实现屏幕布局的调整。
4、DRVI软件总线的概念和软件芯片的连线为实现虚拟仪器软件芯片间的数据交换,DRVI中设置了一组软件总线,包括256条Double型单变量数据线和32条Double型数组型数据线,可传输有效值等单变量数据,也可传输波形、频谱等数组数据。
信号分析与处理实验报告
班级_________________________
学生姓名_________________________
学号_________________________
所在专业_________________________
成绩_________________________
上海大学
二0 0 年月日
图1-2 芯片参数设置界面
4. 利用数字公式编程生成正弦波、噪声或三角波等数字信号,可以选择其中一种信号,
图3-1 滤波器的种类
下图是用带通滤波器消除信号钢管无损探伤信号中由于传感器晃动带来的低频干扰,以及由于电磁噪声等带来的高频干扰的例子。
用滤波器消除信号中的干扰
图3-3 滤波器的作用实验
下面是该实验的装配图和信号流图,图中线上的数字为连接软件芯片的软件总线数
图3-4 滤波器的作用实验装配图。
第1篇一、实验背景随着信息技术的飞速发展,数字信号处理(DSP)技术已成为通信、图像处理、语音识别等领域的重要工具。
本实验旨在通过一系列实验,加深对数字信号处理基本原理和方法的理解,提高实际应用能力。
二、实验目的1. 理解数字信号处理的基本概念和原理。
2. 掌握常用信号处理算法的MATLAB实现。
3. 培养分析和解决实际问题的能力。
三、实验内容本实验共分为五个部分,具体如下:1. 离散时间信号的基本操作(1)实验目的:熟悉离散时间信号的基本操作,如加法、减法、乘法、除法、延时、翻转等。
(2)实验步骤:- 使用MATLAB生成两个离散时间信号。
- 对信号进行基本操作,如加法、减法、乘法、除法、延时、翻转等。
- 观察并分析操作结果。
2. 离散时间系统的时域分析(1)实验目的:掌握离散时间系统的时域分析方法,如单位脉冲响应、零状态响应、零输入响应等。
(2)实验步骤:- 使用MATLAB设计一个离散时间系统。
- 计算系统的单位脉冲响应、零状态响应和零输入响应。
- 分析系统特性。
(1)实验目的:掌握离散时间信号的频域分析方法,如快速傅里叶变换(FFT)、离散傅里叶变换(DFT)等。
(2)实验步骤:- 使用MATLAB生成一个离散时间信号。
- 对信号进行FFT和DFT变换。
- 分析信号频谱。
4. 数字滤波器的设计与实现(1)实验目的:掌握数字滤波器的设计与实现方法,如巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器等。
(2)实验步骤:- 使用MATLAB设计一个低通滤波器。
- 使用窗函数法实现滤波器。
- 对滤波器进行性能分析。
5. 信号处理在实际应用中的案例分析(1)实验目的:了解信号处理在实际应用中的案例分析,如语音信号处理、图像处理等。
(2)实验步骤:- 选择一个信号处理应用案例。
- 分析案例中使用的信号处理方法。
- 总结案例中的经验和教训。
四、实验结果与分析1. 离散时间信号的基本操作实验结果表明,离散时间信号的基本操作简单易懂,通过MATLAB可以实现各种操作,方便快捷。
信号处理技术实验报告在信号处理技术这一领域里,实验是非常重要的一环。
本次实验旨在通过实操操作和数据分析,探讨信号处理技术的应用和原理。
以下将详细介绍实验过程和结果。
实验一:滤波器设计与实现在本实验中,我们首先学习了滤波器的设计原理,然后通过软件仿真工具进行了滤波器的设计与实现。
我们分别设计了低通滤波器、高通滤波器和带通滤波器,通过观察输出信号波形和频谱图,我们验证了设计的滤波器的有效性。
实验二:采样定理验证实验采样定理是信号处理技术中一个非常重要的理论。
在本实验中,我们进行了一系列的采样实验,验证采样频率是否满足信号的重构条件。
通过实验数据的对比分析,我们验证了采样定理的正确性,并且得出了一些结论和经验。
实验三:数字信号处理硬件实现本次实验中,我们使用FPGA芯片进行了数字信号的硬件实现。
我们编写了Verilog代码,实现了数字信号的低通滤波和加法运算。
通过实验数据的对比和波形分析,我们验证了硬件实现的正确性,并且对FPGA在信号处理中的应用有了更深入的理解。
实验四:信号处理算法优化在这个实验中,我们学习了常见的信号处理算法,比如快速傅里叶变换(FFT)和小波变换。
我们通过对算法的原理和实现细节进行分析,并尝试对算法进行优化。
通过实验数据的对比和性能测试,我们得出了一些优化算法的结论,为实际应用提供了指导。
总结:通过本次实验,我们深入了解了信号处理技术的基本原理和应用。
我们通过实操操作和数据分析,掌握了一定的实验技能,并且对信号处理技术有了更深入的认识。
希望在以后的学习和工作中能够更好地运用所学的知识,为信号处理技术的发展做出贡献。
(此文档为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 定理)的知识,说明采样频率对信号重建的影响。
实验一 常见信号的MATLAB 表示及运算一、实验目的1.熟悉常见信号的意义、特性及波形2.学会使用MATLAB 表示信号的方法并绘制信号波形 3. 掌握使用MATLAB 进行信号基本运算的指令 4. 熟悉用MATLAB 实现卷积积分的方法二、实验原理信号一般是随时间而变化的某些物理量。
按照自变量的取值是否连续,信号分为连续时间信号和离散时间信号,一般用()f t 和()f k 来表示。
若对信号进行时域分析,就需要绘制其波形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确。
MATLAB 强大的图形处理功能及符号运算功能,为实现信号的可视化及其时域分析提供了强有力的工具。
根据MATLAB 的数值计算功能和符号运算功能,在MATLAB 中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法。
在采用适当的MATLAB 语句表示出信号后,就可以利用MATLAB 中的绘图命令绘制出直观的信号波形了。
下面分别介绍连续时间信号和离散时间信号的MATLAB 表示及其波形绘制方法。
1.连续时间信号所谓连续时间信号,是指其自变量的取值是连续的,并且除了若干不连续的点外,对于一切自变量的取值,信号都有确定的值与之对应。
从严格意义上讲,MATLAB 并不能处理连续信号。
在MATLAB 中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。
在MATLAB 中连续信号可用向量或符号运算功能来表示。
⑴ 向量表示法对于连续时间信号()f t ,可以用两个行向量f 和t 来表示,其中向量t 是用形如12::t t p t =的命令定义的时间范围向量,其中,1t 为信号起始时间,2t 为终止时间,p 为时间间隔。
向量f 为连续信号()f t 在向量t 所定义的时间点上的样值。
例如:对于连续信号sin()()()t f t Sa t t== ,我们可以将它表示成行向量形式,同时用绘图命令plot()函数绘制其波形。
其程序如下:t1=-10:0.5:10; %定义时间t 的取值范围:-10~10,取样间隔为0.5,%则t1是一个维数为41的行向量f1=sin(t1). /t1; %定义信号表达式,求出对应采样点上的样值, %同时生成与向量t1维数相同的行向量f1 figure(1); %打开图形窗口1plot(t1,f1); %以t1为横坐标,f1为纵坐标绘制f1的波形 t2=-10:0.1:10; %定义时间t 的取值范围:-10~10,取样间隔为0.1, %则t2是一个维数为201的行向量f2=sin(t2). /t2; %定义信号表达式,求出对应采样点上的样值%同时生成与向量t2维数相同的行向量f2figure(2); %打开图形窗口2plot(t2,f2); %以t2为横坐标,f2为纵坐标绘制f2的波形运行结果如下:图1-1 图1-2说明:plot是常用的绘制连续信号波形的函数。
严格说来,MATLAB不能表示连续信号,所以,在用plot( )命令绘制波形时,要对自变量t进行取值,MATLAB会分别计算对应点上的函数值,然后将各个数据点通过折线连接起来绘制图形,从而形成连续的曲线。
因此,绘制的只是近似波形,而且,其精度取决于t的取样间隔。
t的取样间隔越小,即点与点之间的距离越小,则近似程度越好,曲线越光滑。
例如:图1-1是在取样间隔为p=0.5时绘制的波形,而图1-2是在取样间隔p=0.1时绘制的波形,两相对照,可以看出图1-2要比图1-1光滑得多。
在上面的f=sin(t). /t语句中,必须用点除符号,以表示是两个函数对应点上的值相除。
⑵符号运算表示法如果一个信号或函数可以用符号表达式来表示,那么我们就可以用前面介绍的符号函数专用绘图命令ezplot()等函数来绘出信号的波形。
例如:对于连续信号sin()()()tf t Sa tt==,我们也可以用符号表达式来表示它,同时用ezplot()命令绘出其波形。
其MATLAB程序如下:syms t ; %符号变量说明f=sin(t)/t ; %定义函数表达式ezplot(f,[-10,10]); %绘制波形,并且设置坐标轴显示范围运行结果如下:图1-3⑶常见信号的MATLAB表示对于普通的信号,应用以上介绍的两种方法即可完成计算函数值或绘制波形,但是对于一些比较特殊的信号,比如单位阶跃信号 (t)、符号函数sgn(t)等,在MATLAB 中这些信号都有专门的表示方法。
单位阶跃信号单位阶跃信号的定义为:10()0t t t ε>⎧=⎨<⎩ ,单位阶跃信号是信号分析的基本信号之一,在信号与系统分析中有着非常重要的作用,通常,我们用它来表示信号的定义域,简化信号的时域表示形式。
例如:可以用两个不同延时的单位阶跃信号来表示一个矩形门信号,即:2()(1)(1)G t t t εε=+--在MATLAB 中,可通过多种方法得到单位阶跃信号,下面分别介绍。
方法一: 调用Heaviside(t)函数在MATLAB 的Symbolic Math Toolbox 中,有专门用于表示单位阶跃信号的函数,即Heaviside(t)函数,用它即可方便地表示出单位阶跃信号以及延时的单位阶跃信号,并且可以方便地参加有关的各种运算过程。
首先定义函数Heaviside(t) 的m 函数文件,该文件名应与函数名同名即Heaviside.m 。
%定义函数文件,函数名为Heaviside,输入变量为x,输出变量为y function y= Heaviside(t)y=(t>0); %定义函数体,即函数所执行指令%此处定义t>0时y=1,t<=0时y=0,注意与实际的阶跃信号定义的区别。
例① 用MATLAB 画出单位阶跃信号的波形,其程序如下:ut=sym('Heaviside(t)'); %定义单位阶跃信号(要用符号函数定义法) ezplot(ut,[-2,10]) %绘制单位阶跃信号在-2~10范围之间的波形运行结果如下:例② 用MATLAB 画出信号()(2)3(5)f t t t εε=+--的波形 其程序如下:f=sym('Heaviside(t+2)-3*Heaviside(t-5)'); %定义函数表达式ezplot(f,[-4,20]) %绘制函数在-4~20范围之间的波形运行结果如下:方法二:数值计算法在MATLAB 中,有一个专门用于表示单位阶跃信号的函数,即stepfun( )函数,它是用数值计算法表示的单位阶跃函数()t ε。
其调用格式为:stepfun(t,t0)其中,t 是以向量形式表示的变量,t0表示信号发生突变的时刻,在t0以前,函数值小于零,t0以后函数值大于零。
有趣的是它同时还可以表示单位阶跃序列()k ε,这只要将自变量以及取样间隔设定为整数即可。
有关单位阶跃序列()k ε的表示方法,我们后面有专门论述,下面通过一个例子来说明如何调用stepfun( )函数来表示单位阶跃函数。
例① 用stepfun( )函数表示单位阶跃信号,并绘出其波形 程序如下:t=-1:0.01:4; %定义时间样本向量 t0=0; %指定信号发生突变的时刻 ut=stepfun(t,t0); %产生单位阶跃信号 plot(t,ut) %绘制波形 axis([-1,4,-0.5,1.5]) %设定坐标轴范围运行结果如下:例② 绘出门函数()(2)(2)f t t t εε=+--的波形 程序如下:t=-4:0.01:4; %定义时间样本向量t1=-2; %指定信号发生突变的时刻 u1=stepfun(t,t1); %产生左移位的阶跃信号 (t+2) t2=2; %指定信号发生突变的时刻 u2=stepfun(t,t2); %产生右移位的阶跃信号 (t-2) g=u1-u2; %表示门函数 plot(t,g) %绘制门函数的波形axis([-4,4,-0.5,1.5]) %设定坐标轴范围-4<x<4 ,-0.5<y<1.5运行结果如下:符号函数符号函数的定义为:10sgn()1t t t >⎧=⎨-<⎩在MATLAB 中有专门用于表示符号函数的函数sign() ,由于单位阶跃信号 (t)和符号函数两者之间存在以下关系:1122()sgn()t t ε=+,因此,利用这个函数就可以很容易地生成单位阶跃信号。
下面举个例子来说明如何利用sign()函数生成单位阶跃信号,并同时绘制其波形。
举例:利用sign()函数生成单位阶跃信号,并分别绘出两者的波形 MATLAB 程序如下:t=-5:0.01:5; %定义自变量取值范围及间隔,生成行向量t f=sign(t); %定义符号信号表达式,生成行向量f figure(1); %打开图形窗口1 plot(t,f), %绘制符号函数的波形 axis([-5,5,-1.5,1.5]) %定义坐标轴显示范围 s=1/2+1/2*f; %生成单位阶跃信号 figure(2); %打开图形窗口2 plot(t,s),axis([-5,5,-0.5,1.5]) %定义坐标轴显示范围运行结果如下:2.离散时间信号离散时间信号又叫离散时间序列,一般用()f k 表示,其中变量k 为整数,代表离散的采样时间点(采样次数)。
在MATLAB 中,离散信号的表示方法与连续信号不同,它无法用符号运算法来表示,而只能采用数值计算法表示,由于MATLAB 中元素的个数是有限的,因此,MATLAB 无法表示无限序列;另外,在绘制离散信号时必须使用专门绘制离散数据的命令,即stem()函数,而不能用plot()函数。
下面通过一些常用离散信号来说明如何用MATLAB 来实现离散信号的表示,以及可视化。
单位序列 (k)单位序列 (k)的定义为10 ()00kkkδ=⎧=⎨≠⎩下面是用MATLAB绘制单位序列 (k) 的MATLAB程序:k1=-5;k2=5; %定义自变量的取值范围k=k1:k2; %定义自变量的取值范围及取样间隔(默认为1),并生成行向量n=length(k); %取向量的维数f=zeros(1,n); %生成与向量k的维数相同地零矩阵,给函数赋值f(1,6)=1; %在k=0时刻,信号赋值为1stem(k,f,'filled') %绘制波形%'filled'定义点的形状,可通过help文件查询其它形状的描述axis([k1,k2,0,1.5]) %定义坐标轴显示范围运行结果如下:如果要绘制移位的单位序列 (k+k0)的波形,只要将以上程序略加修改即可,例如要绘制信号 (k+2)的图形,可将以上程序改为:k1=-5;k2=5; %定义自变量的取值范围k0=3; %定义平移量k=k1:k2; %定义自变量的取值范围及取样间隔(默认为1),并生成行向量n=length(k); %取向量的维数f=zeros(1,n); %生成与向量k的维数相同的零矩阵,给函数赋值f(1, -k0-k1+1)=1; %在k=k0时刻,信号赋值为1stem(k,f,'filled') %绘制波形axis([k1,k2,0,1.5]) %定义坐标轴显示范围单位阶跃序列 (k)单位阶跃序列 (k)的定义为10 ()00kkkε≥⎧=⎨<⎩下面是绘制单位阶跃序列 (k+k0) 的MATLAB程序:k1=-3;k2=10; k0=0; %定义起止时刻和跃变时刻k=k1:-k0-1; kk=-k0:k2;n=length(k); %取k=k0点以前向量的维数nn=length(kk); %取k=k0点以后(含k=k0点)向量的维数u=zeros(1,n); %在k=k0以前,信号赋值为0uu=ones(1,nn); %在k=k0以后,信号赋值为1 stem(k,u,'filled') %绘制k=k0以前信号的波形hold on %保持图形窗口,以便在同一图形窗口绘制多个图形 stem(kk,uu,'filled') %绘制k=k0以后(含k=k0点)信号的波形 hold off %图形窗口解冻 axis([k1,k2,0,1.5]) %设置坐标轴显示范围运行结果如下:注意:以上介绍了几个常用的绘图命令:plot ,ezplot ,stairs ,stem ,其中,绘制连续信号得到光滑的曲线时用plot 命令;显示连续信号中的不连续点时用stairs 命令较好;绘制离散信号波形用stem 命令;当绘制用MATLAB 符号表达式表达的信号时要用ezplot 命令。