第一范文网 - 专业文章范例文档资料分享平台

2010数字信号实验书本

来源:用户分享 时间:2025/7/6 6:06:55 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

实验一 基本信号产生及基本信号运算

一 实验目的

1、 利用MATLAB产生基本信号、绘制信号波形; 2、 实现信号的基本运算,特别掌握卷积和运算。

二 实验原理

1、基本信号的产生

离散信号在时域均可用序列来表示,图形则给人形象直观的印象,因此本实验利用MATLAB产生基本信号、绘制信号波形。 (1) 延迟单位脉冲序列 ?(n?n0)?1,n?n0

产生并绘制出该信号的MATLAB程序如下:

n?n1:n2; x?[(n?n0)??0];

stem(n,x);此程序产生起始位置为n1、终止位置为n2、脉冲位置为n0的延迟单位脉冲序列,并绘制出该信号的图形。 (2) 延迟单位阶跃序列 u(n?n0)?1,n?n0

产生并绘制出该信号的MATLAB程序如下:

n?n1:n2; x?[(n?n0)??0];

stem(n,x);此程序产生起始位置为n1、终止位置为n2、阶跃位置为n0的延迟单位脉冲序列,并绘制出该信号的图形。

1

(3) 矩形序列

RN(n)?u(n)?u(n?N)

因此可以用延迟单位阶跃序列通过一些基本运算得到RN(n),也可以直接产生,直接产生并绘制出该信号的MATLAB程序如下:

n?n1:n2; x?[zeros(1,abs(n1)),ones(1,N),zeros(1,n2?N?1)];

stem(n,x);(4) 实指数序列x(n)?an

产生并绘制出该信号的MATLAB程序如下:

n?n1:n2; x?0.5.^n;

stem(n,x);(5) 正弦序列

x(n)?Acos(?0t??)

下面的MATLAB程序产生起始位置为n1、终止位置为n2的正弦序列cos(0.4?n??/3):

n?n1:n2;x?cos(0.4*pi*n?pi/3);

(6) 复指数序列

x(n)?Ae(??j?0)n

下面的MATLAB程序产生起始位置为n1、终止位置为n2的复指数序列2ej?n/6:

n?n1:n2;x?2*exp(j*pi*n/6);

2、信号的基本运算

2

从数学的角度,系统可以看成是通过一组运算把一个离散信号(输入)转化成另一个信号(输出)的算法,本实验的另一个目的是实现信号的基本运算。表1.1列出了基本信号运算的MATLAB实现。

表1.1 基本信号运算的MATLAB实现

运算 移位 翻褶 和 乘积 标乘 累加 数学表达式 x(n-m) x(-n) x(n)+y(n) x(n)*y(n) c*x(n) MATLAB实现 nz=nz+m;z=x; nz=-fliplr(n);z=fliplr(x) x+y x*y c*x ny=nx;y=cumsum(x) 备注 x与y的维数相同 k????x(k) n差分 ?x(n)?x(n?1)?x(n) diff(x) 卷积和 x(n)*y(n)?m????x(m)y(n?m) ?conv(x,y) 三、 实验内容

1、 利用MATLAB产生并绘制下列信号: (1) x1(n)??(n?2),?4?n?4; (2) x2(n)?0.5nR10(n),0?n?9; (3) x3(n)?10sin(0.02?n),0?n?100; (4) x4(n)?u(n)?u(n?3),0?n?20.

2、 利用MATLAB函数conv计算有限长序列x(n)与h(n)线性卷积

y(n)?x(n)?h(n),其中x(n)?{?0.5,0,0.5,1;n??1,0,1,2},h(n)?{1,1,1;n??2,?1,0}。

四、实验报告要求

1、给出实验结果及相应程序;

2、用图解法求出第2题结果,画出图形并与计算机计算结果比较; 3、总结实验中遇到的难点及解决方法。

3

实验二 快速傅里叶变换

一 实验目的

1、掌握快速傅里叶正变换与反变换的原理及具体实现方法; 2、编程实现有限长序列的快速傅里叶正变换与反变换; 3、加深理解快速傅里叶变换在运算量上及运算精度的优势。

二 实验原理

DFT 是信号分析与处理中的一种重要变换。因直接计算DFT 的计算量与变换区间长度N的平方成正比,当N较大时,计算量太大直接用DFT 算法进行谱分析和信号的实时处理是不切实际的。快速傅里叶变换(简称FFT)是一种快速算法,本实验对应教材中阐述了基-2 按时间抽取FFT算法和基-2按频率抽选的FFT算法原理,该算法将DFT运算分解成M级蝶形运算。每一级运算都需要N/2次复数乘和N次复数加(每个蝶形需要两次复数加法)。所以,M级运算总共需要的复数乘次数为:

MATLAB中提供了进行快速傅里叶变换的fft函数:

X=fft(x),计算M点的DFT,M是序列x的长度,即M=length(x),x是表示离散信号的向量,X是系数向量,X=fft(x,N),计算补零或截断的N点DFT,当x得长度M小于N是,对x补零使其长度为N,当x的长度M大于N时,对x截断使其长度为N。

x=ifft(X),计算M点的IDFT。M是序列X的长度。 X=ifft(X,N),计算补零或截断的N点IDFT。

4

搜索更多关于: 2010数字信号实验书本 的文档
2010数字信号实验书本.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8cmvj84e7e52amw9ksxu_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top