信号与系统课设
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、
1.正弦信号
A = input('input A=') ;% 给正弦信号的幅度A赋值
w = input('input w=') ; % 给正弦信号的频率w赋值
theta =input('input theta='); % 给正弦信号的初始相位theta 赋值disp(['这个信号是周期信号'])
T=2*pi/w
t = 0 : 0.01 : 3*T ; % 定义时间点
ft = A * sin( w * t + theta ) ; % th计算函数值
plot( t ,ft ) ; % 画图
title( '正弦信号' ) ; % 为图像加标题注释
grid on ; % 在图上画方格
2.复指数信号
j00 = sqrt( - 1 ) ; % 定义复数j
a = input('input a='); % 复指数信号赋值w = input('input w=');
K = input('input K=');
if a==0
disp('这是一个周期信号')
T=2*pi/w
else if a>0
disp('这不是一个周期信号')
else
disp('这不是一个周期信号')
end
end
t = -1.5*abs(a) : 0.01 : 1.5*abs(a) % 定义时间点
ft = K*exp( ( a + j00 * w ) * t ) ;
subplot( 2 , 2 , 1 ) ; plot( t , real( ft ) ) ; title( '实部' ) ; %画图subplot( 2 , 2 , 2 ) ; plot( t , imag( ft ) ) ; title( '虚部' ) ;
subplot( 2 , 2 , 3 ) ; plot( t , abs( ft ) ) ; title( '模' ) ;
subplot( 2 , 2 , 4 ) ; plot( t , angle( ft ) ) ; title( '相角' ) ;
3.实指数信号
A = input('input A=') % 给指数信号中的A赋值
a = input('input a=') % 给指数信号中的a赋值
t = 0 : 0.01 : 10 ; % 定义时间点
ft = A * exp( a * t ) ; % 计算函数值
plot( t , ft ) ; % 以时间为横轴,函数值为纵轴画图title( '实指数信号' ) ; % 为图像加标题注释
grid on ; % 在图上画方格
三、信号的频谱图
w = 0 : 0.025 : 5 ;
b = input('请依次输入bn,bn-1...b0:');
a = input('请依次输入am,am-1...a0:');
H = freqs( b , a , w ) ;
subplot( 2 , 1 , 1 ) ;
plot( w , abs( H ) ) ;
grid on ;
xlabel( '\omega (rad/s)' ) ; ylabel( '|H(j\omega)|' ) ;
title( 'H(j\omega)的幅频特性' ) ; subplot( 2 , 1 , 2 ) ;
plot( w , angle( H ) ) ;
grid on ;
xlabel( '\omega (rad/s)' ) ; ylabel( '\phi(\omega)' ) ;
title( 'H(j\omega)的相频特性' ) ;
四、连续时间信号卷积
dt=0.01;t = - 1 : 0.01 : 4 ;
f1 =input('input f1=');
f2 =input('input f2=');
f = conv( f1 , f2 ) ; % 卷积n = length( f ) ;
tt = ( 0 : n - 1 ) * 0.01-2 ; subplot( 3 , 1 , 1 ) ;
plot( t , f1 ) ;
title( 'f1(t)' ) ;
subplot( 3 , 1 , 2 ) ;
plot( t , f2 ) ;
title( 'f2(t)' ) ;
subplot( 3 , 1 , 3 ) ;
plot( tt , f ) ;
title( 'f1(t)*f2(t)' ) ;
离散时间信号卷积
nx=-1:5;
nh=-2:10;
x=input('input f1=');
h=input('input f2=');
y=conv(x,h);
ny1=nx(1)+nh(1);
ny=ny1+(0:(length(nx)+length(nh)-2)); subplot(311)
stem(nx,x,'fill'),grid on
axis([-4 16 0 3])
xlabel('n'),title('x(n)')
subplot(312)
stem(nh,h,'fill'),grid on
xlabel('n'),title('h(n)')
axis([-4 16 0 3])
subplot(313)
stem(ny,y,'fill'),grid on
xlabel('n'),title('y(n)=x(n)*h(n)') axis([-4 16 0 3])