实验一:用MATLAB产生时域离散信号
一、实验内容
2、编写程序,产生以下离散序列:
1f(n)=δ(n)    (-3<n<4)
n1=-3;n2=4;n0=0;
n=n1:n2;
x=[n==n0];用subplot函数
stem(n,x,'filled');
axis([n1,n2,0,1.1*max(x)]);
xlabel('时间(n)');ylabel('幅度x(n)');
title('单位脉冲序列');
2f(n)=u(n)    (-5<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
3f(n)= e(0.1+j1.6)n  (0<n<16)
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
4f(n)=3sin(nП/4)    (0<n<20)
f= 1/8;Um=3;nt=2;
N=32; T=1/f;
dt=T/N;
n=0:nt*N-1;
tn=n*dt;
x=Um*sin(2*f*pi*tn);
subplot(2,1,1);plot(tn,x);
axis([0,nt*T,1.1*min(x),1.1*max(x)]);
ylabel('x(t)');
subplot(2,1,2);stem(tn,x);
axis([0,nt*T,1.1*min(x),1.1*max(x)]);
ylabel('x(n)');
box
3、一个连续的周期性方波信号频率为200Hz,信号幅度在-1+1V之间,要求在图形窗口上显示其两个周期的波形。以4kHz的频率对连续信号进行采样,编写程序生成连续信号和其采样获得的离散信号波形。
f=200;nt=1;
N=16;T=1/f;
dt=T/N;
n=-1:nt*N-1;
tn=n*dt;
x=square(2*f*pi*tn,25)+1;
subplot(2,1,1);plot(tn,x);
axis([0,nt*T,1.1*min(x),1.1*max(x)]);
ylabel('x(t)');
subplot(2,1,2);stem(tn,x);
axis([0,nt*T,1.1*min(x),1.1*max(x)]);
ylabel('x(n)');
box
二、思考题答案
通过例题程序,你发现采样频率Fs、采样点数N、采样时间间隔dt在程序编写中有怎样的联系?使用时需注意什么问题?
dt=T/N  T=1/f        注意函数的形式
三、实验总结
1)遇到问题及解决方法
  时域离散信号 
时域离散信号的生成:单位抽样序列  单位阶跃序列  实指数序列  复指数序列  正(余)弦序列  矩形波序列
正确了解定义 已更好的运用函数编写程序
2)学到的新的函数及其用法,注意事项等
zerosones函数来产生单位阶跃序列
实指数序列的表示式为    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(tduty):产生指定周期的矩形波,其中duty用于指定占空比。
square的参数t换成n,且n取整数,则可以获得矩形序列。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。