数字信号处理实验离散序列的基本运算

合集下载

数字信号处理的三种基本运算

数字信号处理的三种基本运算

数字信号处理的三种基本运算
数字信号处理(DSP)是涉及对数字信号进行各种操作的过程,包括分析、变换、滤波、调制和解调等。

以下是数字信号处理的三种基本运算:
1. 线性运算
线性运算是数字信号处理中最基本的运算之一。

线性运算是指输出信号与输入信号成正比,即输出信号的幅度与输入信号的幅度成正比。

线性运算可以用数学表达式表示为y(n)=kx(n),其中y(n)和x(n)分别是输出信号和输入信号,k是常数。

2. 离散化运算
离散化运算是将连续信号转换为离散信号的过程。

在实际的数字信号处理中,所有的信号都是离散的,这是因为我们的采样设备只能获取有限数量的样本点。

离散化运算可以通过采样和量化来实现。

采样是将连续信号转换为时间离散的信号,量化是将采样值转换为有限数量的幅度离散值。

3. 周期化运算
周期化运算是指将一个非周期信号转换为周期信号的过程。

周期化运算可以帮助我们更好地理解信号的特性,例如通过将一个非周期性的噪声信号转换为周期性的信号,我们可以更容易地识别出噪声的类型和来源。

周期化运算可以通过傅里叶变换等工具来实现。

以上三种基本运算在数字信号处理中具有广泛的应用,是理解和处理数字信号的重要工具。

数字信号处理----离散时间信号

数字信号处理----离散时间信号

数字信号处理----离散时间信号数字信号是模拟信号抽样⽽来的,也叫做序列x(n),值是在各时间点的抽样值。

x(n)=x a(t)|t=nT = x a(nT), n = ....,-2,-1,0,1,2,....T为两个时间样本之间的间隔或抽样周期,抽样间隔T的倒数,记为抽样率F T,F T=1/T。

信号可能是源源不断传输的,也可能是截取的⼀段,所以可分为有限长序列和⽆限长序列。

若左右两边都⽆限长,称作双边序列,若是⼀边⽆限长,称作左序列或⼜序列。

序列的基本运算1. 积运算w[n] = x[n] * y[n] ,对应时刻相乘,调制、滤波的实质就是积运算(这点以后再谈),这个过程通常也叫加窗,由⽆限长序列⽣成有限长序列。

2. 标量乘法w[n] = Ax[n],实现信号的放⼤等作⽤。

3. 加w[n] = x[n]+y[n],两路信号相加,或者信号与噪声相加。

4. 时移包括延迟和超前,就是将信号按时间进⾏平移。

w[n] = x[n-5] 延迟5个时间单位5. 时间反转w[n] = x[-n] ,以0时刻为中⼼,将信号左右翻转⼀下。

6. 混合运算混合运算就是上⾯⼏种运算的混合,实际的信号处理电路就是实现混合运算。

序列的分类1. 基于对称性若满⾜ x[n] = x*[-n] ,称为共轭对称序列;若满⾜ x[n] = - x*[-n] ,成为共轭反对称序列。

>> 实共轭对称序列称为偶序列>> 实共轭反对称序列称为奇序列>> 任何复序列都能表⽰成共轭对称部分x cs[n]与共轭反对称部分x cs[n]之和2. 周期信号与⾮周期信号3. 能量信号与功率信号某时刻信号的能量是此刻信号幅值的平⽅,总能量就是所有时刻能量的求和。

有限长的求和会是⼀个有限的值,⽆限长的信号能量求和结果也是⽆限的。

能量信号⼀般指有限长信号,能量是有限的。

功率信号⼀般指⽆限长信号,它的能量是⽆限的,但功率是有限的。

《数字信号处理》序列的基本运算和时域变换与离散信号的卷积和实验

《数字信号处理》序列的基本运算和时域变换与离散信号的卷积和实验

《数字信号处理》序列的基本运算和时域变换与离散信号的卷积和实验一、实验目的1、掌握两个离散信号卷积和的计算方法和编程技术。

2、进一步熟悉用MATLAB 描绘二维图像的方法。

3、熟悉用MA TLAB 描绘二维图像的方法。

4、掌握用MA TLAB 对序列进行基本的运算和时域变换的方法。

二、实验器材 MATLAB 软件2019三、实验原理离散信号的卷积和原理:两个离散序列x (n )与y (n )的卷积和f (n )定义为∑∞-∞=-=*=m m n y m x n y n x n f )()()()()(由于通常信号处理中所碰到的都是有始信号或有限时间信号,因此在实际计算卷积和时,求和是在有限范围内进行的。

计算过程中上下限的选取和所得结果的分布区间取决于参与卷积的两个序列,下面将分别进行讨论:1、两个从n = 0开始的序列)()()(n u n x n x =和)()()(n u n y n y =的卷积和∑∑=∞-∞=-=--=nm m n u m n y m x m n u m n y m u m x n f 0)()]()([)()()()()( (1)上式右边因子u (n )表示卷积和的结果也是一个从n = 0开始的序列。

2、从n = n 1开始的序列)()()(1n n u n x n x -=和从n = n 2开始的序列)()()(2n n u n y n y -=的卷积和,其中n 1和n 2为任意整数。

∑∑-=∞-∞=---=----=21)()]()([)()()()()(2121n n n m m n nn u m n y m x n m n u m n y n m u m x n f (2)上式右边因子u (n -n 1-n 2)表示卷积和是一个从n = n 1+n 2开始的序列。

上机:conv.m 用来实现两个离散序列的线性卷积。

其调用格式是:y=conv(x,h)若x 的长度为N ,h 的长度为M ,则y 的长度L=N+M -1。

DSP实验报告――离散信号的产生及运算(精)

DSP实验报告――离散信号的产生及运算(精)

离散信号的产生(chǎnshēng)及运算报告一、实验(shíyàn)目的:1、复习(fùxí)和巩固数字信号处理中离散信号的产生和运算2、学习和掌握(zhǎngwò)用MATLAB产生离散信号的方法3、学习(xuéxí)和掌握用MATLAB对离散信号进行运算二、实验原理:1.用MATLAB函数产生离散信号信号是数字信号处理的最基本内容。

没有信号,数字信号处理就没了工作对象。

MATLAB7.0内部提供了大量的函数,用来产生常用的信号波形。

例如,三角函数(sin,cos),指数函数(exp),锯齿波函数(sawtooth), 随机数函数(rand)等。

1 产生被噪声污染的正弦信号用随机数函数产生污染的正弦信号。

2 产生单位脉冲序列和单位阶跃序列按定义,单位脉冲序列为单位阶跃序列为。

3 矩形脉冲信号:在MATLAB 中用rectpuls 函数来表示,其调用形式为:y=rectpuls(t,width,用以产生一个幅值为1,宽度为width,相对于t=0 点左右对称的矩形波信号,该函数的横坐标范围(fànwéi)由向量t 决定,是以t=0 为中心向左右各展开width/2 的范围,width 的默认值为1。

例:以t=2T(即t-2×T=0为对称中心的矩形脉冲信号(xìnhào)的MATLAB 源程序如下:(取T=1)t=0:0.001:4;T=1;ft=rectpuls(t-2*T,2*T;plot(t,ft;grid on; axis([0 4 –0.5 1.5];4 周期性矩形波(方波)信号在MATLAB 中用square 函数来表示,其调用形式为:y=square(t,DUTY,用以产生一个周期为2π、幅值为±1 的周期性方波信号,其中的DUTY参数表示占空比,即在信号的一个周期中正值(zhènɡ zhí)所占的百分比。

时域离散信号实验报告(3篇)

时域离散信号实验报告(3篇)

第1篇一、实验目的1. 理解时域离散信号的基本概念和特性。

2. 掌握时域离散信号的表示方法。

3. 熟悉常用时域离散信号的产生方法。

4. 掌握时域离散信号的基本运算方法。

5. 通过MATLAB软件进行时域离散信号的仿真分析。

二、实验原理时域离散信号是指在时间轴上取离散值的一类信号。

这类信号在时间上不连续,但在数值上可以取到任意值。

时域离散信号在数字信号处理领域有着广泛的应用,如通信、图像处理、语音处理等。

时域离散信号的基本表示方法有:1. 序列表示法:用数学符号表示离散信号,如 \( x[n] \) 表示离散时间信号。

2. 图形表示法:用图形表示离散信号,如用折线图表示序列。

3. 时域波形图表示法:用波形图表示离散信号,如用MATLAB软件生成的波形图。

常用时域离散信号的产生方法包括:1. 单位阶跃信号:表示信号在某个时刻发生突变。

2. 单位冲激信号:表示信号在某个时刻发生瞬时脉冲。

3. 正弦信号:表示信号在时间上呈现正弦波形。

4. 矩形脉冲信号:表示信号在时间上呈现矩形波形。

时域离散信号的基本运算方法包括:1. 加法:将两个离散信号相加。

2. 乘法:将两个离散信号相乘。

3. 卷积:将一个离散信号与另一个离散信号的移位序列进行乘法运算。

4. 反褶:将离散信号沿时间轴翻转。

三、实验内容1. 实验一:时域离散信号的表示方法(1)使用序列表示法表示以下信号:- 单位阶跃信号:\( u[n] \)- 单位冲激信号:\( \delta[n] \)- 正弦信号:\( \sin(2\pi f_0 n) \)- 矩形脉冲信号:\( \text{rect}(n) \)(2)使用图形表示法绘制以上信号。

2. 实验二:时域离散信号的产生方法(1)使用MATLAB软件生成以下信号:- 单位阶跃信号- 单位冲激信号- 正弦信号(频率为1Hz)- 矩形脉冲信号(宽度为2)(2)观察并分析信号的波形。

3. 实验三:时域离散信号的基本运算(1)使用MATLAB软件对以下信号进行加法运算:- \( u[n] \)- \( \sin(2\pi f_0 n) \)(2)使用MATLAB软件对以下信号进行乘法运算:- \( u[n] \)- \( \sin(2\pi f_0 n) \)(3)使用MATLAB软件对以下信号进行卷积运算:- \( u[n] \)- \( \sin(2\pi f_0 n) \)(4)使用MATLAB软件对以下信号进行反褶运算:- \( u[n] \)4. 实验四:时域离散信号的仿真分析(1)使用MATLAB软件对以下系统进行时域分析:- 系统函数:\( H(z) = \frac{1}{1 - 0.5z^{-1}} \)(2)观察并分析系统的单位冲激响应。

数字信号处理实验报告

数字信号处理实验报告

一、实验目的1. 理解数字信号处理的基本概念和原理。

2. 掌握离散时间信号的基本运算和变换方法。

3. 熟悉数字滤波器的设计和实现。

4. 培养实验操作能力和数据分析能力。

二、实验原理数字信号处理(Digital Signal Processing,DSP)是利用计算机对信号进行采样、量化、处理和分析的一种技术。

本实验主要涉及以下内容:1. 离散时间信号:离散时间信号是指时间上离散的信号,通常用序列表示。

2. 离散时间系统的时域分析:分析离散时间系统的时域特性,如稳定性、因果性、线性等。

3. 离散时间信号的变换:包括离散时间傅里叶变换(DTFT)、离散傅里叶变换(DFT)和快速傅里叶变换(FFT)等。

4. 数字滤波器:设计、实现和分析数字滤波器,如低通、高通、带通、带阻滤波器等。

三、实验内容1. 离散时间信号的时域运算(1)实验目的:掌握离散时间信号的时域运算方法。

(2)实验步骤:a. 使用MATLAB生成两个离散时间信号;b. 进行时域运算,如加、减、乘、除等;c. 绘制运算结果的时域波形图。

2. 离散时间信号的变换(1)实验目的:掌握离散时间信号的变换方法。

(2)实验步骤:a. 使用MATLAB生成一个离散时间信号;b. 进行DTFT、DFT和FFT变换;c. 绘制变换结果的频域波形图。

3. 数字滤波器的设计和实现(1)实验目的:掌握数字滤波器的设计和实现方法。

(2)实验步骤:a. 设计一个低通滤波器,如巴特沃斯滤波器、切比雪夫滤波器等;b. 使用MATLAB实现滤波器;c. 使用MATLAB对滤波器进行时域和频域分析。

4. 数字滤波器的应用(1)实验目的:掌握数字滤波器的应用。

(2)实验步骤:a. 采集一段语音信号;b. 使用数字滤波器对语音信号进行降噪处理;c. 比较降噪前后的语音信号,分析滤波器的效果。

四、实验结果与分析1. 离散时间信号的时域运算实验结果显示,通过MATLAB可以方便地进行离散时间信号的时域运算,并绘制出运算结果的时域波形图。

数字信号处理实验总结

数字信号处理实验总结

实验一 离散信号及运算一、 实验目的1. 掌握MATLAB 语言的基本功能及实现方法;2. 掌握MATLAB 中各种常用序列的表示和显示方法;3. 熟练运用MATLAB 进行离散信号的各种运算。

二、 实验原理我们所接触的信号大多为连续信号,而计算机及其他设备处理的大多为数字信号。

为了便于处理,往往要对信号进行处理使之变成离散数字信号。

对信号进行时间上的量化(即采样)是对信号作数字化处理的第一个环节,要求理解采样的原理和采样的性质,知道采样前后信号的变化及对离散信号和系统的影响。

三、 实验内容1、用MATLAB 实现下列序列,并画出图形:① 单位采样序列移位,100),3()(≤≤-=n n n x δ; 提示:实现单位采样序列:0001{)(≠==n n n δ,可通过以下语句实现:x=zeros(1,N);x(1)=1; n=0:10;x=[zeros(1,3),1,zeros(1,7)];stem(n,x); 01234567891000.10.20.30.40.50.60.70.80.91② 单位阶跃序列移位,100),3()(≤≤-=n n u n x提示:实现单位阶跃序列:0001{)(≠==n n n u ,可通过以下语句实现:x=ones(1,N);n=0:10; x=[zeros(1,3),1,ones(1,7)]; stem(n,x) 01234567891000.10.20.30.40.50.60.70.80.91③正弦序列,100),****2sin(*)(≤≤=n T n f A n x s π,其中A=2;f=10;s T =0.005; A=2; f=10; Ts=0.005; n=0:10;x=A*sin(2*pi*f*n*Ts); stem(n,x) 01234567891000.20.40.60.811.21.41.61.82③ 指数序列,100,9.0)(≤≤=n n x n n=0:10; x=0.9.^n; stem(n,x) 01234567891000.10.20.30.40.50.60.70.80.91④ 复指数序列,0.05+j*pi/4*()e ,2020n x n n =-≤≤,画出该序列的实部、虚部,幅值和相位。

《数字信号处理》实验指导书(正文)

《数字信号处理》实验指导书(正文)

实验一 离散时间信号分析一、实验目的1.掌握各种常用的序列,理解其数学表达式和波形表示。

2.掌握在计算机中生成及绘制数字信号波形的方法。

3.掌握序列的相加、相乘、移位、反褶等基本运算及计算机实现与作用。

4.掌握线性卷积软件实现的方法。

5.掌握计算机的使用方法和常用系统软件及应用软件的使用。

6.通过编程,上机调试程序,进一步增强使用计算机解决问题的能力。

二、实验原理1.序列的基本概念离散时间信号在数学上可用时间序列来表示,其中代表序列的第n 个数字,n 代表时间的序列,n 的取值范围为∞<<∞-n 的整数,n 取其它值)(n x 没有意义。

离散时间信号可以是由模拟信号通过采样得到,例如对)(t x a 模拟信号进行等间隔采样,采样间隔为T ,得到一个{})(nT x a 有序的数字序列就是离散时间信号,简称序列。

2.常用序列常用序列有:单位脉冲序列(单位采样))(n δ、单位阶跃序列)(n u 、矩形序列)(n R N 、实指数序列、复指数序列、正弦型序列等。

3.序列的基本运算序列的运算包括移位、反褶、和、积、标乘、累加、差分运算等。

4.序列的卷积运算∑∞∞-*=-=)()()()()(n h n x m n h m x n y上式的运算关系称为卷积运算,式中代表两个序列卷积运算。

两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。

其计算的过程包括以下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 的对应点值相乘。

(4)求和:将以上所有对应点的乘积累加起来,即得)(n y 。

数字信号处理实验指导

数字信号处理实验指导

实验一 离散时间信号与系统的时域分析(基础验证型)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 的超前。

数字信号处理实验报告6_离散傅里叶变换及快速算法

数字信号处理实验报告6_离散傅里叶变换及快速算法

实验六离散傅立叶变换及其快速算法一、实验目的:掌握快速傅立叶变换的应用方法;掌握离散余弦变换的应用方法;掌握Z变换的应用方法;了解Chip z变换的基本概念;掌握Hilbeit变换的初步应用;了解倒谱变换的基本概念。

二、实验仪器:电脑一台,MATLAB6.5或更高级版本软件一套。

三、实验内容:3.1快速傅立叶变换(FFT)DFT是信号分析与处理中的一种重要变换。

但是直接计算DFT的运算量与变换的长度N的平方成正比,当N较大时,计算量太大。

在快速傅里叶变换(简称FFT)出现之前,直接用DFT算法进行谱分析和信号的实时处理是不实际的。

FFT使得DFT的运算效率大大提高,为数字信号处理技术应用于各种信号的实时处理创造了条件,推动了数字信号处理技术的发展。

FFT 算法的MATLAB 实现MATLAB 提供fft 函数来计算x(n)的DFT,fft 函数是有机器语言,而不是以MATLAB 指令格式写成的,因此它的执行速度很快。

格式:y=fft(x),计算信号x 的快速傅里叶变换y 。

当y 为矩阵(多通道信号)时,计算x 中每一列信号的离散傅里叶变换。

当x 的长度为2的幂时,有基2算法,否则采用较慢的分裂基算法。

Y=fft(x,n),计算n 点FFT ,当x 的长度大于n 时,截断x 否则补零。

Y=fft(x,n),计算n 点FFT ,当x 的长度大于n 时,截断x ,否则补零。

IFFT 可由ifft 函数来计算。

在信号处理中,DFT 的计算具有举足轻重的地位,,信号的相关、滤波、谱估计等都要通过DFT 来实现。

然而,当N 很大的时候,求一个N 点的DFT 要完成N N ⨯次复数乘法和)1(-N N 次复数加法,其计算量相当大。

1965年J.W.Cooley 和J.W.Tukey 巧妙地利用N W 因子的周期性和对称性,构造了一个DFT 快速算法,即快速傅立叶变换(FFT)。

概念 通过前面的知识,已经知道有限列长为N 的序列)(n x 的DFT 变换为nknN n Wn x k X ∑-==1)()(12,1,0-=N k其逆变换为∑-=-=10)(1)(N k nkNW k X N n x1,1,0-=N n由于MATLAB 软件本身的特点,序列或向量元素下标从1开始记录,而不是从0开始。

离散序列的基本运算课件

离散序列的基本运算课件
实例二
在计算机图形学中,离散序列的除法运算可以用于计算图像的像素值。例如,对于一幅图像的两个像素值x和y, 通过离散序列的除法运算可以计算出新的像素值x/y,从而实现图像的缩放、旋转等变换。
感谢您的观看
THANKS
02
离散序列的加法运算
加法运算的定义与性质
定义
离散序列的加法运算是指将两个序列的对应项进行相加,得到一个新的序列。
性质
离散序列的加法运算满足交换律、结合律和单位元性质,即交换两个序列的顺 序不影响结果,结合任意三个序列的加法也不影响结果,存在一个零序列,与 任何序列相加都等于该序列本身。
加法运算的运算规则
除法运算的运算规则
规则一
当除数不为0时,离散序列的除 法运算可以连续进行。即,如果
a/b=x,c/d=y,则 (a/b)/(c/d)=x/y=(a/b)*(d/c)=x
*d/b*c。
规则二
当除数为0时,离散序列的除法 运算没有意义。即,如果除数为
0,则结果无法定义。规则三对于任意离散序列a和b,如果存 在整数m和n,使得a=mb+nc, 则a/b=(mb+nc)/b=m+(nc)/b。
04
离散序列的乘法运算
乘法运算的定义与性质
定义
离散序列的乘法运算是指将两个序列对应位置的元素相乘,得到一个新的序列。
性质
乘法运算满足结合律和交换律,但不满足消去律。
乘法运算的运算规则
01 02
规则一
对于任意两个序列$a_n$和$b_n$,其乘积定义为$(a_1, a_2, ldots, a_n) times (b_1, b_2, ldots, b_n) = (a_1 times b_1, a_2 times b_2, ldots, a_n times b_n)$。

第3章离散序列的基本运算

第3章离散序列的基本运算

8
图3-1 u(n)及其位移序列u(n+6)和u(n-4)
9
例3-2 已知一正弦信号:
x(n)=2 sin 2 πn 10
求其移位信号x(n-2)和x(n+2)在-2<n<10区间的序列
波形。
解 MATLAB程序如下:
n=-2:10;n0=2;n1=-2;
x=2*sin(2*pi*n/10);
%建)=n sin(n),试显示在0<n<20区间的下 列波形:
y1(n)=x(n-3),y2(n)=x(-n),y3(n)=-x(n), y4(n)=x(-n+3),y5(n)=x(n/2) *(4)已知信号
2n 5,
x(n)


6,

0,
4 n 1 0n4 其它
号波形。为研究问题的方便,取0<n<20,并将n缩小20倍 进行波形显示。
解 MATLAB程序如下:
n=(0:20)/20;
31
x=sin(2*pi*n); %建立原信号x(n) x1=sin(2*pi*n*2);%建立x(2n)信号 x2=sin(2*pi*n/2);%建立x(n/2)信号 subplot(3,1,1),stem(n,x,filled); ylabel(x(n)); subplot(3,1,2),stem(n,x1,filled); ylabel(x(2n)); subplot(3,1,3),stem(n,x2,filled); ylabel(x(n/2)); 结果如图3-8所示。
(2) 思考题: ① 当进行离散序列的相加、 相乘运算时, 如果参加 运算的两个序列向量维数不同, 应进 行怎样的处理? ② 回答预习思考题。
3

《数字信号处理》实验讲义(信息计算)

《数字信号处理》实验讲义(信息计算)

《数字信号处理》实验指导书实验一 常见离散信号的产生一、实验目的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 进行数字信号处理。

数字信号处理实验一 时域离散信号的产生与基本运算

数字信号处理实验一 时域离散信号的产生与基本运算

实验一 时域离散信号的产生与基本运算一、实验目的1、了解常用的时域离散信号及其特点;2、掌握Matlab 产生常用时域离散信号的方法;3、掌握时域离散信号简单的基本运算方法;二、实验内容1、自己设定参数,分别表示并绘制单位抽样序列、单位阶跃序列、正弦序列、 实指数序列、随机序列;2、自己设定参数,分别表示并绘制信号移位、信号相加、信号相乘、信号翻转、 信号和、信号积、信号能量。

3、已知信号⎪⎩⎪⎨⎧≤≤-≤≤-+=其他040614452)(n n n n x(1) 描绘)(n x 序列的波形;(2) 用延迟的单位脉冲序列及其加权和表示)(n x 序列; (3) 描绘一下序列的波形)2()(),2(2)(),2(2)(321n x n x n x n x n x n x -=+=-=三、实现步骤1、自己设定参数,分别表示并绘制单位抽样序列、单位阶跃序列、正弦序列、 实指数序列、随机序列。

输出图形如图1所示。

x=zeros(1,10); x(2)=1;subplot(3,2,1); stem(x,'filled')axis([0,10,-0.2,1]); title('单位抽样序列');N=10;u=ones(1,N); subplot(3,2,2); stem(u,'filled') axis([-10,10,0,1]); title('单位阶跃序列');x=-20:1:20;y=sin(0.2*pi.*x+0.5*pi); subplot(3,2,3);stem(x,y,'filled'); axis([-20,20,-2,2]); title('正弦序列');n=0:10; a1=1/2; y1=a1.^n;subplot(3,2,4);stem(n,y1,'filled');axis([0,10,0,1]);title('实指数序列,a=1/2');n=0:10;a2=2;y2=a2.^n;subplot(3,2,5);stem(n,y2,'filled');title('实指数序列,a=2');y=rand(1,20);subplot(3,2,6);stem(y,'filled');title('随机序列');图12、自己设定参数,分别表示并绘制信号移位、信号相加、信号相乘、信号翻转、信号和、信号积、信号能量。

数字信号处理实验离散序列的基本运算

数字信号处理实验离散序列的基本运算
subplot(1,2,2),stem(n1,x1,'filled','k');
title('x(-n)');
五、序列的尺度变换
n=0:40;tn=n./20;
x=sin(2*pi*tn);
x1=sin(2*pi*tn*2);
x2=sin(2*pi*tn/2);
subplot(3,1,1),stem(tn,x,'filled','k');
ylabel('δ(n-4)');
subplot(3,1,3);stem(n,x3,'filled','k');
axis([n1,n2,1.1*min(x3),1.1*max(x3)]);
ylabel('δ(n-2)+δ(n-4)');
2.n1=-4:6;n01=-2;
x1=[(n1-n01)>=0];
x=y1+y2;
subplot(3,1,1);
stem(n1,x1,'filled','k');
ylabel('x1(n)');
axis([min(n),max(n),1.1*min(x),1.1*max(x)]);
subplot(3,1,2);
stem(n2,x2,'filled','k');
ylabel('x2(n)');
axis([min(n),max(n),1.1*min(x),1.1*max(x)]);
subplot(3,1,3);
stem(n,x,'filled','k');

数字信号处理-序列的基本运算

数字信号处理-序列的基本运算

离散时间信号的基本运算离散时间信号(即序列)的基本运算包括移位、反折、求积、乘积、差分运算和尺度变换,下面分别介绍。

1.序列的移位设某一序列为()x n ,若0m >,则()x n m -表示序列()x n 整体右移了m 个样点形成的新序列,也称()x n m -是()x n 的m 个样点的延迟。

此时()x n m +表示序列()x n 整体左移了m 个样点形成的新序列,也称()x n m +是()x n 的m 个样点的超前。

例如,()x n 如图3-2-4(a )所示,则(2)x n -和(2)x n +分别如图3-2-4(b )和图3-2-4(c )所示。

(a)()x n(b)(2)x n -(c)(2)x n +图3-2-4 序列的移位2.序列的反折设某一序列为()x n ,则()x n -是以0n =为对称轴将序列()x n 水平翻转,()x n -称为序列()x n 的反折。

若()x n 如图3-2-5(a )所示,则()x n -如图3-2-5(b )所示。

(a)()x n(b)()x n -图3-2-5 序列的反折3.序列的求和()x n 与()y n 两个序列之和是指两个序列同序号(即n 相同)的序列值逐项对就相加构成一个新的序列()z n ,表示为【例1】已知1(),1()20,1n n x n n ⎧≥-⎪=⎨⎪<-⎩,1(),0()21,0n n y n n n ⎧≥⎪=⎨⎪+<⎩,求()()x n y n +解:根据序列求和定义,得11(),02()()()2,11,1n n z n x n y n n n n -⎧≥⎪⎪=+=⎨=-⎪⎪+<-⎩ ()x n 、()y n 和()()x n y n +的图形分别如图3-2-5(a )、(b )和(c )所示。

(a)()x nn图3-2-5 序列的求和4.序列的乘积()x n 与()y n 两个序列的乘积是指两个序列同序号(即n 相同)的序列值逐项对就相乘构成一个新的序列()z n ,表示为【例2】已知1(),1()20,1n n x n n ⎧≥-⎪=⎨⎪<-⎩,1(),0()21,0n n y n n n ⎧≥⎪=⎨⎪+<⎩求()x n 与()y n 的乘积()()x n y n ⋅。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
y2(find((n>=min(n2))&(n<=max(n2))))=x2;
x=y1.*y2;
subplot(3,1,1),stem(n1,x1,'filled','k');
ylabel('x1(n)');
axis([min(n),max(n),1.1*min(x1),1.1*max(x1)]);
x=y1+y2;
subplot(3,1,1);
stem(n1,x1,'filled','k');
ylabel('x1(n)');
axis([min(n),max(n),1.1*min(x),1.1*max(x)]);
subplot(3,1,2);
stem(n2,x2,'filled','k');
ylabel('x2(n)');
subplot(3,1,1);stem(n,x1,'filled','k');
axis([n1,n2,1.1*min(x1),1.1*max(x1)]);
ylabel('δ(n-2)');
subplot(3,1,2);stem(n,x2,'filled','k');
axis([n1,n2,1.1*min(x2),1.1*max(x2)]);
n2=-5:8;n02=4;
x2=[(n2-n02)>=0];
n=min([n1,n2]):max([n1,n2]);
N=length(n);
y1=zeros(1,N);
y2=zeros(1,N);
y1(find((n>=min(n1))&(n<=max(n1))))=x1;
y2(find((n>=min(n2))&(n<=max(n2))))=x2;
ylabel('δ(n-4)');
subplot(3,1,3);stem(n,x3,'filled','k');
axis([n1,n2,1.1*min(x3),1.1*max(x3)]);
ylabel('δ(n-2)+δ(n-4)');
2.n1=-4:6;n01=-2;
x1=[(n1-n01)>=0];
subplot(1,2,2),stem(n1,x1,'filled','k');
title('x(-n)');
五、序列的尺度变换
n=0:40;tn=n./20;
x=sin(2*pi*tn);
x1=sin(2*pi*tn*2);
x2=sin(2*pi*tn/2);
subplot(3,1,1),stem(tn,x,'filled','k');
方法
关键代码
三、序列相乘
n1=-4:10;
x1=3*exp(-0.25*n);
n2=-2:6;n02=-1;
x2=[(n2-n02)>=0];
n=min([n1,n2]):max([n1,n2]);
N=length(n);
y1=zeros(1,N);
y2=zeros(1,N);
y1(find((n>=min(n1))&(n<=max(n1))))=x1;
ylabel('x(n-2)');
subplot(3,1,3),stem(n,x2,'filled','k');
ylabel('x(n+2)');
二、序列的相加
1.n1=0;n2=10;n01=2;n02=4;
n=n1:n2;
x1=[(n-n01)==0];
x2=[(n-n02)==0];
x3=x1+x2;
ylabel('x(n)');
axis([0,2,1.1*min(x),1.1*max(x)]);
subplot(3,1,2),stem(tn,x1,'filled','k');
ylabel('x(2n)');
axis([0,2,1.1*min(x),1.1*max(x)]);
subplot(3,1,3),stem(tn,x2,'filled','k');
axis([min(n),max(n),1.1*min(x),1.1*max(x)]);
subplot(3,1,3);
stem(n,x,'filled','k');
ylabel('x(n)');
axis([min(n),max(n),1.1*min(x),1.1*max(x)]);
(接上页)
实验步骤
课程名称
数字信号处理
实验课时
4学时
实验项目名称
和编号
离散序列的基本运算
同组者姓名
实验目的
学会运用MATLAB产生常用离散信号,并掌握程序的编写方法,运用find和fliplr子函数,验证型实验,综合型实验
实验环境
MATLAB
实验内容
和原理
离散序列的时域运算包括信号的相加、相乘,信号的时域变换包括信号的移位、反折、尺度变换等。
x1=[(n-k1)>=0];
x2=[(n-k2)>=0];
subplot(3,1,1),stem(n,x0,'filled','k');
axis([n1,n2,1.1*min(x0),1.1*max(x0)]);
ylabel('u(n)');
subplot(3,1,2),stem(n,x1,'filled','k');
subplot(3,1,2),stem(n2,x2,'filled','k');
ylabel('x2(n)');
axis([min(n),max(n),1.1*min(x2),1.1*max(x2)]);
subplot(3,1,3),stem(n,x,'filled','k');
ylabel('x(n)');
以下由实验教师填写
记事
评议
成绩评定
平时成绩_______实验报告成绩_______(2*pi*n/10);
x1=2*sin(2*pi*(n-n0)/10);
x2=2*sin(2*pi*(n-n1)/10);
subplot(3,1,1),stem(n,x,'filled','k');
ylabel('x(n)');
subplot(3,1,2),stem(n,x1,'filled','k');
ylabel('x(n/2)');
axis([0,2,1.1*min(x),1.1*max(x)]);
三、流程图
测试记录
分析
结论
一、序列的移位
x(n)=x(n-m)
1.
2.
二、序列的相加
1.
2.
三、序列相乘
四、序列反折
五、序列的尺度变换
小结
经本次实验我了解了序列的移位、序列的相加、序列相乘、序列反折及序列的尺度变换的实现方法,并通过绘出它们的图形掌握了各个函数的特点,此次实验编写让我对序列的基本应用有所认识
axis([n1,n2,1.1*min(x1),1.1*max(x1)]);
ylabel('u(n+6)');
subplot(3,1,3),stem(n,x2,'filled','k');
axis([n1,n2,1.1*min(x2),1.1*max(x2)]);
ylabel('u(n-4)');
2.n=-2:10;n0=2;n1=-2;
axis([min(n),max(n),1.1*min(x),1.1*max(x)]);
四、序列反折
n=-4:4;
x=exp(-0.3*n);
x1=fliplr(x);
n1=-fliplr(n);
subplot(1,2,1),stem(n,x,'filled','k');
title('x(n)');
在MATLAB中,离散序列的相加、相乘等运算是两个向量之间的运算是两个向量之间的运算,因此参加运算的两个序列向量必须具有相同的维数,否则应进行相应的处理。
实验步骤
方法
关键代码
一、序列的移位
x(n)=x(n-m)
1.n1=-10;n2=10;k0=0;k1=-6;k2=4;
n=n1:n2;
x0=[n>=k0];
相关文档
最新文档