文档视界 最新最全的文档下载
当前位置:文档视界 › 数字信号处理实验指导

数字信号处理实验指导

数字信号处理实验指导
数字信号处理实验指导

实验一 离散时间信号与系统的时域分析(基础验证型)

1.实验目的

(1)熟悉离散时间信号的产生与基本运算。 (2)熟悉离散时间系统的时域特性。

(3)利用卷积方法观察分析系统的时域特性。

2.实验原理

(1)典型离散时间信号

单位样本序列(通常称为离散时间冲激或单位冲激)用[]n δ表示,其定义为

1,0

[]0,0n n n δ=?=?

≠?

(1.1)

单位阶跃序列用[]n μ表示,其定义为

1,0

[]0,0

n n n μ≥?=?

指数序列由

[]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 的超前。

长度为N 的序列[]x n ,可被长度为M 的另一个序列[]g n 增补,得到长度为N M +的更长序列[]y n

{}{}{}{}[][],[]y n x n g n = (1.11)

(3)线性卷积

一个线性时不变离散时间系统的响应[]y n 可以用它的单位冲激响应[]h n 和输入信号

[]x n 的卷积来表示:

[][][]()()k y n x n n x k h n k ∞

=-∞

=*=

-∑ (1.12)

[]h n 和[]x n 可以是有限长,也可以是无限长。为了计算机绘图观察方便,主要讨论有

限长情况若[]h n 和[]x n 的长度分别为N 和M ,则[]y n 的长度为1L N M =+-。式(1.12)所描述的卷积运算就是序列的移位、相乘和相加的过程。 (4)我们主要研究的线性时不变离散时间系统用形如

[][]N

M

k

k k k d

y n k p x n k ==-=-∑∑ (1.13)

的线性常系数差分方程来描述。其中,[]x n 和[]y n 分别为系统的输入和输出,k d 和k p 是常数。离散时间系统的结束为max(,)N M ,它表征系统差分方程的阶数。若假定系统是因果的,则式(1.13)可改写为

1000

[][][]N

M

k k k k d p

y n y n k x n k d d ===--+-∑∑ (1.14)

假设00d ≠。

3.实验内容

(1)利用Matlab 产生典型离散时间信号,并绘制其图形。 (2)用差分方程描述的因果线性时不变离散时间系统为

[]0.71[1]0.46[2]0.62[3]

0.9[]0.45[1]0.35[2]0.002[3]

y n y n y n y n x n x n x n x n +-----=--+-+- (1.15)

利用Matlab 计算其冲激响应和阶跃响应,画出前40个样本。 (3)若输入信号为

[][]2[1]0.5[3]x n n n n δδδ=+--- (1.16)

利用Matlab 计算式(1.15)所描述的线性时不变离散时间系统的输出响应[]y n ,绘图观察其时域波形。

4.实验报告要求

(1)在实验报告中简述实验目的和实验原理要点。

(2)在实验报告中附上实验过程中记录的各个信号的时域波形,分析所得到的结果图形,说明各个信号的参数变化对其时域特性的影响。 (3)总结实验中的主要结论。

实验二 离散时间信号与系统的频域分析(基础验证型)

1.实验目的

(1)进一步加深DTFT 、DFT 和z 变换的算法原理和基本性质的理解。 (2)熟悉系统的频率响应和传输函数。

(3)学习用FFT 对时域离散信号进行谱分析的方法,了解可能出现的问题,以便在实际中正确应用FFT 。

2.实验原理

(1)信号的频域表示

序列[]x n 的离散时间傅里叶变换(DTFT )()j X e ω

定义为

()[]j j n

n X e x n e

ω

ω∞

-=-∞

=

∑ (2.1)

通常()j X e ω

是实变量ω的一个复函数,可表示为

{}

()

()()()arg ()j j j j X e X e e X e ωωθωω

θω== (2.2)

()j X e ω称为幅度函数,()θω称为相位函数。在很多应用中,傅里叶变换称为傅里叶

谱,而()j X e ω和()θω分别称为幅度谱和相位谱。

()j X e ω的离散时间傅里叶逆变换[]x n 为

1[]()2j j n x n X e

e d π

ω

ωπωπ

-

=

? (2.3)

当01n N ≤≤-时,有限长序列[]x n 的N 点离散傅里叶变换(DFT )为

1

02[][],0,1,,1

N kn

N n j N

N X k x n W k N W e π

-=-==-=∑L (2.4)

快速傅里叶变换FFT 并不是与DFT 不相同的另一种变换,而是为了减少DFT 运算次

数的一种快速算法。它是对变换式(2.4)进行一次次的分解,其长度2M

N =。它的运算效

率高,程序比较简单,使用也十分方便。

序列[]x n 的z 变换()X z 定义为

()[]n

n X z x n z

-=-∞

=

∑ (2.5)

其中z 是复变量。使得z 变换()X z 收敛的一组z 的值?称为它的收敛域(ROC )。通常,

序列[]x n 的z 变换的收敛域?是z 平面内的一个环形区域:

x x R z R -+<< (2.6)

其中0x x R R -+≤<≤∞。 (2)频率响应

若[]h n 表示一个线性时不变离散时间系统的冲激响应,对[]h n 做离散时间傅里叶变换得到其频率响应()j H e ω

,即

()[]j j n

n H e h n e

ω

ω∞

-=-∞

=

∑ (2.7)

通常()j H e ω

是一个周期为2π的ω的一个复函数,可表示为

{}

()

()()()arg ()j j j j H e H e e H e ωωθωω

θω== (2.8)

()j H e ω称为幅度响应,()θω称为线性时不变离散时间系统的相位响应。

线性时不变离散时间系统的频率响应可以由输出序列[]y n 的傅里叶变换()j Y e ω

与输入序列[]x n 的傅里叶变换()j X e ω

相比得到,即

()

()()

j j j Y e H e X e ωω

ω= (2.9)

对用形如式(1.14)所示线性常系数差分方程描述的线性时不变系统,频率响应

()j H e ω可表示为

00

()M

j k

k

j k N

j k

k k p e

H e d e

ωωω-=-==

∑∑ (2.10)

(3)传输函数

线性时不变离散时间系统的冲激响应[]h n 的z 变换()H z ,称为传输函数或系统函数。 由线性时不变离散时间系统的卷积可知,线性时不变离散时间系统的传输函数可以由输出序列[]y n 的z 变换()Y z 与输入序列[]x n 的z 变换()X z 相比得到,即

()

()()

Y z H z X z =

(2.11)

若()H z 的收敛域包括单位圆,则它与线性时不变离散时间系统的频率响应()j H e ω

的关系如下:

()()j j z e H e H z ωω== (2.12)

()

()()

j j j Y e H e X e ωω

ω= (2.13)

对用形如式(1.14)所示线性常系数差分方程描述的线性时不变系统,传输函数

()H z 可表示为

101101()()()M

M N

N p p z p z Y z H z X z d d z d z ----+++==

+++L L (2.14) 也可以用下面的形式表示:

1

11

1

(1)

()(1)

M

k

k N

k

k z

p

H z d z

ξλ-=-=-=-∏∏ (2.15)

其中12,,M ξξξL 是()H z 的M 个零点,而12,,N λλλL 是()H z 的N 个极点。若

N M >,在0z =处有另外N M -个零点,若N M <,在0z =处有另外M N -个

极点。

稳定因果系统的传输函数()H z 的所有极点都必须严格在单位圆内。

3.实验内容

(1)编写程序产生以下典型信号:

11,03[]8,470,n n x n n n +≤≤??

=-≤≤???

其它 (2.16)

24,03[]3,470,n n x n n n -≤≤??

=-≤≤???

其它 (2.17)

3[]cos

4

x n n π

= (2.18)

4[]sin

8

x n n π

= (2.19)

(2)8N =和16N =分别对(1)中所给出的信号逐个进行谱分析,观察幅频特性。

(3)令34[][][]x n x n x n =+,用FFT 计算8点和16点离散傅里叶变换,并根据DFT 的对称性,由[]X k 求出33[]{[]}X k DFT x n =和44[]{[]}X k DFT x n =,并与(2)中的结果比较。(提示:16N =时,33[][]x n x N n =-,44[][]x n x N n =--) (4)令34[][][]x n x n jx n =+,重复(3)。

(5)差分方程所描述的线性时不变离散时间系统如式(1.15) a.计算系统的频率响应,并画出幅频特性和相频特性曲线。

b.系统的输入信号和如式(1.16)所示,利用FFT 实现序列的线性卷积,并与实验一中的结果比较。

c.计算该系统的传输函数,生成零极点图,推断系统的稳定性。

4.实验报告要求

(1)在实验报告中简述实验目的和实验原理要点。

(2)在实验报告中附上实验过程中记录的各典型信号的幅频特性曲线,与理论结果比较,并分析误差产生的原因以及用FFT 作谱分析时有关参数的选择方法。 (3)总结实验中的主要结论。

实验三 无限冲激响应数字滤波器的设计(综合型)

1.实验目的

(1)熟悉Butterworth 滤波器、Chebyshev 滤波器和椭圆滤波器的频率特性。

(2)熟悉用双线性变换方法设计低通、高通和带通IIR 数字滤波器的原理与方法。 (3)掌握数字滤波器的计算机仿真方法。

(4)通过观察对实际心电图信号的滤波作用,获得数字滤波的感性认识。

2.实验原理

从模拟滤波器设计IIR 数字滤波器具有四种方法:微分-差分变换法、脉冲响应不变法、双线性变换法、匹配z 变换法;在工程上常用的是其中两种:脉冲响应不变法和双线性变换法。脉冲响应不变法需要经历如下基本步骤:由已知系统传输函数()H s 计算系统冲激响应()h t ;对()h t 进行等间隔取样得到[]()h n h nT =;由[]h n 获得数字滤波器的系统响应()H z 。这种方法非常直观,其算法宗旨是保证所设计的IIR 滤波器的脉冲响应和响应模拟滤波器的冲激响应在采样点上完全一致。而双线性变换法的设计准则是使数字滤波器的频率响应与参考模拟滤波器的频率响应相似。

脉冲响应不变法一个重要的特点是频率坐标的变换是线性的(T ω=Ω),其缺点是有频谱的周期延拓效应,存在频谱混淆的现象。为了克服脉冲响应不变法可能产生的频谱混淆,提出了双线性变换法,它依靠双线性变换式:

11

1111z s

s z z s

---+=

=

+- ,其中,j s j z re ωσ=+Ω= (3.1)

建立起s 平面和z 平面的单位映射关系,数字频域和模拟频域只见的关系:

(2)2tg arctg ωωΩ==Ω (3.2)

由上面的关系可知,当Ω→∞时,ω终止在折叠频率ωπ=处,整个j Ω轴单值的对应于单位圆的一周。因此双线性不变法不同于脉冲响应不变法,不存在于频谱混淆的问题。从式(3.2)还可以看出,两者的频率不是线性关系。这种非线性关系使得通带截止频率、过渡带的边缘频率的相对位置都发生了非线性畸变。这种频率的畸变可以通过预畸来教正。用双线性变换法设计数字滤波器时,一般总是先将数字滤波器的各临界频率经过式(3.2)的频率预畸,求得相应参考模拟滤波器的各临界频率,然后设计参考模拟滤波器的传递参数,最后通过双线性变换式求得数字滤波器的传递函数。这样通过双线性变换,正好将这些频率点映射到我们所需要的位置上。参考模拟滤波器的设计,可以按照一般模拟滤波器设计的方法,利用已经成熟的一整套计算公式和大量的归一化设计表格和曲线。这些公式、表格主要是用于归一化低通原型的。通过原型变换,可以完成实际的低通、带通和高通滤波器的设计。在用双线性变换法设计滤波器的过程中,我们也可以通过原型变换,直接求得归一化参考模拟滤波器原型参数,从而使得设计更加简化。下表是IIR 低通、带通、高通滤波器设计双线性原型变换公式的总结。

在本实验中,我们只涉及Butterworth 和Chebyshev 两种滤波器的设计,相应的这两种参考模拟原形滤波器的设计公式见下表:

综上所述,以Butterworth 低通数字滤波器设计为例,可以将双线性变换法设计数字滤波器的步骤归纳如下:

(1)确定数字滤波器的性能指标。这些指标包括:通带、阻带临界频率p f 、s f ;通带内的最大衰减p α;阻带内的最小衰减s α;采样周期T 。 (2)确定相应的数字频率,2p p f T ωπ=;2s s f T ωπ=。

(3)计算经过频率预畸的相应参考模拟低通原型的频率,(

)2

p

p tg ωΩ=;

(

)2

s

s tg ωΩ=。

(4)计算低通原型阶数N ;计算3dB 归一化频率c Ω,从而求得低通原型的传递函数

()a H s 。

(5)用表(3-1)中所列变换公式1

111z s z ---=+,代入()a H s ,求得数字滤波器传递函数

11

11()()z a s z H z H s ---=+=

(6)分析滤波器频域特性,检查其指标是否满足要求。

3.实验内容

(1)采样频率为1Hz ,用双线性变换法设计一个Chebyshev 高通数字滤波器,其中通带临界频率0.3p f Hz =,通带内衰减小于0.8dB (0.8p dB α=),阻带临界频率

0.2s f Hz =,阻带内衰减大于20dB (20s dB α=)。求这个数字滤波器的传递函数

()H z ,打印出它的幅频特性曲线,观察其通带衰减和阻带衰减是否满足要求。

(2)采样频率为1Hz ,用双线性变换法分别设计Butterworth 和Chebyshev 数字低通滤波器,要求其通带临界频率0.2p f Hz =,通带内衰减小于1dB (1p dB α=),阻带临界频率0.3s f Hz =,阻带内衰减大于25dB (25s dB α=)。求这个数字滤波器的传递函数()H z ,打印出幅频特性曲线,并作比较。

(3)用双线性变换法设计Butterworth 带通数字滤波器,其上下边带1dB 处的通带临界频率分别为20kHz 和30kHz (1220,30,1p p p f kHz f kHz dB α===),当频率低于15kHz 时,衰减要大于40dB (15,40s s f kHz dB α==)

,采样周期为10s μ,求这个数字滤波器的传递函数()H z ,打印出它的幅频特性曲线,观察其通带衰减和阻带衰减是否满足要求。

(4)利用实验内容(2)中设计的滤波器对实际的心电图信号进行滤波。

人体的心电图信号在测量过程中往往受到工业高频干扰,所以必须经过低通滤波处理后,才能作为判断心脏功能的有用信息。下面给出一实际心电图信号采样序列样本

[]x n ,其中存在高频干扰,以其作为输入序列,滤除其干扰成分。

[]{4,2,0,4,6,4,2,4,6,6,4,4,6,6,2,6,12,8,0,16,38,60,84,90,66,32,4,2,4,8,12,12,10,6,6,6,4,0,0,0,0,0,2,4,0,0,0,2,2,0,0,2,2,2,2,0}

x n =--------------------------------

4.实验报告要求

(1)在实验报告中简述实验目的和实验原理要点。

H z及对应的幅频特性曲线,定(2)记录在实验内容中所设计的滤波器的传递函数()

性分析它们的性能,判断设计是否满足要求。

(3)对比滤波前后的心电图信号波形,说明数字滤波器的滤波过程与滤波作用。(4)总结实验中的主要结论。

实验四 有限冲激响应数字滤波器的设计(综合型)

1.实验目的

(1)熟悉FIR 滤波器设计的基本方法。

(2)熟悉线性相位FIR 滤波器的幅频特性和相位特性。

(3)掌握用窗函数设计FIR 数字滤波器的原理及方法,了解各种不同窗函数对滤波器性能的影响。

(4)掌握用频率采样法设计FIR 数字滤波器的原理及方法。

2.实验原理

(1)FIR 滤波器的设计

在前面的实验中,我们介绍了IIR 滤波器的设计方法并实践了其中的双线性变换法,IIR 具有许多诱人的特性;但与此同时,也具有一些缺点。例如:若想利用快速傅立叶变换技术进行快速卷积实现滤波器,则要求单位脉冲响应是有限长的。此外,IIR 滤波器的优异幅度响应,一般是以相位的非线性为代价的,非线性相位会引起频率色散。FIR 滤波器具有严格的相位特性,这对于许多信号的处理和数据传输是很重要的。目前FIR 滤波器的设计方法主要有三种:窗函数法、频率采样法和切比雪夫等波纹逼近的最优化设计方法。窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求不高的时候是比较灵活方便的。它是从时域出发,用一个窗函数截取理想的[]d h n 得到[]h n ,以有限长序列[]h n 近似理想的[]d h n ;

如果从频域出发,用理想的()j d H e ω

在单位圆上等角度取样得到[]H k ,根据[]H k 得到

()H z 将逼近理想的()d H z ,这就是频率采样法。

(2)窗函数设计法

同其他的数字滤波器的设计方法一样,用窗函数设计滤波器也是首先要对滤波器提出性

能指标。一般是给定一个理想的频率响应()j d H e ω

,使所设计的FIR 滤波器的频率响应

()j H e ω去逼近所要求的理性的滤波器的响应()j d H e ω。窗函数法设计的任务在于寻找一个

可实现(有限长单位脉冲响应)的传递函数

1

()[]N j j n n H e h n e ω

ω--==∑ (4.1)

去逼近()j d H e ω。我们知道,一个理想的频率响应()j d H e ω

的傅立叶反变换

20

1

[]()2j j n d d h n H e e d π

ωωωπ

=

?

(4.2)

所得到的理想单位脉冲响应[]d h n 往往是一个无限长序列。对经过适当的加权、截断处理才能得到一个所需要的有限长脉冲响应序列。对应不同的加权、截断,有不同的窗函数。所要寻找的滤波器脉冲响应就等于理想脉冲响应和窗函数的乘积,即

[][][]d h n h n w n =? (4.3)

由此可见,窗函数的性质就决定了滤波器的品质。例如:窗函数的主瓣宽度决定了滤波器的过渡带宽;窗函数的旁瓣大小决定了滤波器的阻带衰减。以下是几种常用的窗函数:

a.矩形窗

[][]N w n R n = (4.4)

b.Hanning 窗

2[]0.51cos()[]1N n w n R n N π?

?=-??-?

? (4.5)

c.Hamming 窗

2[]0.540.46cos()[]1N n w n R n N π?

?=-??-?

? (4.6)

d.Blackman 窗

24[]0.420.5cos()0.08cos()[]11N n n w n R n N N ππ?

?=-+??--?

? (4.7)

e.Kaiser 窗

(

00[]()

I w n I β=

(4.8)

其中0()I ?是零阶贝塞尔函数。Kaiser 窗可以通过改变β参数,改变其主瓣宽度和旁瓣大小。

在实际设计过程中,上述几种窗函数可以根据对滤波器过渡带宽度和阻带衰减的要求,适当选取窗函数的类型和长度N ,以得到比较满意的设计效果。

如何根据滤波器长度N 的奇偶性,选择[]h n 的奇偶对称性则是另外一个需要考虑

的问题。线性相位实系数FIR 滤波器按其N 值奇偶和[]h n 的奇偶对称性,可以分成四种,它们具有不同的幅频和相位特性:

a. []h n 为偶对称,N 为奇数

1(1)22111

()[]2[]cos 22N N j j n N N H e h h n n e

ωω

ω---=??--=++????

∑ (4.9) 它的幅度是关于0,,2ωππ=点成偶对称。 b. []h n 为偶对称,N 为偶数

1

(1)21

1()2[1]cos ()22N N j j n N H e h n n e

ωω

ω---=??=-+-????∑ (4.10) 它的幅度是关于ωπ=点成奇对称,ωπ=处有零点,所以它不适合于作高通滤波器。

c. []h n 为奇对称,N 为奇数

1(1)2()22

11()2[]sin 2N N j j n N H e h n n e

πωω

ω---+=??-=+????

∑ (4.11) 它的幅度是关于0,,2ωππ=点成奇对称。()j H e ω

在0,,2ωππ=处都有零点。因此它不适用于低通和高通。

d. []h n 为奇对称,N 为偶数

1(1)2()22

1

1()2[1]sin )22N N j j n N H e h n n e π

ωω

ω---+=??=-+????∑(- (4.12)

它的幅度是关于0,2ωπ=点成奇对称。()j H e ω

在0,2ωπ=处都有零点。因此它不适用于低通。

在滤波器设计过程中,只有根据上述四种线性相位滤波器传递函数的性质,合理地

选择应采用的种类,构造出()j d H e ω

的幅频特性和相位特性,才能求得所需要的、具

有单位脉冲响应的线性相位FIR 滤波器传递函数。

窗函数法设计线性相位FIR 滤波器可以按如下步骤进行:

a.确定数字滤波器的性能要求。确定各临界频率{}k ω和滤波器单位脉冲响应长度N 。

b.根据性能要求和N 值,合理地选择单位脉冲响应[]h n 的奇偶对称性,从而确定理想

频率响应()j d H e ω

的幅频特性和相位特性。

c.用傅立叶反变换公式(4.2),求得理想单位脉冲响应[]d h n 。

d.选择适当的窗函数[]w n ,根据式(4.3),求得所设计的FIR 滤波器单位脉冲响应。

e.用傅立叶变换求得其频率响应()j H e ω

,分析它的幅频特性,若不满足要求,可适当改变窗函数形式或长度N ,重复上述过程,直至得到满意的结果。 (2)频率采样法

FIR 滤波器的传递函数()H z 是它的单位脉冲响应[]h n 的z 变换

10()[]N z n H z h n e --==∑ (4.13)

对于这个长度为N 的序列[]h n ,其N 个频域采样点[]H k 就足以不失真地代表它。

1

1

[][]N nk N

k h n H k w

N

--==

∑ (4.14)

因而,这N 个频域采样点也应该能够表达整个()H z 及其频率响应()j H e ω

。将式(4.14)代入式(4.13),得

1

1001

101()[]1[](1)1N N nk n

N n k N N k k N

H z H k w z N H k z N w z ----==----=??=??

??

=--∑∑∑ (4.15)

序列[]H k 是单位脉冲响应[]h n 的DFT ,也就是z 变换在单位圆上的等距采样

10

[]()[]k N

N nk

N z w n H k H z h n w --====∑ (4.16)

式(4.15)和式(4.16)给出了频率采样序列和传递函数()H z 的关系,其中式(4.15)被称

为()H z 的频率采样内插公式,它是FIR 滤波器频率采样设计法的基本依据。将j z e ω

=代

入式(4.15),就得到单位圆上的频率响应

1

21

()2

()[]()

1

sin(2)

()2sin ()

2N j j k k k N j j N k H e H k e N e e

k N

N ω

ωπωωω

φωφπω-=---

==?

??

?

-???

?

∑ (4.17)

其中()j k e ω

φ被称为内插函数,当ω等于第k 个采样点上的频率时,2()

1j k k N

e ωπωφ=

=,而

在ω等于其它采样点上的频率时,2,()

0j k l l k N

e ωπ

ωφ=

≠=。由此可见,单位圆上的频率响应

()j H e ω是内插函数()j k e ωφ得加权线性组合,权系数正是[]H k 。在各个采样频率点上,()j H e ω精确的等于理想采样值;而在采样点之间的()j H e ω值,则由各采样值的内插函数

延伸叠加形成。因此,一个理想的连续频率响应,可以由单位圆上的N 个等间距的频率采样[]H k 近似。这种近似的误差出现在采样点之间。()j H e ω

是个连续函数,显然,采样值的突变是近似误差形成的直接原因,采样的突变发生在通带到阻带的过渡点上。因此,适当地选择过渡带的采样点数和采样值是减小这些误差的一个基本途径。

用频率采样法设计FIR 滤波器,是对理想的传递函数()j d H e ω

在单位困上进行等间隔

频率采样

2[]()j k N

d H k H e

π= (4.18)

由采样序列[]H k 求得传递函()H z 。应该注意的是,一般我们讨论的总是实序列的滤波器即[]h n 是个实序列,它的DFT 必然满足共轭偶对称

[][]H k H N k *=- (4.19)

频率采样值的选取,必须按照式(4.19)的原则。

在本实验中,我们要设计的是线性相位的实FIR 滤波器,因此还必须根据线性相位滤波器的性质在四种类型的线性相位滤波器中适当选择,以求得合理的采样幅度和相位。

用频率采样法设计线性相位FIR 滤波器可以按如下步骤进行:

a.确定数字滤波器的性能要求。确定各临界频率{}k ω和滤波器单位脉冲响应长度N 。

b.根据性能要求和N 值,合理地选择单位脉冲响应[]h n 的奇偶对称性,从而确定理想

频率响应()j d H e ω

的幅频特性和相位特性。

c.对理想频率响应()j d H e ω

在0~2π区间等距离采样,得到[]H k 。

d.根据式(4.17),利用内插函数,求得()H z 的幅频特性曲线。

e.若不满足要求,可以设置和调整过渡带采样点,在回到b ,直至得到满意的结果。

f.对[]H k 作离散反傅里叶变换IDFT ,求得[]h n 。

3.实验内容

(1)用Hanning 窗设计一个线性相位带通滤波器,其长度15N =,上下边带截至频率分别为120.3,0.5ωπωπ==,求[]h n ,绘制它的幅频和相位特性曲线,观察它的实际3dB 和

20dB 带宽。如果45N =,重复这一设计,观察幅频和相位特性的变化,注意长度N 变化

对结果的影响。

(2)改用矩形窗和Blackman 窗,设计步骤(1)中的带通滤波器,观察并记录窗函数对滤 波器幅频和相位特性的影响,比较这三种窗函数的特点。

(3)用Kaiser 窗设计一个专用的线性相位滤波器。40N =,理想的幅频特性如下图所示:

当β值分别4,6,8时,设计相应的滤波器,比较它们的幅频和相位特性,观察并分析β值不同的时候对结果有什么影响。

4.实验报告要求

(1)在实验报告中简述实验目的和实验原理要点。

h n的幅频和相位特性曲线,分析比较它们的性能,(2)附上在实验内容中所记录的[]

说明滤波器长度N和窗函数对滤波器性能的影响。

(3)总结实验中的主要结论。

实验五综合实验(应用型)

针对实际采集到的心电(脉搏、脑电)信号进行处理,进一步加深对数字信号处理课程的理解。

总流程图如下图所示

数字信号处理实验二报告

实验二 IIR数字滤波器设计及软件实现 1.实验目的 (1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法; (2)学会调用MATLAB信号处理工具箱中滤波器设计函数(或滤波器设计分析工具fdatool)设计各种IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。 (3)掌握IIR数字滤波器的MATLAB实现方法。 (3)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。 2.实验原理 设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用最广泛的是双线性变换法。基本设计过程是:①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标;②设计过渡模拟滤波器;③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。MATLAB信号处理工具箱中的各种IIR数字滤波器设计函数都是采用双线性变换法。第六章介绍的滤波器设计函数butter、cheby1 、cheby2 和ellip可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。本实验要求读者调用如上函数直接设计IIR数字滤波器。 本实验的数字滤波器的MATLAB实现是指调用MATLAB信号处理工具箱函数filter对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n)。 3. 实验内容及步骤 (1)调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,该函数还会自动绘图显示st的时域波形和幅频特性曲线,如图1所示。由图可见,三路信号时域混叠无法在时域分离。但频域是分离的,所以可以通过滤波的方法在频域分离,这就是本实验的目的。 图1 三路调幅信号st的时域波形和幅频特性曲线 (2)要求将st中三路调幅信号分离,通过观察st的幅频特性曲线,分别确定可以分离st中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。要求滤波器的通带最大衰减为0.1dB,阻带最小衰减为

数字信号处理实验报告

实验一MATLAB语言的基本使用方法 实验类别:基础性实验 实验目的: (1)了解MATLAB程序设计语言的基本方法,熟悉MATLAB软件运行环境。 (2)掌握创建、保存、打开m文件的方法,掌握设置文件路径的方法。 (3)掌握变量、函数等有关概念,具备初步的将一般数学问题转化为对应计算机模型并进行处理的能力。 (4)掌握二维平面图形的绘制方法,能够使用这些方法进行常用的数据可视化处理。 实验内容和步骤: 1、打开MATLAB,熟悉MATLAB环境。 2、在命令窗口中分别产生3*3全零矩阵,单位矩阵,全1矩阵。 3、学习m文件的建立、保存、打开、运行方法。 4、设有一模拟信号f(t)=1.5sin60πt,取?t=0.001,n=0,1,2,…,N-1进行抽样,得到 序列f(n),编写一个m文件sy1_1.m,分别用stem,plot,subplot等命令绘制32 点序列f(n)(N=32)的图形,给图形加入标注,图注,图例。 5、学习如何利用MATLAB帮助信息。 实验结果及分析: 1)全零矩阵 >> A=zeros(3,3) A = 0 0 0 0 0 0 0 0 0 2)单位矩阵 >> B=eye(3) B = 1 0 0 0 1 0 0 0 1 3)全1矩阵 >> C=ones(3) C = 1 1 1 1 1 1 1 1 1 4)sy1_1.m N=32; n=0:N-1; dt=0.001; t=n*dt; y=1.5*sin(60*pi*t); subplot(2,1,1), plot(t,y); xlabel('t'); ylabel('y=1.5*sin(60*pi*t)'); legend('正弦函数'); title('二维图形'); subplot(2,1,2), stem(t,y) xlabel('t'); ylabel('y=1.5*sin(60*pi*t)'); legend('序列函数'); title('条状图形'); 00.0050.010.0150.020.0250.030.035 t y = 1 . 5 * s i n ( 6 * p i * t ) 二维图形 00.0050.010.0150.020.0250.030.035 t y = 1 . 5 * s i n ( 6 * p i * t ) 条状图形

数字信号处理基础实验指导书

《数字信号处理》实验指导书 光电工程学院二○○九年十月

实验一离散时间信号分析 一、实验目的 1.掌握各种常用的序列,理解其数学表达式和波形表示。 2.掌握在计算机中生成及绘制数字信号波形的方法。 3.掌握序列的相加、相乘、移位、反转等基本运算及计算机实现与作用。 4.掌握线性卷积软件实现的方法。 5.掌握计算机的使用方法和常用系统软件及应用软件的使用。 6.通过编程,上机调试程序,进一步增强使用计算机解决问题的能力。 二、实验原理 1.序列的基本概念 离散时间信号在数学上可用时间序列来表示,其中代表序列的第n个数字,n代表时间的序列,n的取值范围为的整数,n取其它值没有意义。离散时间信号可以是由模拟信号通过采样得到,例如对模拟信号进行等间隔采样,采样间隔为T,得到一个有序的数字序列就是离散时间信号,简称序列。 2.常用序列 常用序列有:单位脉冲序列(单位抽样)、单位阶跃序列、矩形序列、实指数序列、复指数序列、正弦型序列等。 3.序列的基本运算 序列的运算包括移位、反转、和、积、标乘、累加、差分运算等。 4.序列的卷积运算 上式的运算关系称为卷积运算,式中代表两个序列卷积运算。两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。其计算的过程包括以下4个步骤。 (1)反褶:先将和的变量换成,变成和,再将以纵轴为对称轴反褶成。 (2)移位:将移位,得。当为正数时,右移位;当为负数时,左

移位。 (3)相乘:将和的对应点值相乘。 (4)求和:将以上所有对应点的乘积累加起来,即得。 三、主要实验仪器及材料 微型计算机、Matlab软件6.5或更高版本。 四、实验内容 1.知识准备 认真复习以上基础理论,理解本实验所用到的实验原理。 2.离散时间信号(序列)的产生 利用MATLAB或C语言编程产生和绘制下列有限长序列: (1)单位脉冲序列 (2)单位阶跃序列 (3)矩形序列 (4)正弦型序列 (5)任意序列 3.序列的运算 利用MATLAB编程完成上述两序列的移位、反转、加法、乘法等运算,并绘制运算后序列的波形。 4.卷积运算 利用MATLAB编制一个计算两个序列线性卷积的通用程序,计算上述两序列,并绘制卷积后序列的波形。 5.上机调试并打印或记录实验结果。 6.完成实验报告。 五、实验报告要求 1. 简述实验原理及目的。 2. 给出上述序列的实验结果。 3. 列出计算卷积的公式,画出程序框图,并列出实验程序清单 (可略)(包括必要的程序说明)。 4. 记录调试运行情况及所遇问题的解决方法。 5. 给出实验结果,并对结果做出分析。 6. 简要回答思考题。 1 如何产生方波信号序列和锯齿波信号序列? 2 实验中所产生的正弦序列的频率是多少?是否是周期序列?

数字信号处理实验一

实验一 离散时间信号分析 班级 信息131班 学号 201312030103 姓名 陈娇 日期 一、实验目的 掌握两个序列的相加、相乘、移位、反褶、卷积等基本运算。 二、实验原理 1.序列的基本概念 离散时间信号在数学上可用时间序列)}({n x 来表示,其中)(n x 代表序列的第n 个数字,n 代表时间的序列,n 的取值范围为+∞<<∞-n 的整数,n 取其它值)(n x 没有意义。离散时间信号可以是由模拟信号通过采样得到,例如对模拟信号)(t x a 进行等间隔采样,采样间隔为T ,得到)}({nT x a 一个有序的数字序列就是离散时间信号,简称序列。 2.常用序列 常用序列有:单位脉冲序列(单位抽样)) (n δ、单位阶跃序列)(n u 、矩形序列)(n R N 、实指数序列、复指数序列、正弦型序列等。 3.序列的基本运算 序列的运算包括移位、反褶、和、积、标乘、累加、差分运算等。 4.序列的卷积运算 ∑∞ -∞==-= m 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 。 三、主要实验仪器及材料 微型计算机、Matlab6.5 教学版、TC 编程环境。 四、实验内容 (1)用Matlab 或C 语言编制两个序列的相加、相乘、移位、反褶、卷积等的程序; (2)画出两个序列运算以后的图形; (3)对结果进行分析; (4)完成实验报告。 五、实验结果 六、实验总结

数字信号处理实验程序2.

2.1 clc close all; n=0:15; p=8;q=2; x=exp(-(n-p.^2/q; figure(1; subplot(3,1,1; stem(n,x; title('exp(-(n-p^2/q,p=8,q=2'; xk1=fft(x,16; q=4; x=exp(-(n-p.^2/q; subplot(3,1,2; xk2=fft(x,16; stem(n,x; title('exp(-(n-p^2/q,p=8,q=4'; q=8; x=exp(-(n-p.^2/q;

xk3=fft(x,16; subplot(3,1,3; stem(n,x; title('exp(-(n-p^2/q,p=8,q=8';%时域特性figure(2; subplot(3,1,1; stem(n,abs(xk1; title('exp(-(n-p^2/q,p=8,q=2'; subplot(3,1,2; stem(n,abs(xk2; title('exp(-(n-p^2/q,p=8,q=4'; subplot(3,1,3; stem(n,abs(xk3; title('exp(-(n-p^2/q,p=8,q=8';%频域特性%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%% p=8;q=8; figure(3; subplot(3,1,1; stem(n,x; title('exp(-(n-p^2/q,p=8,q=8';

xk1=fft(x,16; p=13; x=exp(-(n-p.^2/q; subplot(3,1,2; xk2=fft(x,16; stem(n,x; title('exp(-(n-p^2/q,p=13,q=8'; p=14; x=exp(-(n-p.^2/q; xk3=fft(x,16; subplot(3,1,3; stem(n,x; title('exp(-(n-p^2/q,p=14,q=8';%时域特性figure(4; subplot(3,1,1; stem(n,abs(xk1; title('exp(-(n-p^2/q,p=8,q=8'; subplot(3,1,2; stem(n,abs(xk2; title('exp(-(n-p^2/q,p=13,q=8'; subplot(3,1,3;

数字信号处理实验作业

实验6 数字滤波器的网络结构 一、实验目的: 1、加深对数字滤波器分类与结构的了解。 2、明确数字滤波器的基本结构及其相互间的转换方法。 3、掌握用MA TLAB 语言进行数字滤波器结构间相互转换的子函数及程序编写方法。 二、实验原理: 1、数字滤波器的分类 离散LSI 系统对信号的响应过程实际上就是对信号进行滤波的过程。因此,离散LSI 系统又称为数字滤波器。 数字滤波器从滤波功能上可以分为低通、高通、带通、带阻以及全通滤波器;根据单位脉冲响应的特性,又可以分为有限长单位脉冲响应滤波器(FIR )和无限长单位脉冲响应滤波器(IIR )。 一个离散LSI 系统可以用系统函数来表示: M -m -1-2-m m m=0 012m N -1-2-k -k 12k k k=1 b z b +b z +b z ++b z Y(z)b(z)H(z)=== =X(z)a(z) 1+a z +a z ++a z 1+a z ∑∑ 也可以用差分方程来表示: N M k m k=1 m=0 y(n)+a y(n-k)=b x(n-m)∑∑ 以上两个公式中,当a k 至少有一个不为0时,则在有限Z 平面上存在极点,表达的是以一个IIR 数字滤波器;当a k 全都为0时,系统不存在极点,表达的是一个FIR 数字滤波器。FIR 数字滤波器可以看成是IIR 数字滤波器的a k 全都为0时的一个特例。 IIR 数字滤波器的基本结构分为直接Ⅰ型、直接Ⅱ型、直接Ⅲ型、级联型和并联型。 FIR 数字滤波器的基本结构分为横截型(又称直接型或卷积型)、级联型、线性相位型及频率采样型等。本实验对线性相位型及频率采样型不做讨论,见实验10、12。 另外,滤波器的一种新型结构——格型结构也逐步投入应用,有全零点FIR 系统格型结构、全极点IIR 系统格型结构以及全零极点IIR 系统格型结构。 2、IIR 数字滤波器的基本结构与实现 (1)直接型与级联型、并联型的转换 例6-1 已知一个系统的传递函数为 -1-2-3 -1-2-3 8-4z +11z -2z H(z)=1-1.25z +0.75z -0.125z 将其从直接型(其信号流图如图6-1所示)转换为级联型和并联型。

数字信号处理实验

实验一 离散傅里叶变换(DFT )对确定信号进行谱分析 一.实验目的 1.加深对DFT 算法原理和基本性质的理解。 2.熟悉DFT 算法和原理的编程方法。 3.学习用DFT 对信号进行谱分析的方法,了解可能出现的误差及其原因,以便在实际中正确利用。 二.实验原理 一个连续信号)(t x a 的频谱可以用其傅里叶变换表示,即 dt e t x j X t j a a Ω-∞ ∞ -? = Ω)()( 若对)(t x a 进行理想采样可得采样序列 )(|)()(nT x t x n x a nT t a === 对)(n x 进行DTFT ,可得其频谱为: ∑∞ -∞ =-= n n j j e n x e X ωω )()( 其中数字频率ω与模拟频率Ω的关系为: s f T Ω = Ω=ω )(n x 的DFT 为∑∞ -∞ =-= n nk N j e n x k X π 2)()( 若)(t x a 是限带信号,且在满足采样定理的条件下,)(ω j e X 是)(Ωj X a 的周期延拓, )(k X 是)(ωj e X 在单位圆上的等间隔采样值,即k N j e X k X πωω2| )()(= =。 为在计算机上分析计算方便,常用)(k X 来近似)(ω j e X ,这样对于长度为N 的有限 长序列(无限长序列也可用有限长序列来逼近),便可通过DFT 求其离散频谱。 三.实验内容 1.用DFT 对下列序列进行谱分析。 (1))()04.0sin(3)(100n R n n x π=

1 (2)]0,0,0,0,0,0,0,0,1,1,1,1[)(=n x 2.为了说明高密度频谱和高分辨率频谱之间的区别,考察序列 )52.0cos()48.0cos()(n n n x ππ+= (1)当0≤n ≤10时,确定并画出x(n)的离散傅里叶变换。 (2)当0≤n ≤100时,确定并画出x(n)的离散傅里叶变换。 四.实验结果 1. (1) (2)

数字信号处理实验一

一、实验目的 1. 通过本次实验回忆并熟悉MATLAB这个软件。 2. 通过本次实验学会如何利用MATLAB进行序列的简单运算。 3. 通过本次实验深刻理解理论课上的数字信号处理的一个常见方法——对时刻n的样本附近的一些样本求平均,产生所需的输出信号。 3. 通过振幅调制信号的产生来理解载波信号与调制信号之间的关系。 二、实验内容 1. 编写程序在MATLAB中实现从被加性噪声污染的信号中移除噪声的算法,本次试验采用三点滑动平均算法,可直接输入程序P1.5。 2. 通过运行程序得出的结果回答习题Q1.31-Q1.33的问题,加深对算法思想的理解。 3. 编写程序在MATLAB中实现振幅调制信号产生的算法,可直接输入程序P1.6。 4. 通过运行程序得出的结果回答习题Q1.34-Q1.35的问题,加深对算法思想的理解。 三、主要算法与程序 1. 三点滑动平均算法的核心程序: %程序P1.5 %通过平均的信号平滑 clf; R=51; d=0.8*(rand(R,1)-0.5);%产生随噪声 m=0:R-1; s=2*m.*(0.9.^m);%产生为污染的信号 x=s+d';%产生被噪音污染的信号 subplot(2,1,1); plot(m,d','r-',m,s,'g--',m,x,'b-.');

xlabel('时间序号n');ylabel('振幅'); legend('d[n]','s[n]','x[n]'); x1=[0 0 x];x2=[0 x 0];x3=[x 0 0]; y=(x1+x2+x3)/3; subplot(2,1,2); plot(m,y(2:R+1),'r-',m,s,'g--'); legend('y[n]','s[n]'); xlabel('时间序号n');ylabel('振幅'); 2. 振幅调制信号的产生核心程序:(由于要几个结果,因此利用subplot函数画图) %程序P1.6 %振幅调制信号的产生 n=0:100; m=0.1;fH=0.1;fL=0.01; m1=0.3;fH1=0.3;fL1=0.03; xH=sin(2*pi*fH*n); xL=sin(2*pi*fL*n); y=(1+m*xL).*xH; xH1=sin(2*pi*fH1*n); xL1=sin(2*pi*fL1*n); y1=(1+m1*xL).*xH; y2=(1+m*xL).*xH1; y3=(1+m*xL1).*xH; subplot(2,2,1); stem(n,y); grid; xlabel('时间序号n');ylabel('振幅');title('m=0.1;fH=0.1;fL=0.01;'); subplot(2,2,2); stem(n,y1); grid; xlabel('时间序号n');ylabel('振幅');title('m=0.3;fH=0.1;fL=0.01;'); subplot(2,2,3); stem(n,y2); grid; xlabel('时间序号n');ylabel('振幅');title('m=0.3;fH=0.3;fL=0.01;'); subplot(2,2,4); stem(n,y3); grid;

数字信号处理实验报告一

武汉工程大学 数字信号处理实验报告 姓名:周权 学号:1204140228 班级:通信工程02

一、实验设备 计算机,MATLAB语言环境。 二、实验基础理论 1.序列的相关概念 2.常见序列 3.序列的基本运算 4.离散傅里叶变换的相关概念 5.Z变换的相关概念 三、实验内容与步骤 1.离散时间信号(序列)的产生 利用MATLAB语言编程产生和绘制单位样值信号、单位阶跃序列、指数序列、正弦序列及随机离散信号的波形表示。 四实验目的 认识常用的各种信号,理解其数字表达式和波形表示,掌握在计算机中生成及绘制数字信号波形的方法,掌握序列的简单运算及计算机实现与作用,理解离散时间傅里叶变换,Z变换及它们的性质和信号的频域分

实验一离散时间信号(序列)的产生 代码一 单位样值 x=2; y=1; stem(x,y); title('单位样值 ') 单位阶跃序列 n0=0; n1=-10; n2=10; n=[n1:n2]; x=[(n-n0)>=0]; stem(n,x); xlabel('n'); ylabel('x{n}'); title('单位阶跃序列');

实指数序列 n=[0:10]; x=(0.5).^n; stem(n,x); xlabel('n'); ylabel('x{n}'); title('实指数序列');

正弦序列 n=[-100:100]; x=2*sin(0.05*pi*n); stem(n,x); xlabel('n'); ylabel('x{n}'); title('正弦序列');

随机序列 n=[1:10]; x=rand(1,10); subplot(221); stem(n,x); xlabel('n'); ylabel('x{n}'); title('随机序列');

数字信号处理实验答案完整版

数字信号处理实验答案 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

实验一熟悉Matlab环境 一、实验目的 1.熟悉MATLAB的主要操作命令。 2.学会简单的矩阵输入和数据读写。 3.掌握简单的绘图命令。 4.用MATLAB编程并学会创建函数。 5.观察离散系统的频率响应。 二、实验内容 认真阅读本章附录,在MATLAB环境下重新做一遍附录中的例子,体会各条命令的含义。在熟悉了MATLAB基本命令的基础上,完成以下实验。 上机实验内容: (1)数组的加、减、乘、除和乘方运算。输入A=[1 2 3 4],B=[3 4 5 6],求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B并用stem语句画出A、B、C、D、E、F、G。 clear all; a=[1 2 3 4]; b=[3 4 5 6]; c=a+b; d=a-b; e=a.*b; f=a./b; g=a.^b; n=1:4; subplot(4,2,1);stem(n,a); xlabel('n');xlim([0 5]);ylabel('A'); subplot(4,2,2);stem(n,b); xlabel('n');xlim([0 5]);ylabel('B'); subplot(4,2,3);stem(n,c); xlabel('n');xlim([0 5]);ylabel('C'); subplot(4,2,4);stem(n,d); xlabel('n');xlim([0 5]);ylabel('D'); subplot(4,2,5);stem(n,e); xlabel('n');xlim([0 5]);ylabel('E'); subplot(4,2,6);stem(n,f); xlabel('n');xlim([0 5]);ylabel('F'); subplot(4,2,7);stem(n,g); xlabel('n');xlim([0 5]);ylabel('G'); (2)用MATLAB实现下列序列: a) x(n)= 0≤n≤15 b) x(n)=e+3j)n 0≤n≤15 c) x(n)=3cosπn+π)+2sinπn+π) 0≤n≤15 d) 将c)中的x(n)扩展为以16为周期的函数x(n)=x(n+16),绘出四个周期。

数字信号处理实验报告(实验1_4)

实验一 MATLAB 仿真软件的基本操作命令和使用方法 实验容 1、帮助命令 使用 help 命令,查找 sqrt (开方)函数的使用方法; 2、MATLAB 命令窗口 (1)在MATLAB 命令窗口直接输入命令行计算3 1)5.0sin(21+=πy 的值; (2)求多项式 p(x) = x3 + 2x+ 4的根; 3、矩阵运算 (1)矩阵的乘法 已知 A=[1 2;3 4], B=[5 5;7 8],求 A^2*B

(2)矩阵的行列式 已知A=[1 2 3;4 5 6;7 8 9],求A (3)矩阵的转置及共轭转置 已知A=[1 2 3;4 5 6;7 8 9],求A' 已知B=[5+i,2-i,1;6*i,4,9-i], 求B.' , B' (4)特征值、特征向量、特征多项式 已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4] ,求矩阵A的特征值、特征向量、特征多项式;

(5)使用冒号选出指定元素 已知:A=[1 2 3;4 5 6;7 8 9];求A 中第3 列前2 个元素;A 中所有列第2,3 行的元素; 4、Matlab 基本编程方法 (1)编写命令文件:计算1+2+…+n<2000 时的最大n 值;

(2)编写函数文件:分别用for 和while 循环结构编写程序,求 2 的0 到15 次幂的和。

5、MATLAB基本绘图命令 (1)绘制余弦曲线 y=cos(t),t∈[0,2π]

(2)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5), t∈[0,2π] (3)绘制[0,4π]区间上的 x1=10sint 曲线,并要求: (a)线形为点划线、颜色为红色、数据点标记为加号; (b)坐标轴控制:显示围、刻度线、比例、网络线 (c)标注控制:坐标轴名称、标题、相应文本; >> clear;

数字信号处理实验三

实验三:离散LSI 系统的频域分析 一、实验内容 2、求以下各序列的z 变换: 12030() ()sin() ()sin()n an x n na x n n x n e n ωω-=== 程序清单如下: syms w0 n z a; x1=n*a^n;X1=ztrans(x1) x2=sin(w0*n);X2=ztrans(x2) x3= exp(-a*n)*sin(w0*n);X3=ztrans(x3) 程序运行结果如下: X1 =z/(a*(z/a - 1)^2) X2 =(z*sin(w0))/(z^2 - 2*cos(w0)*z + 1) X3 =(z*exp(a)*sin(w0))/(exp(2*a)*z^2 - 2*exp(a)*cos(w0)*z + 1) 3、求下列函数的逆z 变换 0 312342 1 1() () () ()() 1j z z z z X z X z X z X z z a z a z e z ω---= = = = ---- 程序清单如下: syms w0 n z a; X1=z/(z-a);x1=iztrans(X1) X2= z/(a-z)^2;x2=iztrans(X2) X3=z/ z-exp(j*w0);x3=iztrans(X3) X4=(1-z^-3)/(1-z^-1);x4=iztrans(X4) 程序运行结果如下: x1 =a^n x2 =n*a^n/a 课程名称 数字信号 实验成绩 指导教师 实 验 报 告 院系 信息工程学院 班级 学号 姓名 日期

x3 =charfcn[0](n)-iztrans(exp(i*w0),w0,n) x4 =charfcn[2](n)+charfcn[1](n)+charfcn[0](n) 4、求一下系统函数所描述的离散系统的零极点分布图,并判断系统的稳定性 (1) (0.3)()(1)(1) z z H z z j z j -= +-++ z1=[0,0.3]';p1=[-1+j,-1-j]';k=1; [b1,a1]=zp2tf(z1,p1,k); subplot(1,2,1);zplane(z1,p1); title('极点在单位圆外); subplot(1,2,2);impz(b1,a1,20); 由图可见:当极点位于单位圆内,系统的单位序列响应随着频率的增大而收敛;当极点位于单位圆上,系统的单位序列响应为等幅振荡;当极点位于单位圆外,系统的单位序列响应随着频率的增大而发散。由此可知系统为不稳定系统。 -1 -0.5 00.51 -2 -1.5-1-0.500.511.5 2Real Part I m a g i n a r y P a r t 极点在单位圆外 n (samples) A m p l i t u d e Impulse Response

数字信号处理实验及参考程序

数字信号处理实验实验一离散时间信号与系统及MA TLAB实现 1.单位冲激信号: n = -5:5; x = (n==0); subplot(122); stem(n, x); 2.单位阶跃信号: x=zeros(1,11); n0=0; n1=-5; n2=5; n = n1:n2; x(:,n+6) = ((n-n0)>=0); stem(n,x); 3.正弦序列: n = 0:1/3200:1/100; x=3*sin(200*pi*n+1.2); stem(n,x); 4.指数序列 n = 0:1/2:10; x1= 3*(0.7.^n); x2=3*exp((0.7+j*314)*n); subplot(221); stem(n,x1); subplot(222); stem(n,x2); 5.信号延迟 n=0:20; Y1=sin(100*n); Y2=sin(100*(n-3)); subplot(221); stem(n,Y1); subplot(222); stem(n,Y2);

6.信号相加 X1=[2 0.5 0.9 1 0 0 0 0]; X2=[0 0.1 0.2 0.3 0.4 0.5 0.6 0.7]; X=X1+X2; stem(X); 7.信号翻转 X1=[2 0.5 0.9 1]; n=1:4; X2=X1(5-n); subplot(221); stem(n,X1); subplot(222); stem(n,X2); 8.用MATLAB计算序列{-2 0 1 –1 3}和序列{1 2 0 -1}的离散卷积。a=[-2 0 1 -1 3]; b=[1 2 0 -1]; c=conv(a,b); M=length(c)-1; n=0:1:M; stem(n,c); xlabel('n'); ylabel('幅度'); 9.用MA TLAB计算差分方程 当输入序列为时的输出结果。 N=41; a=[0.8 -0.44 0.36 0.22]; b=[1 0.7 -0.45 -0.6]; x=[1 zeros(1,N-1)]; k=0:1:N-1; y=filter(a,b,x); stem(k,y) xlabel('n'); ylabel('幅度') 10.冲激响应impz N=64; a=[0.8 -0.44 0.36 0.22];

数字信号处理实验作业

实验5 抽样定理 一、实验目的: 1、了解用MA TLAB 语言进行时域、频域抽样及信号重建的方法。 2、进一步加深对时域、频域抽样定理的基本原理的理解。 3、观察信号抽样与恢复的图形,掌握采样频率的确定方法和插公式的编程方法。 二、实验原理: 1、时域抽样与信号的重建 (1)对连续信号进行采样 例5-1 已知一个连续时间信号sin sin(),1Hz 3 ππ=0001f(t)=(2f t)+6f t f ,取最高有限带宽频率f m =5f 0,分别显示原连续时间信号波形和F s >2f m 、F s =2f m 、F s <2f m 三情况下抽样信号的波形。 程序清单如下: %分别取Fs=fm ,Fs=2fm ,Fs=3fm 来研究问题 dt=0.1; f0=1; T0=1/f0; m=5*f0; Tm=1/fm; t=-2:dt:2; f=sin(2*pi*f0*t)+1/3*sin(6*pi*f0*t); subplot(4,1,1); plot(t,f); axis([min(t),max(t),1.1*min(f),1.1*max(f)]); title('原连续信号和抽样信号'); for i=1:3; fs=i*fm;Ts=1/fs; n=-2:Ts:2; f=sin(2*pi*f0*n)+1/3*sin(6*pi*f0*n); subplot(4,1,i+1);stem(n,f,'filled'); axis([min(n),max(n),1.1*min(f),1.1*max(f)]); end 程序运行结果如图5-1所示:

原连续信号和抽样信号 图5-1 (2)连续信号和抽样信号的频谱 由理论分析可知,信号的频谱图可以很直观地反映出抽样信号能否恢复原模拟信号。因此,我们对上述三种情况下的时域信号求幅度谱,来进一步分析和验证时域抽样定理。 例5-2编程求解例5-1中连续信号及其三种抽样频率(F s>2f m、F s=2f m、F s<2f m)下的抽样信号的幅度谱。 程序清单如下: dt=0.1;f0=1;T0=1/f0;fm=5*f0;Tm=1/fm; t=-2:dt:2;N=length(t); f=sin(2*pi*f0*t)+1/3*sin(6*pi*f0*t); wm=2*pi*fm;k=0:N-1;w1=k*wm/N; F1=f*exp(-j*t'*w1)*dt;subplot(4,1,1);plot(w1/(2*pi),abs(F1)); axis([0,max(4*fm),1.1*min(abs(F1)),1.1*max(abs(F1))]); for i=1:3; if i<=2 c=0;else c=1;end fs=(i+c)*fm;Ts=1/fs; n=-2:Ts:2;N=length(n); f=sin(2*pi*f0*n)+1/3*sin(6*pi*f0*n); wm=2*pi*fs;k=0:N-1; w=k*wm/N;F=f*exp(-j*n'*w)*Ts; subplot(4,1,i+1);plot(w/(2*pi),abs(F)); axis([0,max(4*fm),1.1*min(abs(F)),1.1*max(abs(F))]); end 程序运行结果如图5-2所示。 由图可见,当满足F s≥2f m条件时,抽样信号的频谱没有混叠现象;当不满足F s≥2f m 条件时,抽样信号的频谱发生了混叠,即图5-2的第二行F s<2f m的频谱图,,在f m=5f0的围,频谱出现了镜像对称的部分。

实验一 基于Matlab的数字信号处理基本

实验一 基于Matlab 的数字信号处理基本操作 一、 实验目的:学会运用MA TLAB 表示的常用离散时间信号;学会运用MA TLAB 实现离 散时间信号的基本运算。 二、 实验仪器:电脑一台,MATLAB6.5或更高级版本软件一套。 三、 实验内容: (一) 离散时间信号在MATLAB 中的表示 离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。离散序列通常用)(n x 来表示,自变量必须是整数。 离散时间信号的波形绘制在MATLAB 中一般用stem 函数。stem 函数的基本用法和plot 函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。如果要实心,需使用参数“fill ”、“filled ”,或者参数“.”。由于MATLAB 中矩阵元素的个数有限,所以MA TLAB 只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来。类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。 1. 单位取样序列 单位取样序列)(n δ,也称为单位冲激序列,定义为 ) 0() 0(0 1)(≠=?? ?=n n n δ 要注意,单位冲激序列不是单位冲激函数的简单离散抽样,它在n =0处是取确定的值1。在MATLAB 中,冲激序列可以通过编写以下的impDT .m 文件来实现,即 function y=impDT(n) y=(n==0); %当参数为0时冲激为1,否则为0 调用该函数时n 必须为整数或整数向量。 【实例1-1】 利用MATLAB 的impDT 函数绘出单位冲激序列的波形图。 解:MATLAB 源程序为 >>n=-3:3; >>x=impDT(n); >>stem(n,x,'fill'),xlabel('n'),grid on >>title('单位冲激序列') >>axis([-3 3 -0.1 1.1]) 程序运行结果如图1-1所示。 图1-1 单位冲激序列

数字信号处理实验4

数字信号处理实验四 第一题结果: (1)没有增加过渡点 源码如下: N = 15; H = [1 1 1 0.5 zeros(1,7) 0.5 1 1 1]; %确定抽样点的幅度大小 %H(3,13) = 0.75;H(5,11) = 0.25; %设置过渡点 k = 0:N-1; A = exp(-j*pi*k*(N-1)/N); %抽样点相位大小 HK = H.*A; %求抽样点的H(k) hn = ifft(HK,N); %求出FIR的单位冲激响应h(n) freqz(hn,1,256); %画出幅频相频曲线figure(2); stem(real(hn),'.'); %绘制单位冲激响应的实部 line([0,35],[0,0]);xlabel('n');ylabel('Real(h(n))'); 单位脉冲响应曲线 幅频和相频特性曲线

(2)增加过渡点 源码如下: N = 15; H = [1 1 1 0.5 zeros(1,7) 0.5 1 1 1]; %确定抽样点的幅度大小 H(3) = 0.75;H(13) = 0.75;H(5) = 0.25;H(11) = 0.25; %设置过渡点 k = 0:N-1; A = exp(-j*pi*k*(N-1)/N); %抽样点相位大小 HK = H.*A; %求抽样点的H(k) hn = ifft(HK,N); %求出FIR的单位冲激响应h(n) freqz(hn,1,256); %画出幅频相频曲线figure(2); stem(real(hn),'.'); %绘制单位冲激响应的实部 line([0,35],[0,0]);xlabel('n');ylabel('Real(h(n))'); 单位脉冲响应曲线 幅频和相频特性曲线 第二题结果:

数字信号处理第二章上机作业

第二章上机作业 1、ljdt(A,B)函数定义 function ljdt(A,B) p=roots(A); q=roots(B); p=p'; q=q'; x=max(abs([p q 1])); x=x+0.1; y=x; clf hold on axis([-x x -y y]) w=0:pi/300:2*pi; t=exp(i*w); plot(t) axis('square') plot([-x x],[0 0]) plot([0 0],[-y y]) text(0.1,x,'jIm[z]') text(y,1/10,'Re[z]') plot(real(p),imag(p),'x') plot(ral(q),imag(q),'o') title('pole-zero diagram for discrete system') hold off 例2.26 a=[3 -1 0 0 0 1]; b=[1 1]; ljdt(a,b) p=roots(a) q=roots(b) pa=abs(p) 程序运行结果如下: P= 0.7255+0.4633i 0.7255+0.4633i -0.1861+0.7541i -0.1861-0.7541i -0.7455 q=

-1 pa= 0.8608 0.8608 0.7768 0.7768 0.7455 例2.27 b=[0 1 2 1];a=[1 -0.5 -0.005 0.3]; subplot 311 zplane(b,a);xlabel('实部');ylabel('虚部'); num=[0 1 2 1];den=[1 -0.5 -0.005 0.3]; h=impz(num,den); subplot 312

数字信号处理基础实验报告_

本科生实验报告 实验课程数字信号处理基础 学院名称地球物理学院 专业名称地球物理学 学生姓名 学生学号 指导教师王山山 实验地点5417 实验成绩 二〇一四年十一月二〇一四年十二月

填写说明 1、适用于本科生所有的实验报告(印制实验报告册除外); 2、专业填写为专业全称,有专业方向的用小括号标明; 3、格式要求: ①用A4纸双面打印(封面双面打印)或在A4大小纸上用蓝黑色水笔书写。 ②打印排版:正文用宋体小四号,1.5倍行距,页边距采取默认形式(上下2.54cm, 左右2.54cm,页眉1.5cm,页脚1.75cm)。字符间距为默认值(缩放100%,间距:标准);页码用小五号字底端居中。 ③具体要求: 题目(二号黑体居中); 摘要(“摘要”二字用小二号黑体居中,隔行书写摘要的文字部分,小4号宋体); 关键词(隔行顶格书写“关键词”三字,提炼3-5个关键词,用分号隔开,小4号黑体); 正文部分采用三级标题; 第1章××(小二号黑体居中,段前0.5行) 1.1 ×××××小三号黑体×××××(段前、段后0.5行) 1.1.1小四号黑体(段前、段后0.5行) 参考文献(黑体小二号居中,段前0.5行),参考文献用五号宋体,参照《参考文献著录规则(GB/T 7714-2005)》。

实验一生成离散信号并计算其振幅谱 并将信号进行奇偶分解 一、实验原理 单位脉冲响应h(t)=exp(-a*t*t)*sin(2*3.14*f*t)进行离散抽样,分别得到t=0.002s,0.009s,0.011s采样的结果。用Excel软件绘图显示计算结果。并将信号进行奇偶分解,分别得到奇对称信号h(n)-h(-n)与偶对称信号h(n)+h(-n)。用Excel 软件绘图显示计算结果。 二、实验程序代码 (1)离散抽样 double a,t; a=2*f*f*log(m); int i; for(i=0;i

数字信号处理上机实验代码

文件名:tstem.m(实验一、二需要) 程序: f unction tstem(xn,yn) %时域序列绘图函数 %xn:被绘图的信号数据序列,yn:绘图信号的纵坐标名称(字符串)n=0:length(xn)-1; stem(n,xn,'.'); xlabel('n');ylabel('yn'); axis([0,n(end),min(xn),1.2*max(xn)]); 文件名:tplot.m(实验一、四需要) 程序: function tplot(xn,T,yn) %时域序列连续曲线绘图函数 %xn:信号数据序列,yn:绘图信号的纵坐标名称(字符串) %T为采样间隔 n=0;length(xn)-1;t=n*T; plot(t,xn); xlabel('t/s');ylabel(yn); axis([0,t(end),min(xn),1.2*max(xn)]); 文件名:myplot.m(实验一、四需要)

%(1)myplot;计算时域离散系统损耗函数并绘制曲线图。function myplot(B,A) %B为系统函数分子多项式系数向量 %A为系统函数分母多项式系数向量 [H,W]=freqz(B,A,1000) m=abs(H); plot(W/pi,20*log10(m/max(m)));grid on; xlabel('\omega/\pi');ylabel('幅度(dB)') axis([0,1,-80,5]);title('损耗函数曲线'); 文件名:mstem.m(实验一、三需要) 程序: function mstem(Xk) %mstem(Xk)绘制频域采样序列向量Xk的幅频特性图 M=length(Xk); k=0:M-1;wk=2*k/M;%产生M点DFT对应的采样点频率(关于pi归一化值) stem(wk,abs(Xk),'.');box on;%绘制M点DFT的幅频特性图xlabel('w/\pi');ylabel('幅度'); axis([0,2,0,1.2*max(abs(Xk))]); 文件名:mpplot.m(实验一需要)

相关文档