离散信号及其MATLAB实现实验截图
- 格式:docx
- 大小:254.61 KB
- 文档页数:2
实 验 报 告专业: 班级: 指导老师:姓名: 学号: 实验室: 实验名称:常见离散信号的Matlab 产生和图形显示 时间:一、实验目的及要求 (一)实验目的加深对常用离散信号的理解 (二)实验原理1.理想采样信号序列(1)首先产生信号x(n),0≤n ≤50n=0:50; A=444.128;a=50*sqrt(2.0)*pi; T=0.001;w0=50*sqrt(2.0)*pi;x=A*exp(-a*n*T).*sin(w0*n*T); close allsubplot(3,1,1);stem(x);title('25FF.理想采样信号序列'); k=-25:25; W=(pi/12.5)*k;X=x*(exp(-j*pi/12.5)).^(n'*k); magX=abs(X)subplot(3,1,2);stem(magX);title('25FF.理想采样信号序列的幅度谱'); angX=angle(X);subplot(3,1,3);stem(angX);title(‘25FF.理想采样信号序列相位谱’);2.单位抽样序列1,00,0(){n n n =≠∂=在matlab 中,这一函数可以用zeros 函数实现n=1:50; x=zeros(1,50); x(1)=1; close allsubplot(3,1,1);stem(x);title('25FF.单位冲击信号序列'); k=-25:25;X=x*(exp(-j*pi/12.5)).^(n'*k); magX=abs(X);subplot(3,1,2);stem(magX);title('25FF.单位冲击信号的幅度谱'); angX=angle(X);subplot(3,1,3);stem(angX);title('25FF.单位冲击信号的相位谱');3.矩阵序列1,010,(){n N N R n ≤≤-=其他n=1:50;x=sign(sign(10-n)+1); close allsubplot(3,1,1);stem(x);title('25FF.矩阵序列'); k=-25:25;X=x*(exp(-j*pi/25)).^(n'*k); magX=abs(X);subplot(3,1,2);stem(magX);title('25FF.矩阵的幅度谱'); angX=angle(X);subplot(3,1,3);stem(angX);title('25FF.矩阵的相位谱');4.特定冲击串n=1:50; x=zeros(1,50);x(1)=1;x(2)=2.5;x(3)=2.5;x(4)=1; close allsubplot(3,1,1);stem(x);title('25FF.特定冲击串序列'); k=-25:25;X=x*(exp(-j*pi/12.5)).^(n'*k); magX=abs(X);subplot(3,1,2);stem(magX);title('25FF.特定冲击串的幅度谱'); angX=angle(X);subplot(3,1,3);stem(angX);title('25FF.特定冲击串相位谱');5.其他 (1) n=1:50; x=ones(1,50); x(1)=1; close allsubplot(3,1,1);stem(x);title('25FF.单位阶跃序列'); k=-25:25;X=x*(exp(-j*pi/12.5)).^(n'*k); magX=abs(X);subplot(3,1,2);stem(magX);title('25FF.单位单位阶跃的幅度谱'); angX=angle(X);subplot(3,1,3);stem(angX);title('25FF.单位单位阶跃的相位谱');(2) 正弦序列()sin(2/)x n A fn Fs πϕ=+n=0:50A=444.128 f=100Fs= 300fai=0.03*pix=A*sin(2*pi*f*n/Fs+fai)close allsubplot(3,1,1);stem(x) %绘制x(n)的图形title('25FF正弦信号序列')k=-25:25W=(pi/12.5)*kX=x*(exp(-j*pi/12.5)).^(n'*k)magX=abs(X) %绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title('25FF正弦信号序列的幅度谱') angX=angle(X) %绘制x(n)的相位谱subplot(3,1,3);stem(angX);title('25FF正弦信号序列的相位谱')(3)复正弦序列()j nx n eϖ=n=1:50;w=pi*1/25;x=exp(j*w*n);close all;subplot(3,1,1);stem(x);title('25FF复正弦序列');k=-25:25;X=x*(exp(-j*pi/12.5)).^(n'*k);magX=abs(X);subplot(3,1,2);stem(magX);title('25FF复正弦序列的幅度谱');angX=angle(X);subplot(3,1,3);stem(angX);title('25FF复正弦序列的相位谱')(4)指数序列()nx n a=n=1:50;x=0.5.^n;close all;subplot(3,1,1);stem(x);title('25FF指数序列');k=-25:25X=x*(exp(-j*pi/12.5)).^(n'*k);magX=abs(X);subplot(3,1,2);stem(magX);title('25FF指数序列的幅度谱');angX=angle(X);subplot(3,1,3);stem(angX);title('25FF指数序列的相位谱')结论教师批阅年月日。
MATLAB实验一一、常用离散信号的MATLAB产生和图形显示1、单位抽样序列>> n=-5:15;>>zeros(1,20);>> x=(n==0);>>stem(n,x,'.');2、单位阶跃序列>> n=-5:15;>>zeros(1,20);>> x=(n>=0);>>stem(n,x,'.');3、正弦序列>> n=0:20;>> f=10;>> Fs=100;>>fai=pi/4;>> x=5*sin(2*pi*f*n/Fs+fai);>>stem(n,x,'.');4、复正弦序列>> x=exp(i*0.1*pi*n);>>stem(n,x);5、指数序列>> n=0:10;>> x=2.^n;>>stem(n,x,'.');二、离散系统的差分方程、冲击响应和卷积分析1、y[n]+0.75y[n-1]+0.125y[n-2]=x[n]-x[n-1]冲激响应:>> n=0:20;>> x=(n==0);>> y=filter([1,-1],[1,0.75,0.125],x);>>stem(n,y,'.');阶跃响应:>> n=0:20;>> x=(n>=0);>> y=filter([1,-1],[1,0.75,0.125],x);>>stem(n,y,'.');2、y[n]=0.25{x[n-1]+x[n-2]+x[n-3]+x[n-4]}冲激响应:>> n=0:20;>> x=(n==0);>> y=filter([0,0.25,0.25,0.25,0.25],[1],x);>>stem(n,y,'.');阶跃响应:>> n=0:20;>> x=(n>=0);>> y=filter([0,0.25,0.25,0.25,0.25],[1],x);>>stem(n,y,'.');三、离散系统的频率响应分析和零、极点分布>>num=[0.0528,0.0797,0.1295,0.797,0.0528]; >>den=[1,-1,2.4947,-1.88,0.9537,-0.2336];>>zplane(num,den);>> [H,w]=freqz(num,den);>>Hf=abs(H);>>plot(w,Hf);。
常见离散信号的MATLAB产⽣和图形显⽰实验报告实验⼀常见离散信号的MATLAB 产⽣和图形显⽰⼀实验⽬的加深对常⽤离散信号的理解⼆实验原理及实验内容1.单位抽样序列=01)(n δ 00≠=n nMATLAB 程序:%单位抽样序列t=-20:20; %产⽣⼀个-20到20的矩阵 x=zeros(1,41); %产⽣⼀个全为1的矩阵 x(21)=1; %x 的第21个元素为1 stem(t,x); %绘制x 的序列图 grid on; %画⽹格线 title('单位抽样序列') %加标题绘图:2.单位阶越序列01)(n u 00<≥n nMATLAB 程序: %单位阶越序列x=[zeros(1,20),ones(1,21)]; %产⽣⼀个前20个元素为0,后21个元素为1的数组 stem(t,x); %绘制x 的序列图 grid on; %画⽹格线title('单位阶越序列') %加标题绘图:3.正弦序列)/2sin()(?π+=Fs fn A n xMATLAB 程序: %正弦序列n=0:100; %产⽣⼀个0到100的矩阵 fai=pi/4; %相位赋值 A=2; %振幅赋值 f=1/50; %频率赋值Fs=1; %采样频率赋值 x=A*sin(2*pi*f*n/Fs+fai) ; %⽣成正弦序列x stem(n,x); %绘制x 的序列图 axis([0 50 -3 3]); %限定坐标轴范围 title('正弦序列'); %加标题绘图:4.复正弦序列jn)(=enx?MATLAB程序:%复正弦序列n=0:20;%产⽣⼀个0到20的矩阵x=exp(j*pi/20*n);%⽣成复正弦序列subplot(1,2,1),stem(n,real(x));%绘制x的实数部分title('复正弦序列实部');%加标题grid on; %画⽹格线subplot(1,2,2),stem(n,imag(x),'filled');%绘制x的虚部部分title('复正弦序列虚部');%加标题grid on%画⽹格线5.指数序列n)x=(naMATLAB程序:%指数序列n=0:10;%产⽣⼀个0到10的矩阵x=(0.6).^n;%⽣成⼀个底数为0.6的指数序列stem(n,x);%绘制x的序列图grid on%画⽹格线三.思考题1讨论复指数序列的性质(1)正交性,复指数序列⽤欧拉公式展开可得:e^jωn=cosωn+jsinωn其可表⽰⼀个余弦信号与⼀个正弦信号的叠加,这两个信号呈正交关系。
实验二基于Matlab的离散控制系统仿真一、实验目的1)学习使用Matlab命令对离散控制系统进行仿真的方法。
2)学习使用Simulink工具箱对离散控制系统进行仿真的方法。
二、实验原理1. 控制系统命令行仿真一阶系统闭环传递函数为3()G ss+3请转换为离散系统脉冲传递函数并仿真。
根据要求实验有实验数据和所得图形如下:连续零极点图函数:离散函数零极点图:连续函数根轨迹图:离散函数根轨迹图:连续函数单位脉冲响应曲线:离散函数单位脉冲响应曲线:连续函数单位阶跃响应:离散函数单位阶跃响应:连续函数波特图:离散函数波特图:连续函数艾奎斯特曲线:离散函数艾奎斯特曲线:连续函数尼科尔斯曲线:离散函数尼科尔斯曲线:2. 控制系统simulink 仿真按图建立系统的Simulink 模型,对不同的输入信号进行仿真,改变参数,观察不同的仿真结果。
图1 控制系统Simulink 仿真图解答于实验内容第二问三、实验内容1) 二阶系统传递函数为225()4+25G s s s =+,请转换为零极点模型,离散系统模型(采样时间为1),以及离散零极点模型,并进行基于matlab 命令的仿真研究(求连续和离散系统的单位脉冲响应、单位阶跃响应、零极点分布图、根轨迹、波特图、奈奎斯特曲线、尼科尓斯曲线等)。
根据题意实验所得有:连续单位脉冲响应连续单位阶跃响应连续零极点分布图离散零极点分布图连续根轨迹连续波特图连续奈奎斯特曲线连续尼科尓斯曲线2)按图1建立系统的Simulink模型,对不同的输入信号进行仿真。
改变模型参数,观察不同的仿真结果。
Step输入:Ramp输入:当函数分子分别为1,10,100,500时有:经过实验可以看出分子越大超调越大,调整时间越大。
3)将上述系统离散化并基于Simulink仿真,观察仿真结果。
根据题意实验有:Step输入:Ramp输入:分子为1时:Step输入:Ramp输入:分子为250时:Step输入:Ramp输入:四、实验报告1)按照实验报告所要求的统一格式,填写实验报告;2)记录实验过程、实验结果和图表。
实验一 常见离散信号的MATLAB 产生和图形显示一、 实验目的加深对常见离散信号的理解二、实验内容及步骤编制程序产生以下信号,并绘出其图形。
1)产生64点的单位抽样序列)(n δN=64x=[1,zeros(1,N-1)]stem(x)2)产生64点并移位20位的单位抽样序列)20(-n δN=64x=[0,zeros(1,N-1)]x(20)=1stem(x)3)任意序列)5(7.0)4(9.2)3(6.5)2(8.1)1(4.3)(0.8)(-+-+-+-+-+=n n n n n n n f δδδδδδ4)产生幅度A=3,频率f=100,初始相位ϕ=1.2,点数为32 点的正弦序列。
n=0:31;x=3*exp(j*314*n)figure(1)stem(n,x)5)产生幅度A=3,角频率ω=314,点数为32 点的复正弦序列。
n=0:31A=3;w=314;x=A*exp(w*j*n)stem(x)6)产生幅度A=3,a=0.7,点数为32 点的实指数序列。
n=0:31;A=3;a=0.7;x=A*a.^nstem(x)实验二 离散系统的时域分析一、 实验目的(1)熟悉并掌握离散系统的差分方程表示方法(2)加深对冲激响应和卷积方法的理解二、 实验内容与要求编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。
要求分别用 filter 、conv 、impz 三种函数完成。
y [n ]+ 0.75y [n −1]+ 0.125y [n − 2] = x [n ]− x [n −1]y [n ] = 0.25{x [n −1]+ x [n − 2]+ x [n −3]+ x [n − 4]}给出理论计算结果和程序计算结果并讨论。
三、实验原理系统响应为如下的卷积计算公式:][][][*][][m n h m x n h n x n y m -==∑∞-∞=h[n]是有限长度的(n:0,M),称系统为FIR系统;反之,称系统为IIR系统。
实验一离散信号的MATLAB实现实验一:离散信号的MATLAB实现一、实验目的本实验旨在通过MATLAB实现离散信号的生成、绘制和基本操作,加深对离散信号处理的理解,并为后续实验做好准备。
二、实验原理离散信号是指在时间域或幅值域上取值有限的信号。
常见的离散信号包括矩形波、三角波、正弦波等。
在MATLAB中,可以使用不同的函数和参数来生成这些离散信号。
同时,使用MATLAB的绘图功能可以将离散信号绘制出来,以便观察和分析。
三、实验步骤1.生成离散信号首先,我们需要生成一个离散信号。
在MATLAB中,可以使用以下代码生成一个长度为N的离散信号:N = 100; % 信号长度t = 0:N-1; % 时间向量x = sin(2*pi*t/N); % 离散正弦波信号这段代码将生成一个长度为100、采样频率为N Hz的正弦波信号。
其中,t是时间向量,表示信号在每个采样点上的时间;x是信号的幅值向量,表示在每个采样点上的幅值。
2.绘制离散信号生成离散信号后,我们可以使用MATLAB的绘图功能将其绘制出来。
在MATLAB 中,可以使用以下代码将离散信号绘制出来:plot(t, x); % 绘制离散正弦波信号xlabel('Time (s)'); % 设置X轴标签ylabel('Amplitude'); % 设置Y轴标签title('Discrete Sine Wave'); % 设置标题这段代码将绘制出离散正弦波信号的图形,并添加了X轴和Y轴标签以及标题。
3.基本操作除了生成和绘制离散信号外,我们还可以对离散信号进行一些基本操作,如加减、乘除、翻转等。
例如,我们可以使用以下代码将两个离散信号相加:y = x + 2; % 将离散正弦波信号加上2这段代码将生成一个新的离散信号y,它是原来信号x的基础上加上2。
同样地,我们还可以对离散信号进行其他基本操作。
四、实验结果与分析通过本实验,我们成功地生成了离散正弦波信号,并将其绘制出来。
实验一 实验名称:常见离散信号的Matlab 产生和图形显示一、实验目的1、加深对常用离散信号的理解;2、掌握matlab 中一些基本函数的建立方法。
二、实验步骤(附源代码及仿真结果图)1、使用状况1)创建M 文件File-→New-→M-file 2)运行Debug->run 2、实验原理1)单位抽样序列 ⎩⎨⎧=01)(n δ00≠=n n 在MATLAB 中可以利用zeros()函数实现。
%创建一个1行N 列的0矩阵,将第一个值重新赋值为1;1)1();,1(==x N zeros x 如果在时间轴上延迟了k 个单位,得到即:)(n δ)(k n -δ ⎩⎨⎧=-01)(k n δ0≠=n k n 2)单位阶越序列⎩⎨⎧01)(n u 00<≥n n 在MATLAB 中可以利用ones()函数实现。
%一个长度为N 的零矩阵);,1(N ones x =3)正弦序列)/2sin()(ϕπ+=Fs fn A n x在MATLAB 中)/***2sin(*1:0fai Fs n f pi A x N n +=-=4)复指数序列nj e r n x ϖ⋅=)(在MATLAB 中)**exp(1:0n w j r x N n ⋅=-=5)指数序列n a n x =)(在MATLAB 中n a x N n .^1:0=-=3、实验内容(1)、单位抽样序列(2)、单位阶越序列)正弦函数(3(4)2、绘出信号,当、时、、zn e n x =)(6)12/1(πj z +-=6)12/1(πj z +=121=z 、时的信号实部和虚部图;62πj z +=6πj z =程序如下: 由上图的实部部分可以看出,Z=pi/6时,序列周期为12。
计算序列周期为2*6=12。
实验和理论相符。
3、绘出信号的频率是多少?周期是多少?产生一个数)1.0*2sin(5.1)(n n x π=字频率为0.9的正弦序列,并显示该信号,说明其周期?程序如下:由上图看出:x1=1.5*sin(2*pi*0.1*n)的周期是10,而x2=sin(0.9*n)是非周期的。
实验一 常见离散信号的MATLAB 产生和图形显示授课课时:2学时一、实验目的:(1)熟悉MATLAB 应用环境,常用窗口的功能和使用方法。
(2)掌握MATLAB 在时域内产生常用离散时间信号的方法。
(3)掌握离散信号的基本运算。
(4)掌握简单的绘图命令。
二、实验原理:(一)信号的表示和产生① 单位抽样序列⎩⎨⎧=01)(n δ 00≠=n n如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ≠=n k n 参考程序:例1-1:)2010(()(<<-=n n n x )δclear all n1=-10;n2=20;n0=0;%在起点为n1,终点为n2的范围内,于n0处产生冲激。
n=n1:n2;%生成离散信号的时间序列x=[n==n0];%生成离散信号x(n)stem(n,x);%绘制脉冲杆图xlabel(' n');ylabel('x(n)');%横坐标和纵坐标的标注说明。
title('Unit Sample Sequence');%图形上方标注图名axis([-10 20 0 1.2]);%确定横坐标和纵坐标的取值范围② 单位阶跃序列⎩⎨⎧=01)(n u 00<≥n n 例1-2:)202((u )(<<-=n n n x )clear alln1=-2;n2=20;n0=0;n=n1:n2;%生成离散信号的时间序列x=[n>=n0];%生成离散信号x(n)stem(n,x,'filled');xlabel('n');ylabel('x(n)');title('Unit step Sequence');axis([-2 20 0 1.2]);③ 正弦序列)sin()(ϕ+=wn A n x例1-3:一正弦信号的频率为1HZ ,振幅值幅度A 为1V ,在窗口显示2个周期的信号波形,并对该信号的一个周期进行32点采样获得离散信号并显示该连续信号和离散信号的波形。
实验二离散信号与系统及其MATLAB实现一、实验目的1.进一步了解matlab 6.5应用环境;2.练习利用matlab 6.5中的命令或程序对离散信号和离散时间系统进行分析---单位样值响应、频率响应、零极点增益分析等。
3.进一步练习matlab 6.5中的绘图方法;4.进一步练习matlab 6.5中信号的描述及运算方法;5.进一步练习M-File的建立、保存、调用。
二、实验原理与方法1.对离散信号和离散时间系统进行分析的有关公式。
相关函数频谱绘制函数:1、freqs;2、freqz;绘图函数:1、disp;2、grid;其他函数:logspaceimpzzplaneFilterExpRealImagAbsAngle7.已知一因果的LTI系统的系统函数为H(z)=(8-4z-1+11z-2-2z-3)/(1-1.25z-1+0.75z-2-0.125z-3)。
1)绘制它的幅频相频特性;2)绘制系统的脉冲响应序列;3)绘制输入x(n)={1,1,1,1}时系统的输出y(n)。
>> b=[8,-4,11,-2];a=[1,-1.25,0.75,-0.125];>> figure(1);freqz(b,a,24);>> figure(2);subplot(3,1,1);impz(b,a,24);>> x1=[1,1,1,1];>> x=[zeros(1,10),x1,zeros(1,10)];>> n=-10:13;y=filter(b,a,x);>> subplot(3,1,2);stem(n,x);title('输入序列');>> subplot(3,1,3);stem(n,y);title('输出序列');。