数字信号处理实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
y=filter(p,d,x)实现差分方程的仿真 y=conv(x,h)计算卷积 y=impz(p,d,N)求系统的冲激响应
例5:计算信号的卷积

i=0:1:49 x(n)=sin(2*pi*i/50) h1(n)=[zeros(1,10),1,zeros(1,20)];


h2(n) =[zeros(1,20),1,zeros(1,10)];

图1.1给出了卷积结果的图形,求得的结果存放在数 组c中为:{-2 -4 1 3 1 5 1 -3}。
例2用MATLAB计算差分方程的输出:
已知输入序列 ,求输出 解 MATLAB程序如下: 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('幅度')
1.5
2 1
0
0.5
分析范围:[0, 2π] 分析范围:[0, π]
0.5 1 /
1.5
2 1
end

要求
验证线性卷积的线性性质 分析输出和输入之间相对位移与对应系统的h(n)之间的 关系 绘制x(n),h(n)和y(n)。给出分析结果

例4(选做)
编制程序求解下列两个系统的单
位冲激响应和阶跃响应,并绘出其图形。要求分
数字信号处理实验
实验安排
实验一 序列的基本运算 实验二 快速傅立叶变换(FFT)及其应用 实验三 IIR数字滤波器的设计
实验四 FIR数字滤波器的设计
实验一序列的基本运算
一、实验目的
1.在理论学习的基础上,通过本实验,加深对序列基本运算 的理解;
2.熟悉利用matlab软件做简单的仿真实验;
二、实验原理及内容
h3(3)=h1(n)+h2(n);
求下列信号,并画图

y1(n)=x(n)*h1(n), y2(n)=x(n)*h2(n), y3(n)=x(n)*h3(n)
要求
验证线性卷积的线性性质 分析输出和输入之间相对位移与对应系统的h(n)之间的 关系 绘制x(n),h(n)和y(n)。给出分析结果

1.5
1
0.5
幅度
0 -0.5 -1 0
5
10
15
20 n
25
30
35
40
图 1.2 给出了该差分方程的前41个样点的输出,即该系统的 单位脉冲响应。表达式进原理图输入。
例3 用MATLAB计算差分方程所对应 的系统函数的频率响应
解 例2差分方程所对应的系统函数为:
0.8 0.44 z 1 0.36 z 2 0.02 z 3 H ( z) 1 0.7 z 1 0.45 z 2 0.6 z 3
Exit
实验报告要求

简述实验原理,列出实验程序清单,并附上必要的程
序说明。

记录调试运行情况及所遇问题的解决方法。 记录实验结果,实验后,对结果进行分析。
实验二 快速傅立叶变换(FFT)及其应用
一、实验目的

在理论学习的基础上,通过本实验,加深对FFT的理解, 熟悉FFT子程序。
熟悉应用FFT对典型信号进行频谱分析的方法 了解应用FFT进行信号频谱分析过程中可能出现的问题 以便在实际中正确应用FFT。 熟悉应用FFT实现两个序列线性卷积的方法。 熟悉应用FFT实现两个序列相关的方法。
FFT并不是与DFT不同的另一种变换,而是为了减少
DFT运算次数的一种快速算法。它是对变换式进行一次次分 解,使其成为若干小点数的组合,从而减少运算量。常用的
FFT是以2为基数的,其长度 N=2L,它的效率高,程序简单
使用非常方便,当要变换的序列长度不等于2的整数次方 时,为了使用以2为基数的FFT,可以用末位补零的方法,
例1 用MATLAB 下列序列的离散卷积: {-2 0 1 –1 3},{1 2 0 -1} 解 MATLAB程序如下: 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('幅度');


二、实验原理及内容
在各种信号序列中,有限长序列信号处理占有很重要地位,对有 限长序列,我们可以使用离散Fouier变换(DFT)。 这一变换不但可以很好的反映序列的频谱特性,而且易于用快速 算法在计算机上实现,当序列x(n)的长度为N时,它的DFT定义为:
反换为:
有限长序列的DFT是其Z变换在单位圆上的等距采样,或 者是序列Fourier变换的等距采样,因此可以用于序列的谱 分析。
别用 filter、conv、impz三种函数完成,给出理
论计算结果和程序计算结果并讨论。
y[n] 0.75y[n 1] 0.125y[n 2] x[n] x[n 1] y[n] 0.25{x[n 1] x[n 2] x[n 3] x[n 4]}
理解matlab显示的相关函数中点与rxy(0)或者ryx(0)之间 的关系
分析相关函数rxy与ryx之间的关系 理解掌握max(rxy )的相对于matlab显示的相关函数中点 的位置关系与参与运算的两信号之间的时差关系 分析输出y1与y2互相关的最大值的位置place_y(相对 于中点),分析输出h1与h2互相关的最大值的位置 place_h(相对于中点) 讨论place_y与place_h的关系,可以得出怎样的结论? 绘制各种相关函数曲线,给出分析结果
(2) 泄漏 实际中我们往往用截短的序列来近似很长 的甚至是无限长的序列,这样可以使用较短的 DFT来对信号进行频谱分析,这种截短等价于 给原信号序列乘以一个矩形窗函数,也相当于 在频域将信号的频谱和矩形窗函数的频谱卷积, 所得的频谱是原序列频谱的扩展。 泄漏不能与混叠完全分开,因为泄漏导致 频谱的扩展,从而造成混叠。为了减少泄漏的 影响,可以选择适当的窗函数使频谱的扩散减 至最小。
其FT为
0.8 0.44e j 0.36e j 2 0.02e j 3 H (e j ) 1 0.7e j 0.45e j 2 0.6e j 3
用MATLAB计算的程序如下: k=256; num=[0.8 -0.44 0.36 0.02]; den=[1 0.7 -0.45 -0.6]; w=0:pi/k:pi; h=freqz(num,den,w); subplot(2,2,1); plot(w/pi,real(h));grid title(‘实部’) xlabel('\omega/\pi');ylabel('幅度')
实部 6 4 10 6 5 4 0 2 -5 0 -10 -2
虚部
2 0 -2
0
0.5
0.5 1 / 幅度谱
1.5
2 1
Amplitude litude
幅度
幅值
4 2 0
弧度
幅 度
0
0.5
0.5 1 / 相位谱
1.5
2 1
8 6
4 3 2 0 1 -2 0 -4 -1
0
0.5
0.5 1 /
(2)观察衰减正弦序列xb(n)的时域和幅频特性,a=0.1, f=0.0625,检查谱峰出现位置是否正确,注意频谱的形状, 绘出幅频特性曲线,改变f,使f分别等于0.4375和0.5625, 观察这两种情况下,频谱的形状和谱峰出现位置,有无混叠 和泄漏现象?说明产生现象的原因。



(3)观察三角波和反三角波序列的时域和幅频特 性,用N=8点FFT分析信号序列xc(n)和xd(n)的幅 频特性,观察两者的序列形状和频谱曲线有什么 异同?绘出两序列及其幅频特性曲线。在xc(n) 和xd(n)末尾补零,用N=16点FFT分析这两个信号 的幅频特性,观察幅频特性发生了什么变化?两 情况的FFT频谱还有相同之处吗?这些变化说明 了什么? (4)一个连续信号含两个频率分量,经采样得 x(n)=sin2π *0.125n+cos2π *(0.125+Δ f)n n=0,1……,N-1 已 知 N=16,Δ f 分 别 为 1 / 1 6 和 1/64,观察其频谱;当N=128时,Δ f不变,其结 果有何不同,为什么?
使其长度延长至2的整数次方。
(一)、在运用DFT进行频谱分析的过程中可能产生三 种误差: (1) 混叠 序列的频谱时被采样信号的周期延拓,当采样速率不 满足Nyquist定理时,就会发生频谱混叠,使得采样后的信 号序列频谱不能真实的反映原信号的频谱。 避免混叠现象的唯一方法是保证采样速率足够高,使 频谱混叠现象不致出现,即在确定采样频率之前,必须对 频谱的性质有所了解,在一般情况下,为了保证高于折叠 频率的分量不会出现,在采样前,先用低通模拟滤波器对 信号进行滤波。
用FFT可以实现两个序列的圆周卷积。在一定的条件下,可以使圆周 卷积等于线性卷积。一般情况,设两个序列的长度分别为N1和N2,要使 圆周卷积等于线性卷积的充要条件是FFT的长度 N≥N1+N2 对于长度不足N的两个序列,分别将他们补零延长到N。 当两个序列中有一个序列比较长的时候,我们可以采用分段卷积的 方法。有两种方法: 重叠相加法。将长序列分成与短序列相仿的片段,分别用FFT对它们 作线性卷积,再将分段卷积各段重叠的部分相加构成总的卷积输出。 重叠保留法。这种方法在长序列分段时,段与段之间保留有互相重 叠的部分,在构成总的卷积输出时只需将各段线性卷积部分直接连接起 来,省掉了输出段的直接相加。
subplot(2,2,2); plot(w/pi,imag(h));grid title('虚部') xlabel('\omega/\pi');ylabel('Amplitude') subplot(2,2,3); plot(w/pi,abs(h));grid title('幅度谱') xlabel('\omega/\pi');ylabel('幅值') subplot(2,2,4); plot(w/pi,angle(h));grid title('相位谱') xlabel('\omega/\pi');ylabel('弧度')

相关结果的长度与信号长度的关系 值点判断两信号之间的相对时差
例6:利用相关运算 检测两个信号的相对时移
计算例5中y1(n)和y2(n)的互相关,根据互相关峰

计算h1(n)和h2(n)的互相关,根据峰值点位置判
断两信号之间的相对时差 对比上述两个互相关的关系,分析二者之间的关 系

要求
(三)、用周期图法(平滑周期图的平均法)对随机信号作谱分 析 实际中许多信号往往既不具有有限能量,由非周期性的。 无限能量信号的基本概念是随机过程,也就是说无限能量信 号是一随机信号。周期图法是随机信号作谱分析的一种方法, 它特别适用于用FFT直接计算功率谱的估值。 将长度为N的实平稳随机序列的样本x(n)再次分割成K段,每 段长度为L,即L=N/K。每段序列仍可表示为: xi(n)=x(n+(i-1)L),0≤n≤L-1,1≤i≤K 但是这里在计算周期图之前,先用窗函数w(n)给每段序列 xi(n)加权,K个修正的周期图定义为
其中U表示窗口序列的能量,它等于:
在此情况下,功率谱估计量可表示为:
三、实验内容及步骤 实验中用到的信号序列: a) Gaussian序列
b) 衰减正弦序列
c) 三角波序列
反三角波序列
上机实验内容

(1)观察高斯序列的时域幅频特性,固定信号xa(n)中参数 p=8,改变q的值,使q分别等于2,4,8,观察它们的时域和 幅频特性,了解当q取不同值时,对信号序列的时域幅频特 性的影响;固定q=8,改变p,使p分别等于8,13,14,观察 参数p变化对信号序列的时域及幅频特性的影响,观察p等于 多少时,会发生明显的泄漏现象,混叠是否也随之出现?记 录实验中观察到的现象,绘出相应的时域序列和幅频特性曲 线。
DFT是对单位圆上Z变换的均匀采样,所以它不可 能将频谱视为一个连续函数,就一定意义上看,用DFT 来观察频谱就好像通过一个栅栏来观看一个图景一样, 只能在离散点上看到真实的频谱,这样就有可能发生 一些频谱的峰点或谷点被“尖桩的栅栏”所拦住,不 能别我们观察到。 减小栅栏效应的一个方法就是借助于在原序列的 末端填补一些零值,从而变动DFT的点数,这一方法 实际上是人为地改变了对真实频谱采样的点数和位置, 相当于搬动了每一根“尖桩栅栏”的位置,从而使得 频谱的峰点或谷点暴露出来。
相关文档
最新文档