信号仿真实验报告.docx
- 文档编号:28981760
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:18
- 大小:206.40KB
信号仿真实验报告.docx
《信号仿真实验报告.docx》由会员分享,可在线阅读,更多相关《信号仿真实验报告.docx(18页珍藏版)》请在冰豆网上搜索。
信号仿真实验报告
信号与系统
仿真实验报告
实验一
(1)
Function-M文件
function[x,t]=dirac(t1,t2,t0)
%y=dirac(t-t0),t1 dt=0.001;%信号时间间隔 t=t1: dt: t2;%信号时间样本点向量 n=length(t);%时间样本点向量长度 x=zeros(1,n);%各样本点信号赋值为零 x(1,(t0-t1)/dt+1)=1/dt;%在时间t=t0处给样本点赋值为1/dt end 主函数 >>[y,t]=dirac(-1,5,0); >>stairs(t,y); >>axis([-1,5,0,1.2/0.001]) >>title('单位冲击信号') 分析: 由于理想的单位冲击函数在Matlab中不能实际给出,于是就在t0附近取一个很小的区间dt,在这个区间中,函数可以认为是一个宽度很窄的门函数,幅值为1/dt,以满足冲击函数定义要求 (2) Function-M文件 functionf=heaviside(t,t0) %f=heaviside(t-t0) f=(t-t0>0);%t>t0时f为1,否则为0 end 主程序 >>t=-1: 0.001: 5;%时间区间定义 >>t0=0;%函数向右位移距离 >>f=heaviside(t,t0);%生成向右位移t0的阶跃信号 >>plot(t,f) >>axis([-1,3,-0.2,1.2]) 分析: 在新版的Matlab函数库中有自带的阶跃函数,调用方法为f=heaviside(t),这里为了方便画位移后 的图像,故自定义了一个阶跃函数。 (3)指数 a=1; >>f=sym('exp(t)'); >>ezplot(f,[-3,3]) >>xlabel('时间t') >>ylabel('函数f(x)') a=-1; f=sym('exp((-1)*t)'); >>ezplot(f,[-3,3]) >>xlabel('时间t') >>ylabel('函数f(x)') 图a)a=1时的指数信号图像图b)a=-1时的指数函数图像 分析: y=sym(‘f(x)’)是用了符号运算法 (4) >>t=-1: 0.001: 10; >>y=heaviside(t,0)-heaviside(t,5); >>plot(t,y) >>axis([0,10,-0.2,1.2]) 分析: 采用两个跳变点不等的阶跃函数相减得到一个矩形函数的方法生成的门函数。 (5) >>f=sym('sin(t)/t'); >>ezplot(f,[-30,30]) >>axis([-30,30,-0.4,1.2]) 分析: 为了方便编程画图,这里直接采用了符号运算法 (6)正弦函数 f=sym('sin(2*pi*t)'); ezplot(f,[-1,1]) 再分别令w=4*pi、6*pi得到后面两个图像 图a)w=2*pi图b)w=4*pi图c)w=6*pi 实验二: 离散时间信号的表示及可视化 (1) Founction-M文件 function[f,k]=dwxulie(k1,k2,k0) k=k1: k2; n=length(k); f=zeros(1,n); f(1,k0-k1+1)=1; end 主程序 >>[y,k]=dwxulie(-5,5,0); >>stem(k,y,'filled') >>axis([-5,5,0,1.5]) >>title('单位序列') (2) Founction-M文件 function[y,k]=jyxulie(k1,k2,k0) fori=1: k2-k1+1; ifi y(i)=0; else y(i)=1; end end end 主程序 >>y=jyxulie(-5,5,0); >>stem(k,y,'filled') >>axis([-5,5,0,1.5]) (3)指数序列 Founction-M文件 function[y,k]=expxulie(k1,k2,a) %y=exp(a*n),k1 k=k1: k2; fori=1: k2-k1+1; y(i)=exp(a*(k1+i-1)); end end 主程序 [y1,k]=expxulie(-2,2,1); >>[y2,k]=expxulie(-2,2,2); >>[y3,k]=expxulie(-2,2,-1); >>[y4,k]=expxulie(-2,2,-2); >>stem(k,y1) >>holdon >>stem(k,y2,'rd') >>stem(k,y3,'g') >>stem(k,y4,'y') >>axis([-2.5,2.5,0,60]) 蓝色--a=1,红色--a=2,绿色--a=-1,黄色--a=-2 (4) >>k1=-1;k2=12; >>y1=jyxulie(k1,k2,0)-jyxulie(k1,k2,3);%y1=R3(n) >>y2=jyxulie(k1,k2,0)-jyxulie(k1,k2,6);%y2=R6(n) >>y3=jyxulie(k1,k2,0)-jyxulie(k1,k2,9);%y2=R9(n) >>k=k1: k2; >>subplot(3,1,1) >>stem(k,y1,'filled') >>axis([-2,13,0,1.5]) >>subplot(3,1,2) >>stem(k,y2,'filled') >>axis([-2,13,0,1.5]) >>subplot(3,1,3) >>stem(k,y3,'filled') >>axis([-2,13,0,1.5]) (5) Founction-M文件 function[y,k]=Saxulie(k1,k2,w) k=k1: k2; fori=1: k2-k1+1; if(i+k1-1)==0 y(i)=1; else y(i)=sin(w*(i+k1-1))/(w*(i+k1-1)); end end 主程序 [y1,k]=Saxulie(-10,10,1);%w=1 >>[y2,k]=Saxulie(-10,10,2);%w=2 >>[y3,k]=Saxulie(-10,10,4);%w=4 >>subplot(3,1,1) >>stem(k,y1,'filled') >>subplot(3,1,2) >>stem(k,y2,'filled') >>subplot(3,1,3) >>stem(k,y3,'filled') (6)正弦序列 >>y1=sin(pi*k/4);%w=pi/4 >>y2=sin(pi*k/3);%w=pi/3 >>y3=sin(pi*k/2);%w=pi/2 >>y4=sin(2*pi*k/3);%w=2*pi/3 >>subplot(4,1,1) >>stem(k,y1,'filled') >>subplot(4,1,2) >>stem(k,y2,'filled') >>subplot(4,1,3) >>stem(k,y3,'filled') >>subplot(4,1,4) >>stem(k,y4,'filled') 实验三: 系统的时域求解 1.1.设h(n)=(0.9)n×u(n),x(n)=u(n)−u(n-10),求: y(n)=x(n)*h(n),并画出x(n)、h(n)、y(n)波形。 >>k=0: 100; >>h=0.9.^k; >>x=jyxulie(0,100,0)-jyxulie(0,100,10); >>y=conv(h,x); >>stem(k,h) >>stem(k,x) >>n=0: 200; >>stem(n,y,'filled') >>axis([0,50,0,7])%取前50个进行分析 h(n)的图像 x(n)的图像 2.2.求因果线性移不变系统y(n)=0.81y(n−2)+x(n)−x(n−2) 的单位抽样响应h(n),并绘出He(jω)的幅频及相频特性曲线。 >>A=[10-0.81]; >>B=[10-1]; >>[x,t]=dwxulie(0,20,0); >>h=filter(B,A,x); >>stem(t,h,'filled') >>H=freqz(B,A,21);%N取21 >>[H,w]=freqz(B,A,21);%N取21 >>Hf=abs(H);Hx=angle(H); >>figure (1) >>stem(w,Hf) >>figure (2) >>stem(w,Hx) h(n)图像 幅频特性相频特性 实验四: 对离散信号进行DFT分析 计算余弦序列x(n)=cos(nπ/8)RN(n)的DFT (1)N=10时, N=10;%设定常量N n=[0: N-1];%通过矩阵给n赋值以代替门函数的作用 x=cos((pi/8).*n);%余弦序列的函数表达式 y=fft(x);%求余弦序列的DFT subplot(2,1,1),stem(n,y,’py’)%绘制y的离散图 subplot(2,1,2),stem(n,abs(y),’py’)%绘制函数y的幅频特性曲线 (2)N=16时 N=16;%设定N值 n=[0: N-1];%通过矩阵形式给n赋值以代替门函数的作用 x=cos((pi/8).*n);%余弦函数 y=fft(x);%离散序列的傅立叶变换 subplot(2,1,1),stem(n,y,’py’) subplot(2,1,2),stem(n,abs(y),’py’)%绘制X(ejω)的幅频特性曲线响应 (3)N=22时 N=22; n=[0: N-1];%通过矩阵形式给n赋值以代替门函数的作用 x=cos((pi./8)*n);%余弦函数 y=fft(x);%离散序列的傅立叶变换 subplot(2,1,1),stem(n,y,’py‘) subplot(2,1,2),stem(n,abs(y),’py’) N=10 N=16 N=22 分析: 由上面3幅图可以看出,当N=10和N=22时,离散傅里叶变换函数值变化趋于平缓,均呈现两边高中间低的趋势,且22点比10点取值点多,更接近真实情况。 而当取16点时,图形变化较大,与另外两种情况明显不同,在图形的中间部分出现了较多零值。 再观察原函数,可见16为8的倍数,当N取16时,原函数x的取值呈现了较大的对称性,此时旋转因子也呈现了较大的对称性,这样当旋转因子矩阵和原函数向量点乘时,出现了抵消现象,导致了图中的情况。 实验五: 系统时瑜解的快速卷积求法 用快速卷积法计算系统响应y(n)=x(n)*h(n),已知: x(n)=sin(0.4)R15(n),h(n)=0.9nR20(n)要求取不同的L点数,并画出x(n)、h(n)、y(n)波形,分析是否有差别及产生差别的原因。 k1=0: 14; x=sin(0.4*k1); k2=0: 19; h=0.9.^k2; L=20; Hk=fft(h,L); Xk=fft(x,L); Yk=Hk.*Xk; y=ifft(Yk,L); n=0: L-1; stem(n,y,'filled') 再分别令L=20,30,60 L=20 L=30 L=60 分析: 对两个不同序列进行快速卷积时,所取的长度至少要取两个序列长度之和减一,当恰巧取该值时,所有有效点恰巧反映在图上;当所取点少于这个值时,会因为重叠而使一部分点不能显示出来;而当所取的值多于这个值时,就会在多于部分的点处补零。 为使所有有效点正确地显示出来而不重叠消失,所取的长度应不小于两个序列长度之和减一。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信号 仿真 实验 报告