数字信号处理实验讲义2012(3)

2018-11-17 22:09

数字信号处理讲义

x=a.^n;

4.复指数序列

x(n)?e(??j?0)n ?n

采用MATBLAB实现:

5.正(余)弦序列

n=0:N-1;

x=exp((lu+j*w0)*n);

x(n)?cos(?0n??) ?n

采用MATLAB实现: 6.随机序列

MATLAB中提供了两类(伪)随机信号: rand(1,N)产生[0,1]上均匀分布的随机矢量;

randn(1,N)产生均值为0,方差为1的高斯随机序列,也就是白噪声序列。其它分布的随机数可通过上述随机数的变换而产生。 7.周期序列

x(n)=x(n+N) ?n

n=0:N-1; x=cos(w0*n+Q);

例如,设x1表示x序列中一个周期的序列,要产生P个周期的x序列,可以把它重复4次,用MALAB实现:

x=[x1,x1,x1,…..,x1];

7

数字信号处理讲义

但是高明的方法是利用MATLAB的强有力的下标能力。先产生一个包含P行x(n)

值的矩阵,然后用结构(:)把它的P行串接起来成为一个长行,不过这种结构只能用于列向,所以我们往往还要用矩阵转置把它扩展成行向。 >>xtilde=x1’*ones(1,P); %P列x1 >>xtilde=xtilde(:); %长的列向量 >>xtilde=xtilde’; %长的行向量

三. 序列操作

1.信号加

x(n)={x1(n)+x2(n)}

采用MATLAB实现:

x=x1+x2;

注意:当x1和x2序列的长度不等或其位置不对应时,信号相加就不是这么简单。首先应使x1、x2具有相等的长度,然后两者对齐,最后进行相加。

2.信号乘

x(n)={x1(n)*x2(n)}

这是一种样本对样本的相乘,也即点乘运算,在MATLAB中可采用.*(数组乘法)来实现,但两序列x1、x2也应经过处理。

3.改变比例

y(n)=a{x(n)}={ax(n)}

y=alpha*x;

8

采用MATLAB实现:

数字信号处理讲义

4.移位

5.折叠

y(n)={x(-n)}

y(n)={x(n-k)}

它将序列x(n)在n=0处倒转,在MATLAB中可直接用fliplr函数实现。

6.取样和

y?n?n1?x(n)

n2它不同于信号加。采用 MATLAB实现: 7.取样积

y=sum(x(n1:n2));

y??x(n)

n?n1n2采用MATLAB实现:

y=prod(x(n1:n2));

N8.卷积和

y(n)=x(n)*h(n)=?x(k)h(n?k)

可直接采用MATLAB中的函数conv,即

y=conv(x,h); {x(n):nxb≤n≤nxe}

它默认序列从n=0开始。但如果序列是从一负值开始,即如

k?0 9

数字信号处理讲义

{h(n):nhb≤n≤nhe}

其中nxb<0或nhb<0,或两者同时为负时,就不能直接采用conv函数。 通过卷积结果序列 {y(n):nyb≤n≤nye} 且

nyb=nxb+nhb , nye=nxe+nhe

这样我们就可以构成一新的卷积函数conv_m,它可求出带下标的序列卷积。 9.信号能量

Ex?n????x(n)x*(n)??x(n)n?0?N?12

采用MATLAB实现:

Px=sum(abs(x).^2);

Px=sum(x.*conj(x)); 10.奇偶综合

任何一个序列x(n)都可分解成偶对称部分xe(n)和奇对称部分x0(n),即

x(n)=xe(n)+x0(n)

1{x(n)+x(-n)} 21x0(n)={x(n)-x(-n)}

2其中

xe(n)=

这样我们可以设计一函数evenodd,完成将任一给定序列x(n) 分解成xe(n)和 x0(n)。

四.MATLAB信号生成函数

1.square()方波发生器。调用格式为:

square(T) 返回一周期为2π的方波,采样时刻由向量T指定。

10

数字信号处理讲义

square(T,DUTY) 产生一给定占空比的方波,占空比DUTY是信号为正

值的比例。

2.sawtooth()锯齿波和方波发生器。调用格式为:

sawtooth(T) 返回一周期为2π的锯齿波,采样时刻由向量T指定。 sawtooth(T,WIDTH) 产生一三角波,WIDTH指定最大值出现的地方,其取值在0到1之间,1对应2π。

3.diric()周期sinc函数(Dirichlet函数)。调用格式:

Y=diric(X,N) 返回一大小与X相同的矩阵,其元素为Dirichlet函数。N必须为正整数,该函数将0到2π等间隔分成N等分。

4.pulstran ()通过对连续函数或脉冲原型进行采样而得到脉冲序列的

发生器

5. rectplus()非周期矩形波发生器 6. tripuls()非周期三角脉冲发生器

五.MATLAB七个基本的扩展函数

1.单位取样序列

impseq.m

function [x,n]=impseq(n0,n1,n2)

%Generates x(n)=delta(n-n0);n1<=n,n0<-n2 %------------------------------ %[x,n]=impseq(n0,n1,n2) %

if((n0n2)|(n1>n2))

error(ˊarguments must satisfy n1<=n0<=n2ˊ) end

11


数字信号处理实验讲义2012(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016尔雅中国古代史课后作业答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: