Advertisement

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

  1. 一个连续且周期性的方波具有频率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日

全部评论 (0)

还没有任何评论哟~