数字信号处理实验.docx

上传人:b****0 文档编号:9598027 上传时间:2023-05-20 格式:DOCX 页数:33 大小:363.52KB
下载 相关 举报
数字信号处理实验.docx_第1页
第1页 / 共33页
数字信号处理实验.docx_第2页
第2页 / 共33页
数字信号处理实验.docx_第3页
第3页 / 共33页
数字信号处理实验.docx_第4页
第4页 / 共33页
数字信号处理实验.docx_第5页
第5页 / 共33页
数字信号处理实验.docx_第6页
第6页 / 共33页
数字信号处理实验.docx_第7页
第7页 / 共33页
数字信号处理实验.docx_第8页
第8页 / 共33页
数字信号处理实验.docx_第9页
第9页 / 共33页
数字信号处理实验.docx_第10页
第10页 / 共33页
数字信号处理实验.docx_第11页
第11页 / 共33页
数字信号处理实验.docx_第12页
第12页 / 共33页
数字信号处理实验.docx_第13页
第13页 / 共33页
数字信号处理实验.docx_第14页
第14页 / 共33页
数字信号处理实验.docx_第15页
第15页 / 共33页
数字信号处理实验.docx_第16页
第16页 / 共33页
数字信号处理实验.docx_第17页
第17页 / 共33页
数字信号处理实验.docx_第18页
第18页 / 共33页
数字信号处理实验.docx_第19页
第19页 / 共33页
数字信号处理实验.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数字信号处理实验.docx

《数字信号处理实验.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验.docx(33页珍藏版)》请在冰点文库上搜索。

数字信号处理实验.docx

数字信号处理实验

实验一熟悉matlab环境

一、实验目的:

1熟悉matlab编程环境

1学会使用matlab对信号进行简单的运算

二、实验器材:

计算机

三、实验内容:

序列的基本运算以及序列图形的绘制

四、实验步骤:

1两个信号的相加减运算

信号的加减指两个长度相同的信号对应时刻的值相加减。

例:

已知两个向量a=[1111]和b=[1234],求c=a+b。

MATLAB程序:

>>a=[1111];

>>b=[1234];

>>c=a+b

c=

2345

2信号与标量的乘积

信号与标量的乘积的物理意义是将信号进行放大或缩小,也就是信号的尺度变换。

例:

已知信号

,求

MATLAB程序:

>>a=[1234];

>>c=3*a

c=

36912

3两个信号相乘

和乘方

两个信号相乘即两个长度相同的序列对应元素相乘,也就是点积运算。

用符号“.*”进行。

一个指数信号的表示,即乘方用“.^”

例:

已知两个向量a=[1111]和b=[1234],求a*b。

MATLAB程序:

>>a=[2222];b=[1234];

>>c=a.*b

c=

2468

4信号折叠

fliplr

序列以

为对称轴对褶,可用将矩阵或矢量进行左右翻转的函数fliplr。

源程序:

function[y,n]=sigfold(x,n)

%实现y(n)=x(-n)

y=fliplr(x);n=-fliplr(n);

return

>>x=[12345]

x=

12345

>>n=[01234]

n=

01234

>>[y,n]=sigfold(x,n)

y=

54321

n=

-4-3-2-10

5信号的卷积

c=conv(a,b)用于求矢量a和b的卷积,注意这里求的是线性卷积,即若a的长度是N,b的长度是M,则卷积之后c的长度是N+M-1。

例:

已知线性时不变系统的输入序列

,系统的单位取样响应是

,求系统的输出

>>a=[1111];

>>b=[11111];

>>c=conv(a,b)

c=

12344321

6length函数

length(x):

用来计算向量x的长度。

7画图函数stem简介

stem(x,y)

函数说明:

stem函数是一个二维的画图函数,其中x和y分别是两个长度相同的向量。

如果要绘制一个二维离散函数的图像,则x表示各个点横坐标的取值,y表示各个点纵坐标的取值。

stem(...,'fill')

函数说明:

这样的格式是可以将离散值的顶端填充成实心。

例如:

,画出该序列。

>>x=[1234];

>>n=(0:

3);

>>stem(n,x);

>>stem(n,x,'fill');

观察两幅图的不同之处。

五实验报告

1按照以上例题分别将matlab程序实现,并验证结果的正确性。

2在每道例题后面绘制出原序列和结果序列。

3用matlab实现下列函数并画图

(1)

(2)

求两个序列的卷积

,并分别画出序列x1(n),x2(n),x(n)。

实验二matlab中离散信号的表示

一、实验目的:

学会使用matlab表示离散信号

二、实验器材:

计算机

三、实验内容:

1、产生单位脉冲序列

2、产生单位阶跃序列

3、产生离散正弦信号

四、实验步骤:

1产生单位脉冲序列

(1)方法一

axis([xminxmaxyminymax]):

用来限制x轴和y轴的起止点。

xlabel('string')和ylabel('string'):

用来标注x轴和y轴。

text(x,y,'string'):

在(x,y)位置显示字符’string’。

function[x,n]=impseq(n0,n1,n2)

if((n0n2)|(n1>n2))

error('必须满足n1<=n0<=n2')

end

n=[n1:

n2];

x=[(n-n0)==0];

return

>>n=[-5:

5];

>>x=impseq(0,-5,5);

>>stem(n,x);

>>ylabel('x(n)');axis([-5,5,0,1.5]);text(5.5,0,'n')

结果如图2.1。

(2)方法二

zeros(m,n)或者zeros([mn])

函数说明:

zeros(m,n)返回一个m行n列的

零矩阵。

>>x=[1zeros(1,9)];

>>n=(0:

9);

>>stem(n,x,'fill');

结果如图2.2。

2产生单位阶跃序列(矩形序列)

plot(x,y):

用来画由x和y向量各对应点组成的直线。

(1)方法一

function[x,n]=stepseq(n0,n1,n2)

%产生单位阶跃序列x(n)=u(n-n0)

if((n0n2)|(n1>n2))

error('必须满足n1<=n0<=n2')

end

n=[n1:

n2];

x=[(n-n0)>=0];

return

>>n=[-1:

8];

>>a=length(n);

>>y1=zeros(1,a);

>>[x,n]=stepseq(3,-1,8);

>>stem(n,x,'filled'),holdon,plot(n,y1);

>>axis([0,12,0,1.1]);

>>text(12.2,0,'n')

>>ylabel('x(n)');

结果如图2.3。

(2)方法二

用MATLAB中的ones函数实现:

x=ones(1,N);

产生1行N列的1向量。

>>n=(0:

9);

>>x=ones(1,10);

>>stem(n,x,'fill');

3产生离散正弦信号

产生一个以1个单位作为采样间隔,,一个周

期采样50个点的正弦信号。

>>R=50;

>>%Generatesinsignal

>>m=0:

1:

R-1;

>>s=sin(2*pi*m/R);y1=zeros(1,50);

>>stem(m,s),holdon,plot(m,y1);

五实验报告

1按照上述步骤完成每个例题,学习每个函数的使用方法,将每道题的实验结果保留下来,附在实验报告上。

2用MATLAB产生一个序列

并画图。

附上实验程序和结果图。

3用MATLAB产生一个矩形序列

并画图。

附上实验程序和结果图。

4用MATLAB产生一个以2个单位作为采样间隔,,一个周期采样25个点的正弦信号,

附上实验程序和结果图。

5分析stem和plot函数的差别。

实验三用matlab进行系统分析

一、实验目的:

1、学会使用matlab进行系统分析,会求解差分方程

2、绘制零极点图

3、将有理传输函数的部分分式展开

二、实验器材:

计算机

三、实验内容:

1、求系统的零极点

2、系统零极点图的绘制

3、有理传输函数的部分分式展开

4、数字滤波器的单位脉冲响应

5、求解差分方程

四、实验步骤:

1、求系统的零极点

[z,p,k]=tf2zp(b,a)

函数说明:

该函数既可以用于模拟滤波又可以用于数字滤波。

其中a,b都为列矢量,是分子和分母多项式的系数降幂排列。

z表示零点的列矢量,p表示极点的列矢量,k表示增益。

例:

求以下传输函数的零极点和增益

>>b=[23];

>>a=[10.41];

>>[b,a]=eqtflength(b,a);%使两个矢量具有同样的长度

>>[z,p,k]=tf2zp(b,a)

结果是:

z=

0

-1.5000

p=

-0.2000+0.9798i

-0.2000-0.9798i

k=

2

写成零极点形式:

2、系统零极点图的绘制

函数zplane的调用格式:

zplane(z,p)

函数zplane(z,p)可以绘出列矢量z中的零点和列矢量p中的极点。

上题中的例子,画出它的零极点图

>>b=[23];

>>a=[10.41];

>>[b,a]=eqtflength(b,a);

>>[z,p,k]=tf2zp(b,a)

>>zplane(z,p);

3、有理传输函数的部分分式展开residuez

调用格式:

[r,p,k]=residuez(b,a)

将有理分式表示的传输函数展开成部分分式的形式,并且也可以将部分分式的形式转换回原来的有理分式形式。

设有理分式的分子和分母多项式分别是:

如果

没有重根,并且m>n,则有:

返回的列矢量p包含有理分式的极点位置,列矢量r包含各一次分式分子系数,即对应极点的留数,行矢量k包含z的负幂的多项式部分的系数。

如果length(b)小于length(a),矢量k是空的。

例题:

求以下传输函数的部分分式展开:

>>b=[0-3];

>>a=[2-52];

>>[r,p,k]=residuez(b,a)

r=

-1

1

p=

2.0000

0.5000

k=

[]

由此得到的部分分式展开:

例题:

求传输函数的部分分式展开

>>b=[18];

>>a=[183-4-1];

>>[r,p,k]=residuez(b,a)

r=

0.3600

0.2400

0.4000

p=

0.5000

-0.3333

-0.3333

k=

[]

由此得到原式的部分分式展开为:

4、数字滤波器的单位脉冲响应impz

调用格式:

[h,t]=impz(b,a)计算滤波器的脉冲响应h,取样点数n由impz自动选取,并记录在矢量t中(t=[0:

n-1])

[h,t]=impz(b,a,n)可以由用户指定取样点和取样时刻。

当n为标量时,t=[0:

n-1],即在0~n-1时刻计算冲激响应,0时刻表示滤波器的起点;当n为时间量时,则表示t=n,即在这些指定的时刻计算脉冲响应

例:

已知滤波器

画出滤波器的单位脉冲响应。

(画出50个点)

>>b=[0.20.10.30.10.2]

>>a=[1-1.11.5-0.70.3]

>>impz(b,a,50)

5求解差分方程

(1)filter(求解零状态响应)调用格式:

y=filter(b,a,X)b和a分别是系统函数中分子系数和分母系数的降幂排列,X为输入该系统的激励函数,y得到的是在激励X作用下,输出的响应。

此时求的是零状态响应。

例:

用MATLAB计算差分方程

当输入序列为

时的输出结果

解:

N=41;

b=[0.8-0.440.360.22];

a=[10.7-0.45-0.6];

x=[1zeros(1,N-1)];

k=0:

1:

N-1;

y=filter(b,a,x);

stem(k,y)

xlabel('n');ylabel('幅度')

(2)filtic调用格式:

z=filtic(b,a,y,x):

b和a分别是系统函数中分子系数和分母系数的降幂排列,y和x分别是系统和激励的初始值,即

z=filtic(b,a,y):

当激励的初始值为零时,使用该函数求出矢量z,再利用y=filter(b,a,x,z)求出全响应。

其中x为输入激励信号。

五实验报告

1按照上述步骤完成每个例题,学习每个函数的使用方法,将每道题的实验结果保留下来,附在实验报告上。

2给定系统的差分方程

(1)用MATLAB将系统函数展开成零点极点乘积的形式。

写出系统函数的零极点表示式。

(2)画出系统的零极点图。

(3)将系统函数展开成部分分式的形式。

写出展开的结果。

(4)求出系统的单位脉冲响应。

(5)若系统的输入激励是

,求此时系统的输出

其中

(6)若系统的初始条件为

,求系统全响应

以上每个小题都要求将程序和运算结果附在题后面,并计算结果是否与MATLAB得到的结果一致。

并写出(4)和(5)你自己手算的结果。

实验四用matlab计算频率响应

一、实验目的:

学会用matlab绘制滤波器或传输函数的频率响应

二、实验器材:

计算机

三、实验内容:

1、模拟滤波器频率响应的绘制

2、数字滤波器频率响应的绘制

四、实验步骤:

1、模拟滤波器频率响应的绘制

freqs函数可以一次画出滤波器的幅频特性和相频特性

调用格式:

[h,w]=freqs(b,a)自动设定200个频率点来计算频率响应

[h,w]=freqs(b,a,n)设定n个频率点来计算频率响应

freqs(b,a)

矢量b,a分别为分子和分母多项式的系数构成的矢量

例有一模拟滤波器,其传递函数如下,用freqs绘制出它的幅频特性和相频特性。

y=logspace(a,b)generatesarowvectoryof50logarithmicallyspacedpointsbetweendecades10^aand10^b.

>>a=[10.41];

>>b=[0.20.31];

>>w=logspace(-1,1);

>>freqs(b,a,w);

结果如图所示。

2、数字滤波器的频率响应函数freqz

调用格式:

[h,w]=freqz(b,a,n)可得到数字滤波器的n个频率点的复频响应,这n个频率点均匀的分布在上半单位圆上,并记录在w中,相应的频率响应记录在h中,n值最好选2的幂次方,默认时为512

h=freqz(b,a,w)计算在矢量w中指定的频率点处的频率响应,指定的频率要在0~2

之间

例:

求数字滤波器

的幅频和相频特性曲线。

>>b=[0.20.31];

>>a=[10.41];

>>freqz(b,a,128)

五实验报告

1有一模拟滤波器,其传递函数如下,用freqs绘制出它的幅频特性和相频特性。

2求数字滤波器

的幅频和相频特性曲线。

3设一阶系统的差分方程是

,求其幅频特性和相频特性。

实验五用matlab进行信号变换

一、实验目的:

1、理解离散傅里叶变换和傅里叶变换的关系

2、学会用matlab对信号进行离散傅里叶变换

二、实验器材:

计算机

三、实验内容:

1、求离散信号的傅里叶变换

2、求离散信号的傅里叶反变换

四、实验步骤:

1、求离散信号的傅里叶变换

离散傅里叶反变换:

y=fft(x)

y=fft(x,n)n点FFT

例:

,求

4点,8点,16点的离散傅里叶变换。

>>x=[1111]

x=

1111

>>y=fft(x,4)

y=

4000

>>y=fft(x,8)

y=

Columns1through4

4.00001.0000-2.4142i01.0000-0.4142i

Columns5through8

01.0000+0.4142i01.0000+2.4142i

>>y=fft(x,16)

y=

Columns1through4

4.00003.0137-2.0137i1.0000-2.4142i-0.2483-1.2483i

Columns5through8

00.8341+0.1659i1.0000-0.4142i0.4005-0.5995i

Columns9through12

00.4005+0.5995i1.0000+0.4142i0.8341-0.1659i

Columns13through16

0-0.2483+1.2483i1.0000+2.4142i3.0137+2.0137i

对比N=8和16的幅度谱

functiony=amplitude(x,n)

%amplitude计算序列x(n)的幅度谱

m=0:

1:

n-1;y1=zeros(1,n);

s=abs(fft(x,n))

subplot(2,1,n/8),stem(m,s),holdon,plot(m,y1);

return

>>x=[1111];

>>amplitude(x,8);

s=

Columns1through7

4.00002.613101.082401.08240

Column8

2.6131

>>amplitude(x,16);

s=

Columns1through7

4.00003.62452.61311.272800.85041.0824

Columns8through14

0.721000.72101.08240.850401.2728

Columns15through16

2.61313.6245

2、求离散信号的傅里叶反变换

y=ifft(x)

y=ifft(x,n)求n点的x傅立叶反变换

五实验报告

1已知序列

,求

,它的数值解是什么?

并绘图。

(附上MATLAB源程序)

2已知线性时不变系统的单位抽样响应

系统的输入

,求

的6点、8点、10点的圆周卷积,并画图。

(附上MATLAB源程序)

说明哪个圆周卷积是系统的输出。

实验六用MATLAB设计IIR数字滤波器

一、实验目的:

学会用MATLAB设计IIR数字滤波器

二、实验器材:

计算机

三、实验内容:

1学会用冲激响应不变法设计IIR数字滤波器

2学会用双线性法设计IIR数字滤波器

四、实验步骤

1冲激响应不变法实现模拟到数字滤波器的变换函数impinvar

调用格式:

[bz,az]=impinvar(b,a,Fs)

[bz,az]=impinvar(b,a)

函数说明:

[bz,az]=impinvar(b,a,Fs)可将矢量(b,a)表示的模拟滤波器变换成数字滤波器(bz,az),两者的冲激响应不变,即模拟滤波器的冲激响应按Fs取样后等同于数字滤波器的单位脉冲响应。

其中,b和a为行矢量,分别包含模拟域分子和分母多项式按s的降幂排列的系数,而bz和az也为列矢量,分别包含数字域分子和分母多项式按z的降幂排列的系数。

[bz,az]=impinvar(b,a)采用默认值为1Hz的Fs。

例:

设模拟滤波器的系统函数为

,试利用冲激响应不变法设计IIR数字滤波器。

>>b=[1];

>>a=[1sqrt

(2)1];

>>[bz,az]=impinvar(b,a);

bz=

00.4530

az=

1.0000-0.74970.2431

>>freqs(b,a);title('模拟滤波器的频率响应');

>>figure;%新打开一个绘图窗口

>>freqz(bz,az);title('数字滤波器的频率响应');

最后得到的数字滤波器的系统函数是

(T=1时)

2双线性变换实现模拟到数字滤波器的变换函数bilinear

调用格式:

[zd,pd,kd]=bilinear(z,p,k,Fs)

[zd,pd,kd]=bilinear(z,p,k,Fs,Fp)

[numd,dend]=bilinear(num,den,Fs)

[numd,dend]=bilinear(num,den,Fs,Fp)

函数说明:

[zd,pd,kd]=bilinear(z,p,k,Fs)为零极点增益表示的bilinear函数,其中z,p,k为s域传递函数的零点、极点和增益,Fs为取样频率;zd、pd、kd为双线性变换后z域传递函数的零点、极点和增益。

[numd,dend]=bilinear(num,den,Fs)为用传输函数表示的bilinear函数,这里的num和den为行矢量,分别包含模拟域分子和分母多项式按s的降幂排列的系数(NUM(s)/DEN(s)),numd和dend也为列矢量,分别包含数字域分子和分母多项式按z的降幂排列的系数(NUMd(s)/DENd(s)).

例:

用双线性变换法实现上例的模拟滤波器的系统函数,并比较用冲激响应不变法实现的数字滤波器和用双线性实现的区别。

>>b=[1];

>>a=[1sqrt

(2)1];

>>[bz,az]=bilinear(b,a,1)

bz=

0.08360.16710.0836

az=

1.0000-1.09780.5699

>>freqz(bz,az);

3巴特沃思滤波器的相关函数

(1)选择Butterworth滤波器阶数的函数buttord

调用格式:

[n,Wn]=buttord(Wp,Ws,Rp,Rs)

[n,Wn]=buttord(Wp,Ws,Rp,Rs,’s’)

函数说明:

Buttord可在给定滤波器性能情况下,选择模拟或数字Butterworth滤波器的最小阶数,其中,Wp和Ws分别是通带和阻带的截止频率,取值范围为0

数字域

[n,Wn]=buttord(Wp,Ws,Rp,Rs)可得到数字Butterworth滤波器的最小阶数n,并使通带(0,Wp)内波纹系数小于Rp,在阻带(Ws,1)内衰减系数大于Rs。

Buttord还返回归一化数字截止频率Wn,这样利用butterworth函数可产生满足指定性能的滤波器。

利用buttord函数,还可以得到高通、带通和带阻滤波器的最小阶数。

当Wp>Ws时,这时为高通滤波器;当Wp和Ws为二元矢量时,若Wp

模拟域

[n,Wn]=buttord(Wp,Ws,Rp,Rs,’s’)可得满足指定性能的模拟Butterworth滤波器的阶数n和归一化模拟截止频率Wn,从而可利用buttord函数设计模拟滤波器。

(2)Butterworth模拟和数字滤波器设计函数butter

调用格式:

[b,a]=butter(n,Wn)

[b,a]=butter(n,Wn,’frype’)

[b,a]=butter(n,Wn,’s’)

说明:

a)数字域

[b,a]=butter(n,Wn):

可以设计出截止频率为Wn,n阶的Butterworth低通滤波器。

得到的滤波器的系统函数的系数b和a,分别表示系统函数分子和分母按z降幂排列的系数。

[b,a]=butter(n,Wn,’frype’)

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2