matlab产生离散阶跃信号,用MATLAB产生时域离散信号.doc
用MATLAB产生时域离散信号
实验一:用MATLAB产生离散信号δ(n) (-3
n1=-3;n2=4;n0=0;
n=n1:n2;
x=[n==n0];
stem(n,x,'filled');
axis([n1,n2,0,1.1*max(x)]);
xlabel('时间(n)');ylabel('幅度x(n)');
title('单位脉冲序列');
(2)f(n)=u(n) (-5
n1=-5;n2=5;n0=0;
n=n1:n2;
x=[n>=n0];
stem(n,x,'filled');
axis([n1,n2,0,1.1*max(x)]);
xlabel('时间(n)');ylabel('幅度x(n)');
title('单位阶跃序列');
box
(3)f(n)= e(0.1+j1.6∏)n (0
n1=16;a=-0.1;w=1.6*pi;
n=0:n1;
x=exp((a+j*w)*n);
subplot(2,2,1);plot(n,real(x));
title('复指数信号的实部');
subplot(2,2,3);stem(n,real(x),'filled');
title('复指数序列的实部');
subplot(2,2,2);plot(n,imag(x));
title('复指数信号的虚部');
subplot(2,2,4);stem(n,imag(x),'filled');
title('复指数序列的虚部');
box
(4)f(n)=3sin(nП/4) (0
f= 1/8;Um=3;nt=2;
N=32; T=1/f;
dt=T/N;
n=0:nt*N-1;
tn=n*dt;
x=Umsin(2fpitn);
subplot(2,1,1);plot(tn,x);
axis([0,ntT,1.1min(x),1.1*max(x)]);
ylabel('x(t)');
subplot(2,1,2);stem(tn,x);
axis([0,ntT,1.1min(x),1.1*max(x)]);
ylabel('x(n)');
box
- 一个连续且周期性的方波具有频率200Hz、幅度范围为-1伏至+1伏。要求绘制图形窗口中该信号两个周期的波形图。采用4kHz采样率对原始连续信号进行采样,并编写程序来生成原始连续信号及其采样所得的离散时间序列
f=200;nt=1;
N=16;T=1/f;
dt=T/N;
n=-1:nt*N-1;
tn=n*dt;
x=square(2fpi*tn,25)+1;
subplot(2,1,1);plot(tn,x);
axis([0,ntT,1.1min(x),1.1*max(x)]);
ylabel('x(t)');
subplot(2,1,2);stem(tn,x);
axis([0,ntT,1.1min(x),1.1*max(x)]);
ylabel('x(n)');
box
二、思考题答案
基于例题程序进行分析,在探讨采样频率Fs、采样点数N与采样时间间隔dt之间的关联时,请注意哪些事项?
dt=T/N T=1/f 注意函数的形式
三、实验总结
(1)遇到问题及解决方法
时域离散信号
时域离散信号的生成:生成离散时间信号的过程;冲激序列和阶跃序列的学习及其应用;注意事项等
用zeros和ones函数来产生单位阶跃序列
实指数序列的表示式为 x(n)=an 其中a为实数
复指数序列的表示式为 x(n)=e(σ+jω)n
当ω=0时,x(n)为实指数序列;当σ=0时,x(n)为虚指数序列,即
ejωn=cos(ωn)+jsin(ωn)
其实部为余弦序列,虚部为正弦序列。
正(余)弦序列的表示式为 x(n)=Umsin(ω0n+Θ)
MATLAB提供有专门函数square用于产生矩形波。其调用格式如下:
x=square(t) :类似于sin(t),产生周期为2π,幅值为±1的方波。
x=square(t,duty):产生指定周期的矩形波,其中duty用于指定占空比。
将square的参数t换成n,且n取整数,则可以获得矩形序列。
课程名称
实验成绩
指导教师
实 验 报 告
院系
班级 学号
姓名
日期 2011年10月17日
