实验一 离散系统的时域分析
- 格式:doc
- 大小:116.50 KB
- 文档页数:5
离散时间信号的时域分析实验报告实验报告:离散时间信号的时域分析一、实验目的本实验旨在通过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 ,以产生复数值的指数序列。
实验2 离散LSI 系统的时域分析一、.实验目的:1、加深对离散系统的差分方程、单位脉冲响应、单位阶跃响应和卷积分析方法的理解。
2、初步了解用MA TLAB 语言进行离散时间系统时域分析的基本方法。
3、掌握求解离散时间系统的单位脉冲响应、单位阶跃响应、线性卷积以及差分方程的程序的编写方法,了解常用子函数的调用格式。
二、实验原理:1、离散LSI 系统的响应与激励由离散时间系统的时域分析方法可知,一个离散LSI 系统的响应与激励可以用如下框图表示:其输入、输出关系可用以下差分方程描述:[][]NMkk k k ay n k b x n m ==-=-∑∑2、用函数impz 和dstep 求解离散系统的单位脉冲响应和单位阶跃响应。
例2-1 已知描述某因果系统的差分方程为6y(n)+2y(n-2)=x(n)+3x(n-1)+3x(n-2)+x(n-3) 满足初始条件y(-1)=0,x(-1)=0,求系统的单位脉冲响应和单位阶跃响应。
解: 将y(n)项的系数a 0进行归一化,得到y(n)+1/3y(n-2)=1/6x(n)+1/2x(n-1)+1/2x(n-2)+1/6x(n-3)分析上式可知,这是一个3阶系统,列出其b k 和a k 系数: a 0=1, a ,1=0, a ,2=1/3, a ,3=0 b 0=1/6,b ,1=1/2, b ,2=1/2, b ,3=1/6程序清单如下: a=[1,0,1/3,0]; b=[1/6,1/2,1/2,1/6]; N=32; n=0:N-1; hn=impz(b,a,n); gn=dstep(b,a,n);subplot(1,2,1);stem(n,hn,'k');课程名称 数字信号处理 实验成绩 指导教师 ***实 验 报 告院系 班级学号 姓名 日期title('系统的单位序列响应'); ylabel('h(n)');xlabel('n');axis([0,N,1.1*min(hn),1.1*max(hn)]); subplot(1,2,2);stem(n,gn,'k'); title('系统的单位阶跃响应'); ylabel('g(n)');xlabel('n');axis([0,N,1.1*min(gn),1.1*max(gn)]); 程序运行结果如图2-1所示:102030系统的单位序列响应h (n )n1020300.20.30.40.50.60.70.80.911.11.2系统的单位阶跃响应g (n )n图2-13、用函数filtic 和filter 求解离散系统的单位序列响应和单位阶跃响应。
实验一离散时间信号的时域分析离散时间信号是一种离散的信号形式,其具有离散的时间间隔。
这种信号在数字信号处理中得到了广泛的应用。
时域分析是分析信号的一种方法,它通常包括分析信号的幅度、相位、频率等参数,并从中获得信号的特征。
在本实验中,我们将探讨离散时间信号的时域分析方法。
1.实验目的• 了解离散时间信号的基本概念和性质。
• 熟悉MATLAB软件的使用,理解信号处理工具箱的使用方法。
2.实验原理离散时间信号是一种在离散时间点上定义的数列。
它通常用序列来表示,序列的元素是按照一定的时间间隔离散采样得到的。
离散时间信号的采样频率通常表示为Fs,单位是赫兹。
离散时间信号可以写成如下的形式:x(n) = [x(0),x(1),x(2),...,x(N-1)]其中,n表示离散时间点的下标,N表示离散时间信号的长度。
• 幅度分析:指分析离散时间信号的振幅大小。
离散时间信号的幅度、相位、频率的分析通常使用傅里叶变换、离散傅里叶变换等变换方法来实现。
3.实验步骤3.1 生成离散时间信号使用MATLAB编写程序,生成一个离散时间信号。
例如,我们可以生成一个正弦信号:t = 0:0.01:1;x = sin(2*pi*100*t);其中,t表示时间向量,x表示正弦信号。
将信号进行离散化,得到离散时间信号:其中,fs表示采样频率,n表示采样时间点,xn表示采样后的信号。
使用MATLAB的plot函数,绘制离散时间信号的时域图像。
figure(1);plot(n, xn);xlabel('Time');ylabel('Amplitude');其中,figure(1)表示创建一个新的窗口,用于显示图像。
xlabel和ylabel用于设置图像的横轴和纵轴标签。
3.3 使用FFT进行幅度分析X = fft(xn);n = length(X);f = (0:n-1)*(fs/n);power = abs(X).^2/n;其中,X表示离散时间信号的傅里叶变换结果,n表示离散时间信号的长度,f表示频率向量,power表示幅度谱。
信号、系统与信号处理实验报告实验一、离散时间系统的时域特性分析姓名:学号:班级:专业:一.实验目的线性时不变(LTI)离散时间系统在时域中可以通过常系数线性差分方程来描述,冲激响应列可以刻画时域特性。
本次实验通过使用MATLAB函数研究离散时间系统的时域特性,以加深对离散时间系统的差分方程、冲激响应和系统的线性和时不变性的理解。
二.基本原理一个离散时间系统是将输入序列变换成输出序列的一种运算。
离散时间系统中最重要、最常用的是“线性时不变系统”。
1.线性系统满足叠加原理的系统称为线性系统,即若某一输入是由N个信号的加权和组成的,则输出就是系统对这几个信号中每一个输入的响应的加权和。
即那么当且仅当系统同时满足和时,系统是线性的。
在证明一个系统是线性系统时,必须证明此系统同时满足可加性和比例性,而且信号以及任何比例系数都可以是复数。
2.时不变系统系统的运算关系在整个运算过程中不随时间(也即序列的先后)而变化,这种系统称为时不变系统(或称移不变系统)。
若输入的输出为,则将输入序列移动任意位后,其输出序列除了跟着位移外,数值应该保持不变,即则满足以上关系的系统称为时不变系统。
3.常系数线性差分方程线性时不变离散系统的输入、输出关系可用以下常系数线性差分方程描述:当输入为单位冲激序列时,输出即为系统的单位冲激响应。
当时,是有限长度的,称系统为有限长单位冲激响应(FIR)系统;反之,则称系统为无限长单位冲激响应(IIR)系统。
三.实验内容及实验结果1.实验内容考虑如下差分方程描述的两个离散时间系统:系统1:系统2:输入:(1)编程求上述两个系统的输出,并画出系统的输入与输出波形。
(2)编程求上述两个系统的冲激响应序列,并画出波形。
(3)若系统的初始状态为零,判断系统2是否为时不变的?是否为线性的?2.实验结果(1)编程求上述两个系统的输出和冲激响应序列,并画出系统的输入、输出与冲激响应波形。
clf;n=0:300;x=cos((20*pi*n)/256)+cos((200*pi*n)/256);num1=[0.5 0.27 0.77];den1=[1];num2=[0.45 0.5 0.45];den2=[1 -0.53 0.46];y1=filter(num1,den1,x);y2=filter(num2,den2,x);subplot(3,1,1);stem(n,x);xlabel('时间信号');ylabel('信号幅度');title('输入信号');subplot(3,1,2);stem(y1);xlabel('时间信号n');ylabel('信号幅度');title('输出信号');subplot(3,1,3);stem(y2);xlabel('时间序号n ');ylabel('信号幅度');title('冲激响应序列');(2)N=40;num1=[0.5 0.27 0.77];den1=[1];num2=[0.45 0.5 0.45];den2=[1 -0.53 0.46];y1=impz(num1,den1,N);y2=impz(num2,den2,N);subplot(2,1,1);stem(y1);xlabel('时间信号n ');ylabel('信号幅度');title('³冲激响应');subplot(2,1,2);stem(y2);xlabel('时间信号n ');ylabel('信号幅度');title('³冲激响应');1.应用叠加原理验证系统2是否为线性系统:clear allclcn = 0 : 1 : 299;x1 = cos(20 * pi * n / 256);x2 = cos(200 * pi * n / 256);x = x1 + x2;num = [0.45 0.5 0.45];den = [1 -0.53 0.46];y1 = filter(num, den, x1);y2 = filter(num, den, x2);y= filter(num, den, x);yt = y1 + y2;figuresubplot(2, 1, 1);stem(n, y, 'g');xlabel('时间信号n');ylabel('信号幅度');axis([0 100 -2 2]);grid;subplot(2, 1, 2);stem(n, yt, 'r');xlabel('时间信号n');ylabel('信号幅度');axis([0 100 -2 2]);grid;2.应用时延差值来判断系统2是否为时不变系统。
实验一离散时间信号与系统时域分析实验目的1学习MATLAB语言编程和调试技巧2学会简单的矩阵输入和图形表示法3掌握简单的绘图命令一实验目的1学习MATLAB语言编程和调试技巧2学会简单的矩阵输入和图形表示法3掌握简单的绘图命令二、实验原理本实验主要为了熟悉MATLAB环境,重点掌握简单的矩阵(信号)输入和绘图命令,特别是绘图命令tem()和plot()。
实验内容中涉及到信号的无失真采样、离散卷积运算和差分方程求解这三个主要的问题。
其基本原理分别如下:对一个模拟信号某(t)进行采样离散化某(n),为了不失真地从采样信号某(n)中恢复原始信号某(t),采样时必须满足采样定理,即采样频率必须大于等于模拟信号中最高频率分量的2倍。
一个离散时间系统,输入信号为某(n),输出信号为y(n),运算关系用T[﹒]表示,则输入与输出的关系可表示为y(n)=T[某(n)]。
(1)线性时不变(LTI)系统的输入输出关系可通过h(n)表示:y(n)=某(n)某h(n)=式中某表示卷积运算。
(2)LTI系统的实现可物理实现的线性时不变系统是稳定的、因果的。
这种系统的单位脉冲响应是因果的(单边)且绝对可和的,即:h(n)0,n0;nh(n)0在MATLAB语言中采用conv实现卷积运算,即:Y=conv(某,h),它默认从n=0开始。
常系数差分方程可以描述一个LTI系统,通过它可以获得系统的结构,也可以求信号的瞬态解。
利用MATLAB 自带的filter(),可以代替手工迭代运算求解系统的差分方程,求解的过程类似于对输入信号进行滤波处理。
三、实验内容1、试画出如下序列的波形(1)某(n)3(n3)(n2)2(n1)4(n1)2(n2)3(n3)(2)某(n)0.5R10(n)解:用MATLAB描述波形1(1)某=[3120-42-3];%矩阵输入某n=-3:1:3;%输入自变量n,以间隔为1从-3到3变化n实验目的1学习MATLAB语言编程和调试技巧2学会简单的矩阵输入和图形表示法3掌握简单的绘图命令tem(n,某);%tem()函数绘制火柴杆图,注意n,某元素个数必须相等某label('n');%横坐标显示nylabal('某(n)');%纵坐标显示某(n)grid;%绘制网格1(2)n=0:9;某=0.5.^n;tem(n,某);某label('n');ylabel('某(n)');gri实验目的1学习MATLAB语言编程和调试技巧2学会简单的矩阵输入和图形表示法3掌握简单的绘图命令2、用MATLAB计算序列{-201–13}和序列{120-1}的离散卷积,即计算某(n)2(n)(n2)(n3)3(n4)与h(n)(n)2(n1)(n3)解:用MATLAB描述波形。
离散时间信号与系统的时域分析实验报告报告⼆:⼀、设计题⽬1.绘制信号)()(1k k f δ=和)2()(2-=k k f δ的波形2.绘制直流信号)()(1k k f ε=和)2(2-=k f ε的波形3绘制信号)()(6k G k f =的波形⼆实验⽬的1.掌握⽤MATLAB 绘制离散时间信号(序列)波形图的基本原理。
2.掌握⽤MATLAB 绘制典型的离散时间信号(序列)。
3.通过对离散信号波形的绘制与观察,加深理解离散信号的基本特性。
三、设计原理离散时间信号(也称为离放序列)是指在时间上的取值是离散的,只在⼀些离放的瞬间才有定义的,⽽在其他时间没有定义,简称离放信号(也称为离散序列) 序列的离散时间间隔是等间隔(均匀)的,取时间间隔为T.以f(kT)表⽰该离散序列,k 为整数(k=0,±1.±2,...)。
为了简便,取T=1.则f(kT)简记为f(k), k 表⽰各函数值在序列中出现的序号。
序列f(k)的数学表达式可以写成闭合形式,也可逐⼀列出f(k)的值。
通常,把对应某序号K0的序列值称为序列的第K0个样点的“样点值”。
四、设计的过程及仿真1clear all; close all; clc;k1=-4;k2=4;k=k1:k2;n1=0;n2=2;f1=[(k-n1)==0];f2=[(k-n2)==0];subplot(1,2,1)stem(k,f1,'fill','-k','linewidth',2);xlabel('k');ylabel('f_1(k)');title('δ(k)')axis([k1,k2,-0.1,1.1]);subplot(1,2,2)stem(k,f2,'filled','-k','linewidth',2);ylabel('f_2(k)');title('δ(k-2)')axis([k1,k2,-0.1,1.1]);程序运⾏后,仿真绘制的结果如图所⽰:2c lear all; close all; clc;k1=-2;k2=8;k=k1:k2;n1=0;n2=2; %阶跃序列开始出现的位置f1=[(k-n1)>=0]; f2=[(k-n2)>=0];subplot(1,2,1)stem(k,f1,'fill','-k','linewidth',2);xlabel('k');ylabel('f_1(k)');title('ε(k)')axis([k1,k2+0.2,-0.1,1.1])subplot(1,2,2)stem(k,f2,'filled','-k','linewidth',2);xlabel('k');ylabel('f_2(k)');title('ε(k-2)')axis([k1,k2+0.2,-0.1,1.1]);程序运⾏后,仿真绘制的结果如图所⽰:3clear all; close all; clc;k1=-2;k2=7;k=k1:k2; %建⽴时间序列n1=0;n2=6; f1=[(k-n1)>=0];f2=[(k-n2)>=0];f=f1-f2;stem(k,f,'fill','-k','linewidth',2);xlabel('k');ylabel('f(k)');title('G_6(k)')axis([k1,k2,-0.1,1.1]);程序运⾏后,仿真绘制的结果如图所⽰:五、设计的结论及收获实现了⽤matlab绘制离散时间信号, 通过对离散信号波形的绘制与观察,加深理解离散信号的基本特性。
实验一离散时间LTI系统的时域分析与Z域分析一、实验目的1、掌握用MATLAB求解离散时间系统的零状态响应、单位脉冲响应和单位阶跃响应;2、掌握离散时间系统系统函数零极点的计算方法和零极点图的绘制方法,并能根据零极点图分析系统的稳定性。
二、实验原理1、离散时间系统的时域分析(1)离散时间系统的零状态响应离散时间LTI系统可用线性常系数差分方程来描述,即MATLAB中函数filter可对式(1-1)的差分方程在指定时间范围内的输入序列所产生的响应进行求解。
函数filter的语句格式为:y=filter(b,a,x)其中,x为输入的离散序列;y为输出的离散序列;y的长度与x的长度一样;b与a分别为差分方程右端与左端的系数向量。
(2)离散时间系统的单位脉冲响应系统的单位脉冲响应定义为系统在 (n)激励下系统的零状态响应,用h(n)表示。
MATLAB求解单位脉冲响有两种方法:一种是利用函数filter;另一种是利用函数impz。
impz函数的常用语句格式为impz(b,a,n),其中b和a的定义见filter,n表示脉冲响应输出的序列个数。
(3)离散时间系统的单位阶跃响应系统的单位阶跃响应定义为系统在ε(n)激励下系统的零状态响应。
MATLAB求解单位脉冲响应有两种方法:一种是利用函数filter,另一种是利用函数stepz。
stepz函数的常用语句格式为stepz(b,a,N)其中,b和a的定义见filter,N表示脉冲响应输出的序列个数。
2、离散时间系统的Z域分析(1)系统函数的零极点分析离散时间系统的系统函数定义为系统零状态响应的z变换与激励的z变换之比,即如果系统函数H(z)的有理函数表示式为那么,在MATLAB中系统函数的零极点就可通过函数roots得到,也可借助函数tf2zp得到。
roots的语法格式为:Z=roots(b)%计算零点b=[b1b2…bmbm+1]P=roots(a)%计算极点a=[a1a2…anan+1]tf2zp的语句格式为[Z,P,K]=tf2zp(b,a)其中,b与a分别表示H(z)的分子与分母多项式的系数向量。
实验一离散时间信号的时域分析陈一凡20212121006一、实验目的:学习使用MATLAB程序产生信号和绘制信号;学习使用MATLAB运算符产生根本离散时间序列——指数序列;学习使用MATLAB三角运算符产生正弦序列;学习使用MATLAB命令产生长度为N且具有零均值和单位方差的正态分布的随机信号;学习使用MATLAB中三点滑动平均算法来实现噪声的移除;学习使用MATLAB程序产生振幅调制信号;学习使用MATLAB函数产生方波和锯齿波;二、实验原理简述:运用运算符和特殊符号,根本矩阵和矩阵控制,根本函数,数据分析,二维图形,通用图形函数,信号处理工具箱等命令,产生以向量形式存储的信号。
三、实验内容与实验结果1、产生并绘制一个单位样本序列运行程序clfn=-10:20;u=[zeros(1,10) 1 zeros(1,20)];stem(n,u);xlabel('时间序号);ylabel('振幅');title('单位样本序列');axis([-10 20 0 1.2]);实验结果如图1所示图1 2.1、生成一个复数值的指数序列:运行程序:clf;c=-(1/12)+(pi/6)*i;K=2;n=0:40;x=K*exp(c*n);subplot(2,1,1);stem(n,real(x));xlabel('时间序号n');ylabel('振幅');title('实部');subplot(2,1,2);stem(n,imag(x));xlabel('时间序号n');ylabel('振幅');title('虚部');实验结果如图2所示0510152025303540时间序号n振幅0510152025303540时间序号n振幅虚部图22.2、生成一个实数值的指数序列: 运行程序:clf;n=0:35;a=1.2;K=0.2; x=K*a.^n; stem(n,x);xlabel('时间序号n');ylabel('振幅');实验结果如图3所示时间序号n振幅图33、产生一个正弦信号: 运行程序:n=0:40; f=0.1; phase=0; A=1.5;arg=2*pi*f*n-phase; x=A*cos(arg); clf; stem(n,x); axis([0 40 -2 2]); grid;title('正弦序列'); xlabel('时间序号n'); ylabel('振幅'); axis;实验结果如图4所示正弦序列时间序号n振幅图44、产生长度为N 且具有零均值和单位方差的正态分布的随机信号: 运行程序:x=4*rand(1,100)-2 plot(x);axis([0,100,-2,2]); title('扫频正弦信号'); xlabel('时间序号n'); ylabel('振幅'); grid;axis;实验结果如图5所示:-2-1.5-1-0.500.511.52扫频正弦信号时间序号n振幅图5并产生如下所示序列:x =Columns 1 through 11Columns 12 through 22Columns 23 through 33Columns 34 through 44Columns 45 through 55Columns 56 through 66Columns 67 through 77Columns 78 through 88Columns 89 through 99Column 1005、利用三点滑动平均算法实现信号中噪声的移除:运行程序:clf;R=51;d=0.8*(rand(R,1)-0.5);m=0:R-1;s=2*m.*(0.9.^m);x=s+d';subplot(2,1,1);plot(m,d','r-',m,s,'g--',m,x,'b-.');xlabel('时间序号n');ylabel('振幅');legend('d[n] ','s[n] ','x[n] ');x1=[0 0 x];x2=[0 x 0];x3=[x 0 0];y=(x1+x2+x3)/3;subplot(2,1,2);plot(m,y(2:R+1),'r-',m,s,'g--');legend('y[n] ','s[n] ');xlabel('时间序号n');ylabel('振幅');实验结果如图6所示:-50510时间序号n振幅2468时间序号n振幅图66.1、产生一个振幅调制信号: 运行程序:n=0:100;m=0.4;fH=0.1; fL=0.01; xH=sin(2*pi*fH*n); xL=sin(2*pi*fL*n); y=(1+m*xL).*xH; stem(n,y);grid;xlabel('时间序列n');ylabel('振幅');实验结果如图7所示:时间序列n振幅图7、产生频率随时间线性增加的扫频正弦信号: 运行程序:n=0:100; a=pi/2/100; b=0;arg=a*n.*n+b*n; x=cos(arg); clf; stem(n,x);axis([0,100,-1.5,1.5]); title('扫频正弦信号'); xlabel('时间序号n'); ylabel('振幅'); grid;axis;实验结果如图8所示:扫频正弦信号时间序号n振幅图87.1、绘制最大振幅为2.7,周期为10,占空比为60%的方波信号: 运行程序:t=0:30;y=*square(2*pi*0.1*t,60); stem(t,y);xlabel('时间序号n'); ylabel('振幅');实验结果如图9所示:时间序号n 振幅图97.2、绘制最大振幅为2.7,周期为10,占空比为30%的方波信号:运行程序:t=0:30;y=2.7*square(2*pi*0.1*t,30);stem(t,y);xlabel('时间序号n');ylabel('振幅');实验结果如图10所示:时间序号n 振幅图107.3、产生一个振幅为2,周期为20的方波信号:运行程序:t=0:50;y=2*sawtooth(2*pi*0.05*t)stem(t,y);xlabel('时间序号n');ylabel('振幅');实验结果如图11所示:时间序号n 振幅图11并产生了锯齿波序列值如下所示:y =Columns 1 through 11-2.0000 -1.8000 -1.6000 -1.4000 -1.2000 -1.0000 -0.8000 -0.6000 -0.4000 -0.2000 0Columns 12 through 22Columns 23 through 33Columns 34 through 44Columns 45 through 51-1.2000 -1.0000 -0.8000 -0.6000 -0.4000 -0.2000 07.4、产生一个振幅为2,周期为20的方波信号:运行程序:t=0:50;y=2*sawtooth(2*pi*0.05*t)stem(t,y);xlabel('时间序号n');ylabel('振幅');实验结果如图12所示:时间序号n 振幅图12并产生了锯齿波序列值如下所示:y =Columns 1 through 11Columns 12 through 22Columns 23 through 33Columns 34 through 44Columns 45 through 51四、实验分析:针对实验1 产生并绘制了一个单位样本序列n=-10:20即产生从-10到20的一个向量u=[zeros(1,10) 1 zeros(1,20)];即产生单位样本序列stem(n,u);即绘制单位样本序列针对实验2 产生一个实指数序列clf;即去除所有的内存变量n=0:35;即产生一个从0到35的向量a=1.2;K=0.2;即对对各系数进展限定x=K*a.^n;即函数表达式stem(n,x);即绘制实指数信号xlabel('时间序号n');ylabel('振幅');即将横坐标记为时间序号n,纵坐标记为振幅产生一个复数值的指数序列c=-(1/12)+(pi/6)*i;即复数的表达式K=2;即对常数进展定义n=0:40;即产生一个从0到40的向量x=K*exp(c*n);即指数表达式subplot(2,1,1);即将平面分成上下两个区域,并在上半部分画图stem(n,real(x)); 即在平面的上半部分画实部图xlabel('时间序号n');ylabel('振幅');title('实部');即对该图进展命名,名为实部subplot(2,1,2);即在下半部分画图stem(n,imag(x));即画虚部图xlabel('时间序号n');ylabel('振幅');title('虚部');即对该图进展命名,名为虚部针对实验3产生一个正弦序列n=0:40;f=0.1;即对频率进展限定phase=0;即对初相角进展限定A=1.5;即对系数进展限定arg=2*pi*f*n-phase;即角度函数x=A*cos(arg);即正弦函数clf;stem(n,x);axis([0 40 -2 2]);即对图形的横纵坐标轴的范围进展限定grid;即产生二维图形title('正弦序列');xlabel('时间序号n');ylabel('振幅');axis;即产生二维图形针对实验4产生一个随机信号x=4*rand(1,100)-2;即产生长度为100且具有零均值和单位方差的正态分布的随机信号的函数表达式plot(x);即绘制二维图形axis([0,100,-2,2]);title('扫频正弦信号');xlabel('时间序号n');ylabel('振幅');grid;axis;针对实验5实现信号的噪声移除R=51;d=0.8*(rand(R,1)-0.5);即产生随机噪声m=0:R-1;即产生未污染的信号s=2*m.*(0.9.^m);即产生被噪声污染的信号x=s+d';其中对d进展了转置subplot(2,1,1);plot(m,d','r-',m,s,'g--',m,x,'b-.');即绘制图形,m,s,x xlabel('时间序号n');ylabel('振幅');legend('d[n] ','s[n] ','x[n] ');x1=[0 0 x];x2=[0 x 0];x3=[x 0 0];y=(x1+x2+x3)/3;subplot(2,1,2);plot(m,y(2:R+1),'r-',m,s,'g--');legend('y[n] ','s[n] ');xlabel('时间序号n');ylabel('振幅');针对实验6产生振幅调制信号n=0:100;m=0.4;fH=0.1; fL=0.01;即对高频和低频进展限定xH=sin(2*pi*fH*n);即产生高频信号xL=sin(2*pi*fL*n);即产生低频信号y=(1+m*xL).*xH;即产生振幅调制信号stem(n,y);grid;xlabel('时间序列n');ylabel('振幅');产生一个扫频正弦函数n=0:100;a=pi/2/100;b=0;arg=a*n.*n+b*n;即对角度进展限定x=cos(arg);正弦扫频函数表达式clf;stem(n,x);axis([0,100,-1.5,1.5]);title('扫频正弦信号');xlabel('时间序号n');ylabel('振幅');grid;axis;针对实验7产生方波和锯齿波信号t=0:30;时间范围是0到30,取样间隔为1y=2.7*square(2*pi*0.1*t,60);产生一个高度为2.7占空比为6:4的方波stem(t,y)7.2、t=0:30时间范围是0到30,取样间隔为1y=2.7*square(2*pi*0.1*t,30);产生一个高度为2.7占空比为3:7的方波stem(t,y)7.3、t=0:50时间范围是0到50,取样间隔为1y=2*sawtooth(2*pi*0.05*t);即产生一个高度为2的锯齿波stem(t,y);7.4、t=0:50;时间范围是0到50,取样间隔为1y=2*sawtooth(2*pi*0.05*t,0.5);产生一个高度为2的锯齿波stem(t,y);五、实验总结在此次实验中,我学会了用MATLAB 程序绘制图形,产生信号。
实验报告
姓名诸雯
学号20122305085 专业电子信息工程指导老师杨玲
分数
一、 实验目的:
(1) 熟悉并掌握离散系统的差分方程表示法; (2)
加深对冲激响应和卷积分析方法的理解。
二、 实验原理与方法
离散系统
其输入、输出关系可用以下差分方程描述:
∑∑==-=-M
k k N
k k
k n x p k n y d
][][
输入信号分解为冲激信号,
∑∞
-∞
=-=
m m n m x n x ][][][δ。
记系统单位冲激响应
][][n h n →δ,
则系统响应为如下的卷积计算式:
∑∞
-∞
=-=
*=m m n h m x n h n x n y ][][][][][
当N k d k ,...2,1,0==时,h[n]是有限长度的(n :[0,M]),称系统为FIR 系统;反之,称系统为IIR 系统。
三、
实验内容及要求
1、 要求分别用 filter 、conv 、impz 三种函数完成。
(1) 用conv (x,y )函数计算序列{-2 0 1 –1 3}和序列{1 2 0 -1}的离散卷积。
程序:
>> a=[-2 0 1 -1 3]; >> b=[1 2 0 -1]; >> c=conv(a,b); >> M=length(c)-1; >> n=0:1:M; >> stem(n,c);
>> xlabel('n');
>> ylabel('幅度');
(2)用yn=filter(B,A,xn)函数计算差分方程
当输入序列为时的输出结果。
程序:
>> a1=[1,0.7,-0.45,-0.6];
>> b1=[0.8,-0.44,0.36,0.02];
>> n=0:40;
>> x1=[1,zeros(1,40)];
>> y1filter=filter(b1,a1,x1);
>> stem(n,y1filter);
>> title('y1filter');
>> xlabel('x');
>> ylabel('y');
(3)用impz(B,A,N)绘制出差分方程
所对应的单位脉冲响应(),019h n n ≤≤。
程序:
>> a1=[1,0.7,-0.45,-0.6]; >> b1=[0.8,-0.44,0.36,0.02]; >> n=0:19;
>> x1=[1,zeros(1,19)];
>> y1impz=impz(b1,a1,20); >> stem(n,y1impz); >> title('y1impz'); >> xlabel('x'); >> ylabel('y');。