实验1 数字信号的产生和基本运算
- 格式:pdf
- 大小:398.00 KB
- 文档页数:9
数字信号处理的三种基本运算
数字信号处理(DSP)是涉及对数字信号进行各种操作的过程,包括分析、变换、滤波、调制和解调等。
以下是数字信号处理的三种基本运算:
1. 线性运算
线性运算是数字信号处理中最基本的运算之一。
线性运算是指输出信号与输入信号成正比,即输出信号的幅度与输入信号的幅度成正比。
线性运算可以用数学表达式表示为y(n)=kx(n),其中y(n)和x(n)分别是输出信号和输入信号,k是常数。
2. 离散化运算
离散化运算是将连续信号转换为离散信号的过程。
在实际的数字信号处理中,所有的信号都是离散的,这是因为我们的采样设备只能获取有限数量的样本点。
离散化运算可以通过采样和量化来实现。
采样是将连续信号转换为时间离散的信号,量化是将采样值转换为有限数量的幅度离散值。
3. 周期化运算
周期化运算是指将一个非周期信号转换为周期信号的过程。
周期化运算可以帮助我们更好地理解信号的特性,例如通过将一个非周期性的噪声信号转换为周期性的信号,我们可以更容易地识别出噪声的类型和来源。
周期化运算可以通过傅里叶变换等工具来实现。
以上三种基本运算在数字信号处理中具有广泛的应用,是理解和处理数字信号的重要工具。
数字信号处理实验实验一信号、系统及系统响应1、实验目的认真复习采样理论、离散信号与系统、线性卷积、序列的z 变换及性质等有关内容;掌握离散时间序列的产生与基本运算,理解离散时间系统的时域特性与差分方程的求解方法,掌握离散信号的绘图方法;熟悉序列的z 变换及性质,理解理想采样前后信号频谱的变化。
2、实验内容a. 产生长度为500 的在[0,1]之间均匀分布的随机序列,产生长度为500 的均值为0 单位方差的高斯分布序列。
b. 线性时不变系统单位脉冲响应为h(n)=(0.9)nu(n),当系统输入为x(n)=R10(n)时,求系统的零状态响应,并绘制波形图。
c. 描述系统的差分方程为:y(n)-y(n-1)+0.9y(n-2)=x(n),其中x(n)为激励,y(n)为响应。
计算并绘制n=20,30,40,50,60,70,80,90,100 时的系统单位脉冲响应h(n);计算并绘制n=20,30,40,50,60,70,80,90,100 时的系统单位阶跃响应s(n);由h(n)表征的这个系统是稳定系统吗?d. 序列x(n)=(0.8)nu(n),求DTFT[x(n)],并画出它幅度、相位,实部、虚部的波形图。
观察它是否具有周期性?e. 线性时不变系统的差分方程为y(n)=0.7y(n-1)+x(n),求系统的频率响应H(ejω),如果系统输入为x(n)=cos(0.05πn)u(n),求系统的稳态响应并绘图。
f. 设连续时间信号x(t)=e-1000|t|,计算并绘制它的傅立叶变换;如果用采样频率为每秒5000 样本对x(t)进行采样得到x1(n),计算并绘制X1(ejω),用x1(n)重建连续信号x(t),并对结果进行讨论;如果用采样频率为每秒1000 样本对x(t)进行采样得到x2(n),计算并绘制X2(ejω),用x2(n)重建连续信号x(t),并对结果进行讨论。
加深对采样定理的理解。
g. 设X1(z)=z+2+3z-1,X2(z)=2z2+4z+3+5z-1,用卷积方法计算X1(z)X2(z)。
序号:号项目名称:《信号分析与处理》实验报告学生学院:信息工程学院专业班级:学生学号:学生姓名:指导老师:朱铮涛2013年12月25日目录实验一、基本信号的产生和时频域抽样实验 (1)一、实验目的 (1)二、实验内容及所得图表 (1)三、思考题解答 (15)实验二、连续和离散系统分析 (16)一、实验目的 (16)二、实验内容和要求 (16)三、思考题解答 (22)实验三、用FFT实现谱分析实验 (23)一、实验目的 (23)二、实验原理 (23)三、实验内容及实验得到的结果 (23)四、实验结论 (26)五、思考题解答 (26)实验四、IIR数字滤波器设计和应用 (27)一、实验目的 (27)二、实验原理 (27)三、实验内容和结果 (27)四、思考题解答 (33)实验五、FIR数字滤波器设计和应用 (34)一、实验目的 (34)二、FIR数字滤波器的设计基本原理 (34)三、实验内容和实验结果 (37)四、思考题解答 (40)实验一、基本信号的产生和时频域抽样实验一、实验目的1、学习使用matlab产生基本信号波形、实现信号的基本运算;2、熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解;3、加深理解频谱离散化过程中的数学概念和物理概念,掌握频域抽样定理的基本内容。
二、实验内容及所得图表1、用Matlab产生以下序列的样本,并显示其波形:(a):()(0.9)cos(0.2/3),020nx n n nππ=+≤≤(b):)20()5()(---=nununx(c):)*5.0exp()(n nx-=(d):(e):(f):)()sin()(t u tAetx taΩ=-α2 设(a):求其傅里叶变换;对进行采样,求出采样所得离散时间信号的傅里叶变(b):用频率Fs=5000Hz对进行采样,求出采样所得离散时间信号的傅里叶变换;换;再用频率Fs=1000Hz(c):分别针对(b)中采样所得离散时间信号和,重建出对应的连续时间信号和,并分别与原连续时间信号进行比较;根据抽样定理(即Nyquist定理)的知识,说明采样频率对信号重建的影响。
实验一数字信号源实验一、实验目的1、了解单极性码、双极性码、归零码、不归零码等基带信号波形特点。
2、掌握集中插入帧同步码时分复用信号的帧结构特点。
3、掌握数字信号源电路组成原理。
二、实验内容1、用示波器观察单极性非归零码(NRZ)、帧同步信号(FS)、位同步时钟(BS)。
2、用示波器观察NRZ、FS、BS三信号的对应关系。
3、学习电路原理图。
三、基本原理本模块是实验系统中数字信号源,即发送端,其原理方框图如图1-1所示。
本单元产生NRZ信号,信号码速率约为170.5KB,帧结构如图1-2所示。
帧长为24位,其中首位无定义,第2位到第8位是帧同步码(7位巴克码1110010),另外16位为2路数据信号,每路8位。
此NRZ信号为集中插入帧同步码时分复用信号。
发光二极管亮状态表示‘1’码,熄状态表示‘0’码。
本模块有以下测试点及输入输出点:∙ CLK-OUT 时钟信号测试点,输出信号频率为4.433619MHz ∙ BS-OUT 信源位同步信号输出点/测试点,频率为170.5KHz ∙ FS 信源帧同步信号输出点/测试点,频率为7.1KHz∙ NRZ-OUT NRZ信号输出点/测试点图1-3为数字信源模块的电原理图。
图1-1中各单元与图1-3中的元器件对应关系如下:∙晶振CRY:晶体;U1:反相器7404∙分频器US2:计数器74161;US3:计数器74193;US4:计数器40160∙并行码产生器KS1、KS2、KS3:8位手动开关,从左到右依次与帧同步码、数据1、数据2相对应;发光二极管左起分别与一帧中的24位代码相对应∙八选一US5、US6、US7:8位数据选择器4512∙三选一US8:8位数据选择器4512∙倒相器US10:非门74HC04∙抽样US9:D触发器74HC74图1-1 数字信源方框图图1-2 帧结构下面对分频器,八选一及三选一等单元作进一步说明。
(1)分频器74161进行13分频,输出信号频率为341kHz。
数字信号处理课程实验教学大纲课程代码:Z0800010课程性质:专业主干课课程名称:数字信号处理英文名称:Digital Signal Processing适用专业:通信工程开设学期:第5学期实验学时/总学时:18/66 实验学分/总学分:1/4大纲拟定人:课程实验内容简介本课程为电子信息科学与技术本科专业和通信工程本科专业的专业主干课,以信号与系统、工程数学为基础,要求学生掌握时域离散信号和系统的基本理论、基本分析方法以及FFT、数字滤波器等数字信号处理理论与技术。
该课程是一门理论与实践联系紧密的课程,实验部分是课堂教学的有效补充。
通过实验,使得学生:⑴在实验过程中了解简单但是完整的数字信号处理的工程实现方法和流程,从而对数字信号处理理论有更深入的认识;⑵掌握数字信号处理的基础理论知识,和基本的利用单片机进行开发的技能;⑶巩固和加深数字信号处理的理论知识,通过实践进一步提高独立分析问题和解决问题的能力、综合设计及创新能力;⑷培养实事求是、严肃认真的科学作风和良好的实验习惯,为今后工作打下良好的基础。
实验将采用教师课堂演示和学生上机操作相结合的方式,要求学生能够独立完成大纲所规定的实验内容。
实验前,学生必须预习指导教师指定的实验内容,编制实验程序。
实验课开始由教师简要讲解实验目的、基本原理、仪器设备的正确使用、实验关键点及注意事项。
实验时要严格按照操作规范进行实验,做好实验数据的记录、分析和处理。
实验结束后必须书写实验报告,并回答思考题,实验报告应包括实验名称、实验者姓名、实验目的、使用的仪器设备及数量、实验原理、实验电路、程序清单、实验步骤、实验现象、实验结果及分析等。
二、实验项目三、实验所需主要仪器设备及台(套)数以上每个实验均需应用Matlab软件和PC机一台。
四、实验成绩评定方法实验成绩由三部分组成:实验预习和表现(20分)、实验报告(20分)、实验考试(实际操作和理论问答)(60分)。
《数字信号处理》上机实验指导书实验1 离散时间信号的产生1.实验目的数字信号处理系统中的信号都是以离散时间形态存在,所以对离散时间信号的研究是数字信号处理的基本所在。
而要研究离散时间信号,首先需要产生出各种离散时间信号。
MATLAB 是一套功能强大的工程计算及数据处理软件,广泛应用于工业,电子,医疗和建筑等众多领域。
使用MATLAB软件可以很方便地产生各种常见的离散时间信号,而且它还具有强大的绘图功能,便于用户直观地输出处理结果。
通过本实验,学生将学习如何用MATLAB产生一些常见的离散时间信号,并通过MATLAB中的绘图工具对产生的信号进行观察,加深对常用离散信号的理解。
2.实验要求本实验要求学生运用MATLAB编程产生一些基本的离散时间信号,并通过MATLAB的几种绘图指令画出这些图形,以加深对相关教学内容的理解,同时也通过这些简单的函数练习了MATLAB的使用。
3.实验原理(1)常见的离散时间信号1)单位抽样序列,或称为离散时间冲激,单位冲激:?(n)???1?0n?0 n?0如果?(n)在时间轴上延迟了k个单位,得到?(n?k)即:?1n?k ?(n?k)??0n?0?2)单位阶跃序列n?0?1 u(n)?n?0?0在MATLAB中可以利用ones( )函数实现。
x?ones(1,N);3)正弦序列x(n)?Acos(?0n??)这里,A,?0,和?都是实数,它们分别称为本正弦信号x(n)的振幅,角频率和初始相位。
f0??02?为频率。
x(n)?ej?n4)复正弦序列5)实指数序列x(n)?A?n(2)MATLAB编程介绍MATLAB是一套功能强大,但使用方便的工程计算及数据处理软件。
其编程风格很简洁,没有太多的语法限制,所以使用起来非常方便,尤其对初学者来说,可以避免去阅读大量的指令系统,以便很快上手编程。
值得注意得就是,MATLAB中把所有参与处理的数据都视为矩阵,并且其函数众多,希望同学注意查看帮助,经过一段时间的训练就会慢慢熟练使用本软件了。
实验一时域离散信号的产生及时域处理实验目的:了解Matlab软件数字信号处理工具箱的初步使用方法。
掌握其简单的Matlab语言进行简单的时域信号分析。
实验内容:[1.1]已知两序列x1=[0,1,2,3,4,3,2,1,0];n1=[-2:6];x2=[2,2,0,0,0,-2,-2],n2=[2:8].求他们的和ya及乘积yp. 程序如下:x1=[0,1,2,3,4,3,2,1,0];ns1=-2;x2=[2,2,0,0,0,-2,-2];ns2=2;nf1=ns1+length(x1)-1;nf2=ns2+length(x2)-1;ny=min(ns1,ns2):max(nf1,nf2);xa1=zeros(1,length(ny));xa2=xa1;xa1(find((ny>=ns1)&(ny<=nf1)==1))=x1;xa2(find((ny>=ns2)&(ny<=nf2)==1))=x2;ya=xa1+xa2yp=xa1.*xa2subplot(4,4,1),stem(ny,xa1,'.')subplot(4,1,2),stem(ny,xa2,'.')line([ny(1),ny(end)],[0,0])subplot(4,1,3),stem(ny,ya,'.')line([ny(1),ny(end)],[0,0])subplot(4,1,4),stem(ny,yp,'.')line([ny(1),ny(end)],[0,0])[1.2]编写产生矩形序列的程序。
并用它截取一个复正弦序列,最后画出波形。
程序如下:clear;close alln0=input('输入序列起点:n0=');N=input('输入序列长度:N=');n1=input('输入位移:n1=');n=n0:n1+N+5;u=[(n-n1)>=0];x1=[(n-n1)>=0]-[(n-n1-N)>=0];x2=[(n>=n1)&(n<(N+n1))];x3=exp(j*n*pi/8).*x2;subplot(2,2,1);stem(n,x1,'.');xlabel('n');ylabel('x1(n)');axis([n0,max(n),0,1]);subplot(2,2,3);stem(n,x2,'.');xlabel('n');ylabel('x2(n)');axis([n0,max(n),0,1]);subplot(2,2,2);stem(n,real(x3),'.'); xlabel('n');ylabel('x3(n)的实部');line([n0,max(n)],[0,0]);axis([n0,max(n),-1,1]);subplot(2,2,4);stem(n,imag(x3),'.'); xlabel('n');ylabel('x3(n)的虚部');line([n0,max(n)],[0,0]);axis([n0,max(n),-1,1]);[1.3]利用已知条件,利用MATLAB生成图形。
数字信号处理实验一实验目的:掌握利用Matlab产生各种离散时间信号,实现信号的相加、相乘及卷积运算实验函数:参考课本77-19页,注意式(2.11.1)的表达与各matlab子函数间的关系。
1、stem(x,y) % 绘制以x为横轴,y为纵轴的离散序列图形2、[h ,t] = impz(b, a) % 求解数字系统的冲激响应h,取样点数为缺省值[h, t] = impz(b, a, n) % 求解数字系统的冲激响应h,取样点数为nimpz(b, a) % 在当前窗口用stem(t, h)函数出图3、[h ,t] = dstep(b, a) % 求解数字系统的阶跃响应h,取样点数为缺省值[h, t] = dstep (b, a, n) % 求解数字系统的阶跃响应h,取样点数为ndstep (b, a) % 在当前窗口用stairs(t, h)函数出图4、y = filter(b,a,x) % 在已知系统差分方程或转移函数的情况下求系统输出实验原理:一、常用的时域离散信号及其程序1、产生单位抽样函数δ(n)n1 = -5;n2 = 5;n0 = 0;n = n1:n2;x = [n==n0]; % x在n=n0时为1,其余为0stem(n,x,'filled'); %filled:序列圆心处用实心圆表示axis([n1,n2,0,1.1*max(x)])title('单位抽样序列')xlabel('time(n)')ylabel('Amplitude:x(n)')2、产生单位阶跃序列u(n)n1 = -2;n2 = 8;n0 = 0;n = n1:n2;x = [n>=n0]; % x在n>=n0时为1,其余为0stem(n,x,'filled');axis([n1,n2,0,1.1*max(x)])title('单位阶跃序列')xlabel('time(n)')ylabel('Amplitude:x(n)')3、复指数序列复指数序列的表示式为()(),00,0j n e n x n n σω+⎧≥⎪=⎨<⎪⎩,当0ω=时,()x n 为实指数序列;当0σ=时,()x n 为虚指数序列,即()()cos sin j n e n j n ωωω=+,即其实部为余弦序列,虚部为正弦序列。
信息工程学院实验报告课程名称:数字信号处理实验项目名称:实验1常见数字信号的产生与显示 实验时间:班级: 姓名: 学号:一、实验目的复习MATLAB 的使用方法和基本功能;熟悉单位冲激序列、单位阶跃序列、矩形序列和指数序列等常用序列的产生;掌握利用MATLAB 画图函数显示信号波形的方法。
二、实验设备与软件MATLAB 2008软件。
三、实验内容及结果分析3.1 分别给出模拟信号1()sin(10)2cos(20)x t t t ππ=+在采样周期T1=1/100s 和模拟信号42()sin(5000)2cos(10)x t t t ππ=+在采样周期T2=1/50 000s 下得到的离散时间信号,作出波形图。
指令语句如下:t=-20:20;x=sin(10*pi*t/100)+2*cos(20*pi*t/100); y=sin(5000*pi*t/50000)+2*cos(10.^4*pi*t/50000); close all ; subplot(1,2,1); stem(t,x); title('x1'); subplot(1,2,2); stem(t,y); title('x2');执行结果如图3-1所示:图3-13.2 作出实指数序列在a 分别等于 -0.5 和 -1.5时候的信号波形图。
指令语句如下:N=10; n=0:N-1; a=-0.5; b=-1.5; x=a.^n; y=b.^n; close all ; subplot(1,2,1); stem(n,x);title('a 为-0.5的实指数序列'); subplot(1,2,2); stem(n,y);title('a 为-1.5的实指数序列');执行结果如图3-2所示:x1x20510a 为-1.5的实指数序列图3-23.3 某正弦信号的幅值为1,初始初始相位为0,频率为10Hz ,作出其在0.5s 内的波形图;若在正弦信号上叠加范围在0~ 0.2之间的均匀分布的白噪声,试作出0.5s 内的新的波形图。
通信原理实验指导书信息工程系目录实验一数字信号源实验 (3)实验二数字调制实验 (7)实验三2ASK、2FSK数字解调实验..............................................1 7 实验四PCM编译码及TDM时分复用实验 (23)实验一数字信号源实验一、实验目的1、了解单极性码、双极性码、归零码、不归零码等基带信号波形特点。
2、掌握集中插入帧同步码时分复用信号的帧结构特点。
3、掌握数字信号源电路组成原理。
二、实验内容1、用示波器观察单极性非归零码(NRZ)、帧同步信号(FS)、位同步时钟(BS)。
2、用示波器观察NRZ、FS、BS三信号的对应关系。
3、学习电路原理图。
三、基本原理本模块是实验系统中数字信号源,即发送端,其原理方框图如图1-1所示。
本单元产生NRZ信号,信号码速率约为170.5KB,帧结构如图1-2所示。
帧长为24位,其中首位无定义,第2位到第8位是帧同步码(7位巴克码1110010),另外16位为2路数据信号,每路8位。
此NRZ信号为集中插入帧同步码时分复用信号。
发光二极管亮状态表示‘1’码,熄状态表示‘0’码。
本模块有以下测试点及输入输出点:∙ CLK-OUT 时钟信号测试点,输出信号频率为4.433619MHz ∙ BS-OUT 信源位同步信号输出点/测试点,频率为170.5KHz ∙ FS 信源帧同步信号输出点/测试点,频率为7.1KHz∙ NRZ-OUT NRZ信号输出点/测试点图1-3为数字信源模块的电原理图。
图1-1中各单元与图1-3中的元器件对应关系如下:∙晶振CRY:晶体;U1:反相器7404∙分频器US2:计数器74161;US3:计数器74193;US4:计数器40160∙并行码产生器KS1、KS2、KS3:8位手动开关,从左到右依次与帧同步码、数据1、数据2相对应;发光二极管左起分别与一帧中的24位代码相对应∙八选一US5、US6、US7:8位数据选择器4512∙三选一US8:8位数据选择器4512∙倒相器US10:非门74HC04∙抽样US9:D触发器74HC74图1-1 数字信源方框图图1-2 帧结构下面对分频器,八选一及三选一等单元作进一步说明。
实验一 离散时间信号分析一、实验目的1.熟悉MATLAB 应用环境,常用窗口的功能和使用方法。
2.掌握各种常用的序列,理解其数学表达式和波形表示。
3.掌握在计算机中生成及绘制数字信号波形的方法。
4.掌握序列的相加、相乘、移位、反褶、卷积等基本运算及计算机实现。
5.通过编程,上机调试程序,进一步增强使用计算机解决问题的能力。
二、实验原理1.序列的基本概念离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。
离散时间信号在数学上可用时间序列)}({n x 来表示,其中)(n x 代表序列的第n 个数字,n 代表时间的序列,n 的取值范围为∞<<∞-n 的整数,n 取其它值)(n x 没有意义。
离散时间信号可以是由模拟信号通过采样得到,例如对模拟信号)(t a x 进行等间隔采样,采样间隔为T ,得到一个有序的数字序列)}({nT x a 就是离散时间信号,简称序列。
2.常用序列常用序列有:单位脉冲序列(单位抽样))(n δ、单位阶跃序列)(n u 、矩形序列)(n R N 、实指数序列、复指数序列、正弦型序列等。
3.序列的基本运算序列的运算包括移位、反褶、和、积、点乘、累加、差分运算、卷积等。
4.序列的卷积运算)()()()()(n h n x m n h m x n y m *=-=∑∞-∞=上式的运算关系称为卷积运算,式中*代表两个序列卷积运算。
两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。
其计算的过程包括以下4个步骤(1)反褶:先将)(n x 和)(n h 的变量n 换成m ,变成)(m x 和)(m h ,再将)(m h 以纵轴为对称轴反褶成)(m h -。
(2)移位:将)(m h -移位n ,得)(m n h -。
当n 为正数时,右移n 位;当n 为负数时,左移n 位。
(3)相乘:将)(m n h -和)(m x 的对应点的值相乘。
数字信号处理实验报告通信0303 汪勇 学号:实验一:信号、系统及系统响应 1、实验目的:(1) 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解. (2) 熟悉时域离散系统的时域特性(3) 利用卷积方法观察分析系统的时域特性.(4) 掌握序列傅立叶变换的计算机实现方法,利用序列的傅立叶变换对连续信号,离散信号及系统响应进行频域分析.2、实验原理简述:对一个连续信号)(t xa 进行理想采样的过程可用下式表示:^x a(t)= )(t xa p(t)其中^x a(t)为)(t xa 的理想采样,p(t)为周期冲激脉冲,即p(t)=∑∞-∞=n δ(t-nT )^x a(t)的傅立叶变换^X a(j Ω)为^X a(j Ω)=[])(1s m Tn aX Ω-Ω∑∞-∞=上式表明^X a(j Ω)为)(Ωj Xa 的周期延拓,其周期延拓为采样角频率(T s π2=Ω).采样前后信号的频谱示意图见图.只有满足采样定理时,才不会发生频率混叠失真.离散信号和系统在时域均可用序列来表示。
为了在数字计算机上观察分析各种序列的频域特性,通常对()e j X ω在[]π2,0上进行M 点采样来观察分析。
对长度为N 的有限长序列x(n)有()()ee nj N n kj k m x Xωω--=∑=10其中,1,0,2==k k Mkπω,M-1 一个时域离散线性非移变系统的输入/输出关系为y(n)=x(n)*h(n)=()()m n h m x m -∑∞-∞=如果x(n)和h(n)的长度分别为M 和N ,则y(n)的长度为L=N+M-1。
上述卷积运算也可在频域实现()()()e e e j j j H X Yωωω=3、实验内容及步骤首先认真复习采样理论.离散信号与系统.线性卷积.序列的傅立叶变换及性质等有关内容,了解本实验原理与方法.1>编制实验用主程序及相应子程序.①信号产生子程序,用于产生实验中要用的下列信号序列: a) 采样信号序列:对下面连续信号:()()()t u t A t ex ataΩ-=0sin进行采样,可得到采样序列()()()()500,sin 0<≤==Ω=n n u nT A nT n e x x anTa a其中A 为幅度因子,a 为衰减因子,是模拟角频率,T 为采样间隔.这些参数都要在实验过程中由键盘输入,产生不同的x(t)和x(n)b) 单位脉冲序列:()[]n n x bδ=c) 矩形序列:()()10,==N n n R x Nc②系统单位脉冲响应序列产生子程序.本实验要用到两种FIR 系统.()()()()()()()325.215.210-+-+-+==n n n n n n n hR h baδδδδ ③有限长序列线性卷积子程序,用于完成两个给定长度的序列的卷积.可以直接调用MATLAB 语言中的卷积函数conv 。
数字信号处理实验1--5含代码实验一离散时间信号的时域分析 1. 在MATLAB中利用逻辑关系式n,,0来实现序列,显示范围。
(产生如下,,,n,nn,n,n012图所示的单位脉冲信号的函数为impseq(n0,n1,n2),程序如示例所示),3,n,10并利用impseq函数实现序列:; ,,,,,,yn,2,n,3,,n,6,,xn1nnnn120源代码:impseq.mfunction y=impseq(n0,n1,n2)n=[n1:n2]y=[(n-n0)==0]exp01-1.mfunction impseq(n0,n1,n2)n=-3:1:10y=2*impseq(3,-3,10)+impseq(6,-3,10);stem(n,y)n,,0,,2. 在MATLAB中利用逻辑关系式来实现序列,显示范围。
(自己编写un,nn,n,n012产生单位阶跃信号的函数,函数命名为stepseq(n0,n1,n2)) 并利用编写的stepseq函数实现序列: ,,,,,,yn,un,2,un,2,5,n,10源代码:stepseq.mfunction y=stepseq(n0,n1,n2)n=n1:1:n2y=[(n-n0)>=0]exp01-2.mfunction stepseq(n0,n1,n2)n=-5:1:20y=stepseq(-2,-5,20)+stepseq(2,-5,20)stem(n,y)3. 在MATLAB中利用数组运算符“.^”来实现一个实指数序列。
如: n ,,,,xn,0.30,n,15源代码:n=0:1:15;x=0.3.^nstem(n,x)4. 在MATLAB中调用函数sin或cos产生正余弦序列,如:π,, ,,,,xn,3sin0.4πn,,5cos0.3πn0,n,20,,5,,源代码:n=0:1:20x=11*sin(0.3*pi*n+pi/5)+5*cos(0.3*pi*n)stem(n,x)思考题:1.在MATLAB环境下产生单位脉冲序列和单位阶跃序列各有几种方法,如何使用,2.在MATLAB环境下进行序列的相乘运算时应注意什么问题,实验二离散时间系统的时域分析1. 在MATLAB中利用内部函数conv来计算两个有限长序列的卷积。
《数字信号处理》序列的基本运算和时域变换与离散信号的卷积和实验一、实验目的1、熟悉用MATLAB描绘二维图像的方法。
2、掌握用MATLAB对序列进行基本的运算和时域变换的方法。
3、掌握两个离散信号卷积和的计算方法和编程技术。
二、实验器材1.电脑2.MATLAB软件三、实验原理1、序列的基本运算(1)加法:x1(n)+x2(n)序列的加法运算为对应位置处量值的相加,在MATLAB中可用运算符“+”实现,但要求参与运算的序列的长度必须相等。
如果长度不等或者长度相等但采样位置不同,则不能直接应用该运算符,此时需要先给定参数使序列具有相同的位置向量和长度。
下面给出sigadd函数实现任意两序列的加法运算。
X1(n)=sin n/15X2(n)=1.05n例:function [y,n] = sigadd(x1,n1,x2,n2)n = min(min(n1),min(n2)):max(max(n1),max(n2)); % duration of y(n)y1 = zeros(1,length(n));y2 = y1;y = y1+y2;其中x1和x2为参与加法运算的两序列,n1和n2分别为x1和x2的位置向量。
(2)乘法:x1(n)·x2(n)序列的乘法运算为对应位置处量值的相乘,在MATLAB中由数组运算符“.*”实现,也受到“+”运算符同样的限制。
(3)反折:x(n)→x(-n)序列的反折指序列的每个量值都对n=0做一个对称操作,从而得到一个新序列。
在MATLAB 中可由fliplr(x)函数实现,此时序列位置的反折则由-fliplr(n)实现。
(4)平移:x(n)→x(n -m)平移操作是将序列的每个量值都移动m 个位置,在得到的新序列中,量值和原序列相同,只是位置向量n 发生变化,当m>0时,表示序列向右平移,此时新序列的位置向量为n+m ;当m<0时,表示序列向左平移,此时新序列的位置向量为n -m 。
数字信号处理实验一1.完成本文档内容的自学阅读和其中各例题后子问题;Q1.1运行程序P1.1,以产生单位样本序列u[n]并显示它。
答: clf;n=-10:20;u=[zeros(1,10) 1 zeros(1,20)];stem(n,u);xlabel('时间序号n');ylabel('振幅');title('单位样本序列');axis([-10 20 0 1.2])Q1.2命令clf,axis,title,xlabel和ylabel的作用是什么?答:clf清除图对象,axis 控制轴刻度和风格的高层指令,title 设置图名,xlabel和ylabel设置横纵坐标轴名称。
Q1.3修改程序P1.1以产生带有延时11个单位样本的延迟单位样本序列ud[n]。
运行修改的程序并显示产生的序列。
答:clf;n=0:30;ud=[zeros(1,11) 1 zeros(1,19)];stem(n,ud);xlabel('时间序号n');ylabel('振幅');title('单位样本序列');axis([0 30 0 1.2])Q1.4修改程序P1.1以产生单位步长序列s[n].运行修改后程序并显示产生的序列。
答:clf;n = 0:30;u = [1.*n];stem(n,u);title('Unit Sample Sequence');axis([0 30 0 30])Q1.5修改程序P1.1,以产生带有超前7个样本的延时单位阶跃序列sd[n]。
运行修改后的程序并显示产生的序列。
答:clf;n = -15:30;s=[zeros(1,8) ones(1,38)];stem(n,s);xlabel('Time index n');ylabel('Amplitude'); title('Unit Sample Sequence');axis([-15 30 0 1.2]);Q1.6 运行程序P1.2,以产生复数值的指数序列。
实验一 离散时间信号与系统的时域分析(基础验证型)1.实验目的(1)熟悉离散时间信号的产生与基本运算。
(2)熟悉离散时间系统的时域特性。
(3)利用卷积方法观察分析系统的时域特性。
2.实验原理(1)典型离散时间信号单位样本序列(通常称为离散时间冲激或单位冲激)用[]n δ表示,其定义为1,0[]0,0n n n δ=⎧=⎨≠⎩(1.1) 单位阶跃序列用[]n μ表示,其定义为1,0[]0,0n n n μ≥⎧=⎨<⎩ (1.2) 指数序列由 []n x n A α= (1.3)给定。
其中A 和α可以是任意实数或任意复数,表示为00(),j j e A A e σωφα+==式(1.3)可改写为 0000()00[]cos()sin()n j n n n x n A e A e n j A e n σωφσσωφωφ++==+++ (1.4) 带有常数振幅的实正弦序列形如0[]cos()x n A n ωφ=+ (1.5)其中A ,0ω和φ是实数。
在式(1.4)和(1.5)中,参数A ,0ω和φ分别称为正弦序列[]x n 的振幅、角频率和初始相位。
002f ωπ=称为频率。
(2)序列的基本运算长度N 的两个序列[]x n 和[]h n 的乘积,产生长度也为N 的序列[]y n[][][]y n x n h n =⋅ (1.6)长度为N 的两个序列[]x n 和[]h n 相加,产生长度也为N 的序列[]y n[][][]y n x n h n =+ (1.7)用标量A 与长度为N 的序列[]x n 相乘,得到长度为N 的序列[]y n[][]y n A x n =⋅ (1.8)无限长序列[]x n 通过时间反转,可得到无限长序列[]y n[][]y n x n =- (1.9)无限长序列[]x n 通过M 延时,可得到无限长序列[]y n[][]y n x n M =- (1.10)若M 是一个负数,式(1.10)运算得到序列[]x n 的超前。
实验一 熟悉MATLAB 环境一、实验目的1. 熟悉MATLAB 环境的主要操作命令。
2. 掌握简单的绘图命令。
3. 用MATLAB 编程并学会创建函数。
二、实验仪器装有MATLAB 语言的计算机 三、实验原理MATLAB 的基本命令和函数 四、实验内容和要求1. 序列的产生1)编写MATLAB 程序,产生并绘制一个单位样本(单位冲激或单位阶跃)序列2)编写MATLAB 程序,生成一个实数值的指数序列(例:1508.0)(≤≤=n n x n 或150)()32.0(≤≤=+n e n x nj );3)编写MATLAB 程序,产生一个正弦信号;(例:150)1.025.0sin(2)2.0125.0cos(3)(≤≤+++=n n n n x ππππ)实验二离散序列的基本运算一、实验目的(1)进一步了解离散时间序列时域的基本运算。
(2)了解MATLAB语言进行离散序列运算的常用函数,掌握离散序列运算程序的编写方法。
二、实验原理离散序列的时域运算包括信号的相加、相乘,信号的时域变换包括信号的移位、反折、倒相及信号的尺度变换等。
三、实验内容1、x(n)=u(n-2)+u(n+2),(-5<n<5)。
MATLAB程序如下:n1=-5;n2=5;n01=2,n02=-2;n=n1:n2;x1=[(n-n01)>=0];x2=[(n-n02)>=0];x3=x1+x2;subplot(3,1,1);stem(n,x1,'filled');axis([n1,n2,1.1*min(x1),1.1*max(x1)]);ylabel('u(n-2)');subplot(3,1,2);stem(n,x2,'filled');axis([n1,n2,1.1*min(x2),1.1*max(x2)]);ylabel('u(n+2)');subplot(3,1,3);stem(n,x3,'filled');axis([n1,n2,1.1*min(x3),1.1*max(x3)]);ylabel('u(n-2)+u(n+2)');2、已知x(n)=3cos(2πn/10),试显示x(n-3)和x(n+3)在0<n<20区间的波形。
《数字信号处理》实验指导书实验一 常见离散信号的产生一、实验目的1. 加深对离散信号的理解。
2. 掌握典型离散信号的Matlab 产生和显示。
二、实验原理及方法在MATLAB 中,序列是用矩阵向量表示,但它没有包含采样信息,即序列位置信息,为此,要表示一个序列需要建立两个向量;一是时间序列n,或称位置序列,另一个为取值序列x ,表示如下: n=[…,-3,-2,-1,0,1,2,3,…]x=[…,6,3,5,2,1,7,9,…]一般程序都从0 位置起始,则x= [x(0), x(1), x(2),…]对于多维信号需要建立矩阵来表示,矩阵的每个列向量代表一维信号。
数字信号处理中常用的信号有指数信号、正弦信号、余弦信号、方波信号、锯齿波信号等,在MATLAB 语言中分别由exp, sin, cos, square, sawtooth 等函数来实现。
三、实验内容1. 用MATLAB 编制程序,分别产生长度为N(由输入确定)的序列:①单位冲击响应序列:()n δ可用MATLAB 中zeros 函数来实现; ②单位阶跃序列:u(n)可用MATLAB 中ones 函数来实现; ③正弦序列:()sin()x n n ω=; ④指数序列:(),nx n a n =-∞<<+∞⑤复指数序列:用exp 函数实现()0()a jb nx n K e+=,并给出该复指数序列的实部、虚部、幅值和相位的图形。
(其中00.2,0.5,4,40a b K N =-===.)参考流程图:四、实验报告要求1. 写出实验程序,绘出单位阶跃序列、单位阶跃序列、正弦序列、指数序列的图形以及绘 出复指数序列的实部、虚部、幅值和相位的图形。
2. 序列信号的实现方法。
3. 在计算机上实现正弦序列0()sin(2)x n A fn πϕ=+。
实验二 离散信号的运算一、实验目的1. 掌握离散信号的时域特性。
2. 用MATLAB 实现离散信号的各种运算。
实验报告课程名称:数字信号处理授课班级:学号:姓名:指导老师:实验一离散时间信号及系统的时域分析实验类别:基础性实验1实验目的:(1)了解MA TLAB 程序设计语言的基本特点,熟悉MA TLAB软件运行环境。
(2)熟悉MA TLAB中产生信号和绘制信号的基本命令,学会用MA TLAB在时域中产生一些基本的离散时间信号,并对这些信号进行一些基本的运算。
(3)通过MA TLAB仿真一些简单的离散时间系统,并研究它们的时域特性。
(4)通过MA TLAB进行卷积运算,利用卷积方法观察分析系统的时域特性。
2. 实验报告要求●简述实验原理及目的。
●结合实验中所得给定典型序列幅频特性曲线,与理论结果比较,并分析说明误差产生的原因以及用FFT作谱分析时有关参数的选择方法。
●记录调试运行情况及所遇问题的解决方法。
3.实验内容:思考题:9.2.1 运行程序P9.2.1,哪个参数控制该序列的增长或衰减:哪个参数控制该序列的振幅?若需产生实指数序列,应对程序作何修改?9.2.2运行程序P9.2.1,该序列的频率是多少?怎样改变它?哪个参数控制该序列的相位?哪个参数可以控制该序列的振幅?该序列的周期是多少?9.2.3 运行程序P9.2.3,对加权输入得到的y(n)与在相同权系数下输出y1(n)和y2(n)相加得到的yt(n)进行比较,这两个序列是否相等?该系统是线性系统吗?9.2.4 假定另一个系统为y(n)=x(n)x(n-1)修改程序,计算这个系统的输出序列y1(n),y2(n)和y(n)。
比较有y(n)和yt(n)。
这两个序列是否相等?该系统是线性系统吗?(提高部分)9.2.5运行程序P9.2.4,并比较输出序列y(n)和yd(n-10)。
这两个序列之间有什么关系?该系统是时不变系统吗?9.2.6 考虑另一个系统:修改程序,以仿真上面的系统并确定该系统是否为时不变系统。
(选做)n = 0:40; D = 10;a = 3.0;b = -2;x = a*cos(2*pi*0.1*n) + b*cos(2*pi*0.4*n);[x1,n1]=sigmult(n,n,x,n)[x2,n2]=sigshift(x,n,1)[y,ny1]= sigadd(x1,n1,x2,n2)[y1,ny11]= sigshift(y,ny1,D)[sx,sn]= sigshift(x,n,D)[sx1,sn1]=sigmult(n,n, sx,sn)[sx2,sn2]=sigshift(sx,sn,1)[y2,ny2]= sigadd(sx1,sn1,sx2,sn2)D= sigadd(y1,ny11,y2,ny22)六、实验心得体会:实验时间批阅老师实验成绩实验二 FFT 实现数字滤波实验类别:提高性实验 1.实验目的(1) 通过这一实验,加深理解FFT 在实现数字滤波(或快速卷积)中的重要作用,更好的利用FFT 进行数字信号处理。
电子科技大学
实
验报告学生姓名:项阳学号:2010231060011
指导教师:邓建一、实验项目名称:数字信号的产生和基本运算
二、实验目的:
数字信号处理系统中的信号都是以离散时间形态存在,所以对离散时间信号的研究是数字信号处理的基本所在。
而要研究离散时间信号,首先需要产生出各种离散时间信号。
通过本实验,学生将学习如何用MATLAB 产生一些常见的离散时间信号并进行一些基本运算,并通过MATLAB 中的绘图工具对产生的信号和运算结果进行观察,加深对常用离散信号的理解。
三、实验内容:
1.在给定的区间上产生并画出下列序列:
(a)5
5),4()2(2)(≤≤---+=n n n n x δδ(b)0.3(10)()[()(10)]10[(10)(20)],020
n x n n u n u n e u n u n n --=--+---≤≤(c),500),(2.0)5/04.0cos()(≤≤++=n n w n n x ππ)(n w 为均值为0、
方差为1的高斯随机序列。
2.设}1,2,3,4,5,6,7,6,5,4,3,2,1{)(=n x ,画出下面序列
(a)1()2(5)3(4)
x n x n x n =--+(b))
2()()3()(2-+-=n x n x n x n x 3.设输入}2,4,1,0,7,11,3{)(-=n x ,LTI 系统的41},1,2,5,0,3,2{)(≤≤--=n n h ,画出输出)(*)()(n h n x n y =的图形。
4.设输入)10()()(--=n u n u n x ,500),()9.0()(≤≤=n n u n h n ,画出LTI 系统的输出)(*)()(n h n x n y =的图形。
四、实验原理:
1.单位抽样序列:
⎩⎨⎧=01)(n δ0
≠=n n 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:
⎩⎨⎧=-01)(k n δ0
≠=n k
n 2.单位阶跃序列
⎩⎨⎧01)(n u 0
<≥n n 3.正弦序列
0()cos()
x n A n ωϕ=+,,0ωA 和φ都是实数,分别为正弦信号()x n 的振幅,角频率和初始相位。
πω200=f 为频率。
4.实指数序列
n
A n x α=)(5.复指数序列
n
j e n x )()(ωσ+=6.随机序列
randn(1,N)产生一个长度为N、均值为0、方差为1的高斯随机序列。
7.卷积运算
∑∞-∞=-=
=n m n h m x n h n x n y )
()()(*)()(五、实验器材(设备、元器件):
PC 机、Windows XP 、MatLab 7.1
六、实验步骤:
本实验要求学生运用MATLAB编程产生一些基本的离散时间信号,并通过MATLAB的几种绘图指令画出这些图形,以加深对相关教学内容的理解,同时也通过这些简单的函数练习了MATLAB的使用。
七、关键源代码
1.(a)
n=[-5:5];
x=2*impseq(-2,-5,5)-impseq(4,-5,5);
stem(n,x);title(‘Sequence in Problem1(a)’)
xlabel(‘n’);ylabel(‘x(n)’);
1.(b)
n=[0:20];
x1=n.*(stepseq(0,0,20)-stepseq(10,0,20));
x2=10*exp(-0.3*(n-10)).*(stepseq(10,0,20)-stepseq(20,0,20));
x=x1+x2;
subplot(2,2,3);stem(n,x);title(‘Sequence in Problem1(b)’)
xlabel(‘n’);ylabel(‘x(n)’);
1.(c)
n=[0:50];
x=cos(0.04*pi*n)+0.2*randn(size(n));
subplot(2,2,2);stem(n,x);title(‘Sequence in Problem1(c)’)
xlabel(‘n’);ylabel(‘x(n)’);
2.(a)
n=-2:10;x=[1:7,6:-1:1];
[x11,n11]=sigshift(x,n,5);[x12,n12]=sigshift(x,n,-4);
[x1,n1]=sigadd(2*x11,n11,-3*x12,n12);
subplot(2,1,1);stem(n1,x1);title(‘Sequence in Problem2(a)’)
xlabel(‘n’);ylabel(‘x1(n)’);
2.(b)
[x21,n21]=sigfold(x,n);[x21,n21]=sigshift(x21,n21,3);
[x22,n22]=sigshift(x,n,2);[x22,n22]=sigmult(x,n,x22,n22);
[x2,n2]=sigadd(x21,n21,x22,n22);
subplot(2,1,2);stem(n2,x2);title(‘Sequence in Problem2(b)’) xlabel(‘n’);ylabel(‘x2(n)’);
3.
x=[3,11,7,0,-1,4,2];nx=[-3:3];
h=[2,3,0,-5,2,1];nh=[-1:4];
[y,ny]=conv_m(x,nx,h,nh)
subplot(2,1,2);stem(ny,y);title(‘Sequence in Problem3’)
xlabel(‘ny’);ylabel(‘y’);
4.
b=[1];a=[1,-0.9];
n=0:50;x=stepseq(0,0,50)-stepseq(10,0,50);
y=filter(b,a,x);
subplot(1,1,1);
subplot(2,1,2);stem(n,y);title('Output sequence')
xlabel('n');ylabel('y');axis([0,50,-0.5,8]);
八、实验数据及结果分析:
1.1a
1.1b
1.1c
1.2a
1.2b
1.3
1.4
九、实验结论:
数字信号处理系统中的信号都是以离散时间形态存在,所以对离散时间信号的研究是数字信号处理的基本所在。
而要研究离散时间信号,首先需要产生出各种离散时间信号。
十、总结及心得体会:
学会了运用MATLAB编程产生基本的离散时间信号,并通过MATLAB的几种绘图指令画出这些图形,加深了对相关教学内容的理解,同时也通过这些简单的函数练习了MATLAB的使用。
十一、对本实验过程及方法、手段的改进建议:
建议扩展MATLAB基础讲解
报告评分:
指导教师签字:。