Advertisement

MATLAB基本离散时间信号(序列)的产生

阅读量:

MATLAB基本离散时间信号(序列)的产生

本文概述了数字信号处理领域中的一些基础序列,并探讨了其在MATLAB中的实现过程。

1.单位阶跃序列

复制代码
    function[x,n]=stepseq(n0,n1,n2)  
    n0=0;
    n1=-100;
    n2=100;
    %产生(n)=u(n-n0);n1<=n0<=n2
    %---------------------------------
    %[x,n]=stepseq(n0,n1,n2)
    %
    if((n0<n1)|(n0>n2)|(n1>n2))                       
    error('参数必须满足n1<=n0<=n2')               
    end                                                
    n=[n1:n2];                                      
    %x=[zeros(1,(n0-n1)),1,zeros(1,(n2-n0+1))];          
    x=(n-n0)>=0;stem(n,x);
    grid;title('单位阶跃序列u(n)')
在这里插入图片描述

2.单位脉冲序列

复制代码
    function [x,n]= impseq(n0,n1,n2)
    %产生x(n)=delta(n-n0);n1<=n0<=n2
      n0=5;
      n1=-20;
      n2=20;
    if((n0<n1)|(n0>n2)|(n1>n2))
    error('参数必须满足n1<=n0<=n2');
    end
    n=[n1:n2];
    x=[(n-n0)==0];
    stem(n,x);grid;title('单位脉冲序列δ(n)');
在这里插入图片描述

3.矩形序列

复制代码
    function [x,n] = rectseq(n0,n1,n2,N)
    %n0为起点,n1为终点,n2为信号起点,N信号长度
    n0=-50;
    n1=50;
    n2=-25;
    N=25;
    n=(n0:n1);                        
    x=[(n-n2)>=0 & ((n2+N-1)-n)>=0];       
    stem(n,x);grid;title('矩形序列R8 (n)');

4.正弦衰减信号

复制代码
    function sinattsig
    f=2;a=0.5;A=2;
    t=(-10:0.1:10);
    x=A*exp(-a*t).*sin(2*pi*f*t);
    plot(t,x);title('正弦衰减信号x(n)')
正弦衰减信号

5.锯齿波

复制代码
    function juchi
    x=0:0.01:1;
    y=sawtooth(10*pi*(x+0.05),1);
    plot(x,y,'b');
    axis([0,1,-2,2])
    title('锯齿波');
锯齿波

6.方波

方波1

复制代码
    function fangbo
    x=-2*pi/100:pi/1024:2*pi/100;
    y=square(2*pi*30*x,60);
    plot(x,y,'y');
    title('方波');
    ylim([-1.5,1.5]);
在这里插入图片描述

方波2

复制代码
    function fangbo1
    t = 0:0.002:0.5;
    y = square(2*pi*30*t); 
    plot(t,y);title('方波');
在这里插入图片描述

全部评论 (0)

还没有任何评论哟~