文档视界 最新最全的文档下载
当前位置:文档视界 › 哈尔滨工程大学数字信号处理实验二.

哈尔滨工程大学数字信号处理实验二.

哈尔滨工程大学数字信号处理实验二.
哈尔滨工程大学数字信号处理实验二.

实验报告

课程名称

实验项目名称

实验类型实验学时班级学号

姓名指导教师

实验室名称实验时间

实验成绩预习部分

实验过程

表现

实验报告

部分

总成绩

教师签字日期

实验二 离散时间傅立叶变换 实验报告

一、实验原理

1、经由正、逆离散时间傅里叶变换表达的信号傅里叶表达式是信号分析的一个关键部分,下面方程分别是分析方程和综合方程。

X(ω

j e

)=

∑∞

-∞

=-n ][x n

j e

n ω

ωωωd e )e (21][x n

j j ?-=π

π

πX n 类似地,当LTI 系统用于滤波时,作为冲击响应离散时间傅里叶变换的频率响应,提供了LTI 系统简介的描述。离散时间傅里叶变换X(ω

j e

)是ω的周期复值函数,周期总是

2π,并且基周期通常选在区间[-π,π)上。对离散时间傅里叶变换DTFT 来说有两个问题:

第一个问题是:DTFT 的定义对无限长信号是有效的 第二个问题是:DTFT 是连续变量ω的函数

在MA TLAB 中,任何信号必须是有限长度的,这就使第一点成为问题。因此,不可能使用MA TLAB 计算无限长信号的DTFT 。有一个值得注意的例外情形,当能从变换定义式推导出解析式并只是计算它时,可以使用MATLAB 计算无限长信号的DTFT 。例如在x[n]=n

a u[n],x[n]具有有理的DTFT 的情形下。

2、第二个问题是频率抽样问题。MA TLAB 擅长在有限网格点上计算DTFT 。通常选择足够多的频率以使绘出的图平滑,逼近真实的DTFT 。对计算有利的最好选择是在(-π,π)区间上一组均匀地隔开的频率,或者对共轭对称变换选择[0,π]区间。采用上述抽样办法,DTFT 式变成X(ω

j e

)=1...2,1,0,][)(1

)/2(/2-==∑-=-N k e n x e

X L n n N k j N

k j ππ

(3.11)DTFT 的周期性意味着在-π≤ω<0区间上的数值是那些对k>N/2的数值。因为上式是在有限数量的频率点k ω=2πk/N 处计算,并在有限范围内求和,因此它是可计算的。由于信号长度必须是有限的(0≤n

a u[n]的情形。在对DTFT 进行抽样时,并不要求N=L ,尽管通常经由DFT 进行计算(使用FFT

算法)时,如果N=L 很便利。的确,在使用N 点DFT 时,如果N>L ,只须想像x[n]是增补零的即可;如果N=L )点数多得多的频率处来计算DTFT 。

3、计算DTFT 需要两个函数,MA TLAB 的freqz 函数计算无限长信号,dtft (h ,H )函数计算有限长信号的DTFT 。

二:实验内容

实验内容包括脉冲信号的DTFT ,asinc 的M 文件,无限长信号的DTFT ,指数信号,复指数信号这五个部分。 1. 脉冲信号的DTFT

a 、已知矩形脉冲r[n]的定义式为在0≤n

j e

)=

∑∞

-∞

=-n ][x n

j e

n ω中,计算化简后可得:

2/)1(*)}2/sin(/)2/{sin()(--=L jw jw e w wl e R 。

b 、建立DTFT 函数(.M 文件) 实验程序清单1:

function[A,B]=dtft(h,N)

%DTFT calculate DTFT at N equally spaced frequencies %Usage:

%[A,B]=dtft(h,N)

%h:finite-length input vector,whose length is L %N:number of frequencies for evaluation over [-pi,pi) %==>constraint:N>=L %H:DTFT values(complex)

%W:(2nd output)vector of freqs where DTFT is computed %

N=fix(N);

L=length(h); h=h(:); %<--for vectors ONLY!!! if(N

error('DTFT: # data samples cannot exceed # freq samples') end

B=(2*pi/N)*[0:(N-1)]'; mid=ceil(N/2)+1;

B(mid:N)=B(mid:N)-2*pi;%move[pi,2pi)to[-pi,0) B=fftshift(B);

A=fftshift(fft(h,N));%move negative freq components

实验程序清单2:(当w=80时)

h=ones(1,12);

[A,B]=dtft(h,80); %w=80时

subplot(311),plot(B,real(A)); %把绘图窗口分成三行一列三个子图,然后在第一块区域作图 xlabel('B'),ylabel('A,real part'); %以B 为横轴,A 的实部为纵轴

subplot(312),plot(B,imag(A)); %把绘图窗口分成三行一列三个子图,然后在第二块区域作图 xlabel('B'),ylabel('A,imag part'); %以B 为横轴,A 的虚部为纵轴

subplot(313),plot(B,abs(A)); %把绘图窗口分成三行一列三个子图,然后在第三块区域作图 xlabel('B'),ylabel('A amplitude'); %以B 为横轴,A 的幅值为纵轴

实验仿真图:

-4-3

-2

-1

01

2

3

4

-1001020

B

A ,r e a l p a r t

-4-3-2-1

01234

-100

10

B

A ,i m a g p a r t

-4

-3

-2

-1

01

2

3

4

051015

B

A a m p l i t u d e

实验程序清单3:(当w=100时) h=ones(1,12);

[A,B]=dtft(h,100); %w=100时 subplot(311),plot(B,real(A)); xlabel('B'),ylabel('A,real part'); subplot(312),plot(B,imag(A)); xlabel('B'),ylabel('A,imag part'); subplot(313),plot(B,abs(A)); xlabel('B'),ylabel('A amplitude'); 实验仿真图:

-4-3

-2

-1

01

2

3

4

-1001020

B

A ,r e a l p a r t

-4-3-2-1

01234

-100

10

B

A ,i m a g p a r t

-4

-3

-2

-1

01

2

3

4

051015

B

A a m p l i t u d e

实验程序清单4:(当w=120时) h=ones(1,12);

[A,B]=dtft(h,120); %w=120时 subplot(311),plot(B,real(A)); xlabel('B'),ylabel('A,real part'); subplot(312),plot(B,imag(A)); xlabel('B'),ylabel('A,imag part'); subplot(313),plot(B,abs(A)); xlabel('B'),ylabel('A amplitude');

实验仿真图:

-4-3

-2

-1

01

2

3

4

-1001020

B

A ,r e a l p a r t

-4-3-2-1

01234

-100

10

B

A ,i m a g p a r t

-4

-3

-2

-1

01

2

3

4

051015

B

A a m p l i t u d e

实验结果分析:由以上三组不同频率(w=80,w=100,w=120)的仿真图形可知,当w 越大,取的点数越多时,绘制的图形越来越平滑。

c 、注意asinc 函数零点的位置是规则分布的。对奇数长脉冲,比如L=15的脉冲重复进行DTFT 计算并绘出幅度;同样再次检验零点位置,注意峰值高度。 实验程序清单: n=0:14;

h=ones(1,15);

[X,W]=dtft(h,150);

subplot(211),plot(W,abs(X)); %把绘图窗口分成二行一列二个子图,然后在第一块区域作图

grid; %图层为网格

xlabel('W'),ylabel('|X(w)|'); %X 轴为w ,Y 轴为X(w)幅值 [H,X]=dtft(X,150);

subplot(212),plot(X,abs(H)); %把绘图窗口分成二行一列二个子图,然后在第二块区域 作图 grid;

xlabel('X'),ylabel('|H(w)|');%X 轴为X ,Y 轴为H(w)幅值

实验仿真图:

-4-3-2-1

01234

05

10

15

W

|X (w )|

-4

-3-2-1

1234

050

100150

X

|H (w )|

实验结果分析:由仿真结果可以看出函数零点关于x=0对称。在对称轴处幅值最大,离对称轴越远,幅值逐渐减小。

d 、对asinc 函数零点的间距与asinc 函数的直流值,确定出通用规则。 零点间距为π/6,由数学推导:在a 部分中,当L=12时,由R(ω

j e

)=0可得sin(wL/2)=0,

即wL/2=k* π 则w=k*π/6。故得出以上结论。在实验a 部分的仿真图中,可观察到幅值高度为12。则零点间距*幅值=(π/6)*12=2*π。

2、asinc 的M 文件

编写一个MATLAB 的函数如asinc(w,L),直接从混叠函数表达式中计算在频率格上的asinc(w,L)。该函数应该有两个输入:唱的L 和频率w 的向量。函数必须检查被零除的情况,如w=0时。直接计算混叠sinc 函数得到脉冲信号的DTFT 。绘出幅度,保存该图以便将其与用dtft 得到的结果进行比较。

function [H,W]=asinc(w,L) %定义asinc 函数 N=fix(L); if (N<0)

error('Please input a positive integer.(L>0)'); end

%if(sin(w/2)=0) %end

W=(2*pi/N)*[0:(N-1)]'; H=sin(w*N/2)/sin(w/2);

3、指数信号

对于信号x[n]=(0.9)^n*u[n],使用freqz 函数计算其DTFT X(ωj e )。

a 、对w 在区间[-π,π)上绘出幅值与相位特性。这需要从freqz 返回的[X,W]向量的移位。

解释为什么幅度特性是w 的偶函数,而相位特性是w 的奇函数。 实验程序清单1: N=100;

a=[1,-0.9]; b=1;

[H,W]=freqz(b,a,N); W=[-pi:0.1:pi]; H=freqz(b,a,W);

subplot(211);%把绘图窗口分成二行一列二个子图,然后在第一块区域作图 plot(W,abs(H));

grid,title('MAGNITUDE RESPONSE') xlabel('FREQUENCY W'),ylabel('|H(w)|')

subplot(212);%把绘图窗口分成二行一列二个子图,然后在第二块区域作图 plot(W,angle(H));

grid,title('PHASE RESPONSE')

xlabel('FREQUENCY W'),ylabel('DEGREES')

实验仿真图:

-4-3

-2

-1

01

2

3

4

0246810MAGNITUDE RESPONSE

FREQUENCY W |H (w )|

-4

-3-2-1

01

234

-2-1012PHASE RESPONSE

FREQUENCY W

D E G R E E S

实验结果分析:将该指数信号代入分析方程X(ω

j e

)=

∑∞

-∞

=-n ][x n

j e

n ω中,计算化简后可从结果

X(ω

j e

)看出:该结果的幅值关于w 是偶函数,相位关于w 是奇函数。

b 、推算一阶系统的幅度特性与相位特性的表达式。

设一阶差分方程:y[n]=x[n]+ay[n-1],其系统方程H(ω

j e )=

ω

j -ae -11

其幅度ω

ω

acos 2-a 11)e (2

j +=

H

相位]cos 1sin arctan[

)e (ω

ω

ω

a a H j --=∠

c 、直接以这些表达式来计算幅度特性与相位特性,并与用freqz 函数计算出的结果相对比。 x[n]=n

9.0u[n]的幅度特性为ω

ω.8cos 1-.8111

)e (j =

X

相位特性为]cos 9.01sin 9.0arctan[)e (ω

ω

ω

--=∠j X

实验程序清单: N=1000; a=0.9;

w=(2*pi/N)*[-(N-1)/2:(N-1)/2]; m=1./((1-a*cos(w))+(a*sin(w).^2)); n=1./((1-a*cos(w)).^2+(a*sin(w)).^2); H=sqrt(m.^2+n.^2);%H 的表达式

subplot(2,1,1);%把绘图窗口分成二行一列二个子图,然后在第一块区域作图 plot(w,sqrt(H)); grid;

xlabel(' W'),ylabel('|H(w)|'); phase=(a*sin(w))./(1-a*cos(w)); subplot(2,1,2);

plot(w,atan(-phase));%绘制连续图形 grid,title('PHASE ');

xlabel(' W'),ylabel('DEGREES');

实验仿真图:

-4-3-2-1

01234

05

1015

W |H (w )|

-4

-3-2-1

01234

-2-1012PHASE

W

D E G R E E S

实验结果分析:

以上两个图对比,可以发现用表达式来计算幅度特性和相位特性这种方式与用freqz 函数计算这种方式,它们最终得出的结果是一样的。

3、复指数信号:

a 、取z=0.95e ^j3pi/11,对[0,30],绘出x[n]=z ^n*u[n]。用subplot 指令将实部和虚部对

n 绘出双子图。 实验程序清单:

z0=0.95*exp(j*3*pi/11); n=[0:30]; x=z0.^n;

subplot(311);%用subplot 指令绘出子图

stem(n,x); %以x 为横轴,n 为纵轴绘制离散信号波形 title('复指数信号');

xlabel('n'),ylabel('x'); subplot(3,1,2); stem(n,real(x)); title('REAL PART');

xlabel('n'),ylabel('real'); subplot(313);

stem(n,imag(x)); %以n 为横轴,x 的虚部为纵轴绘制离散信号波形 title('IMAG PART');

xlabel('n'),ylabel('imag');

实验仿真图:

0510

15202530

-10

1复指数信号

n

x

0510

15202530

-10

1

REAL PART n

r e a l

0510

15202530

-1

1

IMAG PART n

i m a g

b 、再取一次z=0.95e ^j3pi/11,计算其DTFT ,并对w 绘出幅度。注意作为w 的函数,幅度响应的尖峰位于何处。把尖峰位置与z 的极坐标形式联系起来。 实验程序清单: b=1;

a=[1,-0.95*exp(j*3*pi/11)];

w=[-(8/11)*pi:0.05*pi:(14/11)*pi]; H=freqz(b,a,w);

stem(w,abs(H)); %以w 为横轴,H 的幅度为纵轴绘制离散图形

grid;

xlabel('w'),ylabel('|H(w)|');

实验仿真图:

-3

-2

-1

1

2

3

4

024681012

14161820w

|H (w )|

c 、如果z 的角度变为3π/5,粗略绘出预期的DTFT ,并对w 绘出幅度,并通过对freqz 的计算进行绘图来验证。

实验程序清单:

w=[-0.4*pi:0.05*pi:1.6*pi]; %W 的表达式 z0=0.95*exp(j*3*pi/5);%Z0的表达式 H=1./(1-z0*exp(-j.*w));%H 的表达式 subplot(211); stem(w,abs(H)); grid;

xlabel('w'),ylabel('|H(w)|'); b=1;

a=[1,-0.95*exp(j*3*pi/5)]; c=[-0.4*pi:0.05*pi:1.6*pi];

H=freqz(b,a,c); %调用freqz 函数 subplot(212); %绘制子图 stem(c,abs(H)); %绘制离散图形 grid;

xlabel('c'),ylabel('|H(c)|');

实验仿真图:

-2-101

23456

05101520w

|H (w )|

-2

-101

23456

051015

20c

|H (c )|

d 、试建立一个联系带宽与r 的简单表达式。 实验程序清单:

a1=[1,-0.975*exp(j*3*pi/5)]; a2=[1,-0.95*exp(j*3*pi/5)]; a3=[1,-0.9*exp(j*3*pi/5)]; a4=[1,-0.8*exp(j*3*pi/5)]; b=1;

w=[-0.4*pi:0.1*pi:1.6*pi];

H1=freqz(b,a1,w),H2=freqz(b,a2,w),H3=freqz(b,a3,w),H4=freqz(b,a4,w); subplot(221);

stem(w,20*log(abs(H1))); grid,title('r=0.975');

xlabel('w'),ylabel('20log|H1(w)|/dB'); subplot(222);

stem(w,20*log(abs(H2))); grid,title('r=0.95');

xlabel('w'),ylabel('20log|H2(w)|/dB'); figure; subplot(223);

stem(w,20*log(abs(H3))); grid,title('r=0.9');

xlabel('w'),ylabel('20log|H3(w)|/dB'); subplot(224);

stem(w,20*log(abs(H4))); grid,title('r=0.8');

xlabel('w'),ylabel('20log|H4(w)|/dB');

实验仿真图:

-2

246

-200204060r=0.9

w

20l o g |H 3(w )|/d B

-2

246

-200

20

40r=0.8

w

20l o g |H 4(w )|/d B

-2

24

6

-20020406080

r=0.975

w

20l o g |H 1(w )|/d B

-2

246

-200204060

r=0.95

w

20l o g |H 2(w )|/d B

三:实验体会

在这次实验中,我发现了一些软件使用上的问题,比如程序运行了但是无

法显示图片等等,但是这些都在和同学交流以后得到了解决。事实上,学习是一个过程,慢慢地学到的东西肯定会更多。

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

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

实验一离散时间信号分析 一、实验目的 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)完成实验报告。 五、实验结果 六、实验总结

数字信号处理实验七小信号放大器特性分析与仿真

实验七小信号放大器特性分析与仿真1,实验目的 使用matlab分析各种小信号放大器的结构、参数及特性,加深对各种小信号放大器的理解和认识 二、实验原理 小信号放大器是电子线路的重要组成部分之一,由于他工作在晶体管的线性区域之内,因此又称为线性放大器。使用MATLAB可仿真小信号放大器的各种参数,如电压增益,输入阻抗,输出阻抗,频率响应等等。 1、晶体三极管的等效电路 常见的晶体三极管等效电路有:低频h参数,共基极T型高频等效电路,混合π型高频等效电路,他们通常用于分析各种小信号晶体管放大器的特性。 共发射极h参数的等效电路如图(a)所示,它适用于对低频放大器进行分析。另外,还存在着一种简化的h参数等效电路,其中忽略晶体管内部的电压反馈系数。共发射极的h参数与各电压电流的关系为。 共基极T型高频等效电路如图(b)所示,适用于共基极高频放大电路进行分析,工作频率可达100MHZ以上。 混合π型高频等效电路如图(c)所示,适用于分析共发射极的高频发达电路。在较宽的频率范围之内,等效电路的参数和工作频率无关。另外还存在着简化的混合π型高频等效电路,其中和处于开路状态。 2、共发射极放大电路 共发射极放大电路是一种使用的最为广泛的放大电路形式,其特点是电压增益和电流增益都比较高。自定义M函数amplifl..m用来仿真共发射极放大电路,使用它可以计算该放大器的的智力参数和交流参数。该

放大器的电路如下图。 MATLAB的特点之一就是适合进行线性代数运算,因此午在分析直流参数或分析交流参数时,都可以采用基尔霍夫定理,然后采用矩阵求逆的方式求出电压和电流的具体数值,进一步便可得到该放大器的各种参数。在分析共发射极放大的交流参数时,采用的晶体管模型是低频H 参数等效电路。一般来说,每个晶体管都可以用三个节点来表示,他们分别是基极集电极和发射极。在计算交流参数过程中,忽略各电容器的容抗。 3、直接耦合放大器 在两个或三个晶体管之间进行直接耦合的放大器称为直接耦合放大器,他多用作音响系统中的前置放大器,录音机内的磁头放大器。直接耦合放大器的主要特点是工作点稳定,电压增益高,下图是一个典型的直接耦合放大电路,它有三个晶体管构成,第一级为低噪声放大,第二级为高增益放大,第三极为射随器,整个放大器的电压增益由负反馈电路确定。由于采用了串联电压负反馈,同时又使用了射随器,因此该电路具有较高的输入阻抗和较低的输出阻抗。 4、差分放大器

数字信号处理实验

实验一 离散傅里叶变换(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)

数字信号处理实验

实验六: 用FFT对信号作频谱分析 一、实验目的 1.了解双音多频信号的产生、检测、包括对双音多频信号进行DFT时的参数选择等。 2.初步了解数字信号处理在是集中的使用方法和重要性。 3.掌握matlab的开发环境。 二、实验原理与方法 1、引言 双音多频(Dual Tone Multi Frequency, DTMF)信号是音频电话中的拨号信号,由美国AT&T贝尔公司实验室研制,并用于电话网络中。这种信号制式具有很高的拨号速度,且容易自动监测识别,很快就代替了原有的用脉冲计数方式的拨号制式。这种双音多频信号制式不仅用在电话网络中,还可以用于传输十进制数据的其它通信系统中,用于电子邮件和银行系统中。这些系统中用户可以用电话发送DTMF信号选择语音菜单进行操作。DTMF信号系统是一个典型的小型信号处理系统,它要用数字方法产生模拟信号并进行传输,其中还用到了D/A变换器;在接收端用A/D变换器将其转换成数字信号,并进行数字信号处理与识别。为了系统的检测速度并降低成本,还开发一种特殊的DFT算法,称为戈泽尔(Goertzel)算法,这种算法既可以用硬件(专用芯片)实现,也可以用软件实现。下面首先介绍双音多频信号的产生方法和检测方法,包括戈泽尔算法,最后进行模拟实验。下面先介绍电话中的DTMF信号的组成。在电话中,数字0~9的中每一个都用两个不同的单音频传输,所用的8个频率分成高频带和低频带两组,低频带有四个频率:679Hz,770Hz,852Hz和941Hz;高频带也有四个频率:1209Hz,1336Hz,1477Hz和1633Hz.。每一个数字均由高、低频带中各一个频率构成,例如1用697Hz和1209Hz两个频率,信号用表示。这样8个频率形成16种不同的双频信号。具体号码以及符号对应的频率如表10.6.1所示。表中最后一列在电话中暂时未用。DTMF信号在电话中有两种作用,一个是用拨号信号去控制交换机接通被叫的用户电话机,另一个作用是控制电话机的各种动作,如播

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

数字信号处理实验答案 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

实验一 基于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、掌握功率谱估计方法 2、会用matlab 对功率谱进行仿真 二、实验原理 功率谱估计方法有很多种,一般分成两大类,一类是经典谱估计;另一类是现代谱估计。经典谱估计可以分成两种,一种是BT 法,另一种是周期法;BT 法是先估计自相关函数,然后将相关函数进行傅里叶变换得到功率谱函数。相应公式如下所示: ||1 *0 1 ?()()()(11) ??()(12) N m xx n jwn BT xx m r m x n x n m N P r m e --=∞ -=-∞ =+-=-∑ ∑ 周期图法是采用功率谱的另一种定义,但与BT 法是等价的,相应的功率谱估计如下所示: 21 1? ()()01 (13)N jw jwn xx n P e x n e n N N --== ≤≤--∑ 其计算框图如下所示: 观测数据x(n) FFT 取模的平方 1/N ) (jw xx e ∧ 图1.1周期图法计算用功率谱框图

由于观测数据有限,所以周期图法估计分辨率低,估计误差大。针对经典谱估计的缺点,一般有三种改进方法:平均周期图法、窗函数法和修正的周期图平均法。 三、实验要求 信号是正弦波加正态零均值白噪声,信噪比为10dB,信号频率为2kHZ,取样频率为100kHZ。 四、实验程序与实验结果 (1)用周期图法进行谱估计 A、实验程序: %用周期法进行谱估计 clear all; N1=128;%数据长度 N2=256; N3=512; N4=1024; f=2;%正弦波频率,单位为kHZ fs=100;%抽样频率,单位为kHZ n1=0:N1-1; n2=0:N2-1; n3=0:N3-1; n4=0:N4-1; a=sqrt(20);%由信噪比为10dB计算正弦信号的幅度

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

本科生实验报告 实验课程数字信号处理基础 学院名称地球物理学院 专业名称地球物理学 学生姓名 学生学号 指导教师王山山 实验地点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

数字信号处理基础实验报告 (2)

成都理工大学 《信号处理基础》实验 开设时间:2013—2014学年第2学期

题目1:信号的产生和显示 一、实验目的: 认识基本信号 通过使用MATLAB 设计简单程序, 掌握对MATLAB 的基本使用方法 二、实验原理: 找出下列表达式的信号与:正弦信号、最小相位信号、最大相位信号、零相位信号的对应关系。 1、sin60t 2、e-60t sin60t 3、(1- e-60t)sin60t 4、e60t sin60t 三、实验内容: 产生上述信号的信号并显示 (1)t=[-pi/30:0.001:pi/30]; f=sin(60*t); plot(t,f) 产生图形如下:

(2)t=[0:0.001:pi/30]; f=exp(-60*t).*sin(60*t); plot(t,f) 产生图形如下:

(3)t=[-5*pi/30:0.001:5*pi/30]; f=(1-exp(-60*t)).*sin(60*t); plot(t,f) 产生图形如下: (4) t=[-pi/30:0.001:pi/30]; f=exp(6*t).*sin(60*t); plot(t,f) 产生如下波形:

四、实验结果与讨论: 讨论上述信号的特点 从第一个波形图可以看出,它的波形与正弦函数sin(t)的相像,只是相位上有改变,是一个正弦信号。最大相位信号的能量集中在后面,最小相位能量集中在前面,所以第二个是一个最小相位,第四个是一个最大相位信号。第三个由于波形在t>0时没有,所以是一个零相位信号。 题目2:频谱分析与显示 一、实验目的 初步认识频谱分析

数字信号处理综合设计实验报告

数字信号处理实验八 调制解调系统的实现 一、实验目的: (1)深刻理解滤波器的设计指标及根据指标进行数字滤波器设计的过程(2)了解滤波器在通信系统中的应用 二、实验步骤: 1.通过SYSTEMVIEW软件设计与仿真工具,设计一个FIR数字带通滤波器,预先给定截止频率和在截止频率上的幅度值,通过软件设计完后,确认滤波器的阶数和系统函数,画出该滤波器的频率响应曲线,进行技术指标的验证。 建立一个两载波幅度调制与解调的通信系统,将该滤波器作为两个载波分别解调的关键部件,验证其带通的频率特性的有效性。系统框图如下: 规划整个系统,确定系统的采样频率、观测时间、细化并设计整个系统,仿真调整并不断改进达到正确调制、正确滤波、正确解调的目的。(参考文件

zhan3.svu) (1)检查滤波器的波特图,看是否达到预定要求; (2)检查幅度调制的波形以及相加后的信号的波形与频谱是否正常; (3)检查解调后的的基带信号是否正常,分析波形变形的原因和解决措施;(4)实验中必须体现带通滤波器的物理意义和在实际中的应用价值。 2.熟悉matlab中的仿真系统; 3.将1.中设计的SYSTEMVIEW(如zhan3.svu)系统移植到matlab中的仿真环境中,使其达到相同的效果; 4.或者不用仿真环境,编写程序实现该系统,并验证调制解调前后的信号是否一致。 实验总共提供三个单元的时间(6节课)给学生,由学生自行学习和自行设计与移植 三、系统设计 本系统是基于matlab的simulink仿真软件设计的基带信号调制与解调的系统,利用matlab自带的数字信号仿真模块构成其原理框图并通过设置载波、带通滤波器以及低通滤波器等把基带信号经过载波调制后再经乘法器、带通滤波器和低通滤波器等电路系统能解调出基带信号。 1、实验原理框图

蒋朝晖数字信号处理实验

《数字信号处理》实验指导书 编写蒋朝辉 中南大学信息科学与工程学院 2014年4月

目录 实验一 MATLAB仿真软件的基本操作命令和使用方法 (2) 实验二常见离散信号的MATLAB产生和图形显示 (8) 实验三离散时间系统的时域分析 (12) 实验四离散时间信号的DTFT (16)

实验一 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 次幂的和。

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

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

第十章上机实验 数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。 实验一系统响应及系统稳定性。 实验二时域采样与频域采样。 实验三用FFT对信号作频谱分析。 实验四 IIR数字滤波器设计及软件实现。 实验五 FIR数字滤波器设计与软件实现 实验六应用实验——数字信号处理在双音多频拨号系统中的应用 任课教师根据教学进度,安排学生上机进行实验。建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四IIR数字滤波器设计及软件实现在。学习完第六章进行;实验五在学习完第七章后进行。实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。 functiontstem(xn,yn) %时域序列绘图函数 %xn:信号数据序列,yn:绘图信号的纵坐标名称(字符串) n=0:length(xn)-1; stem(n,xn,'.');boxon xlabel('n');ylabel(yn); axis([0,n(end),min(xn),*max(xn)]) 实验一: 系统响应及系统稳定性 1.实验目的 (1)掌握求系统响应的方法。 (2)掌握时域离散系统的时域特性。 (3)分析、观察及检验系统的稳定性。 2.实验原理与方法 在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。在计算机上适合用递推法求差分方程的解,最简单的方法是采用MATLAB语言的工具箱函数filter函数。也可

数字信号处理实验八

实验报告 实验名称:FIR数字滤波器设计及应用 课程名称____数字信号处理________ 院系部:电气与电子工程专业班级:信息1002 学生姓名:王萌学号: 11012000219同组人:实验台号: 指导教师:范杰清成绩: 实验日期: 华北电力大学

一、实验目的 加深理解 FIR 数字滤波器的时域特性和频域特性,掌握FIR 数字 滤波器的设计原理与设计方法,以及FIR 数字滤波器的应用。 二、 实验原理 FIR 数字滤波器可以设计成具有线性相位,在数据通信、图像处理、 语音信号处理等实际应用领域得到广泛应用。 M 阶FIR 数字滤波器的系统函数为: FIR 数字滤波器的单位脉冲响应h [k ]是长度为M +1的有限长因果序列。当满足对称条件时,该FIR 数字滤波器具有线性相位。FIR 数字滤波器设计方法主要有窗口法、频率取样法及优化设计法。 MATLAB 中提供的常用FIR 数字滤波器设计函数有: fir1 窗函数法设计FIR 数字滤波器(低通、高通、带通、 带阻、多频带滤波器) fir2 频率取样法设计FIR 数字滤波器:任意频率响应 firls FIR 数字滤波器设计:指定频率响应 firrcos 升余弦型 FIR 数字滤波器设计 intfilt 内插FIR 数字滤波器设计 kaiserord 凯塞(Kaiser)窗函数设计法的阶数估计 firpm Parks-McClellan 算法实现FIR 数字滤波器优化设计 firpmord Parks-McClellan 数字滤波器的阶数选择 cremez 复系数非线性相位FIR 等波纹滤波器设计 1、 窗口法设计FIR 数字滤波器 fir1函数可以很容易地实现FIR 数字滤波器窗口法设计。 可设计低通、高通、带通、带阻滤波器、多频带滤波器。 k M k z k h z H -=∑=][)(0

数字信号处理实验仿真结果

西安电子科技大学 统计与自适应信号处理实验仿真 题目基于LMS算法的自适应滤波器的 matlab仿真 学院电子工程学院 专业电路与系统 学号 学生姓名 授课教师 撰写日期: 2012年 12 月 20 日

在自适应滤波器中,参数可调的数字滤波器一般为FIR 数字滤波器,IIR 数字滤波器或格型滤波器。图1中,()x n 表示时刻n 的输入信号,()y n 表示时刻n 的输出信号,()d n 表示时刻n 的信号或期望响应信号,()e n 表示时刻n 的误差信号。误差信号为期望响应信号()d n 与输出信号()y n 之差,记为()()()e n d n y n =-。自适应滤波器的系统参数受误差信号控制,并根据()e n 的值而自动调整,使之适合下一时刻(1)n +的输入(1)x n +,以使输出信号(1)y n +更加接近期望信号(1)d n +,并使误差信号(1)e n +进一步减小。当均方误差2[()]E e n 达到最小值时,()y n 最佳地逼近()d n ,系统已经适应了外界环境。 2.2 LMS 算法 1)2[()]E e n 与权值W 的关系 LMS 自适应滤波器通过算法,当2[()]E e n 最小时,滤波器已经调节出适合外部环境的滤波器权值W 。 我们可以先推导2[()]E e n 与加权系数W 的关系式。 写成矩阵形式: 1 0()()[()][][][()]N T T i i i y j W x j X j W W X j -====∑ (1) 误差: ()()()()[][()]T e j d j y j d j W X j =-=- (2) 则: 22 2[()][()[][()]] [()]2[()[()]][][[][()][()][]] T T T T E e n E d j W X j E d j E d j X j W E W X j X j W =-=-+ (3) 令2[][()[()]],[][[()][()]],[()](0)T dd P E d j X j R E X j X j E d j ?===代入式(3),则有: 2211 1 [()][()]2[][][][][] (0)(0)2(0) i m i T T N N N dd i m x x i x d i m i E e j E d j P W W R W WW W ???====-+=+-∑∑∑ (4) 可以从上式看出均方误差2[()]E e n 是加权系数W 的二次函数,它是一个中间上凹的超抛物线曲面,是具有唯一最小值的函数,即2[()]E e n 与W 的关系在几何上是一个“碗形”的多维曲面。为了简单,设W 是唯一的,则2[()]E e n 与W 的关系成为一个抛物线。调节加权系数W 使

数字信号处理 实验一

数字信号处理实验一 序列的绘图 一、实验目的: 1.了解MATLAB的实验环境; 2.充分熟悉subplot函数的使用; 3.能够画出单位脉冲序列及单位阶跃序列的图形; 4.能够画出矩形序列及正弦序列的图形。 二、实验步骤: 1.打开MATLAB,了解三个区域(工作区、命令区、历史记录区)的作用; 2.用help查找subplot函数的使用情况; 3.编辑并生成函数impseq.m(单位脉冲序列) function [x,n] = impseq(n0,n1,n2) % 产生 x(n) = delta(n-n0); n1 <= n,n0 <= n2 % [x,n] = impseq(n0,n1,n2) if ((n0 < n1) | (n0 > n2) | (n1 > n2)) error('参数必须满足 n1 <= n0 <= n2') end n = [n1:n2]; %x = [zeros(1,(n0-n1)), 1, zeros(1,(n2-n0))]; x = [(n-n0) == 0]; 以及函数stepseq.m(单位阶跃序列) function [x,n] = stepseq(n0,n1,n2) % 产生 x(n) = u(n-n0); n1 <= n0 <= n2 % [x,n] = stepseq(n0,n1,n2) if ((n0 < n1) | (n0 > n2) | (n1 > n2)) error('参数必须满足n1 <= n0 <= n2') end n = [n1:n2]; %x = [zeros(1,(n0-n1)), ones(1,(n2-n0+1))]; x = [(n-n0) >= 0]; 主函数test1.m n=[-5:5];

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

实验一、离散时间系统及离散卷积 1、单位脉冲响应 源程序: function pr1() %定义函数pr1 a=[1,-1,0.9]; %定义差分方程y(n)-y(n-1)+0.9y(n-2)=x(n) b=1; x=impseq(0,-40,140); %调用impseq函数 n=-40:140; %定义n从-40 到140 h=filter(b,a,x); %调用函数给纵座标赋值 figure(1) %绘图figure 1 (冲激响应) stem(n,h); %在图中绘出冲激 title('冲激响应'); %定义标题为:'冲激响应' xlabel('n'); %绘图横座标为n ylabel('h(n)'); %绘图纵座标为h(n) figure(2) %绘图figure 2 [z,p,g]=tf2zp(b,a); %绘出零极点图 zplane(z,p) function [x,n]=impseq(n0,n1,n2)%声明impseq函数 n=[n1:n2]; x=[(n-n0)==0]; 结果: Figure 1: Figure 2:

2、离散系统的幅频、相频的分析 源程序: function pr2() b=[0.0181,0.0543,0.0543,0.0181]; a=[1.000,-1.76,1.1829,-0.2781]; m=0:length(b)-1; %m从0 到3 l=0:length(a)-1; %l从0 到3 K=5000; k=1:K; w=pi*k/K; %角频率w H=(b*exp(-j*m'*w))./(a*exp(-j*l'*w));%对系统函数的定义 magH=abs(H); %magH为幅度 angH=angle(H); %angH为相位 figure(1) subplot(2,1,1); %在同一窗口的上半部分绘图 plot(w/pi,magH); %绘制w(pi)-magH的图形 grid; axis([0,1,0,1]); %限制横纵座标从0到1 xlabel('w(pi)'); %x座标为 w(pi) ylabel('|H|'); %y座标为 angle(H) title('幅度,相位响应'); %图的标题为:'幅度,相位响应' subplot(2,1,2); %在同一窗口的下半部分绘图 plot(w/pi,angH); %绘制w(pi)-angH的图形 grid; %为座标添加名称

相关文档