信号第一次实验报告

信号第一次实验报告

10.14
  1. 实验目的
    熟悉MATLAB工作空间,掌握MATLAB的基本操作;
    利用MATLAB产生连续、离散信号,绘制信号波形;
    利用MATLAB实现信号基本运算。

  2. 实验原理及方法
    [ ] 自学基础MATLAB,熟悉MATLAB工作环境、帮助系统,了解基本操作、图形处理和数据可视化,了解使用M文件编程方法;
    [ ] 参考“信号与系统实验教程 第一次.pdf”的“二、实验原理 部分”学习连续、离散信号波形的产生与绘制;
    (要求:学习信号的向量表示法(使用plot作图),与信号的符号运算表示 法(使用ezplot作图))

  3. 实验内容
    学习plot、subplot、ezplot,hold on,title等函数的使用方法
    完成下列题目

(1)生成连续信号f(t)=u(t),在自变量范围(-1,4)内绘图
代码:function f = Heaviside(t) f=(t>0); end clear all t=-1:0.001:4; f=(2-exp(-t)).*Heaviside(t); plot(t,f); grid; title('f(t)=(2-exp(-t)).*Heaviside(t)')

图:

生成连续信号f(t)=u(cos(t)),在自变量范围(-10,10)内绘图
代码:

function f = Heaviside(t)
f=(t>0);
end

clear all
syms t;
f=Heaviside(cos(t));
ezplot(f,[-10,10])
title('u(cos(t))')

图:

生产离散信号f(n)=(2-0.5-n)u(n),在自变量范围(-1,4)内绘图
代码:

n=-1:4;
b=2;a=0.5;
f=(b-a.^(-n)).*jyxl(n);
stem(n,f)
grid
title('f=(2-0.5^(-n))*u(n)')
xlabel('n')

function x = jyxl(n)
x=(n>=0);
end

图:

在同一figure上绘制以下信号(提示,使用subplot函数):
自变量范围(-5,5)
正弦序列 自变量范围(-15,15)
代码:

		syms t;
		syms k;
		k1=4;w1=3;w2=pi/6;a1=pi/2;
		f=k1*sin(w1*t+a1);
		y=k1*sin(w2*k);
		subplot(1,2,1);
		ezplot(f,[-5,5]);
		grid on;
		title('f(t)=4*sin(3t+pi/2)');
		subplot(1,2,2);
		ezplot(y,[-15,15]);
		grid on;
		title('y=4*sin(pi*k/6)');

图:

在同一figure上绘制以下信号(提示,使用subplot函数)
近似的冲激信号
方波信号,要求时幅度为 ,周期为2,占空比为30%; 时周期为1,占空比为60%。自变量取值范围(-5,5)。提示:可采用函数辅助做出该信号。
代码:

clear all
t0=-5;tf=5;dt=0.01;t1=1;
t=t0:dt:tf;					
st=length(t);					
n1=floor(t1-t0)/dt;					
x1=zeros(1,st);x1(n1)=1/dt;					
k=-5:0.001:5;					
for x=1:length(k);						
         y(x)=square(	
				2*pi*k(x)./(1+Heaviside(-k(x))),	
						60./(1+Heaviside(-k(x))));		
end					
subplot(2,2,1)					
stairs(t,x1);title('单位冲击信号波形');					
grid on;					
axis([0,5,0,22]);					
xlabel('t');ylabel('y');				
subplot(2,2,2)					
plot(k,y);					
title('方波信号');grid on;					
xlabel('t');ylabel('y');

图:

已知信号,在同一figure上绘制和的波形(使用subplot)。
代码:

			clear all
			t=-5:0.001:5;
			y1=f1(t)+f2(t);
			y2=f1(t).*f2(t);
			subplot(2,2,1);
			plot(t,y1);
			title('f1(t)+f2(t)');grid on;
			xlabel('t');ylabel('f1(t)+f2(t)');
			subplot(2,2,2);
			plot(t,y2);
			title('f1(t)*f2(t)');grid on;
			xlabel('t');ylabel('f1(t)*f2(t)');

			function f = f2(t)
			f=cos(2*pi*t);
			end

			function f = f1(t)
			f=Heaviside(t+2)+Heaviside(t-2);
			end

图:

在同一张图上绘制的积分与微分结果(使用hold on)。
代码:

			clear
			dt=0.001;
			t=-5:dt:5;
			df=diff(f_f(t))/dt;
			plot(t(1:length(t)-1),df);hold on;
			t=-5:0.05:5
			for x=1:length(t)
				pf(x)=quad('f_f(t)',-5,t(x));
			end
			plot(t,pf);
			grid on
			xlabel('t');ylabel('y');
			legend('d(f1(t)*f2(t))/dt','Integral of 				f1(t)*f2(t)')

			function f = f_f(t)
			f=f1(t).*f2(t);
			end

图:

已知信号,在同一figure上绘制f(t-1), f(t+2), f(0.5t), f(2t)(使用subplot)
代码:

			clear
			t=-5:0.0001:5;
			f1=ft(t-1);
			f2=ft(t+2);
			f3=ft(0.5*t);
			f4=ft(2*t);
			subplot(2,2,1);
			plot(t,f1);title('f(t-1)');
			xlabel('t');ylabel('y');grid on
			subplot(2,2,2);
			plot(t,f2);title('f(t+2)');
			xlabel('t');ylabel('y');grid on
			subplot(2,2,3);
			plot(t,f3);title('f(0.5t)');
			xlabel('t');ylabel('y');grid on
			subplot(2,2,4);
			plot(t,f4);title('f(2t)');
			xlabel('t');ylabel('y');grid on

			function f = ft(t)
			f=t.*(Heaviside(t)-Heaviside(t-1));
			end

			function f = Heaviside(t)
			f=(t>0);
			end

图:

  1. 思考题
    什么是单位冲激信号?能够用 MATLAB 产生单位冲激信号吗?
    单位冲击信号:
    它是一个"面积"等于1的理想化了的窄脉冲。也就是说,这个脉冲的幅度等于它的宽度的倒数。当这个脉冲的宽度愈来愈小时,它的幅度就愈来愈大。当它的宽度按照数学上极限法则趋近于零时,那么它的幅度就趋近于无限大,出现过程极短,能量极大。定义式:。
    用MATLAB 不能产生单位冲激信号。
    向量表示法与符号运算表示法有什么区别,各有什么优缺点?
    区别:
    向量表示法中,数值计算的表达式、矩阵变量中不允许有未定义的自由变量 , 而符号运算表示法中,符号计算可以含有未定义的符号变量。
    优缺点:向量表示法中,方便修改矩阵元素,而符号运算法不方 便修改,并且有时存在符号与数值进行转化的问题。

实验收获与感想
通过此次实验熟悉了Matlab的基本操作,同时,了解了matlab的操作空间,学会使用其绘制一些基本波形,并在u(t)等函数的基础上进行演变,进一步绘制稍微复杂的图形。学会绘制一些函数的微分积分图。了解了向量表示法与符号运算表示法。
同时,通过此次实验可以解决一些较为复杂的数学问题,并绘制图形进行解决。

代码:
(1):

function f = Heaviside(t)
f=(t>0);
end
clear all
t=-1:0.001:4;
f=(2-exp(-t)).*Heaviside(t);
plot(t,f);
grid;
title(‘f(t)=(2-exp(-t)).*Heaviside(t)’)
(2):
function f = Heaviside(t)
f=(t>0);
end

clear all
syms t;
f=Heaviside(cos(t));
ezplot(f,[-10,10])
title(‘u(cos(t))’)
(3):
n=-1:4;
b=2;a=0.5;
f=(b-a.^(-n)).*jyxl(n);
stem(n,f)
grid
title(‘f=(2-0.5^(-n))*u(n)’)
xlabel(‘n’)

function x = jyxl(n)
x=(n>=0);
end

(4):
syms t;
syms k;
k1=4;w1=3;w2=pi/6;a1=pi/2;
f=k1sin(w1t+a1);
y=k1sin(w2k);
subplot(1,2,1);
ezplot(f,[-5,5]);
grid on;
title(‘f(t)=4sin(3t+pi/2)’);
subplot(1,2,2);
ezplot(y,[-15,15]);
grid on;
title('y=4
sin(pi*k/6)’);

(5):
clear all
t0=-5;tf=5;dt=0.01;t1=1;
t=t0:dt:tf;
st=length(t);
n1=floor(t1-t0)/dt;
x1=zeros(1,st);x1(n1)=1/dt;
k=-5:0.001:5;
for x=1:length(k);
y(x)=square(
2pik(x)./(1+Heaviside(-k(x))),
60./(1+Heaviside(-k(x))));
end
subplot(2,2,1)
stairs(t,x1);title(‘单位冲击信号波形’);
grid on;
axis([0,5,0,22]);
xlabel(‘t’);ylabel(‘y’);
subplot(2,2,2)
plot(k,y);
title(‘方波信号’);grid on;
xlabel(‘t’);ylabel(‘y’);

(6):
clear all
t=-5:0.001:5;
y1=f1(t)+f2(t);
y2=f1(t).*f2(t);
subplot(2,2,1);
plot(t,y1);
title(‘f1(t)+f2(t)’);grid on;
xlabel(‘t’);ylabel(‘f1(t)+f2(t)’);
subplot(2,2,2);
plot(t,y2);
title(‘f1(t)*f2(t)’);grid on;
xlabel(‘t’);ylabel(‘f1(t)*f2(t)’);

			function f = f2(t)
			f=cos(2*pi*t);
			end

			function f = f1(t)
			f=Heaviside(t+2)+Heaviside(t-2);
			end

			clear
			dt=0.001;
			t=-5:dt:5;
			df=diff(f_f(t))/dt;
			plot(t(1:length(t)-1),df);hold on;
			t=-5:0.05:5
			for x=1:length(t)
				pf(x)=quad('f_f(t)',-5,t(x));
			end
			plot(t,pf);
			grid on
			xlabel('t');ylabel('y');
			legend('d(f1(t)*f2(t))/dt','Integral of 				f1(t)*f2(t)')

			function f = f_f(t)
			f=f1(t).*f2(t);
			end

(7):
clear
t=-5:0.0001:5;
f1=ft(t-1);
f2=ft(t+2);
f3=ft(0.5t);
f4=ft(2
t);
subplot(2,2,1);
plot(t,f1);title(‘f(t-1)’);
xlabel(‘t’);ylabel(‘y’);grid on
subplot(2,2,2);
plot(t,f2);title(‘f(t+2)’);
xlabel(‘t’);ylabel(‘y’);grid on
subplot(2,2,3);
plot(t,f3);title(‘f(0.5t)’);
xlabel(‘t’);ylabel(‘y’);grid on
subplot(2,2,4);
plot(t,f4);title(‘f(2t)’);
xlabel(‘t’);ylabel(‘y’);grid on

			function f = ft(t)
			f=t.*(Heaviside(t)-Heaviside(t-1));
			end

			function f = Heaviside(t)
			f=(t>0);
			end
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值