中国石油大学(华东)信息与控制工程学院
《信号处理matlab仿真》结课作业
专业班级:电子班 学 号:***** 姓 名:****** 任课老师:***** 2088年11月12日
《信号处理matlab仿真》结课作业
一、 实现算法及设计思路
1、基本信号显示
正弦信号的显示,可以对它的幅度、角频率以及初相位进行设置输入。
A1=get(handles.edit1,'String'); A=str2num(A1);
w1=get(handles.edit2,'String'); w=str2num(w1);
p1=get(handles.edit3,'String'); p=str2num(p1); t=-2*pi:0.01:2*pi; y=A*sin(w*t+p); plot(t,y,'r-.'); grid
title('正弦信号');
方波信号:
t0=-6*pi;t1=6*pi;dt=1; t=t0:dt:t1; y1=square(t); plot(t,y1,'r-'); grid
title('方波信号')
锯齿信号:
t0=-6*pi;t1=6*pi;dt=0.05; t=t0:dt:t1;
f=sawtooth(pi/5*t,0); plot(t,f,'r-') grid
title('锯齿信号')
单位阶跃信号:
t=-5:0.01:5 y1=u(t); plot(t,y1,'r'); grid
title('单位阶跃信号')
1
《信号处理matlab仿真》结课作业
U(t):
function f=u(t)
f=(t>0);%t>0时,f为1,否则为0 end 抽样信号:
t=-15:0.01:15; t1=t/pi;
y4=sinc(t1);
plot(t,y4,'r-'); grid
title('抽样信号'); 指数信号:
clc
t=0:.001:10; ft=exp(t);
plot(t,ft,'r-'),grid title('指数信号)')
2、序列运算
单位脉冲序列,可以对位移量进行设置:
t=str2num(get(handles.edit1,'String')); k=[t-3:t+7]; fk=[(k-t)==0]; stem(k,fk)
title('单位脉冲序列')
单位阶跃序列,可以对位移量进行设置:
t=str2num(get(handles.edit2,'String')); k=[t-3:t+7]; fk=[(k-t)>=0]; stem(k,fk)
title('单位阶跃序列') 指数序列,可以对底数进行设置:
t=str2num(get(handles.edit3,'String'));
2
《信号处理matlab仿真》结课作业
k=[0:10]; fk=t.^k; stem(k,fk) title('指数序列')
序列卷积,可以对卷积幅度进行设置(针对了特定的两个序列): t=str2num(get(handles.edit4,'String')); k1=-1:3; k2=-1:3;
f1=[0 1 3 2 0 ]; f2=[0 4 3 2 1 ]; y=t*conv(f1,f2); k0=k1(1)+k2(2);
k3=length(f1)+length(f2)-2; k=k0:k0+k3; stem(k,y)
title('卷积序列')
3、卷积与傅里叶变换
卷积,针对两个特定的信号,对卷积幅度进行设置: clc
t=str2num(get(handles.edit1,'String')); t11=0; t12=1; t21=0; t22=2; t1=t11:0.001:t12; ft1=2*rectpuls(t1-0.5,1); t2=t21:0.001:t22; ft2=t2;
3