资源描述:
《实验2 信号的时域运算及matlab实现(1).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验2信号的时域运算及matlab实现一.实验目的:1.了解连续时间信号的各种运算;2.了解离散时间信号的各种运算;二.实验原理:1.连续信号的时域运算采用符号运算的方法可以简便地实现连续信号的时域运算,下面是实现信号相加的matlab命令s=symadd(f1,f2)ezplot(s)另外,symmul(f1,f2)可实现信号的相乘;subs(f,t,a)命令则是将连续信号中的时间变量t用a替换。例如,subs(f,t,a-a0)可将f(t)移位到f(a-a0)。2.离散序列的时域运算对于离散序列来说,序列相加、相乘是将两序列对应时间序号的值逐项相加或相乘。若两序列不等长,则需通过补零的
2、方式成为同维数的序列。例如两序列相加的子函数如下:function[f,k]=sigadd(f1,f2,k1,k2)k=min(min(k1),min(k2)):max(max(k1),max(k2));s1=zeros(1,length(k));s2=s1;s1(find(k>min(k1)&(kmin(k2)&(k3、列平移sigshift(f,k,k0),序列倒相sigfoldph(f,k)的子函数。3.利用2中的函数完成:(1)已知,绘出离散序列及反折后的波形;(2)已知,绘出离散序列及反折后的波形;四.实验报告要求:1.列出实验内容中1,2的程序清单;1.functiondisplay()symstf=(1+t/2)*(heaviside(t)-heaviside(t-3))f_1=subs(f,t,t+2)f_2=subs(f,t,t-2)f_3=subs(f,t,-t)f_4=subs(f,t,2*t)f_5=-fsubplot(2,3,1)ezplot(f)title('f(t)')subp
4、lot(2,3,2)ezplot(f_1)title('f(t+2)')subplot(2,3,3)ezplot(f_2)title('f(t-2)')subplot(2,3,4)ezplot(f_3)title('f(-t)')subplot(2,3,5)ezplot(f_4)title('f(2t)')subplot(2,3,6)ezplot(f_5)title('-f(t)')函数调用:display()2.程序代码function[f,k]=sigmul(f1,f2,k1,k2)k=min(min(k1),min(k2)):max(max(k1),max(k2));s1=zeros
5、(1,length(k));s2=s1;s1(find(k>=min(k1)&(k<=max(k1))==1))=f1;s2(find(k>=min(k2)&(k<=max(k2))==1))=f2;f=s1.*s2;subplot(1,3,1)stem(k1,f1)title('f1-k1')subplot(1,3,2)stem(k2,f2)title('f2-k2')subplot(1,3,3)stem(k,f)title('sigmul(f1,f2,k1,k2)')调用程序:f1=[12345];f2=[44335567];k1=[23456];k2=[12345678];[f,k]
6、=sigmul(f1,f2,k1,k2)图形:functionsigfold(f,k)k1=-ksubplot(1,2,1)stem(k,f)subplot(1,2,2)stem(k1,f)调试:f=[2467];k=[1234];sigfold(f,k)图形:序列平移:程序代码functionsigshift(f,k,k0)k1=k-k0*ones(1,length(k))subplot(1,2,1)stem(k,f)title('f(k)')subplot(1,2,2)stem(k1,f)title('f(k+k0)')调试:k=[23456];f=[98765];k0=4;sigsh
7、ift(f,k,k0)结果:序列倒相functionsigfoldph(f,k)f1=-fsubplot(1,2,1)stem(k,f)title('f(k)')subplot(1,2,2)stem(k,f1)title('-f(k)')调试:k=[23456];f=[98765];sigfoldph(f,k)1.绘出实验内容3的图形;(1)k=-10:10f=zeros(1,length(k))f(8:14)=2.^k