资源描述:
《信号与信号处理实验参考答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验一熟悉MATLAB环境2、(2)粗略描绘下列各函数的波形说明:MATLAB中有函数④f(t)=sint/tt=-3*pi:0.01*pi:3*pi;t1=t/pi;y=sinc(t1);plot(t,y);holdonplot(t,0)⑤在自己的工作目录work下创建Heaviside函数的M文件,该文件如下:functionf=Heaviside(t)f=(t>0)%t>0时f为1,否则f为0在命令窗口输入如下语句,就能绘出u(t)的波形。t=-1:0.01:3;f=Heaviside(t);plot(t,f)axis([-13–0.21.
2、2])⑥t=-1:0.01:2;g=Heaviside(t)-Heaviside(t-1);plot(t,g);axis([-12-0.21.2])holdonplot(t,0)4、分别用for和while循环结构编写程序,求出s==1+2+22+23+…+262+263并考虑一种避免循环的简洁方法来进行求和。程序如下:s=1;fork=1:6331s=s+2^k;ends运行结果是:s=1.8447e+019(2)s=1;k=1;whilek<=63s=s+2^k;k=k+1;ends运行结果:s=1.8447e+019(3)k=0:63;s=
3、sum(2.^k)实验二信号的卷积与系统的响应和阶跃响应1.n=0:20;hn=0.9.^n;xn=[0,0ones(1,8),0,0];yn=conv(hn,xn);stem(yn)3.利用MATLAB绘制下列信号的卷积积分f1(t)*f2(t)的时域波形。(1)f1(t)=2[u(t+1)-u(t-1)],f2(t)=u(t+2)-u(t-2)(2)f1(t)=tu(t),f2(t)=u(t)(3)f1(t)=u(t)-u(t-4),f2(t)=sin(лt)u(t);(4)f1(t)=e-2tu(t),f2(t)=e-tu(t)(1)先编写
4、实现连续信号卷积的通用函数sconv(),程序如下:function[f,k]=sconv(f1,f2,k1,k2,p)%计算连续信号卷积积分f(t)=f1(t)*f2(t)%f:卷积积分f(t)对应的非零样值向量%k:f(t)的对应时间向量%f1:f1(t)非零样值向量%f2:f2(t)非零样值向量%k1:f1(t)的对应时间向量%k2:序列f2(t)的对应时间向量%p:取样时间间隔31f=conv(f1,f2);%计算序列f1与f2的卷积ff=f*p;k0=k1(1)+k2(1);%计算序列f的非零样值的起点位置k3=length(f1)+l
5、ength(f2)-2;%计算卷积和f的非零样值的宽度k=k0:p:((k3-(0-k0)/p)*p);%确定卷积和f非零样值的时间向量subplot(2,2,1)plot(k1,f1)%绘制f1(t)title('f1(t)')xlabel('t')ylabel('f1(t)')subplot(2,2,2)plot(k2,f2)title('f2(t)')xlabel('t')ylabel('f2(t)')subplot(2,2,3)plot(k,f);h=get(gca,'position');h(3)=2.5*h(3);set(gca,'p
6、osition',h)%将第三个子图的横坐标范围扩为原来的2.5倍title('f(t)=f1(t)*f2(t)')xlabel('t')ylabel('f(t)')p=0.01;k1=-1:p:1;f1=2*ones(1,length(k1));k2=-2:p:2;f2=ones(1,length(k2));[f,k]=sconv(f1,f2,k1,k2,p)31(2)p=0.01;k1=0:p:10;f1=k1k2=0:p:10;f2=ones(1,length(k2));[f,k]=sconv(f1,f2,k1,k2,p)第(2)题图上31
7、实验二信号的卷积与系统的响应1.n=0:20;hn=0.9.^n;xn=stepseq(2,0,20)-stepseq(10,0,20);yn=conv(hn,xn);stem(yn)2.(1)p=0.01;k1=-2:p:2;f1=2*(u(k1+1)-u(k1-1));k2=k1;f2=u(k2+2)-u(k2-2);[f,k]=sconv(f1,f2,k1,k2,p)31(2)p=0.01;k1=-1:p:10;f1=k1.*u(k1);k2=k1;f2=u(k2);[f,k]=sconv(f1,f2,k1,k2,p)(3)p=0.01;k
8、1=-4:p:10;f1=u(k1)-u(k1-4);k2=k1;f2=sin(pi*k2).*u(k2);[f,k]=sconv(f1