离散时间信号分析
- 格式:doc
- 大小:798.00 KB
- 文档页数:35
离散时间信号的时域分析实验报告实验报告:离散时间信号的时域分析一、实验目的本实验旨在通过MATLAB软件,对离散时间信号进行时域分析,包括信号的显示、基本运算(如加法、减法、乘法、反转等)、以及频域变换(如傅里叶变换)等,以加深对离散时间信号处理的基本概念和原理的理解。
二、实验原理离散时间信号是在时间轴上离散分布的信号,其数学表示为离散时间函数。
与连续时间信号不同,离散时间信号只能在特定的时间点取值。
离散时间信号的时域分析是研究信号的基本属性,包括幅度、时间、频率等。
通过时域分析,我们可以对信号进行各种基本运算和变换,以提取有用的信息。
三、实验步骤1.信号生成:首先,我们使用MATLAB生成两组简单的离散时间信号,一组为正弦波,另一组为方波。
我们将这些信号存储在数组中,以便后续分析和显示。
2.信号显示:利用MATLAB的绘图功能,将生成的信号在时域中显示出来。
这样,我们可以直观地观察信号的基本属性,包括幅度和时间关系。
3.基本运算:对生成的信号进行基本运算,包括加法、减法、乘法、反转等。
将这些运算的结果存储在新的数组中,并绘制出运算后的信号波形。
4.傅里叶变换:使用MATLAB的FFT(快速傅里叶变换)函数,将信号从时域变换到频域。
我们可以得到信号的频谱,进而分析信号的频率属性。
5.结果分析:对上述步骤得到的结果进行分析,包括比较基本运算前后的信号波形变化,以及傅里叶变换前后的频谱差异等。
四、实验结果1.信号显示:通过绘制图形,我们观察到正弦波和方波在时域中的波形特点。
正弦波呈现周期性的波形,方波则呈现明显的阶跃特性。
2.基本运算:通过对比基本运算前后的信号波形图,我们可以观察到信号经过加法、减法、乘法、反转等运算后,其波形发生相应的变化。
例如,两个信号相加后,其幅度和时间与原信号不同。
反转信号则使得波形在时间轴上反向。
3.傅里叶变换:通过FFT变换,我们将时域中的正弦波和方波转换到频域。
正弦波的频谱显示其频率为单一的直流分量,方波的频谱则显示其主要频率分量是直流分量和若干奇数倍的谐波分量。
实验一 离散时间信号的时域分析实验1 序列的产生1. 目的:熟悉C 语言产生和绘制,熟悉MATLAB 中产生信号和绘制信号的基本命令。
2. 具体实验:2.1 单位样本和单位阶跃序列。
Q1.1 运行程序P1.1 ,以产生单位样本序列u[n]并显示它。
答:如图1-1所示。
Q1.2 命令clf , axis , title , xlabel 和ylabel 的作用是什么? 答:clf :擦除当前图形窗口中的图形。
Axis :调整坐标轴X 轴Y 轴的范围。
Title:给绘制的图形加上标题。
Xlabel:给X 轴加上标注。
Ylabel: 给Y 轴加上标注。
Q1.3 修改程序P1.1 以产生带有延时11个样本的延迟单位样本序列ud[n]。
运行修改的程序并显示产生的序列。
答:如图1-2所示。
Q1.4修改程序P1.1 以产生单位步长序列s[n]。
运行修改的程序并显示产生的序列。
答:如图1-3所示。
Q1.5修改程序P1.1 以产生带有超前7个样本的延迟单位样本序列sd[n]。
运行修改的程序并显示产生的序列。
答:如图1-4所示。
Figure 1-2 The unit sample sequence ud[n]Figure 1-1 The shifted unit sample sequence u[n]单位样本序列公式如下所示:Time index nA m p l i t u d eUnit Sample Sequence u[n]Time index nA m p l i t u d eShifted Unit Sample Sequence ud[n]1 , n=0 1 , n=k δ[n]= δ[n-k]=0 , 0≠0 0 , 0≠kFigure 1-3 The unit step sequence s[n] Figure 1-4 The shifted unit step sequence sd[n]单位阶跃序列公式如下所示:1 , n ≥0 1 , n ≥k μ[n]= μ[n-k]=0 , n <0 0 , n <k2.2 指数信号Q1.6 运行程序P1.2 ,以产生复数值的指数序列。
-4-3-2-10123402468H(e j ω)的实部ω/π振幅-4-3-2-101234-4-2024H(e j ω)的虚部ω/π振幅-4-3-2-1123402468|H(e j ω)|幅度谱ω/π振幅-4-3-2-11234-2-1012相位谱[H(e j ω)]ω/π以弧度为单位的相位第三章 离散时间信号的频域分析学院:信息学院 专业:通信工程 姓名:马正智 学号:20111910119一、实验目的1、理解和掌握基于MATLAB 仿真研究离散时间傅里叶变换的时移性质;2、理解和掌握基于MATLAB 仿真研究离散时间傅里叶变换的频移性质;3、理解和掌握基于MATLAB 仿真研究离散时间傅里叶变换的卷积性质;4、理解和掌握基于MATLAB 仿真研究离散时间傅里叶变换的调制性质;5、理解和掌握基于MATLAB 仿真研究离散时间傅里叶变换的反转性质。
二、实验内容1、离散时间傅里叶变换Q3.1 在程序P3.1中,计算离散时间傅里叶变换的原始序列是什么?MATLAB 命令pause 的作用是什么?答:离散时间傅里叶变换的原始序列:ωωωj j j e e e H ---+=6.012)(;MATLAB 命令pause 的作用:程序执行到此命令时,图像显示到此停顿,点击键盘任意键,程序继续执行画出后面的图形。
Q3.2 运行程序P3.1,求离散时间傅里叶变换的实部、虚部以及幅度和相位普。
离散时间傅里叶变换是ω的周期函数吗?若是,周期是多少?描述这四个图形表示的对称性。
图Q3.2-1 图Q3.2-2答:离散时间傅里叶变换是ω的周期函数,周期为π2;四个图形表示偶—奇对称性。
Q3.3 修改程序P3.1,在范围πω≤≤0内计算如下序列的离散时间傅里叶变换:ωωωωωωω32327.05.03.013.05.07.0)(j j j j j j j e e e e e e e U ------+-+++-=0.10.20.30.40.50.60.70.80.911111|H(e j ω)|幅度谱ω/π振幅0.10.20.30.40.50.60.70.80.91-4-2024相位谱[H(e j ω)]ω/π以弧度为单位的相位0.10.20.30.40.50.60.70.80.91-1-0.500.51H(e j ω)的实部ω/π振幅0.10.20.30.40.50.60.70.80.91-1-0.500.51H(e j ω)的虚部ω/π振幅0.10.20.30.40.50.60.70.80.91-1-0.500.51H(e j ω)的实部ω/π振幅0.10.20.30.40.50.60.70.80.91-1-0.500.51H(e j ω)的虚部ω/π振幅0.10.20.30.40.50.60.70.80.911111|H(e j ω)|幅度谱ω/π振幅00.10.20.30.40.50.60.70.80.91-6-4-20相位谱[H(e j ω)]ω/π以弧度为单位的相位并重做习题Q3.2。
工程大学信号分析与处理实验一专业:通信02班学生:瑶华学号:**********完成时间:2022年4月27日实验一: 离散时间信号的分析一、实验目的1.认识常用的各种信号,理解其数学表达式和波形表示。
2.掌握在计算机中生成及绘制数字信号波形的方法。
3.掌握序列的简单运算及计算机实现与作用。
4.理解离散时间傅立叶变换、Z 变换及它们的性质和信号的频域特性。
二、实验设备计算机,MATLAB 语言环境。
三、实验基础理论1.序列的相关概念2.常见序列● 单位取样序列⎩⎨⎧≠==0n 0,0n 1n ,)(δ ● 单位阶跃序列⎩⎨⎧<≥=0,00,1)(n n n u ● 单位矩形序列⎩⎨⎧-≤≤=其他,010,1)(N n n R N ● 实指数序列)()(n u a n x n =● 复指数序列n jw e n x )(0)(+=σ● 正弦型序列)n sin()(0ϕ+=w A n x3.序列的基本运算● 移位 y(n)=x(n-m)● 反褶 y(n)=x(-n)● 和 )()()(21n x n x n y +=● 积 )()()(21n x n x n y •=● 标乘 y(n)=mx(n)● 累加∑-∞==nm m x n y )()( ● 差分运算 ⎩⎨⎧--=∇-+=∆)1()()()()1()(x n x n x n x n x n x n 后相差分前向差分 4.离散傅里叶变换的相关概念● 定义 ∑+∞-∞=-=n jwn jwe n x e X )()(● 两个性质1) [])2()2()2()()(,2)(ππππ++∞-∞=+-+--===∑w j n nw j jw n w j jwn jw e X e n x e X e ew e X 故有。
由于的周期函数,周期为是 2) 当x (n )为实序列时,)(jw e X 的幅值)(jw e X 在π20≤≤w 区间是偶对称函数,相位)(arg jw e X 是奇对称函数。
实验四离散时间信号与系统分析实验四离散时间信号与系统分析一、实验目的1、理解离散信号及系统的时频域分析方法2、掌握Matlab进行信号的卷积、z变换及逆z变换的方法。
3、掌握Matlab进行离散系统时频域的分析方法二、实验时数:2学时三、实验相关知识(一)离散信号的卷积利用函数(,)可以计算离散信号的卷积和,c conv a b即c(n)=a(n)*b(n),向量c长度是a,b长度之和减1。
若a(n)对应的n的取值范围为:[n1, n2];b(n)对应的n的取值范围为:[n3, n4],则c(n)=a(n)*b(n)对应的n的取值范围为:[n1+n3, n2+n4]。
例4-1:已知两序列:x(k)={1,2,3,4,5;k=-1,0,1,2,3},y(k)={1,1,1;k=-1,0,1},计算x(k)*y(k),并画出卷积结果。
解:利用conv()函数进行离散信号的卷积,注意卷积信号的k 值范围k_x = -1:3;x=[1,2,3,4,5];k_y = -1:1;y=[1,1,1];z=conv(x,y);k_z= k_x(1)+k_y(1):k_x(end)+k_y(end); stem(k_z,z);(二)离散信号的逆z 变换离散序列的z 变换通常是z 的有理函数,可表示为有理分式的形式,因此可以现将X(z)展开成一些简单而常用的部分分式之和,然后分别求出各部分分式的逆变换,把各逆变换相加即可得到X(z)的逆变换x(n)。
设离散信号的z 变换式如下,120121212()()1()m m n n b b z b z b z num z X z a z a z a z den z ------++++==++++在Matlab 中进行部分分式展开的函数为residuez (),其调用形式如下:[r,p,k] = residuez(num,den)其中num=[b0, b1, …, bm]表示X(z)有理分式的分子多项式为12012m m b b z b z b z ---++++;den=[a0, a1, …, am]表示X(z)有理分式的分母多项式为12012m m b b z b z b z ---++++,注意分子分母多项式均为按z -1的降幂排列的多项式,缺项应补零。
实验三:离散时间信号的频域分析一.实验目的1.在学习了离散时间信号的时域分析的基础上,对这些信号在频域上进行分析,从而进一步研究它们的性质。
2.熟悉离散时间序列的3种表示方法:离散时间傅立叶变换(DTFT),离散傅立叶变换(DFT)和Z变换。
二.实验相关知识准备1.用到的MATLAB命令运算符和特殊字符:< > .* ^ .^语言构造与调试:error function pause基本函数:angle conj rem数据分析和傅立叶变换函数:fft ifft max min工具箱:freqz impz residuez zplane三.实验内容1.离散傅立叶变换在MATLAB中,使用fft可以很容易地计算有限长序列x[n]的离散傅立叶变换。
此函数有两种形式:y=fft(x)y=fft(x,n) 求出时域信号x的离散傅立叶变换n为规定的点数,n的默认值为所给x的长度。
当n取2的整数幂时变换的速度最快。
通常取大于又最靠近x的幂次。
(即一般在使用fft函数前用n=2^nextpow2(length(x))得到最合适的n)。
当x的长度小于n时,fft函数在x的尾部补0,以构成长为n点数据。
当x的长度大于n时,fft函数将序列x截断,取前n点。
一般情况下,fft求出的函数多为复数,可用abs及angle分别求其幅度和相位。
注意:栅栏效应,截断效应(频谱泄露和谱间干扰),混叠失真例3-1:fft函数最通常的应用是计算信号的频谱。
考虑一个由100hz和200hz正弦信号构成的信号,受零均值随机信号的干扰,数据采样频率为1000hz。
通过fft函数来分析其信号频率成分。
t=0:0.001:1;%采样周期为0.001s,即采样频率为1000hzx=sin(2*pi*100*t)+sin(2*pi*200*t)+1.5*rand(1,length(t));%产生受噪声污染的正弦波信号subplot(2,1,1);plot(x(1:50));%画出时域内的信号y=fft(x,512);%对x进行512点的fftf=1000*(0:256)/512;%设置频率轴(横轴)坐标,1000为采样频率subplot(2,1,2);plot(f,y(1:257));%画出频域内的信号实验内容3-2:频谱泄漏和谱间干扰假设现有含有三种频率成分的信号x(t)=cos(200πt)+sin(100πt)+cos(50πt)用DFT分析x(t)的频谱结构。
实验二离散时间信号的时域分析1.实验目的(1)学习MATLAB软件及其在信号处理中的应用,加深对常用离散时间信号的理解。
(2)利用MATLAB产生常见离散时间信号及其图形的显示,进行简单运算。
(3)熟悉MATLAB对离散信号的处理及其应用。
2.实验原理离散时间信号是时间为离散变量的信号。
其函数值在时间上是不连续的“序列”。
(1)单位抽样序列如果序列在时间轴上面有K个单位的延迟,则可以得到,即:该序列可以用MATLAB中的zeros函数来实现。
(2)正弦序列可以利用sin函数来产生。
(3)指数序列在MATLAB中通过:和来实现。
3.实验内容及其步骤(1)复习有关离散时间信号的有关内容。
(2)通过程序实现上述几种信号的产生,并进行简单的运算操作。
单位抽样序列参考:% Generation of a Unit Sample Sequenceclf;% Generate a vector from -10 to 20n = -10:20;% Generate the unit sample sequenceu = [zeros(1,10) 1 zeros(1,20)];% Plot the unit sample sequencestem(n,u);xlabel('Time index n');ylabel('Amplitude');title('Unit Sample Sequence');axis([-10 20 0 1.2]);如果序列在时间轴上面有K个单位的延迟,则可以得到,即:,通过程序来实现如下所示结果。
正弦序列参考:% Generation of a sinusoidal sequencen = 0:40; f = 0.1;phase = 0; A = 1.5;arg = 2*pi*f*n - phase; x = A*cos(arg);clf; % Clear old graphstem(n,x); % Plot the generated sequenceaxis([0 40 -2 2]); grid;title('Sinusoidal Sequence'); xlabel('Time index n');ylabel('Amplitude'); axis;指数序列参考:% Generation of a real exponential sequenceclf; n = 0:35; a = 1.2; K = 0.2;x = K*a.^n; stem(n,x);xlabel('Time index n'); ylabel('Amplitude');(3)加深对离散时间信号及其特性的理解,对于离散信号能进行基本的运算(例如信号加、乘、延迟等等),并且绘出其图形。
数字信号处理实验一离散时间信号分析2013年3月6日一、实验目的1. 初步掌握Matlab的使用,掌握编写M文件和函数文件2. 掌握各种常用序列的表达,理解其数学表达式和波形表示之间的关系。
3. 掌握生成及绘制数字信号波形的方法。
4. 掌握序列的基本运算及实现方法。
5. 研究信号采样时采样定理的应用问题。
二、实验原理1.序列的基本概念离散时间信号在数学上可用时间序列{x(n)}来表示,其中x(n)代表序列的第n个数字,n 代表时间的序列,n 的取值范围为-∞<n <∞的整数,n 取其它值x(n)没有意义。
离散时间信号可以是由模拟信号通过采样得到,例如对模拟信号x (t) a 进行等间隔采样,采样间隔为T,得到{x a(nT )}一个有序的数字序列就是离散时间信号,简称序列。
2.常用序列常用序列有:单位脉冲序列(单位抽样)δ(n)、单位阶跃序列u(n)、矩形序列R N(n)、实指数序列、复指数序列、正弦型序列等。
3.序列的基本运算序列的运算包括移位、反褶、和、积、标乘、累加、差分运算等。
4.序列的卷积运算上式的运算关系称为卷积运算,式中*代表两个序列卷积运算。
两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。
其计算的过程包括以下4 个步骤。
(1)反褶:先将x(n)和h(n)的变量n换成m ,变成x(m)和h(m),再将h(m)以纵轴为对称轴反褶成h(-m)。
(2)移位:将h(-m)移位n,得h(n-m)。
当n为正数时,右移n位;当n为负数时,左移n 位。
(3)相乘:将h(n-m)和x(m)的对应点值相乘。
(4)求和:将以上所有对应点的乘积累加起来,即得y(n)。
三、主要实验仪器及材料PC 机、Matlab7.0四、实验内容1.知识准备认真复习以上基础理论,理解本实验所用到的实验原理。
2.离散时间信号(序列)的产生利用MATLAB产生和绘制下列有限长序列:(1)单位脉冲序列δ(n),单位阶跃序列u(n),矩形序列R8(n)程序如下:clear;n=-5:30;x1=[zeros(1,5),1,zeros(1,30)]; %定义单位脉冲序列 x2=[zeros(1,5),ones(1,31)]; %定义单位阶跃序列 x3=[zeros(1,5),ones(1,8),zeros(1,23)]; %定义矩形序列 subplot(3,1,1); stem(n,x1,'fill'); grid on ; subplot(3,1,2); stem(n,x2,'fill'); grid on ; subplot(3,1,3); stem(n,x3,'fill'); grid on绘制图如下:分析:根据以上三个序列的特点,正确使用零矩阵函数(zeros )和幺矩阵函数(ones )编程;也可以使用for 循环语句实现上述序列生成。
实验一
学院:电气工程学院专业:测控技术与仪器班级:测仪101
实验二
学院:电气工程学院专业:测控技术与仪器班级:测仪101
实验三
学院:电气工程学院专业:测控技术与仪器班级:测仪101
实验四
学院:电气工程学院专业:测控技术与仪器班级:测仪101
实验五
学院:电气工程学院专业:测控技术与仪器班级:测仪101
%双线性变换法设计ButterWorth数字滤波器[n,Wn]=buttord(0.2,0.3,1,25,’s’);
[b,a]=butter(n,Wn,’s’);
freqs(b,a)
[bz,az]=bilinear(b,a,1);
通过本次实验,我基本掌握了双线性变换法及脉冲相应不变法设计
实验六
学院:电气工程学院专业:测控技术与仪器班级:测仪101。