1 生成基本序列

数字信号处理的对象,是对模拟信号采样、量化后形成的数字信号,在一般的书中,列举的信号包括,单位冲击序列、单位阶跃序列、矩形序列、正弦序列、指(复)数序列。下面演示如何通过matlab生成这些序列。

首先要考虑的是,在课本的学习中,我们是通过“函数”的角度认识他们的,即给出它们的表达式;而在计算机中,能够处理的是他们的值。(这里并不考虑matlab的符号代数系统)。所以,要想完整的表示序列,需要两块存储空间:第一块存自变量,第二块存函数值。如果仅仅存了函数值,而不考虑自变量,是没有意义的。

下面给出这些基本序列的matlab程序:

%% 生成数字信号处理常见的几种基本序列
clear all;
close all;
clc;

nStart  = -5;
nEnd    = 10;
nIndex  = nStart:nEnd;

%% 单位冲击函数
delta = [nIndex == 0];
subplot(5,1,1);
stem(nIndex,delta);

%% 单位阶跃函数
step = [nIndex>=0];
subplot(5,1,2);
stem(nIndex,step);

%% 矩形序列
nLen    = 5;
nLeft   = 0;
nRight  = nLeft + nLen;
rect = zeros(1,length(nIndex));
rect(nLeft-nStart+1:nRight-nStart)  = ones(1,nLen);
subplot(5,1,3);
stem(nIndex,rect);

%% 正弦序列
t = linspace(nStart,nEnd,100);
omega = 0.5;
y = sin(omega*t);
subplot(5,1,4);
stem(t,y);

%% 指数序列
alpla = -0.5;
y = exp(alpla*t);
subplot(5,1,5);
stem(t,y);

它们的结果如图:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值