数字信号处理实验报告
实验名称:实验一,数字信号的产生和基本运算 学生姓名: XXXXX 班 级: XXXXXXX 班内序号: XXXXX 学 号: XXXxxxx 日 期: 2014年3月22日
1. 实验要求
因为现实世界里存在的是模拟信号,因此数字信号处理的第一个问题是将信号离散化,得到一个数字信号,然后再进行数字处理。 (1) 常用数字信号序列的产生:
熟悉 Matlab 产生数字信号的基本命令,加深对数字信号概念的理解,并能够用 Matlab 产生和绘制出一些常用离散信号序列。请用 Matlab 画出下列序列的波形(-10 b) 单位阶跃序列 2 u(n-5) c) 矩形序列 R(n) d) y(n)=2sin(0.3πn)+ 0.5cos2(0.6πn) (2) 数字信号的基本运算: 加、减、尺度(乘除)和移位是数字信号处理中最基本的算术运算,将上述基本序列进行这些基本运算,得到多个序列构成的组合序列。 请用您的计算机声卡采用一段您自己的声音 x(n),长度为 45秒,单声道,取样频率 44.1kHz,16bit/样值,然后与给定的一段背景音乐 y(n) 按下式叠加为一个声音信号 z(n): z(n) = 0.7x(n) + 0.3y(n) 2. 实验代码及图像 1. 产生冲击序列: 代码: function[x,n]=impseq(n0,n1,n2) if ((n0 error('Arguements must satisfy n1<=n0<=n2') end n=[n1:n2]; x=[(n-n0)==0]; x=impseq(0,-10,10);n=[-10:10]; stem(n,x); 2. 产生阶跃序列: 代码: function[x,n]=stepseq(n0,n1,n2) if ((n0 error('Arguements must satisfy n1<=n0<=n2') end n=[n1:n2]; x=[(n-n0)>=0]; y=2*stepseq(5,-10,10);n=[-10:10]; stem(n,y); 3. 产生矩形序列: 代码: z=stepseq(0,-10,10)-stepseq(5,-10,10); stem(n,z); 4. 产生三角函数序列: 代码: n=[-10:0.1:10]; k=2*sin(0.3*pi*n)+ 0.5*cos(0.6*pi*n).^2 stem(n,k); 5. 加、减、移位、尺度变化: 加法:y(n)=?(n)+2u(n-5) 减法:y(n)=?(n)-2Rn(4) 移位:y(n)=2u((n-5)+3)

