收藏 分销(赏)

实验一离散时间信号的时域分析.docx

上传人:xrp****65 文档编号:8974811 上传时间:2025-03-09 格式:DOCX 页数:23 大小:76.44KB 下载积分:10 金币
下载 相关 举报
实验一离散时间信号的时域分析.docx_第1页
第1页 / 共23页
实验一离散时间信号的时域分析.docx_第2页
第2页 / 共23页


点击查看更多>>
资源描述
实验一离散时间信号的时域分析 陈一凡20112121006 一、实验目的: 学习使用MATLAB程序产生信号和绘制信号; 学习使用MATLAB运算符产生基本离散时间序列——指数序列; 学习使用MATLAB三角运算符产生正弦序列; 学习使用MATLAB命令产生长度为N且具有零均值和单位方差的正态分布的随机信号;学习使用MATLAB中三点滑动平均算法来实现噪声的移除; 学习使用MATLAB程序产生振幅调制信号; 学习使用MATLAB函数产生方波和锯齿波; 二、实验原理简述: 运用运算符和特殊符号,基本矩阵和矩阵控制,基本函数,数据分析,二维图形,通用图形函数,信号处理工具箱等命令,产生以向量形式存储的信号。 三、 实验内容与实验结果 1、产生并绘制一个单位样本序列 运行程序 clf n=-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所示 图2 2.2、生成一个实数值的指数序列: 运行程序: clf; n=0:35;a=1.2;K=0.2; x=K*a.^n; stem(n,x); xlabel('时间序号n');ylabel('振幅'); 实验结果如图3所示 图3 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所示 图4 4、产生长度为N且具有零均值和单位方差的正态分布的随机信号: 运行程序: x=4*rand(1,100)-2 plot(x); axis([0,100,-2,2]); title('扫频正弦信号'); xlabel('时间序号n'); ylabel('振幅'); grid;axis; 实验结果如图5所示: 图5 并产生如下所示序列: x = Columns 1 through 11 1.8005 -1.0754 0.4274 -0.0561 1.5652 1.0484 -0.1741 -1.9260 1.2856 -0.2212 0.4617 Columns 12 through 22 1.1677 1.6873 0.9528 -1.2949 -0.3772 1.7419 1.6676 -0.3589 1.5746 -1.7684 -0.5885 Columns 23 through 33 1.2527 -1.9606 -1.4444 -1.1889 -1.2051 0.4152 -0.9112 -1.2047 -1.9389 0.9871 -0.2196 Columns 34 through 44 1.7273 -0.1360 -0.3254 1.3849 0.1006 -1.1894 0.6885 1.3525 -1.9214 0.7251 -0.4821 Columns 45 through 55 1.3272 0.0113 0.8379 -0.2844 -0.7815 -1.2414 -1.2263 0.7289 -0.7889 0.1667 -1.3965 Columns 56 through 66 0.7916 -0.4865 1.4400 1.4146 0.3743 -0.0138 1.5991 1.2865 0.5796 1.2719 0.6409 Columns 67 through 77 -0.6321 -0.8411 -0.6352 0.1363 0.9085 -0.7628 1.3540 0.2723 -0.5183 0.8110 0.1863 Columns 78 through 88 -0.2205 0.7783 0.4852 1.1793 1.8274 0.0904 1.5206 -1.3082 1.9190 -0.9142 -0.9907 Columns 89 through 99 1.5030 0.9492 -1.4539 -1.9530 1.5756 -1.2034 -0.8051 0.6458 -0.8624 -0.1231 -1.7409 Column 100 1.9533 5、 利用三点滑动平均算法实现信号中噪声的移除: 运行程序: 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所示: 图6 6.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所示: 图7 6.2、产生频率随时间线性增加的扫频正弦信号: 运行程序: 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所示: 图8 7.1、绘制最大振幅为2.7,周期为10,占空比为60%的方波信号: 运行程序: t=0:30; y=2.7*square(2*pi*0.1*t,60); stem(t,y); xlabel('时间序号n'); ylabel('振幅'); 实验结果如图9所示: 图9 7.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所示: 图10 7.3、产生一个振幅为2,周期为20的方波信号: 运行程序: t=0:50; y=2*sawtooth(2*pi*0.05*t) stem(t,y); xlabel('时间序号n'); ylabel('振幅'); 实验结果如图11所示: 图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 0 Columns 12 through 22 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 1.8000 -2.0000 -1.8000 Columns 23 through 33 -1.6000 -1.4000 -1.2000 -1.0000 -0.8000 -0.6000 -0.4000 -0.2000 0 0.2000 0.4000 Columns 34 through 44 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 1.8000 -2.0000 -1.8000 -1.6000 -1.4000 Columns 45 through 51 -1.2000 -1.0000 -0.8000 -0.6000 -0.4000 -0.2000 0 7.4、产生一个振幅为2,周期为20的方波信号: 运行程序: t=0:50; y=2*sawtooth(2*pi*0.05*t,0.5) stem(t,y); xlabel('时间序号n'); ylabel('振幅'); 实验结果如图12所示: 图12 并产生了锯齿波序列值如下所示: y = Columns 1 through 11 -2.0000 -1.6000 -1.2000 -0.8000 -0.4000 0 0.4000 0.8000 1.2000 1.6000 2.0000 Columns 12 through 22 1.6000 1.2000 0.8000 0.4000 0 -0.4000 -0.8000 -1.2000 -1.6000 -2.0000 -1.6000 Columns 23 through 33 -1.2000 -0.8000 -0.4000 0 0.4000 0.8000 1.2000 1.6000 2.0000 1.6000 1.2000 Columns 34 through 44 0.8000 0.4000 0 -0.4000 -0.8000 -1.2000 -1.6000 -2.0000 -1.6000 -1.2000 -0.8000 Columns 45 through 51 -0.4000 0 0.4000 0.8000 1.2000 1.6000 2.0000 四、 实验分析: 针对实验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,取样间隔为1 y=2.7*square(2*pi*0.1*t,60);产生一个高度为2.7占空比为6:4的方波 stem(t,y) 7.2、t=0:30时间范围是0到30,取样间隔为1 y=2.7*square(2*pi*0.1*t,30);产生一个高度为2.7占空比为3:7的方波 stem(t,y) 7.3、t=0:50时间范围是0到50,取样间隔为1 y=2*sawtooth(2*pi*0.05*t);即产生一个高度为2的锯齿波 stem(t,y); 7.4、t=0:50;时间范围是0到50,取样间隔为1 y=2*sawtooth(2*pi*0.05*t,0.5);产生一个高度为2的锯齿波 stem(t,y); 五、实验总结 在此次实验中,我学会了用MATLAB程序绘制图形,产生信号。 习题求解: Q1.3修改程序P1.1,以产生带有延时11个样本的延时单位样本序列ud[]的。运行修改的程序并显示产生的序列。程序如下,结果如图13所示 clf; n=-10:20; u=[zeros(1,21) 1 zeros(1,9)]; stem(n,u); xlabel('时间序号n');ylabel('振幅'); title('单位样本序列'); axis([-10 20 0 1.2]) 图13 Q1.14若参数a小于1,会发生什么情况?将参数a更改为0.9,将参数K更改为20,再次运行程序P1.3,程序如下,结果如图14所示 clf; n=0:35;a=0.9;K=20; x=K*a.^n; stem(n,x); xlabel('时间序号n');ylabel('振幅'); 图14 分析:参数小于1表示生成一个递减的实数值的指数函数; Q1.23修改上述程序,以产生长度为50、频率为0.08、振幅为2.5、相移为90度的一个正弦序列并显示他。该序列的周期是多少?程序如下,图形如图15所示: n=0:50; f=0.08; phase=90; A=2.5; arg=2*pi*f*n-phase; x=A*cos(arg); clf; stem(n,x); axis([0 50 -2 2]); grid; title('正弦序列'); xlabel('时间序号n'); ylabel('振幅'); 图15 分析:周期为25 Q1.31使用语句x=s+d能产生被噪声污染的信号吗?若不能,为什么? 程序如下: 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('振幅'); 程序在运行过程中出现了错误,不能产生被噪声污染的信号。原因:随机信号必须要经过转置才能八产生被噪声污染的信号。 Q1.34在载波信号xH[n]和调制信号zL[n]采用不同频率、不同调制指数m的情况下,运行程序P1.6,以产生振幅调制信号y[n]。程序如下,图形如图16所示。 n=0:100; m=2;fH=0.5; fL=0.02; 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; m=2;fH=0.5; fL=0.02; xH=sin(2*pi*fH*n); xL=sin(2*pi*fL*n); y=(1+m*xL).*xH; stem(n,y);grid; xlabel('时间序列n');ylabel('振幅'); 图16 Q1.38如何修改上述程序才能产生一个最小频率为0.1、最大频率为0.3的扫描正弦信号?程序如下所示,图形如17所示 n=0:100; a=0.1; b=0.3; 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;
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服