实验1 常见离散信号的MATLAB产生和图形显示 (2)
- 格式:doc
- 大小:42.50 KB
- 文档页数:2
DSP实验一报告一.实验内容(一)实验名称:离散信号的MATLAB产生和图形显示(二)实验内容:1、编写程序产生序列,x(n)=cosn, 099其中,=0,,,,,,,2画出序列的图形,说明信号时域振荡程度的变化,理解数字信号的“低频”和“高频”的概念。
2、画出下列序列的图形,进行计算并用图形显示结果。
x(n)=sin +3cos , -525y(n)=(-n-2)+(n-16)计算,z(n)=x(n)+y(n)3、课本136页第20题画出四种理想滤波器的幅频特性图(一个周期)和单位冲激响应波形图(根据公式画图)。
其中,(1)=0.3 (2)=0.8 (3)=0.5;=0.7 (4)=0.65;=0.8角频率间隔= ,M=256时间范围-5050二.编程原理、思路和公式1、编写程序产生序列,x(n)=cosn, 099其中,=0,,,,,,,2画出序列的图形,说明信号时域振荡程度的变化,理解数字信号的“低频”和“高频”的概念。
调用Matlab中的基本数学函数f(x)=cosx,因为要产生序列,所以采用stem(x)的方式输出图形。
2、画出下列序列的图形,进行计算并用图形显示结果。
x(n)=sin +3cos , -525y(n)=(-n-2)+(n-16)计算,z(n)=x(n)+y(n)先绘出x(n)和y(n)分别的图形,然后相加得到z(n)的图形。
x(n)是一个周期为24的三角函数。
3、课本136页第20题画出四种理想滤波器的幅频特性图(一个周期)和单位冲激响应波形图(根据公式画图)。
其中,(1)=0.3 (2)=0.8 (3)=0.5;=0.7 (4)=0.65;=0.8角频率间隔= ,M=256时间范围-5050直接根据四种理想滤波器的公式表达式作图。
三.程序脚本及其注释1. 编写程序产生序列,x(n)=cosn, 099其中,=0,,,,,,,2画出序列的图形,说明信号时域振荡程度的变化,理解数字信号的“低频”和“高频”的概念。
数字信号处理实验报告实验1 常见离散信号的MATLAB产生和图形显示【实验目的】加深对常用离散信号的理解;【实验内容】(1)单位抽样序列(取100个点)程序设计:N=100;x=[1 zeros(1,N-1)];stem(0:N-1,x)结果(2)单位阶跃序列(取100个点)程序设计:N=100;x=ones(1,N);stem(0:99,x);axis([0 100 0 2])结果102030405060708090100(3) 正弦序列(取100个点) 程序设计: N=100; n=0:99; f=100; Fs=1000; fai=0.2*pi; A=2;x=A*sin(2*pi*f*n/Fs+fai); stem(n,x); grid 结果0102030405060708090100(4)复正弦序列(取100个点)程序设计:N=100;n=0:99;w=0.2*pi;x=exp(j*w*n);stem(n,x);结果(5)复指数序列(取41个点)程序设计:>> n=0:40;>> c=-0.02+0.2*pi*i;>> x=exp(c*n);>> subplot(2,1,1);>> stem(n,real(x));>> subplot(2,1,2);>> stem(n,imag(x));结果05101520253035400510152025303540(上部为实部,下部为虚部)(6)指数序列(取100个点)程序设计:>> n=0:99;>> a=0.5;>> x=a.^n;>> stem(n,x);结果:【实验要求】讨论复指数序列的性质。
由(5)的图形结果可以看出,复指数序列实部和虚部均为按指数衰减(上升)的序列,两者的均是震荡的,实部震荡周期与指数的实部有关,虚部震荡周期与指数的实虚部有关。
实验二 典型离散信号及其MATLAB 实现一、实验目的1. 掌握MATLAB 语言的基本操作,学习基本的编程功能。
2. 熟悉连续信号经过采样前后的频谱变化,加深对采样定理的理解。
3. 掌握MATLAB 产生常用离散时间信号的编程方法。
二、实验原理1. 单位抽样序列:⎩⎨⎧=01)(n δ 00≠=n n在MATLAB 中可以利用zeros()函数实现。
;1)1();,1(==x N zeros x如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ 0≠=n k n2.单位阶跃序列:⎩⎨⎧01)(n u 00<≥n n在MATLAB 中可以利用ones()函数实现。
);,1(N ones x =3.正弦序列:)/2sin()(ϕπ+=Fs fn A n x在MATLAB 中:)/***2sin(*1:0fai Fs n f pi A x N n +=-=4.复正弦序列:n j e n x ϖ=)(在MATLAB 中:)**ex p(1:0n w j x N n =-=5.指数序列:n a n x =)(在MATLAB 中:na x N n .^1:0=-= 6.y=fliplr(x)——信号的翻转;x=square(t)——产生方波信号y=sawtooth(t)——产生锯齿波信号;y=sinc(x)——产生sinc 函数信号。
三、实验内容(一) 离散信号的产生离散信号的图形显示使用stem 指令。
1. 编写MATLAB 程序,产生下列典型脉冲序列。
(1) 单位脉冲序列:起点n0,终点nf ,在ns 处有一单位脉冲。
(2) 单位阶跃序列:起点n0,终点nf ,在ns 前为0,在ns 处及以后均为1(n0<=ns<=nf)。
(3) 实指数序列:n x )75.0(3=(4) 复指数序列:n j e x )7.02.0(4+-=其MATLAB 程序如下:n0=0;nf=10;ns=3;n1=n0:nf;x1=[(n1-ns)==0]; %单位脉冲序列n2=n0:nf;x2=[(n2-ns)>=0]; %单位阶跃序列n3=n0:nf;x3=(0.75).^n3; %实指数序列n4=n0:nf;x4=exp((-0.2+0.7j)*n4); %复指数冲序列subplot(2,2,1),stem(n1,x1);subplot(2,2,2),stem(n2,x2);subplot(2,2,3),stem(n3,x3);figuresubplot(2,2,1),stem(n4,real(x4)); %注意subplot 的变化 subplot(2,2,2),stem(n4,imag(x4));subplot(2,2,3),stem(n4,abs(x4));subplot(2,2,4),stem(n4,angle(x4));(二)离散时间信号的卷积在MATLAB中,利用函数conv(x,h)可以实现两个有限长度序列的卷积,要注意conv 函数是假定两个序列都从n=0开始的。
数字信号处理实验报告姓 名: 班 级: 13电信2 学 号: 2013302 2013302 2013302 指导老师: 日期: 2016.6.6~华南农业大学电子工程学院电子信息工程系实验一 常见离散信号的MATLAB 产生和图形显示一、实验目的加深对常用离散信号的理解; 二.实验原理 1. 单位抽样序列在MATLAB 中可以利用zeros()函数实现。
如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:2. 单位阶越序列在MATLAB 中可以利用ones()函数实现。
3. 正弦序列在MATLAB 中 4. 复正弦序列在MATLAB 中 5. 指数序列在MATLAB 中6.卷积分析conv.m 用来实现两个离散序列的线性卷积。
其调用格式是:y=conv(x,h)若x 的长度为N ,h 的长度为M ,则y 的长度L=N+M-1。
三.实验内容1.画出信号x (n) = 1.5*δ(n+1) - δ(n-3)的波形。
2.求序列x(n)和h(n)的线性卷积y(n)=x(n)*h(n)。
x(n) = {3,-3,7,0,-1,5,2} , h(n) = {2,3,0,-5,2,1}. 画出x(n),h(n),y(n)与n的离散序列图形四.实验要求1)画出信号x(n) = 1.5*δ(n+1) - δ(n-3)的波形。
①MATLAB程序如下:n3 = [-3:3];x3 = [(n3+1)==0];subplot(1,3,1);stem(n3,x3);n4 = [-3:3];x4 = [(n4-3)==0];subplot(1,3,2);stem(n4,x4);n5 = [-3:3];x5 = 1.5*x3 - x4;subplot(1,3,3);stem(n5,x5);②理论计算:x(n)=③程序运行结果:图(1)从图(1)左侧起第一幅图是信号δ(n+1)的波形,第二幅图是信号δ(n-3)的波形,最后一幅图是信号x(n) = 1.5*δ(n+1) - δ(n-3)的波形。
离散信号的产生、显示及离散序列的卷积和matlab实现离散信号的产生可以通过一个生成离散序列的函数来实现。
Matlab提供了一些内置的函数来生成常见的离散信号,例如单位阶跃函数(heaviside)、单周期方波(square)、正弦信号(sin)、脉冲(impulse)等。
离散信号的显示可以使用Matlab的plot函数来实现。
将离散序列作为函数的输入参数,然后使用plot函数绘制出序列的图像。
离散序列的卷积可以使用conv函数来实现。
conv函数接受两个输入信号,并返回它们的离散卷积结果。
下面是一个示例代码演示离散信号的产生、显示和离散序列的卷积:```matlab% 产生离散信号n = 0:1:9; % 定义离散点的范围x1 = heaviside(n-2); % 单位阶跃函数x2 = square(n); % 单周期方波x3 = sin(n); % 正弦信号% 显示离散信号figure;subplot(3,1,1);stem(n, x1);title('单位阶跃函数');subplot(3,1,2);stem(n, x2);title('单周期方波');subplot(3,1,3);stem(n, x3);title('正弦信号');% 离散序列的卷积h = [1, 2, 1]; % 卷积核y = conv(x3, h); % 卷积运算figure;subplot(2,1,1);stem(x3);title('输入信号');subplot(2,1,2);stem(y);title('卷积结果');```在上面的代码中,首先定义了离散序列的范围n,然后使用内置函数生成了三个不同的离散信号x1、x2和x3。
接下来,使用subplot函数将三个离散信号的图像显示在一个图形窗口中。
最后,定义了一个卷积核h,并使用conv函数对x3进行卷积运算,得到卷积结果y。
实验一:用MA TLAB 产生时域离散信号一、实验目的1、了解常用时域离散信号及其特点2、掌握用MATLAB 产生时域离散信号的方法二、实验内容及步骤1、编写程序,产生以下离散序列: (1)f (n )=δ(n ) (-3<n<4) n1=-3;n2=4;n0=0;n=n1:n2; x=[n==n0]; stem (n ,x,'filled’); axis([n1,n2,0,1。
1*max(x)]);xlabel(’时间(n)');ylabel(’幅度x (n )'); title ('单位脉冲序列’);时间(n)幅度x (n )单位脉冲序列(2)f (n )=u (n) (—5<n 〈5)n1=-5;n2=5;n0=0; n=n1:n2;x=[n>=n0]; stem(n ,x ,’filled’);axis ([n1,n2,0,1.1*max (x)]); xlabel('时间(n )');ylabel ('幅度x(n)’); title ('单位阶跃序列’); box时间(n)幅度x (n )单位阶跃序列(3)f (n )= e (0。
1+j1。
6∏)n (0<n 〈16)n1=16;a=0.1;w=1。
6*pi; n=0:n1;x=exp((a+j *w )*n );subplot (2,2,1);plot (n,real(x)); title(’复指数信号的实部');subplot (2,2,3);stem (n ,real(x ),'filled’); title (’复指数序列的实部'); subplot (2,2,2);plot(n,imag (x)); title('复指数信号的虚部');subplot (2,2,4);stem (n ,imag (x),'filled'); title (’复指数序列的虚部'); box5101520-4-20246复指数信号的实部05101520复指数序列的实部5101520-6-4-2024复指数信号的虚部05101520复指数序列的虚部(4)f (n)=3sin (nП/4) (0〈n 〈20)f=1/8;Um=3;nt=3; N=20;T=1/f ; dt=T/N; n=0:nt*N-1; tn=n *dt;x=Um*sin (2*f*pi*tn ); subplot (2,1,1);plot (tn,x);axis([0,nt *T ,1.1*min (x),1。
常见离散信号的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)产生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系统。
实验报告学院:计信学院专业:网络工程班级:网络091 姓名学号实验组实验时间2012-4-25 指导教师成绩实验项目名称实验1 常见离散信号的MATLAB产生和图形显示实验目的加深对常用离散信号的理解。
实验要求(1)产生和图形显示常见离散信号。
(2)讨论复指数序列的性质。
实验原理1.单位抽样序列⎩⎨⎧=1)(nδ≠=nn在MATLAB中可以利用zeros()函数实现。
;1)1();,1(==xNzerosx如果)(nδ在时间轴上延迟了k个单位,得到)(kn-δ即:⎩⎨⎧=-1)(knδ≠=nkn2.单位阶越序列⎩⎨⎧1)(nu<≥nn在MATLAB中可以利用ones()函数实现。
);,1(Nonesx=3.正弦序列)/2sin()(ϕπ+=Fs fn A n x在MATLAB 中)/***2sin(*1:0fai Fs n f pi A x N n +=-=4.复指数序列n j e r n x ϖ⋅=)(在MATLAB 中)**exp(1:0n w j r x N n ⋅=-=5.指数序列n a n x =)(在MATLAB 中na x N n .^1:0=-=实验步骤1. 在MATLAB 环境中编写程序。
2. 运行程序。
3. 得出实验结果。
实验内容编制程序产生上述5种信号(长度可输入确定),并绘出其图形。
实验数据1.单位抽样序列2.单位阶越序列3.正弦序列4.复指数序列5.指数序列实验总结离散复指数序列的性质:对于离散复指数函数x=a*exp(z*n),只有当z是纯虚数,且纯虚数的系数是pi的倍数时,才是周期的。
其它情况下均不是。
这个性质由本次实验中的五个函数的图像可以被证明。
指导教师意见。
实验一 常见离散信号的MATLAB 产生和图形显示实验目的:加深对常用离散信号的理解; 实验原理:1.单位抽样序列⎩⎨⎧=01)(n δ≠=n n 在MATLAB 中可以利用zeros()函数实现。
;1)1();,1(==x N zeros x如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ≠=n kn2.单位阶跃序列⎩⎨⎧01)(n u00<≥n n 在MATLAB 中可以利用ones()函数实现。
);,1(N ones x =3.正弦序列)/2sin()(ϕπ+=Fs fn A n x在MATLAB 中)/***2sin(*1:0fai Fs n f pi A x N n +=-=4.复正弦序列n j e n x ϖ=)(在MATLAB 中)**ex p(1:0n w j x N n =-=5.指数序列n a n x =)(在MATLAB 中na x N n .^1:0=-=实验内容:编制程序产生上述5种信号(长度可输入确定),并绘出其图形。
实验要求:讨论复指数序列的性质。
实验过程: 1. 单位冲击序列:>> n=0:10;>> x1=[1 zeros(1,10)];>> x2=[zeros(1,8) 1 zeros(1,8)]; >> subplot(1,2,1); >> stem(n,x1);>> xlabel ('时间序列n'); >> ylabel('幅度');>> title('单位冲激序列δ(n )'); >> subplot(1,2,2); >> stem(x2);>> xlabel('时间序列n'); >> ylabel('幅度');>> title('延时了8个单位的冲激序列δ(n-8)'); >>>> n=0:10;>> u=[ones(1,11)];>> stem(n,u);>> xlabel ('时间序列n');>> ylabel('信号幅度');>> title('单位阶跃序列u(n)');>>3.正弦序列:>> n=1:30;>> x=2*sin(pi*n/6+pi/4);>> stem(n,x);>> xlabel ('时间序列n');>> ylabel('振幅');>> title('正弦函数序列x=2*sin(pi*n/6+pi/4)'); >>>> n=1:30;>> x=5*exp(j*3*n);>> stem(n,x);>> xlabel ('时间序列n');>> ylabel('振幅');>> title('复指数序列x=5*exp(j*3*n)');>>5.指数序列:>> n=1:30;>> x=1.8.^n;>> stem(n,x);>> xlabel ('时间序列n');>> ylabel('振幅');>> title('指数序列x=1.8.^n');>>复指数序列的周期性讨论:为了研究复指数序列的周期性质,我们分别作了正弦函数x1=1.5sin(0.3πn)和x2=sin(0.6n); 的幅度特性图像。
数字信号处理实验报告林鸿运10282039 生医1002实验1 常见离散信号的matlab产生和图形显示五个常见离散信号1.单位抽样序列程序源代码:clcclear alln=0:10;x=[n==0];subplot(2,2,1);stem(n,x);title('单位抽样序列');xlabel('n');ylabel('x(n)');程序运行截图2.单位阶跃序列程序源代码:clcclear alln=0:10;x=[n>=0];subplot(2,2,1);stem(n,x);title('单位阶跃序列');xlabel('n');ylabel('x(n)');程序运行截图:3.正弦序列程序源代码:clcclear alln=0:20;A=5;f=2/pi;Fs=4;b=2*pi;x=A*sin(2*pi*f*n/Fs+b);subplot(2,2,1);stem(n,x);title('正弦序列');xlabel('n');ylabel('x(n)');程序运行截图:4.实指数序列程序源代码:clcclear alln=0:0.5:10;a=10;x=a.^n;subplot(2,2,1);stem(n,x);title('实指数序列');xlabel('n');ylabel('x(n)');程序运行截图:5.复指数序列程序源代码:clcclear alln=0:0.5:10;a=10;b=10x=exp((a+j*b)*n);subplot(2,2,1);stem(n,x);title('复指数序列');xlabel('n');ylabel('x(n)');程序运行截图:实验内容1.实验内容11.产生x(n)=δ(n+2)-2δ(n-1) (-5<=n<=5)序列的波形图2. 产生x(n)=u(n)-u (n-5) (0<=n<10)序列的波形图3. 产生x(n)=2sin(0.04πn+π/3) (0<=n<50)序列的波形图4. 产生x(n)=0.8n (0<=n<10)序列的波形图程序源代码:clcclear alln=-5:5;x=[(n+2)==0]-2*[(n-1)==0];subplot(2,2,1);stem(n,x);title('抽样序列');xlabel('n');ylabel('x(n)');n=0:10;x=[n>=0]-[(n-5)>=0];subplot(2,2,2);stem(n,x);title('阶跃序列');xlabel('n');ylabel('x(n)');n=0:50;x=2*sin(0.04*pi*n+pi/3); subplot(2,2,3);stem(n,x);title('正弦序列');xlabel('n');ylabel('x(n)');n=0:10;x=0.8.^n;subplot(2,2,4);stem(n,x);title('实指数序列'); xlabel('n');ylabel('x(n)');程序运行截图:产生复指数序列x(n)=e(-0.1+j0.3)n(-20<=n<20),画出它的实部、虚部、幅值和相位图,以此讨论复指数序列的性质程序源代码:clcclear alln=-20:20;x=exp((-0.1+0.3j)*n);subplot(2,2,1);stem(n,real(x));title('实部');xlabel('n');subplot(2,2,2);stem(n,imag(x));title('虚部');xlabel('n');subplot(2,2,3);stem(n,abs(x));title('幅值');xlabel('n');subplot(2,2,4);stem(n,(180/pi)*angle(x));title('相位');xlabel('n');程序运行截图:复指数序列的性质:2.实验内容2(1).产生x(n)= (n.^2).*{ [(n-5)>=0]-[(n-6)>=0]} +10*[n==0]+ 20*(0.5.^n).*{ [(n-4)>=0]-[(n-10)>=0]} (-10<=n<10)序列的样本,要求用四个框图分别显示表达式中的三个相加项和x(n)波形程序源代码:clcclear alln=-10:10;a=[(n-5)>=0]-[(n-6)>=0];b=[(n-4)>=0]-[(n-10)>=0];x1=(n.^2).*a;x2=10*[n==0];x3=20*(0.5.^n).*b;x=x1+x2+x3;subplot(2,2,1);stem(n,x1);title('x1(n)');xlabel('n');subplot(2,2,2);stem(n,x2);title('x2(n)');xlabel('n');subplot(2,2,3);stem(n,x3);title('x3(n)');xlabel('n');subplot(2,2,4);stem(n,x);title('x(n)');xlabel('n');程序运行截图:(2)a .程序源代码:clcclear alln=-20:20;x1=cos(0.3*pi*n);x2=cos(0.4*pi*n);subplot(2,1,1);stem(n,x1);title('余弦序列1');xlabel('n');ylabel('x1(n)');subplot(2,1,2);stem(n,x2);title('余弦序列2');xlabel('n');ylabel('x2(n)');程序截图:分析:两个序列都是周期序列,基本周期是20,如果f0=K/N是一个有理数,N为周期;K代表一个周期里有多少个震荡。
实验一 实验名称:常见离散信号的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实现方法;2)学习离散时间序列的基本运算:相加、相乘、移位等;3)学习噪声的产生;4)掌握两个序列的卷积和相关运算5)掌握离散系统单位脉冲响应的求解。
二、实验内容1)典型的离散信号的表示方法:用matlab产生单位抽样信号δ(n) 、单位阶跃序列u(n) 、矩形序列R N(n) 、实指数序列a n u(n)、正弦序列sin(ωn)。
编写程序、并画出图形。
n=-20:20;n0=0;n1=10;w0=pi/4;x=[(n-n0)==0];x1=[(n-n0)>=0];x2=[(n-n0)>=0& (n-n1)<=0];x3=0.9.^n.*x1;x4=sin(w0*n);subplot(511);stem(n,x);axis([ -20 20 0 2]);ylabel('\sigma(n)'); subplot(512);stem(n,x1);axis([ -20 20 0 2]);ylabel('u(n)');subplot(513);stem(n,x2);axis([ -20 20 0 2]);ylabel('B N(n)');subplot(514);stem(n,x3);axis([ -20 20 0 2]);ylabel('a n u(n)');subplot(515);stem(n,x4);axis([ -20 20 -2 2]);ylabel('sin(w0n)');xlabel('n');2)离散信号的基本运算:对序列x(n)={2,3,4,1,2,5} ,n=0,1,2,3,4,5,的移位、乘法、加法、翻转及尺度变换。
编写程序、并画出图形。
n=-10:10;k=2;N=length(n);x=zeros(size(n));x1=zeros(size(n));y=zeros(size(n));y1=zeros(size(n));y2=zeros(size(n));y3=zeros(size(n));y4=zeros(size(n));x(11:16)=[2 3 4 1 2 5];x1(11:16)=[1 2 3 4 5 6];y(1+k:N)=x(1:N-k);y1(1:N-k)=x(1+k:N);y2=x.*x1;y3=x+x1;y4=fliplr(x);y5=x(1:2:N);n1=fix(n(1:2:N)/2);subplot(421);stem(n,x);xlabel('n');ylabel('x(n)');subplot(422);stem(n,x1);xlabel('n');ylabel('x1(n)');subplot(423);stem(n,y);xlabel('n');ylabel('x(n-2)');subplot(424);stem(n,y1);xlabel('n');ylabel('x(n+2)');subplot(425);stem(n,y2);xlabel('n');ylabel('x(n)*x1(n)');subplot(426);stem(n,y3);xlabel('n');ylabel('x(n)+x1(n)');subplot(427);stem(n,y4);xlabel('n');ylabel('x(-n)');subplot(428);stem(n1,y5);xlabel('n');ylabel('x(2n)');3)噪声的产生:产生方差为1,2,0.5的白噪声。
实验1 常见离散信号产生和实现一、实验目的1、加深对常用离散信号的理解;2、熟悉使用MATLAB 在时域中产生一些基本的离散时间信号。
二、实验原理MATLAB 语言提供了一系列函数用来产生信号,如exp, sin, cos, square, sawtooth ,ones, zeros 等函数。
1. 基本信号序列 1) 单位抽样序列⎩⎨⎧=01)(n δ 00≠=n n 程序:n=-10:20; %生成一个从-10到20的序列u=[zeros(1,10) 1 zeros(1,20)]; %生成一个前10位为0,第十一位为1,后20位为0的矩阵stem(n,u); %画出n 为横轴,u 为纵轴的序列xlabel('Time indexn');ylabel('Amplitude'); %添上x y 轴的标签title('Unit Sample Sequence'); %图表的标签axis([-10 20 0 1.2]); %规定横轴,纵轴的显示范围图形:如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ 0≠=n k n程序:n=-10:20;u=[zeros(1,15) 1 zeros(1,15)];stem(n,u);xlabel('Time indexn');ylabel('Amplitude');title('Unit Sample Sequence');axis([-10 20 0 1.2]);图形:2) 单位阶跃序列⎩⎨⎧01)(n u 00<≥n n 程序:n=-10:20;x=[zeros(1,10),ones(1,21)];stem(n,x);图形:3) 实指数序列 R a n a n x n∈∀=,)(程序:a1=1.1;a2=0.9;a3=-1.1;a4=-0.9;n=[-5:15];x1=(a1.^n);x2=(a2.^n);x3=(a3.^n);x4=(a4.^n); subplot(2,2,1);stem(n,x1,'.k');title('a>1');axis([-5,15,-0.5,5]);subplot(2,2,2);stem(n,x2,'.k');title('0<a<1');axis([-5,15,-0.2,1.2]);subplot(2,2,3);stem(n,x3,'.k');title('a<-1');axis([-5,15,-6,4]);subplot(2,2,4);stem(n,x4,'.k');title('<-1a<0');axis([-5,15,-1,1.2]);图形:4) 复指数序列n e n x nj ∀=+)()(ωσ程序:n=0:10;lu=0.2;w0=pi;x=exp((lu+j*w0)*n);stem(n,x);xlabel('Time indexn');ylabel('Amplitude');title('Unit Sample Sequence'); axis tight图形:5)随机序列程序:x=rand(1,20);stem(x);xlabel('Time indexn');ylabel('Amplitude');title('Unit Sample Sequence');axis tight图形:基本周期波形1)方波程序:t=0:0.1*pi:6*pi; %定义t为从0开始,间距为0.1pi,截止为6pi的序列y=square(t); %由函数生成方波axis([0 7*pi -1.5 1.5]); %规定尺度距离plot(t,y); %画出横轴为t 纵轴为y 的方波函数xlabel(‘时间 t’); % 为x 轴添加标签ylabe l(‘幅度y’); % 为y 轴添加标签axis([0 20 0 2])图形:2) 正弦波)/2sin()(ϕπ+=Fs fn A n x程序:t=0:0.1:15;A=2;x=A*sin(0.7*pi*t+0.5);plot(t,x);xlabel('Time index t');ylabel('Amplitude x');axis([0 2*pi -3 3])title('正弦波')图形:3)锯齿波程序:Fs=10000;t=0:1/Fs:2;x=sawtooth(2*pi*40*t);plot(t,x);xlabel('Time index t');ylabel('Amplitude x');axis([0 0.2 -2 2])title('锯齿波')图形:2.基本非周期波形程序:t=0:1/1000:2;x=chirp(t,0.1,80);plot(t,x);xlabel('Time index t');ylabel('Amplitude x'); specgram(x,256,100,256,250); title('基本非周期波形')图形:3.sinc信号程序:t=linspace(-5,5);x=sinc(t);plot(t,x);xlabel('Time index t');ylabel('Amplitude x');title('sinc信号')图形:4.序列的操作1)信号加x(n)=x1(n)+x2(n)MATLAB实现:x=x1+x2;注意:x1和x2序列应该具有相同的长度,位置对应,才能相加。
实验一 Matlab 中常用离散信号产生及绘图命令的练习一、实验目的:1. 了解Matlab 的基本操作,为以后的实验奠定基础;2. 熟悉Matlab 操作环境,并进行一些简单的计算和m 文件的编写; 3. 加深对常用离散信号的理解; 二、实验原理: 1.离散信号产生1)单位抽样序列⎩⎨⎧=01)(n δ 00≠=n n在MA TLAB 中可以利用 [x,n] = impseq(n0,n1,n2) 函数实现 如果)(n δ在时间轴上延迟了m 个单位,得到)(m n -δ即:⎩⎨⎧≠==-mn mn m n ,0,1)(δ2)单位阶跃序列⎩⎨⎧>=nn n u 其他,00,1)(在MATLAB 中可以利用 ones () 函数实现3)余弦序列)/2cos()(φπ+=S F fn A n x在MA TLAB 中)/***2cos(*1:0φ+=-=s F n f pi A x N ns F :采样频率 4)复正弦序列n j e n x ω=)(在MA TLAB 中)**exp(1:0n j x N n ω=-=5)指数序列)()(n u a n x n =在MA TLAB 中na x N n .^1:0=-=2. 绘图语句 1)figurefigure 有两种用法,只用一句figure 命令,会创建一个新的图形窗口,并返回一个整数型的窗口编号。
figure(n)表示将第n 号图形窗口作为当前的图形窗口, 并将其显示在所有窗口的最前面; 如果该图形窗口不存在, 则新建一个窗口,并赋以编号n 。
2)plot线型绘图函数。
用法为plot(x,y,′s ′)。
参数x 为横轴变量,y 为纵轴变量,s 用以控制图形的基本特征如颜色、粗细等,通常可以省略。
3)Stem绘制离散序列图,常用格式stem(y)和stem(x,y)分别和相应的plot 函数的绘图规则相同,只是用stem 命令绘制的是离散序列图。