西安邮电数字信号处理实验报告.docx

上传人:b****9 文档编号:25334947 上传时间:2023-06-07 格式:DOCX 页数:28 大小:38.95KB
下载 相关 举报
西安邮电数字信号处理实验报告.docx_第1页
第1页 / 共28页
西安邮电数字信号处理实验报告.docx_第2页
第2页 / 共28页
西安邮电数字信号处理实验报告.docx_第3页
第3页 / 共28页
西安邮电数字信号处理实验报告.docx_第4页
第4页 / 共28页
西安邮电数字信号处理实验报告.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

西安邮电数字信号处理实验报告.docx

《西安邮电数字信号处理实验报告.docx》由会员分享,可在线阅读,更多相关《西安邮电数字信号处理实验报告.docx(28页珍藏版)》请在冰豆网上搜索。

西安邮电数字信号处理实验报告.docx

西安邮电数字信号处理实验报告

西安邮电大学

通信与信息工程学院

实验报告

(2016/2017学年第2学期)

实验名称:

数字信号处理实验

学生姓名:

石龙飞

专业:

通信工程

学号:

03151307

指导教师:

常虹

2017年06月01日

西安邮电大学通院《数字信号处理实验》独立设课实验过程考核表

学生姓名

石龙飞

班级/学号

通工1510/03151307

承担任务实验室(单位)

三号实验楼423

所在部门

电科实验室

实施时间

2017年5月11日—2017年6月1日

具体内容

第一次

熟悉MATLAB的使用

第二次

信号的表示

第三次

FFT频谱分析及应用

第四次

信号的运算——卷积

第五次

线性卷积的快熟处理办法——重叠相加法

第六次

线性卷积的快熟处理办法——重叠保留法

第七次

IIR数字滤波器的设计

第八次

FIR数字滤波器的设计

指导教师姓名

常虹

职务或职称

指导教师

对学生的评价

学习态度

□认真□一般□不认真

学习纪律

□全勤□偶尔缺勤□经常缺勤

实践能力

□很强□一般□较差

指导教师评语

指导教师(师傅)签字

年月日

西安邮电大学通院《数字信号处理实验》独立设课实验成绩鉴定表

学生姓名

石龙飞

专业班级/学号

通工1510/03151307

315进行时间

2017年5月11日—2017年6月1日

考核内容

标准

平时成绩

(30分)

课堂出勤情况、课堂纪律及学习态度(25分)

遵守实验室的规章制度情况(5分)

实验能力

(40分)

分析、解决实际问题能力(10分)

文件检索或软硬件设计能力(10分)

实验完成情况(20分)

实习报告

(30分)

语言及文字表达力(10分)

实验报告结构(10分)

书写格式规范(10分)

总评成绩

1熟悉MATLAB

1.1实验目的

1、了解MATLAB程序设计语言的基本特点,熟悉MATLAB软件的运行环境。

2、掌握各种信号的建模方式。

3、掌握各种信号的托兴表示方法。

4、掌握变量等有关概念,具备初步的将一般数学模型转化为对应的计机模型并进行处理的能力。

1.2实验原理

1、图形保持

holdon/off命令控制是保持原有图形还是刷新原有图形,不带参数的hold命令在两种状态之间进行切换。

2、绘图修饰命令

title(图形名称)

xlabel(x轴说明)

ylabel(y轴说明)

text(x,y,图形说明)

legend

1.3实验内容以及步骤

单位采样序列

代码:

x=-5:

5;

y1=[zeros(1,5),1,zeros(1,5)];

stem(x,y1,'r')

axis([-5,5,0,2]);

单位阶跃序列

代码:

x=-5:

5;

y1=[zeros(1,5),1,ones(1,5)];

stem(x,y1,'r')

axis([-5,5,0,2]);

矩形序列

代码:

x=-5:

10;

y1=[zeros(1,5),ones(1,5),zeros(1,6)];

plot(x,y1)

stem(x,y1,'r')

axis([-5,10,0,2]);

三角波

代码:

fs=10000;

t=-1:

1/fs:

1;

w=0.4;

x=tripuls(t,w);

plot(t,x)

方波

代码:

t=-2*pi:

0.001:

2*pi;

x=square(t);

plot(t,x);

xlabel('t'),ylabel('z=square(t)')

锯齿波

代码:

x=0:

0.01:

5;

y=1-mod(x,1);

plot(x,y)

Sinc函数

代码:

clear

n=-5:

0.5:

10

y=sin(0.5*pi*n);

stem(n,y,'g')

1.4实验结果分析

学习使用MATLAB7.0软件;学习信号的图形表示方法,掌握各种各种信号的的建模方式;实现单位采样序列、单位阶跃序列、举行序列、三角波、方波、锯齿波、Sinc函数。

1.5实验总结以及体会构成

经过本次试验,我对于用MATLAB来作出一些数字信号中的一些基本波形的图像有了深刻的认识,可以熟练而又准确地以MATLAB为工具做出诸如单位阶跃序列,矩形序列等多种序列的图形,不仅如此,在作图中,我对于MATLAB的一些作图的基本指令,以及需要作出的序列有了深刻的认识与见解;本节课做出这些图形并不是重点,重点是了解MATLAB程序设计语言的基本特点,掌握这一个重要的工具,并且可以将数学模型熟练地转化为计算机模型,并进行处理,这才是本次实验真正的作用与意义,也是作为当代大学生的我们所必须具备的基本能力。

1.6指导老师评语

2信号的表示

2.1实验目的

1、了解MATLAB程序设计语言的基本特点,熟悉MATLAB软件运行

环境。

2、掌握各种信号的建模方式。

3、掌握各种信号的图形表示方法。

4、掌握变量等有关概念,具备初步的将一般数学模型转化为对应的计算机

模型并进行处理的能力

2.2实验原理

常用的MATLAB绘图语句有figure、plot、subplot、stem等,图形修饰语具有title、axis、text等。

2.2.1figure语句

figure有两种用法。

当只有一句figure命令时,程序会创建一个新的图形窗口,并返回一个整数型的窗口编号。

当采用figure(n)时,表示将第n个图形窗口作为当前的图形窗口,将其显示在所有窗口的最前面。

如果该图形窗口不存在,则新建一个窗口,并赋以编号n。

2.2.2plot语句

线形绘图函数。

用法为plot(x,y,’s’)。

参数x为横轴变量,y为纵轴变量,s用以控制图形的基本特征如颜色、粗细等,通常可以省略,常用方法如表1-1所示。

表1-1plot命令的参数及其含义

参数

含义

参数

含义

参数

含义

Y

黄色

.

-

实线

M

紫色

O

;

虚线

C

青色

X

打叉

-.

点划线

R

红色

+

加号

-

破折线

G

绿色

*

星号

^

向上三角形

B

蓝色

S

正方形

<

向左三角形

W

白色

D

菱形

>

向右三角形

K

黑色

v

向下三角形

P

五角星形

表1-1

2.2.3subplot语句

subplot(m,n,i)是分割显示图形窗口命令,它把一个图形窗口分为m行n列共m×n个小窗口,并指定第i个小窗口为当前窗口。

2.2.4二维统计分析图

在MATLAB中,二维统计分析图形很多,常见的有条形图、阶梯图、杆图和填充图等,所采用的函数分别是:

bar(x,y,选项)

stairs(x,y,选项)

stem(x,y,选项)

fill(x1,y1,选项1,x2,y2,选项2,…)

2.2.5图形保持

holdon/off命令控制是保持原有图形还是刷新原有图形,不带参数的hold命令在两种状态之间进行切换。

2.2.6绘图修饰命令

title(图形名称)

xlabel(x轴说明)

ylabel(y轴说明)

text(x,y,图形说明)

legend(图例1,图例2,…)

2.2.7MATLAB常用信号生成函数

(1)ZEROS

?

功能:

产生全零阵列

?

调用格式:

X=ZEROS(N)%产生N行N列的全零矩阵

?

X=ZEROS(M,N)%产生M行N列的全零矩阵

(2)ONES

?

功能:

产生全1阵列

?

调用格式:

X=ONES(N)%产生N行N列的全1矩阵

?

X=ONES(M,N)%产生M行N列的全1矩阵

(3)SINC

?

功能:

辛格函数

?

调用格式:

Y=SINC(X)%

(4)RECTPULS

?

功能:

产生矩形脉冲信号

?

调用格式:

Y=RECTPULS(T)%产生高度为1、宽度为1、关于T=0对称的矩形脉冲

?

Y=RECTPULS(T,W)%产生高度为1、宽度为W、关于T=0对称的矩形脉冲

(5)RAND

?

功能:

产生伪随机序列

?

调用格式:

Y=RAND(1,N)%产生[0,1]上均匀分布的随机序列

?

Y=RANDN(1,N)%产生均值为0,方差为1的白噪声序列

(6)SAWTOOTH

?

功能:

产生周期锯齿波或三角波

?

调用格式:

Y=SAWTOOTH(T)%产生幅值为+1,-1,以2为周期的方波

?

Y=SAWTOOTH(T,WIDTH)%产生幅值为+1,-1,以WIDTH*2为周期的方波

(7)SQUARE

?

功能:

产生方波

?

调用格式:

Y=SQUARE(T)%产生幅值为+1,-1,以2为周期的锯齿波

?

Y=SQUARE(T,DUTY)%产生幅值为+1,-1,以占空比为DUTY的方波

?

例:

t=0:

.0001:

.0625;

?

y=SQUARE(2*pi*30*t,80);plot(t,y)%产生一个占空比为80%的方波

(8)FLIPLR

?

功能:

序列左右翻转

?

调用格式:

Y=FLIPLR(X)

?

%X=123翻转后321

456654

(9)CUMSUM、SUM

?

功能:

计算序列累加

?

调用格式:

Y=CUMSUM(X)%向量X元素累加,记录每一次的累加结果,而SUM只记录最后的结果。

2.3:

实验内容以及步骤

1、分别以条形图、阶梯图、杆图和填充图形式绘制曲线y=2sin(x)。

程序如下:

x=0:

pi/10:

2*pi;

y=2*sin(x);

subplot(2,2,1);bar(x,y,'g');

title('bar(x,y,''g'')');axis([0,7,-2,2]);

subplot(2,2,2);stairs(x,y,'b');

title('stairs(x,y,''b'')');axis([0,7,-2,2]);

subplot(2,2,3);stem(x,y,'k');

title('stem(x,y,''k'')');axis([0,7,-2,2]);

subplot(2,2,4);fill(x,y,'y');

title('fill(x,y,''y'')');axis([0,7,-2,2]);

2、采用图形保持,在同一坐标内绘制曲线y1=0.2e-0.5xcos(4πx)和y2=2e-0.5xcos(πx)。

程序如下:

x=0:

pi/100:

2*pi;

y1=0.2*exp(-0.5*x).*cos(4*pi*x);

plot(x,y1)

holdon

y2=2*exp(-0.5*x).*cos(pi*x);

plot(x,y2);

holdoff

3、在0≤x≤2π区间内,绘制曲线y1=2e-0.5x和y2=cos(4πx),并给图形添加图形标注。

程序如下:

x=0:

pi/100:

2*pi;

y1=2*exp(-0.5*x);

y2=cos(4*pi*x);

plot(x,y1,x,y2)

title('xfrom0to2{\pi}');%加图形标题

xlabel('VariableX');%加X轴说明

ylabel('VariableY');%加Y轴说明

text(0.8,1.5,'曲线y1=2e^{-0.5x}');%在指定位置添加图形说明

text(2.5,1.1,'曲线y2=cos(4{\pi}x)');

legend(‘y1’,‘y2’)%加图例

4、实现单位采样序列δ(n)、单位阶跃序列u(n)、矩形序列()Rn,并用图形显

示。

写出程序及输出图形

%单位采样序列δ(n)

n=-5:

10;

y=[zeros(1,5),1,zeros(1,10)];

stem(n,y);

%单位阶跃序列u(n)

axis([-5,10,0,2]);

n=-5:

10;

y=[zeros(1,5),ones(1,11)];

stem(n,y,'r')

axis([-5,10,0,2]);

%矩形序列()NRn

n=-5:

10;

y=[zeros(1,5),ones(1,5),zeros(1,6)];

plot(n,y)

stem(n,y)

axis([-5,10,0,2]);

title('矩形序列');

5、实现三角波、方波、锯齿波、Sinc函数,并用图形显示。

写出程序及输出图形

%三角波

fs=10000;

t=-1:

1/fs:

1;

w=0.4;

x=tripuls(t,w);

plot(t,x)

title('三角波');

%方波

t=-2*pi:

0.001:

2*pi;

x=square(t);

plot(t,x);

xlabel('t'),ylabel('x=square(t)');

%锯齿波

x=0:

0.01:

5;

y=1-mod(x,1);

plot(x,y)

title('锯齿波')

%Sinc函数

n=-5:

0.5:

10;

y=sin(0.5*pi*n);

stem(n,y,'g')

title('正弦序列');

2.4:

实验结果分析

1、分别以条形图、阶梯图、杆图和填充图形式绘制曲线y=2sin(x)。

2、采用图形保持,在同一坐标内绘制曲线y1=0.2e-0.5xcos(4πx)和y2=2e-0.5xcos(πx)。

3、在0≤x≤2π区间内,绘制曲线y1=2e-0.5x和y2=cos(4πx),并给图形添加图

标注。

4、实现单位采样序列δ(n)、单位阶跃序列u(n)、矩形序列()NRn,并用图形显示,写出程序及输出图形。

5、实现三角波、方波、锯齿波、Sinc函数,并用图形显示。

写出程序及输出图形

2.5:

实验总结以及体会构成

本次实验主要是熟悉了如何使用MATLAB表示信号,通过MATLAB的函数来实现是主要方法,其次也可以自行编写函数,表示自己需要的特定信号,来适应不同的应用场合。

在信号表示中学会画图是非常重要的一件事,几乎所有的信号都可以也需要用图像表示出来,这样对分析和实验都是有着好处的,熟练掌握画图函数,这些便都可以迎刃而解,画图函数有很多种,其参数也是形形色色,记住每个参数的位置意义是非常重要的。

因为是对数字信号的处理,因此免不了会用到很多的理论知识,这时就是理论和时间结合的时候,MATLAB是一个可以仿真信号的工具,可以模拟实际,需要用理论知识来设计解决问题所需要的模型,然后用MATLAB将其仿真出来,看看实际结果是否是我们预期的,这个结果也将是我们在现实中实施该方案所能看到的结果。

2.6:

指导老师评语

3FFT频谱分析及应用

3.1实验目的

1、通过实验加深对FFT的理解;

2、熟悉应用FFT对典型信号进行频谱分析的方法。

3.1实验原理

在各种信号序列中,有限长序列占重要地位。

对有限长序列可以利用离散傅立叶变换(DFT)进行分析。

DFT不但可以很好的反映序列的频谱特性,而且易于用快速算法(FFT)在计算机上进行分析。

有限长序列的DFT是其z变换在单位圆上的等距离采样,或者说是序列傅立叶的等距离采样,因此可以用于序列的谱分析。

FFT是DFT的一种快速算法,它是对变换式进行一次次分解,使其成为若干小数据点的组合,从而减少运算量。

在MATLAB信号处理工具箱中的函数fft(x,n),可以用来实现序列的N点快速傅立叶变换。

经函数fft求得的序列一般是复序列,通常要求出其幅值和相位。

MATLAB中提供了求复数的幅值和相位的函数:

abs、angle,这些函数一般和fft同时使用。

3.3.3实验内容以及步骤

被噪声污染得信号,比较难看出所包含得频率分量,如一个由50Hz和120Hz正弦信号构成的信号,受零均值随机噪声的干扰,数据采样率为1000Hz,试用FFT函数来分析其信号频率成分,要求:

○1画出时域波形;○2分析信号功率谱密度。

N=40;

n=0:

N-1;

t=0.01*n;

x=2*sin(4*pi*t)+5*cos(8*pi*t);

k=0:

N/2;

w=2*pi/N*k;

X=fft(x,N);

magX=abs(X(1:

N/2+1));

subplot(2,1,1);stem(n,x,'.');title('signalx(n)');

subplot(2,1,2);stem(magX);title('FFTN=40');

xlabel('f(unit:

pi)');ylabel('|X|');grid

3.3.4实验结果分析

本次实验只要是针对有限长序列,我们可以通过MATLAB对其进行离散傅里叶变化,是非常方便的,因为工具内部已经将函数写好,我们只需要将变化的信号交给函数就可以,可以说大大地减小了手工计算量,并且能过直观得将图画出来。

其中需要注意的问题也有很多,比如因为操作失误,将函数名称写错,软件机会报错,这个问题还是比较容易查找的,其次是在表示信号的时候,将一些数值写错,到会最后的变换不是我们需要的,画出的图像有明显的问题,这些都需要细心才能避免,当然还有一些比较头疼的错误,比如函数不会使用,所给的参数错误,或者不符合标准。

3.3.6指导老师评语

4信号的运算-卷积

4.1实验目的

1、掌握信号的线性卷积运算。

2、掌握信号的循环卷积运算。

3、掌握信号循环卷积计算线性卷积的条件。

4.2实验原理

数字信号卷积定理

4.3实验内容以及步骤

1、假设卷积下面信号

X(n)=

0≤n<13

0else

h(n)=

10≤n<12

0else

选定循环卷积的长度为N=21。

确定y(n)=x(n)?

h(n)的哪些数值与线性卷积y(n)=x(n)*h(n)结果中的数值相同。

编写程序代码并输出图形,并分析错误数据的原因,怎样才能使两者数据相同。

n1=0:

1:

12;

x1=0.9.^n1;

h=ones(1,12);

h=[0h];

N=length(x1)+length(h)-1;

n=0:

N-1;

ny=0:

20;

y1=circonvt(x1,h,21);

y2=circonvt(x1,h,N);

x1=[x1zeros(1,N-length(x1))];

h=[hzeros(1,N-length(h))];

X1=fft(x1,N);

H=fft(h,N);

X=X1.*H;

x=ifft(X);

x=real(x);

subplot(2,2,1);stem(n,x1);title('x1(n)');axis([0,33,0,1]);

subplot(2,2,2);stem(n,h);title('h(n)');axis([0,33,0,1]);

subplot(2,2,3);stem(ny,y1,'fill');title('21点循环卷积');axis([0,33,0,8]);

holdon;subplot(2,2,4);stem(n,x);title('线性卷积');axis([0,33,0,8]);

subplot(2,2,3);stem(n,x,'r','--');axis([0,33,0,8]);

holdoff

2、已知系统响应为h(n)=sin(0.2n)+cos(0.5n)0≤n<20,输入为x(n)=exp(0.2n)0≤n<10,画出用DFT方法实现求系统输出的系统框图,编写用DFT实现的程序代码并输出图形

functiony=circonvt(x1,x2,N)

if(length(x1)>N||length(x2)>N)

error('N必须大于等于x的长度');

end

x1=[x1zeros(1,N-length(x1))];

x2=[x2zeros(1,N-length(x2))];

X1=fft(x1,N);X2=fft(x2,N);X=X1.*X2;

y=ifft(X,N);y=real(y);

n1=0:

1:

19;

hn=sin(0.2*n1)+cos(0.5*n1);

n2=0:

1:

9;

xn=exp(0.2*n2);

N=length(xn)+length(hn)-1;

n=0:

N-1;

ny=0:

20;

y1=circonvt(xn,hn,21);

y2=circonvt(xn,hn,N);

xn=[xnzeros(1,N-length(xn))];

hn=[hnzeros(1,N-length(hn))];

X1=fft(xn,N);

H=fft(hn,N);

X=X1.*H;

x=ifft(X);

x=real(x);

subplot(2,2,1);stem(n,xn);title('xn(n)');axis([0,33,0,5]);

subplot(2,2,2);stem(n,hn);title('h(n)');axis([0,33,-2,2]);

subplot(2,2,3);stem(ny,y1,'fill');title('21点循环卷积');axis([0,33,-20,30]);

holdon;subplot(2,2,4);stem(n,x);title('线性卷积');axis([0,33,-20,30]);

subplot(2,2,3);stem(n,x,'r','--');axis([0,33,-20,30]);

holdoff

4.4实验结果分析

1、假设卷积下面信号

X(n)=

0≤n<13

0else

h(n)=

10≤n<12

0else

选定循环卷积的长度为N=21。

确定y(n)=x(n)?

h(n)的哪些数值与线性卷积y(n)=x(n)*h(n)结果中的数值相同。

编写程序代码并输出图形,并分析错误数据的原因,怎样才能使两者数据相同。

2、已知系统响应为h(n)=sin(0.2n)+cos(0.5n)0≤n<20,输入为x(n)=exp(0.2n)0≤n<10,画出用DFT方法实现求系统输出的系统框图,编写用DFT实现的程序代码并输出图形

4.5实验总结以及体会构成

本次试验只要使用了卷积函数来计算卷积,此处的卷积函数是自己来写的,学要用到所学到的知识,从最基本的计算设计卷积函数,需要考虑到使用时的参数,返回值之类的,一个何时何地都可以用的函数。

MATLAB的函数编写也还需要注意几个问题,比如函数的命名是要与m文件一致的,不然无法调用,系统会提示此函数没有定义,或者其他更奇怪

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 信息与通信

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1