北邮信号与信息处理DSP实验三剖析

北邮信号与信息处理DSP实验三剖析
北邮信号与信息处理DSP实验三剖析

信号与信息综合处理实验报告

学院:信息与通信工程学院班级:2013211124

姓名:王丹頔

学号:2013210659

实验三FIR滤波器实现

1.实验目的

进一步熟悉CCS v5的开发环境,掌握调试的要素,并理解FIR的过程。

2.实验原理

2.1AIC23

(1)AIC23相关介绍

图1 AIC23结构图

图2 AIC23编码器控制寄存器

图3 AIC23寄存器集合

图4 采样速率设置

图5 采样率可配参数

(2)void DSK6416_init()

-设置所有的CPLD寄存器到上电状态,初始化内部BSL数据结构;

-在使用任何BSL函数之前都必须调用。

(3)DSK6416_AIC23_openCodec函数

-DSK6416_AIC23_CodecHandle DSK6416_AIC23_openCodec (int id, DSK6416_

AIC23_Config *Config);

-id:指定使用哪个编码器,DSK6416上为id=0;

-Config:指向包含编码器寄存器值的结构,以该结构中的值初始化寄存器;

-调用成功:返回编码器句柄;失败:返回INV常数(-1)。

(4)DSK6416_AIC23_write函数

-Int16 DSK6416_AIC23_write(DSK6416_AIC23_CodecHandle hCodec, Int32 val);

-hCodec, Val:编码器句柄,写入编码器的值;

- 返回TRUE :数据成功写入; - 返回FALSE :数据端口忙。

(5) DSK6416_AIC23_closeCodec 函数

- DSK6416_AIC23_closeCodec(DSK6416_AIC23_CodecHandle hCodec); - 关闭编码器。

2.2 FIR 滤波器实现

(1) FIR 滤波器介绍

滤波器就是在时间域或频域内,对已知激励产生规定响应的网络,使其能够从信号中提取有用的信号,抑制并衰减不需要的信号。 FIR 滤波器滤波过程:

1

0()()()()()N m y n x n h n h m x n m -==*=?-∑,0n 3

如果输入信号长度为M ,滤波器系数长度为N ,线性卷积后输出数据长度为L=M+N-1。即为:

1

0()()()N k y n h k x n k -==-∑,0,1,2,

,n L =

2.3 DSP 程序优化

(1) 优化原理

DSP 的C6000系列CPU 中的8个功能单元可以并行操作,并且其中两个功能

单元为硬件乘法运算单元,大大地提高了乘法速度;

DSP 采用了具有独立程序总线和数据总线的哈佛总线结构,仅片内程序总线宽

度就可达到256 位,即每周期可并行执行8 条32位指令; 片内两套数据总线的宽度分别为32 位;

除了多功能单元外,流水技术是提高DSP 程序执行效率的另一主要手段。

(2) 优化入门

通过选定C 编译器的选项来实现优化。在这个阶段可实现程序级优化,从而部

分消除多余代码;

针对C 源程序,进行优化。在运算中,循环经常占用大量的时钟周期, 对循环

的优化成为代码优化的重点; 对重点段直接线性汇编。

(3) 编译选项:

mv6400:使所产生的代码能利用C64x 增加的硬件资源和指令集。此选项编译

器默认执行;

on :其中n 可以取值为0、1、2和3,编译器将根据n 的不同,执行不同等级

的优化;

k :生成编译器输出的.asm 汇编文件; mw :生成详细的软件流水报告。使用-mw 后,系统会默认使用-k 选项,生成.asm

汇编文件并且在其中加入软件流水报告。

(4) 关键字 restrict

关键字restrict 是对指针、引用或数组的一种限定;

使用restrict 关键字是为了确保其限定的指针在声明的范围内,是指向一个特定

对象的唯一指针,即这个指针不会和其它指针指向存储器的同一地址;

使用restrict 关键字可以使使编译器更容易确定是否有别名信息,从而更好地优

化代码。

(5) _nassert 语句

C6416可以在每个时钟周期加载两个64位比特数,对于short 类型数据则可以

实现一个周期加载两对short 数据并行进行运算;

为了能够使两个short 数据并行运算,数据的存储地址必须按字地址对齐,这

样存取时才不会出错;

_nassert 可以告诉编译器数据的对齐信息,编译器便可进行数据优化。

3. 程序功能

3.1 FIR 滤波器

设计64阶滤波器,通过设置不同的滤波系数,产生低通,带通,和高通三种不同类型滤波器,利用1

0()()()N k y n h k x n k -==-∑对已知信号进行卷积运算,获得滤波结果,具体说明如下:

(1) 各滤波系数h[FILTER_SIZE]由MATLAB 的FDA 工具箱产生,其中FILTER_SIZE

为滤波器阶数加1;

(2) x[N]为原始序列,由12sin(2) 1.3sin(2)y f t f t p p =+ 函数抽样产生,其中

(3) h1[M]为低通滤波器系数,y1[N]为低通滤波结果; (4) h2[M]为带通滤波器系数,y2[N]为带通滤波结果; (5) h3[M]为高通滤波器系数,y3[N]为高通滤波结果。

3.2 音频播放

设置48k 的采样率,使用AIC23编码器,播放指定指定音频信号,具体说明如下: (1) 播放原始信号x[N],持续时间5s ,之后暂停1s ;

(2) 播放低通滤波后的结果y1[N],持续时间5s ,之后暂停1s ; (3) 播放带通滤波后的结果y2[N],持续时间5s ,之后暂停1s ; (4) 播放高通滤波后的结果y3[N],持续时间5s ,之后结束播放。

3.3程序优化

通过o2编译选项,程序结构优化以及使用关键词和语句,可进行程序优化,优化后结果可通过流水信息和运行时间观察。

4.程序基本信息

4.1程序模块

(1)FIR滤波模块:

功能:对原始序列进行不同截止频率的滤波,分别获得低通、带通、高通后的滤波信号,以供后续播放;

输入接口:无;

输出接口:无。

(2)音频播放模块:

功能:利用AIC23编码器,按照指定顺序播放音频信号;

输入接口:无;

输出接口:AIC23的HP OUT端口,输出播放的音频信号。

4.2代码

1#include

2#include

3#include

4#include"dsk6416.h"

5#include"dsk6416_aic23.h"

6#include"dsk6416.h"

7#include"dsk6416_led.h"

8#include"dsk6416_dip.h"

9#define N 113

10#define M 65

11int

h1[M]={17,-53,-22,-13,-10,-10,-9,-9,-8,-7,-5,-4,-1,0,3,6,9,12,16, 20,23,27,31,34,37,41,43,46,48,49,51,51,52,51,51,49,48,46,43,41,37 ,34,31,27,23,20,16,12,9,6,3,0,-1,-4,-5,-7,-8,-9,-9,-10,-10,-13,-2 2,-53,17};

12int

h2[M]={-54,-7,19,-30,-6,-26,9,8,30,12,4,-24,-28,-26,2,25,42,28,1,

-34,-48,-36,0,38,57,40,0,-43,-61,-44,0,44,63,44,0,-44,-61,-43,0,4 0,57,38,0,-36,-48,-34,1,28,42,25,2,-26,-28,-24,4,12,30,8,9,-26,-6 ,-30,19,-7,-54};

13int

h3[M]={0,0,1,0,-1,0,2,2,-2,-3,1,5,0,-7,-2,8,6,-9,-12,7,18,-3,-25, -4,33,18,-39,-42,45,92,-48,-313,549,-313,-48,92,45,-42,-39,18,33, -4,-25,-3,18,7,-12,-9,6,8,-2,-7,0,5,1,-3,-2,2,2,0,-1,0,1,0,0};

14int y1[N]={0},y2[N]={0},y3[N]={0};

15int

x[N]={3000,1698,-34,216,866,86,-292,1315,2500,1089,-741,-576,0,-8 37,-1258,324,1500,98,-1707,-1500,-866,-1630,-1965,-284,1000,-284, -1965,-1630,-866,-1500,-1707,98,1499,324,-1258,-837,0,-576,-741,1 089,2499,1315,-292,86,866,216,-34,1698,3000,1698,-34,216,866,86,-292,1315,2500,1089,-741,-576,0,-837,-1258,324,1500,98,-1707,-1500 ,-866,-1630,-1965,-284,1000,-284,-1965,-1630,-866,-1500,-1707,98, 1499,324,-1258,-837,0,-576,-741,1089,2499,1315,-292,86,866,216,-3 4,1698,3000,1698,-34,216,866,86,-292,1315,2500,1089,-741,-576,0,-837,-1258,324,1500};

16DSK6416_AIC23_Config config = {

17 0x0017, // 0 DSK6416_AIC23_LEFTINVOL Left line input channel

volume

18 0x0017, // 1 DSK6416_AIC23_RIGHTINVOL Right line input channel

volume

19 0x00d8, // 2 DSK6416_AIC23_LEFTHPVOL Left channel headphone

volume

20 0x00d8, // 3 DSK6416_AIC23_RIGHTHPVOL Right channel headphone

volume

21 0x0011, // 4 DSK6416_AIC23_ANAPATH Analog audio path control

22 0x0000, // 5 DSK6416_AIC23_DIGPATH Digital audio path control

23 0x0000, // 6 DSK6416_AIC23_POWERDOWN Power down control

24 0x0043, // 7 DSK6416_AIC23_DIGIF Digital audio interface

format

25 0x0001, // 8 DSK6416_AIC23_SAMPLERATE Sample rate control,48Khz

26 0x0001 // 9 DSK6416_AIC23_DIGACT Digital interface

activation

27};

28void main()

29{

30i nt n,k;

31//FIR滤波

32f or(n=0;n

33y1[n]=y2[n]=y3[n]=0;

34for(n=64;n

35for(k=0;k

36 y1[n]+=x[n-k]*h1[k];

37 y2[n]+=x[n-k]*h2[k];

38 y3[n]+=x[n-k]*h3[k];

39 }

40 y1[n]/=100;

41 y2[n]/=100;

42 y3[n]/=100;

43 }

44//初始化编码器

45DSK6416_AIC23_CodecHandle hCodec;

46i nt msec,sample;

47D SK6416_init();

48

49//播放原信号

50h Codec = DSK6416_AIC23_openCodec(0, &config);

51f or (msec = 0; msec < 5000; msec++)

52{

53for (sample = 64; sample < 112; sample++)

54{

55while (!DSK6416_AIC23_write(hCodec, x[sample])); 56while (!DSK6416_AIC23_write(hCodec, x[sample])); 57}

58}

59DSK6416_waitusec(1000000);

60

61//播放经低通滤波的信号

62f or (msec = 0; msec < 5000; msec++)

63{

64for (sample = 64; sample < 112; sample++)

65{

66//left channel

67while (!DSK6416_AIC23_write(hCodec, y1[sample])); 68//right channel

69while (!DSK6416_AIC23_write(hCodec, y1[sample])); 70}

71}

72DSK6416_waitusec(1000000);

73

74//播放经带通滤波的信号

75f or (msec = 0; msec < 5000; msec++)

76{

77for (sample = 64; sample < 112; sample++)

78{

79while (!DSK6416_AIC23_write(hCodec, y2[sample]));

80while (!DSK6416_AIC23_write(hCodec, y2[sample])); 81}

82}

83DSK6416_waitusec(1000000);

84

85//播放经高通滤波的信号

86f or (msec = 0; msec < 5000; msec++)

87{

88for (sample = 64; sample < 112; sample++)

89{

90while (!DSK6416_AIC23_write(hCodec, y3[sample])); 91while (!DSK6416_AIC23_write(hCodec, y3[sample])); 92}

93}

94DSK6416_waitusec(1000000);

95

96//关闭编码器

97DSK6416_AIC23_closeCodec(hCodec);

98}

4.3流程图

(1)总流程图

(2)AIC23编码器流程图

5.组内分工

6.功能测试

6.1软件平台

(1)原始混频信号波形

(2)低通滤波后的波形信号

(3)带通滤波后的波形信号

(4)高通滤波后的波形信号

(5)代码优化:如果没有进行软件流水,程序运行结束时,clock显示为:3445243465,即程序共需要3445243465个时钟周期。优化后,程序运行结束时,clock显示为:

17736121,即程序共需要17736121个时钟周期。

(6)查看流水信息:当打开-mw选项后,build之后在debug文件夹中会生成.asm文件。

打开asm文件可以查看8个功能单元的使用情况。

6.2DSP

将目标板连接到计算机上,接好耳机,将输出文件加载到活动目标,选择run->resume,将会听到5s原始信号,之后5s低通信号、5s带通信号、5s高通信号,信号之间间隔1s。

7.重点、难点

(1)原始信号采样及滤波系数

三种不同截止频率的滤波系数则由MATLAB的FDA工具箱产生,而在通过

MATLAB获得原始信号采样值时,需注意采样频率,采样频率应该适中,能尽

可能混频信号特性,否则会对之后的滤波结果产生较大的影响。

本次实验图像的大体方向是对的,但是所在包络出的波动,应该更趋近于正弦

函数,但是却有极其明显的尖锐部分。组内认为是在选取初值时,Mathlab的相

关操作产生了一定的误差,也有可能是因为芯片本身的功能存在差异,导致结

果并不是很理想。

(2)线性卷积结果

本次实验中,原始信号长度M为113,而滤波器系数序列长度N为65,线性卷

积结果长度为L=M+N-1=117。在进行本次实验之前,需要明确卷积结果长度,

因而在本次实验中,截取y[64]到y[111]这一段数据作为音频输出数据。在绘图

时,将点数设为173,输出序列失真,而将其改为113后,恢复为正常波形,对

于输出结果序列的长度,应该始终明确,否则将对实验结果造成影响。

(3)断点设置

在进行波形绘制过程时,绘图选项为灰色,无法进行绘图前,调试之后,应在

main()最后一行设置断点,运行后解决这一问题。

8.心得体会

本次实验包含了DSP中FIR及IIR的相关内容,在回顾了课本知识后完成了本次实验,对有限冲激响应和无限冲激响应的数字滤波器有了更为深入的领悟。本次实验需要借助MATLAB生成抽样后的原始函数及滤波器系数,之后在利用线性卷积公式和AIC23解码器即可完成滤波后音频输出,从而完成本次实验。

在助教验收环节,提及了FIR相关结构,IIR滤波器的总类及之前的区别等相关问题,细致的问题在很大程度上帮助我们回忆起了并巩固了相关细节。本次实验作为DSP最后一次实验,在有了前两次实验经验的基础上,环境配置等步骤相对轻车熟路,但实验内容还是让我们获益匪浅。虽然DSP相关实验已经结束,但在后续的学习生活中,我们还将继续再接再厉,更加细致认真地完成FPGA相关实验。

数字信号处理实验(吴镇扬)答案-2

(1) 观察高斯序列的时域和幅频特性,固定信号)(n x a 中参数p=8,改变q 的 值,使q 分别等于2、4、8,观察他们的时域和幅频特性,了解当q 取不同值时,对信号序列的时域和幅频特性的影响;固定q=8,改变p,使p 分别等于8、13、14,观察参数p 变化对信号序列的时域和幅频特性的影响,注意p 等于多少时会发生明显的泄漏现象,混叠是否也随之出现?记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。 ()() ?????≤≤=-其他0150,2n e n x q p n a 解:程序见附录程序一: P=8,q 变化时: t/T x a (n ) k X a (k ) t/T x a (n ) p=8 q=4 k X a (k ) p=8 q=4 t/T x a (n ) p=8 q=8 k X a (k ) p=8 q=8 幅频特性 时域特性

t/T x a (n ) p=8 q=8 k X a (k ) p=8 q=8 t/T x a (n ) 5 10 15 k X a (k ) p=13 q=8 t/T x a (n ) p=14 q=8 5 10 15 k X a (k ) p=14 q=8 时域特性幅频特性 分析: 由高斯序列表达式知n=p 为期对称轴; 当p 取固定值时,时域图都关于n=8对称截取长度为周期的整数倍,没有发生明显的泄漏现象;但存在混叠,当q 由2增加至8过程中,时域图形变化越来越平缓,中间包络越来越大,可能函数周期开始增加,频率降低,渐渐小于fs/2,混叠减弱; 当q 值固定不变,p 变化时,时域对称中轴右移,截取的时域长度渐渐地不再是周期的整数倍,开始无法代表一个周期,泄漏现象也来越明显,因而图形越来越偏离真实值, p=14时的泄漏现象最为明显,混叠可能也随之出现;

数字信号处理实验一

实验一 离散时间信号分析 班级 信息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这个软件。 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;

北京邮电大学《数字信号处理》课程教学大纲

《数字信号处理》课程教学大纲 一、课程编号:1100020 二、课程名称:数字信号处理 ( 64学时) Digital Signal Processing 三、课程教学目的 数字信号处理是现代信息处理和传输的基础课程之一,已经成为信号和信息处理、通信和电子、计算机科学和技术等专业的学生需要学习和掌握的基本知识。 本课程以离散时间信号与系统作为对象,在介绍经典理论的基础上,适当引入了现代信号处理的理论与方法以及Matlab仿真分析软件。通过本课程的学习,使得学生能够掌握确定性离散时间信号的频谱分析原理及快速实现方法,数字滤波器的设计及实现方法。使学生能够利用计算机技术来进行数字信号的处理,并根据实际需要分析、设计数字滤波系统。 本课程是进一步学习数字通信、图像处理、随机数字信号处理、无线通信、多媒体通信等专业课程的先修课程。 四、课程教学基本要求 1.掌握离散时间信号和系统的基本标识方法 2.掌握离散时间系统的基本特性、Z变换以及离散时间信号的傅立叶变换(DTFT) 3.掌握离散傅立叶变换(DFT)以及离散傅立叶变换的快速算法(FFT) 4.掌握数字滤波器的设计方法和结构 5.了解多速率信号处理的基本内容 五、教学内容及学时分配(含实验) 理论教学(56学时) 1.绪论2学时数字信号处理的特点、实现和应用 Matlab简介 2.离散时间系统的基本特性及流图10学时抽样与重建 离散系统及其普遍关系 信号流图及Mason公式 离散时间信号的傅立叶变换 Z变换及Z反变换(留数法)

Z变换与拉普拉斯、傅立叶变换的关系 离散系统的频域分析 3.离散傅立叶变换及其快速实现14学时DFS的定义及性质 DFT的定义、性质及应用 基2时间抽选法FFT 基2频率抽选法FFT 基4时间抽选法FFT IDFT的快速算法 FFT应用(线性卷积的快速计算、CZT变换) 4.IIR数字滤波器的设计和实现12学时滤波器概述 模拟滤波器的设计 模拟滤波器的数字仿真 冲激响应不变法和双线性变换法的设计 IIR滤波器的频率变换设计 IIR数字滤波器的计算机辅助设计 IIR 滤波器的实现结构 5.FIR数字滤波器的设计10学时线性相位FIR滤波器的条件和特性概述 窗函数法 频率取样法 FIR数字滤波器的优化设计 FIR数字滤波器的实现结构 6.多速率信号的处理基础8学时抽取和内插的时域和变换域描述 抽取滤波器和内插滤波器 多相分解 正交镜像滤波器组 双通道滤波器组 实验教学(8学时)

数字信号处理实验报告(实验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;

数字信号处理实验

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

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

数字信号处理实验答案 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),绘出四个周期。

数字信号处理实验三

实验三 离散付里叶变换(DFT ) 一、实验目的: 1. 掌握离散付里叶级数 2. 掌握DFT 变换。 3. 掌握DFT 特性。 4. 掌握利用DFT 计算线性卷积。 5. 掌握快速付里叶变换(FFT)。 二、实验原理: 1.离散付里叶级数(DFS ) )(~n x 为周期序列,其频率为基本频率(N /2π )的倍数(或谐波)。其离散付叶级 数(DFS )为:;∑ -=-±== 1 2,,1,0,)(~)(~N n kn N j k e n x k X π IDFS 为:∑ -== 1 2)(~ 1)(~N k kn N j e k X N n x π 2.离散付里叶变换(DFT ) )(n x 为长度N 的有限长序列,其DFT 为:21 1()()N j kn N k x n X k e N π--== ∑ IDFT 为:21 ()(),0,1,N j kn N n X k x n e k π-== =±∑ 3.DFT 的特性: (1) 线性性:)]([)]([)]()([2121n x bDFT n x aDFT n bx n ax DFT +=+ (2) 循环折叠(圆周对称)性:?? ? -≤≤-==-1 1) (0) 0())((N n n N x n x n x N (3) 共轭性: N k X n x DFT ))(()]([* *-= (4) 实序列的对称性(圆周共轭对称性):N k X k X ))(()(* -= (5) 序列的圆周移位:N m n x m n x ))(()(~ -=-

(6) 频域中的圆周移位:)())(()]([|ln k R l k X n x W DFT N N N -=- (7) 时域循环卷积:)()()]()([2121k X k X n x n x DFT =? (8) 频域循环卷积(乘法性):)()(1)]()([2121k X k X N n x n x DFT ?= (9) 帕塞瓦尔(Parseval )定理:∑ ∑ -=-== = 1 2 1 2 ) (1)(N k N n x k X N n x E 4.用DFT 计算线性卷积: 设)(1n x 为1N 点序列,)(2n x 为2N 点序列,)(3n x 为)(1n x 和)(2n x 的线性卷积,其为121-+N N 点序列,)(4n x 为)(1n x 和)(2n x 的圆卷积,其长度为 N ,当121-+=N N N 时,)()(43n x n x =。实际中,采用分段卷积法,即重 叠保留法和重叠相加法。需要对数据流进行分块处理,这时直接采用DFT 计算线性卷积会产生一些问题,而应该将)(n x 通过重复前M-1个取样进行分块,这样可得到正确结果。 5.快速付里叶变换(FFT ): 掌握基2-时域抽取FFT(DIT-FFT)和基2-频域抽取FFT(DIF-FFT)。MATLAB 提供fft 函数来计算x 的DFT 。fft 函数是用机器语言写的,采用混合基法,其调用形式为:),(N x fft X =。如N 为2的幂,则得到高速的基2-FFT 算法;若N 不是2的乘方,则将N 分解成质数,得到较慢的混合基FFT 算法;最后,若N 为质数,则fft 函数采用的是原始的DFT 算法。 三、实验步骤: 1.离散付里叶级数(DFS ) (1)自已动手:编写实现离散付里叶级数和逆离散付里叶级数的函数。 (2)已知周期性序列如下所示:}3,2,1,0,3,2,1,0,3,2,1,0{)(~ ↑ =n x 求其离散付里叶级数。 2.离散付里叶变换(DFT ) (1) 编写实现DFT 和IDFT 的函数。 (2) 已知)(n x 是一个六点序列,如下所示: ?? ?≤≤=e ls e n n x 0 501 )( 要求计算该序列的离散时间的付里叶变换和离散付里叶变换,并绘出它们的幅度和相

2015年北邮数字信号处理软件实验报告

数字信号处理软件实验 MATLAB 仿真 2015年12月16日

实验一:数字信号的 FFT 分析 ● 实验目的 通过本次实验,应该掌握: (a) 用傅立叶变换进行信号分析时基本参数的选择。 (b) 经过离散时间傅立叶变换(DTFT )和有限长度离散傅立叶变换(DFT )后信号频谱上的区别,前者 DTFT 时间域是离散信号,频率域还是连续的,而 DFT 在两个域中都是离散的。 (c) 离散傅立叶变换的基本原理、特性,以及经典的快速算法(基2时间抽选法),体会快速算法的效率。 (d) 获得一个高密度频谱和高分辨率频谱的概念和方法,建立频率分辨率和时间分辨率的概念,为将来进一步进行时频分析(例如小波)的学习和研究打下基础。 (e) 建立 DFT 从整体上可看成是由窄带相邻滤波器组成的滤波器组的概念,此概念的一个典型应用是数字音频压缩中的分析滤波器,例如 DVD AC3 和MPEG Audio 。 ● 实验内容及要求 ? 离散信号的频谱分析 设信号 此信号的0.3pi 和 0.302pi 两根谱线相距很近,谱线 0.45pi 的幅度很小,请选择合适的序列长度 N 和窗函数,用 DFT 分析其频谱,要求得到清楚的三根谱线。 ? DTMF 信号频谱分析 用计算机声卡采用一段通信系统中电话双音多频(DTMF )拨号数字 0~9的数据,采用快速傅立叶变换(FFT )分析这10个号码DTMF 拨号时的频谱。 00010450303024().*cos(.)sin(.)cos(.)x n n n n ππππ=+--

●MATLAB代码及结果 ?离散信号的频谱分析 clf; close all; N=1000; n=1:1:N; x=0.001*cos(0.45*n*pi)+sin(0.3*n*pi)-cos(0.302*n*pi-pi/4); y=fft(x,N); mag=abs(y); w=2*pi/N*[0:1:N-1]; stem(w/pi,mag); axis([0.25 0.5 0 2]); xlabel('频率'); ylabel('X(k)'); grid on;

数字信号处理实验(吴镇扬)答案-4

实验四 有限长单位脉冲响应滤波器设计 朱方方 0806020433 通信四班 (1) 设计一个线性相位FIR 高通滤波器,通带边界频率为0.6π,阻带边界频率为0.4π,阻 带衰减不小于40dB 。要求给出h(n)的解析式,并用MATLAB 绘出时域波形和幅频特性。 解: (1) 求数字边界频率: 0.6 , .c r ωπωπ== (2) 求理想滤波器的边界频率: 0.5n ωπ= (3) 求理想单位脉冲响应: []d s i n ()s i n [()] () ()1n n n n n n h n n παωαα παωα π?-- -≠??-=? ? -=?? (4) 选择窗函数。阻带最小衰减为-40dB ,因此选择海明窗(其阻带最小衰减为-44dB);滤 波器的过渡带宽为0.6π-0.4π=0.2π,因此 6.21 0.231 , 152 N N N ππα-=?=== (5) 求FIR 滤波器的单位脉冲响应h(n): []31d sin (15)sin[0.5(15)] 1cos ()15()()()15(15)1 15 n n n R n n h n w n h n n n ππππ?---????-? ?≠? ???==-???? ? ?=? 程序: clear; N=31; n=0:N-1; hd=(sin(pi*(n-15))-sin(0.5*pi*(n-15)))./(pi *(n-15)); hd(16)=0.5; win=hanning(N); h=win'.*hd; figure; stem(n,h); xlabel('n'); ylabel('h(n)'); grid; title('FIR 高通滤波单位脉冲响应h(n)'); [H,w]=freqz(h,1); H=20*log10(abs(H)); figure;3 plot(w/pi,H); axis([0 1 -100 10]); xlabel('\omega/\pi'); ylabel('幅度/dB'); grid; title('FIR 高通滤波器,hanning 窗,N=31');

数字信号处理实验三

实验三:离散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

数字信处理上机实验答案全

数字信处理上机实验答 案全 Document number【SA80SAB-SAA9SYT-SAATC-SA6UT-SA18】

第十章 上机实验 数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。 实验一系统响应及系统稳定性。 实验二时域采样与频域采样。 实验三用FFT对信号作频谱分析。 实验四 IIR数字滤波器设计及软件实现。 实验五 FIR数字滤波器设计与软件实现 实验六应用实验——数字信号处理在双音多频拨号系统中的应用 任课教师根据教学进度,安排学生上机进行实验。建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四IIR数字滤波器设计及软件实现在。学习完第六章进行;实验五在学习完第七章后进行。实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。 实验一: 系统响应及系统稳定性 1.实验目的 (1)掌握求系统响应的方法。 (2)掌握时域离散系统的时域特性。 (3)分析、观察及检验系统的稳定性。 2.实验原理与方法 在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。在计算机上适合用递推法求差分方程的解,最简单的方法是采用MATLAB语言的工具箱函数filter函数。也可以用MATLAB语言的工具箱函数conv函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。 系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应。 系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。或者系统的单位脉冲响应满足绝对可和的条件。系统的稳定性由其差分方程的系数决定。 实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的[19]。系统的稳态输出是指当∞ n时,系统的输出。如果系统稳定,信号加入 → 系统后,系统输出的开始一段称为暂态效应,随n的加大,幅度趋于稳定,达到稳态输出。 注意在以下实验中均假设系统的初始状态为零。 3.实验内容及步骤

数字信号处理实验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))'); 单位脉冲响应曲线 幅频和相频特性曲线 第二题结果:

习题集-02 数字信号处理习题答案

§ Z 变换 ? Z 变换的定义及收敛域 【习题】 1. 假如)(n x 的z 变换代数表示式是下式,问)(z X 可能有多少不同的收敛域。 )83451)(411(411)(2122----+++- =z z z z z X 【分析】 )要单独讨论,(环状、圆外、圆内:有三种收敛域:双边序列的收敛域为:特殊情况有:左边序列的收敛域为:因果序列的收敛域为:右边序列的收敛域为:特殊情况有:有限长序列的收敛域为 0 0 , , 0 0 , , 0 , 0 0 , 0 , 0 22 11 212 1∞==<<≤≤<≤<<≥≥∞≤<≥∞<<≤∞<≤≥∞≤<≤≤∞<<+ -++--z z R z R n n R z n n R z n n z R n n z R n z n z n n n z x x x x x x

解:对X (Z )的分子和分母进行因式分解得 )43 1 )(21 1)(211(2111111----+-+- =Z jZ jZ Z X (Z )的零点为:1/2,极点为:j/2,-j/2,-3/4 ∴ X (Z )的收敛域为: (1) 1/2 < | Z | < 3/4,为双边序列,见图一 (2) | Z | < 1/2,为左边序列,见图二 (3) | Z | > 3/4,为右边序列,见图三 图一 图二 图三 )431)(211)(411()211)(211()(11211-----++++- =Z Z Z Z Z Z X

? Z 反变换 【习题】 2. 有一右边序列 )(n x ,其 z 变换为)1)(211(1 )(11----=z z z X (a) 将上式作部分分式展开(用 1-z 表示),由展开式求 )(n x 。 (b) 将上式表示成 z 的多项式之比,再作部分分式展开,由展开式求 )(n x ,并说明所得到的序列 与(a)所得的是一样的。 【注意】不管哪种表示法最后求出 x (n ) 应该是相同的。 解:(a) 因为11122 111)(---+--=z z z X 且x(n)是右边序列 所以 )()212()(n u n x n ?? ? ??-= (b) 122 1211 )1)(2 1(21231 )1)(2 1()(2 -+--+=---+=--=z z z z z z z z z X )()212( )1(2)1(21)()( n u n u n u n n x n n ??? ??-=-+-?? ? ??-=δ则

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

物理与电子信息工程学院 实验报告 实验课程名称:数字信号处理 实验名称:用FFT对信号作频谱分析班级:1012341 姓名:严娅 学号:101234153 成绩:_______ 实验时间:2012年12月6日

一、实验目的 学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT。 二、实验原理 用FFT对信号作频谱分析是学习数字信号处理的重要内容。经常需要进行谱分析的信号是模拟信号和时域离散信号。对信号进行谱分析的重要问题是频谱分辨率D和分析误差。频谱分辨率直接和FFT的变换区间N有关,因为FFT能够实现的频率分辨率是N/ 2π,因此要求D 2π。可以根据此式选择FFT的变换区间N。误差主要来自于/ N≤ 用FFT作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N较大时离散谱的包络才能逼近于连续谱,因此N要适当选择大一些。 周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。如果不知道信号周期,可以尽量选择信号的观察时间长一些。 对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。 三、实验步骤及内容 (1)对以下序列进行谱分析。

?????≤≤-≤≤-=?? ???≤≤-≤≤+==其它n n n n n n x 其它n n n n n n x n R n x ,074, 330,4)(,074, 830, 1)() ()(3241 这些都是时域离散非周期信号,选择FFT 的变换区间N 为8和16 两种情况进行频谱分析。分别打印其幅频特性曲线。并进行对比、分析和讨论。 (2)对以下周期序列进行谱分析。 4()cos 4x n n π= 5()cos(/4)cos(/8)x n n n ππ=+ 这些是时域离散周期信号,选择FFT 的变换区间N 为8和16 两种情况分别对以上序列进行频谱分析。分别打印其幅频特性曲线。并进行对比、分析和讨论。 (3)对模拟周期信号进行谱分析 6()cos8cos16cos20x t t t t πππ=++ 这是时域连续周期信号,选择采样频率Hz F s 64=,变换区间N=16,32,64 三种情况进行谱分析。分别打印其幅频特性,并进行分析和讨论。 四、实验程序清单 %第10章实验3程序exp3.m % 用FFT 对信号作频谱分析

数字信号处理上机实验答案(全)1

第十章 上机实验 数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。 实验一 系统响应及系统稳定性。 实验二 时域采样与频域采样。 实验三 用FFT 对信号作频谱分析。 实验四 IIR 数字滤波器设计及软件实现。 实验五 FIR 数字滤波器设计与软件实现 实验六 应用实验——数字信号处理在双音多频拨号系统中的应用 任课教师根据教学进度,安排学生上机进行实验。建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四IIR 数字滤波器设计及软件实现在。学习完第六章进行;实验五在学习完第七章后进行。实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。 10.1 实验一: 系统响应及系统稳定性 1.实验目的 (1)掌握 求系统响应的方法。 (2)掌握时域离散系统的时域特性。 (3)分析、观察及检验系统的稳定性。 2.实验原理与方法 在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。在计算机上适合用递推法求差分方程的解,最简单的方法是采用MA TLAB 语言的工具箱函数filter 函数。也可以用MATLAB 语言的工具箱函数conv 函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。 系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应。 系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。或者系统的单位脉冲响应满足绝对可和的条件。系统的稳定性由其差分方程的系数决定。 实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的[19]。系统的稳态输出是指当∞→n 时,系统的输出。如果系统稳定,信号加入系统后,系统输出的开始一段称为暂态效应,随n 的加大,幅度趋于稳定,达到稳态输出。 注意在以下实验中均假设系统的初始状态为零。 3.实验内容及步骤 (1)编制程序,包括产生输入信号、单位脉冲响应序列的子程序,用filter 函数或conv 函数求解系统输出响应的主程序。程序中要有绘制信号波形的功能。 (2)给定一个低通滤波器的差分方程为

数字信号处理实验八

实验报告 实验名称: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

数字信号处理实验1

clc; clear; M=26;N=32;n=0:M; xa=0:M/2; xb=ceil(M/2)-1:-1:0; xn=[xa,xb]; Xk=fft(xn,512); Xk1=abs(Xk); X32k=fft(xn,32); X32k1=abs(X32k); x32n=ifft(X32k); X16k=X32k(1:2:N); X16k1=abs(X16k); x16n=ifft(X16k,N/2); figure(1); subplot(3,2,1); stem(Xk1); subplot(3,2,2); stem(X32k1); subplot(3,2,3); stem(x32n); subplot(3,2,4); stem(X16k1); subplot(3,2,5); stem(x16n); Lx=41;N=5;M=10; hn=ones(1,N);hn1=[hn zeros(1,Lx-N)]; n=0:Lx-1; xn=cos(pi*n/10)+cos(2*pi*n/5); yn=fftfilt(hn,xn,M); figure(1); subplot(3,1,1); stem(hn1); subplot(3,1,2); stem(xn); subplot(3,1,3); stem(yn);

clc; clear; n=0:31; A=3; y=A*exp((0.8+j*314)*n); subplot(2,1,1); stem(y); Az=[0.7 0.3]; Bz=[1 -0.8 -0.5]; subplot(2,1,2); zplane(Bz,Az);

相关文档
最新文档