数字信号处理实验报告 实验14.docx

上传人:b****4 文档编号:12268239 上传时间:2023-04-17 格式:DOCX 页数:27 大小:685.32KB
下载 相关 举报
数字信号处理实验报告 实验14.docx_第1页
第1页 / 共27页
数字信号处理实验报告 实验14.docx_第2页
第2页 / 共27页
数字信号处理实验报告 实验14.docx_第3页
第3页 / 共27页
数字信号处理实验报告 实验14.docx_第4页
第4页 / 共27页
数字信号处理实验报告 实验14.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

数字信号处理实验报告 实验14.docx

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

数字信号处理实验报告 实验14.docx

数字信号处理实验报告实验14

实验一MATLAB仿真软件的基本操作命令和使用方法

实验内容

1、帮助命令

使用help命令,查找sqrt(开方)函数的使用方法;

 

2、MATLAB命令窗口

(1)在MATLAB命令窗口直接输入命令行计算

的值;

(2)求多项式p(x)=x3+2x+4的根;

3、矩阵运算

(1)矩阵的乘法

已知A=[12;34],B=[55;78],求A^2*B

(2)矩阵的行列式

已知A=[123;456;789],求

(3)矩阵的转置及共轭转置

已知A=[123;456;789],求A'

已知B=[5+i,2-i,1;6*i,4,9-i],求B.',B'

(4)特征值、特征向量、特征多项式

已知A=[1.2350.9;51.756;3901;1234],求矩阵A的特征值、特征向量、特征多项式;

(5)使用冒号选出指定元素

已知:

A=[123;456;789];求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;

t=0:

pi/10:

4*pi;

y=10*sin(t);

plot(t,y);

plot(t,y,'-+r');

grid

>>xlabel('X'),ylabel('Y');

>>title('Plot:

y=10*sin(t)');

>>text(14,10,'完整图形');

 

 

实验二常见离散信号的MATLAB产生和图形显示

实验内容与步骤

1.写出延迟了np个单位的单位脉冲函数impseq,单位阶跃函数stepseq,n=ns:

nf

function[x,n]=impseq[np,ns,nf];

function[x,n]=stepseq[np,ns,nf];

2.产生一个单位样本序列x1(n),起点为ns=-10,终点为nf=20,在n0=0时有一单位脉冲并显示它。

修改程序,以产生带有延时11个样本的延迟单位样本序列x2(n)=x1(n-11),并显示它。

>>clear;

>>ns=-10;nf=20;n0=0;

>>[x1,n1]=impseq(n0,ns,nf);

>>subplot(1,2,1),stem(n1,x1);title('n0=0时的单位脉冲')

>>np=11;

>>[x2,n2]=impseq(np,ns,nf);

>>subplot(1,2,2),stem(n2,x2);title('延迟11个样本后')

3.产生一个序列X(n)=n(u(n)-u(n-8)),0<=n<=20,并显示。

>>clear

>>n=[0:

20];

>>x=n.*(stepseq(0,0,20)-stepseq(8,0,20));

>>stem(n,x);

4.编写序列相加,相乘,以及序列翻转、移位的函数文件

function[y,ny]=seqadd(x1,n1,x2,n2);

 

function[y,ny]=seqmult(x1,n1,x2,n2);

function[y,ny]=seqfold(x,nx);

function[y,ny]=seqshift(x,nx,k);

5.已知序列x=[0,1,2,3,4,3,2,1,0],n=-5:

3,产生一个序列y(n)=2*x(n+3)+x(-n);并显示它。

>>x=[0,1,2,3,4,3,2,1,0];

>>n=[-5:

3];

>>y=2*seqshift(x,n,3)+seqfold(x,n);stem(x,y)

>>stem(n,y)

6.复杂信号的产生:

复杂的信号可以通过在简单信号上执行基本的运算来产生

试产生一个振幅调制信号,并显示出来。

n=0:

100

>>n=[0:

100];

>>y=(1+0.4*cos(2*pi*0.01*n)).*cos(2*pi*0.1*n);

>>stem(n,y)

 

实验三离散时间系统的时域分析

实验内容与步骤

1.假定一因果系统为

y(n)-0.4y(n-1)+0.75y(n-2)=2.2403x(n)+2.4908x(n-1)+2.2403x(n-2)

用MATLAB程序仿真该系统,输入三个不同的输入序列:

计算并并显示相应的输出

>>n=0:

40;

a=2;

b=-3;

x1=cos(2*pi*0.1*n);

x2=cos(2*pi*0.4*n);

x=a*x1+b*x2;

num=[2.24032.49082.2403];

den=[1-0.40.75];

y1=filter(num,den,x1);%计算出y1(n)

y2=filter(num,den,x2);%计算出y2(n)

y=filter(num,den,x);%计算出y(n)

stem(y1);

n=0:

40;

a=2;

b=-3;

x1=cos(2*pi*0.1*n);

x2=cos(2*pi*0.4*n);

x=a*x1+b*x2;

num=[2.24032.49082.2403];

den=[1-0.40.75];

y1=filter(num,den,x1);%计算出y1(n)

y2=filter(num,den,x2);%计算出y2(n)

y=filter(num,den,x);%计算出y(n)

stem(y1);

 

>>stem(y2);

 

>>stem(y);

2.用MATLAB程序仿真步骤1给出的系统,对两个不同的输入序列x(n)和x(n-10),计算并显示相应的输出序列y3(n)和y4(n)。

n=0:

40;

x1=2*n;

num=[2.2403,2.4908,2.2403];

den=[1,-0.4,0.75];

ic=[00];%设置零初始条件

y3=filter(num,den,x1,ic);%计算输入为x1(n)时的输出y1(n)

[y,ny]=seqshift(x1,n,10)

y4=filter(num,den,y,ic);

subplot(2,1,1)

stem(n,y3);

ylabel('振幅');

title('y3(n)');

subplot(2,1,2)

stem(ny,y4);

ylabel('振幅');

title('y4(n)');

3.用MATLAB程序仿真计算下列两个有限长序列的卷积和并显示图形。

function[y,ny]=convwthn(x,nx,h,nh)

nys=nx

(1)+nh

(1);nyf=nx(end)+nh(end);

y=conv(x,h);ny=[nys:

nyf];

n=0:

20;

x1=impseq(0,0,20)+3*impseq(1,0,20)+2*impseq(2,0,20)

x2=stepseq(0,0,20)-stepseq(3,0,20)

subplot(3,1,1)

stem(n,x1);

subplot(3,1,2)

stem(n,x2);

[y,ny]=convwthn(x1,n,x2,n);

subplot(3,1,3)

stem(ny,y);

实验四离散时间信号的DTFT

一、实验目的

1.运用MATLAB计算离散时间系统的频率响应。

2.运用MATLAB验证离散时间傅立叶变换的性质。

二、实验原理

(一)、计算离散时间系统的DTFT

已知一个离散时间系统

,可以用MATLAB函数frequz非常方便地在给定的L个离散频率点

处进行计算。

由于

是ω的连续函数,需要尽可能大地选取L的值(因为严格说,在MATLAB中不使用symbolic工具箱是不能分析模拟信号的,但是当采样时间间隔充分小的时候,可产生平滑的图形),以使得命令plot产生的图形和真实离散时间傅立叶变换的图形尽可能一致。

在MATLAB中,freqz计算出序列{

}和{

}的L点离散傅立叶变换,然后对其离散傅立叶变换值相除得到

为了更加方便快速地运算,应将L的值选为2的幂,如256或者512。

例3.1运用MATLAB画出以下系统的频率响应。

y(n)-0.6y(n-1)=2x(n)+x(n-1)

程序:

clf;

w=-4*pi:

8*pi/511:

4*pi;

num=[21];den=[1-0.6];

h=freqz(num,den,w);

subplot(2,1,1)

plot(w/pi,real(h));grid

title(‘H(e^{j\omega}的实部’))

xlabel(‘\omega/\pi’);

ylabel(‘振幅’);

subplot(2,1,1)

plot(w/pi,imag(h));grid

title(‘H(e^{j\omega}的虚部’))

xlabel(‘\omega/\pi’);

ylabel(‘振幅’);

(二)、离散时间傅立叶变换DTFT的性质。

1.时移与频移

那么

(2.2.6)

(2.2.7)

2.时域卷积定理

如果

那么

三、实验内容与步骤

1.已知因果线性时不变离散时间系统

y(n)-0.4y(n-1)+0.75y(n-2)=2.2403x(n)+2.4908x(n-1)+2.2403x(n-2)

运用MATLAB画出该系统的频率响应。

clf;

w=-4*pi:

8*pi/511:

4*pi;

num=[2.24032.49082.2403];den=[1-0.40.75];

h=freqz(num,den,w);

subplot(2,1,1)

plot(w/pi,real(h));

grid

title('H(e^{j\omega}的实部)');

xlabel('\omega/\pi');

ylabel('振幅');

subplot(2,1,2)

plot(w/pi,imag(h));

grid

title('H(e^{j\omega}的虚部)');

xlabel('\omega/\pi');

ylabel('振幅');

运行结果:

2.运行下面程序并显示它,验证离散时间傅立叶变换DTFT的时移性。

clf;

w=-pi:

2*pi/255:

pi;wo=0.4*pi;D=10;

num=[123456789];

h1=freqz(num,1,w);

h2=freqz([zeros(1,D)num],1,w);

subplot(2,2,1)

plot(w/pi,abs(h1));grid

title(‘原序列的幅度谱’)

subplot(2,2,2)

plot(w/pi,abs(h2));grid

title(‘时移后序列的幅度谱’)

subplot(2,2,3)

plot(w/pi,angle(h1));grid

title(‘原序列的相位谱’)

subplot(2,2,4)

plot(w/pi,angle(h2));grid

title(‘时移后序列的相位谱’)

运行结果:

 

3.运行下面程序并显示它,验证离散时间傅立叶变换DTFT的频移性。

clf;

w=-pi:

2*pi/255:

pi;wo=0.4*pi;D=10;

num1=[1357911131517];L=length(num1);

h1=freqz(num1,1,w);n=0:

L-1;

num2=exp(wo*i*n).*num1;

h2=freqz(num2,1,w);

subplot(2,2,1)

plot(w/pi,abs(h1));grid

title(‘原序列的幅度谱’)

subplot(2,2,2)

plot(w/pi,abs(h2));grid

title(‘频移后序列的幅度谱’)

subplot(2,2,3)

plot(w/pi,angle(h1));grid

title(‘原序列的相位谱’)

subplot(2,2,4)

plot(w/pi,angle(h2));grid

title(‘频移后序列的相位谱’)

运行结果:

 

 

4.运行下面程序并显示它,验证离散时间傅立叶变换时域卷积性质。

clf;

w=-pi:

2*pi/255:

pi;

x1=[1357911131517];

x2=[1-23-21];

y=conv(x1,x2);

h1=freqz(x1,1,w);

h2=freqz(x2,1,w);

hp=hi.*h2;

h3=freqz(y,1,w);

subplot(2,2,1)

plot(w/pi,abs(hp));grid

title(‘幅度谱的乘积’)

subplot(2,2,2)

plot(w/pi,abs(h3));grid

title(‘卷积后序列的幅度谱’)

subplot(2,2,3)

plot(w/pi,angle(hp));grid

title(‘相位谱的和’)

subplot(2,2,4)

plot(w/pi,angle(h3));grid

title(‘卷积后序列的相位谱’)

运行结果:

四、实验仪器设备

计算机,MATLAB软件

五、实验注意事项

课前预先阅读并理解实验程序;

六、思考题

1.讨论实验程序1中的离散时间系统的频率响应是离散的还是连续的,是否是周期的?

周期为多少?

答:

是连续的,同时也是周期的。

周期为2pi。

2.讨论实验程序2中h1和h2的关系是什么?

哪个参数控制时移量?

答:

h2的幅度与h1相同,相位变化频率是h1的2倍。

说明时移对幅度无影响,影响相频。

程序2中参数D控制时移量。

3.讨论实验程序3中h1和h2的关系是什么?

哪个参数控制频移量?

答:

h2的相位变化与h1相同,幅度不同,h2幅度出现延迟,延迟月一个样本。

说明频移对相位无影响,影响幅度。

4.讨论实验程序4中y与x1和x2的关系是什么?

h1和h2与x1和x2的关系是什么?

h1和hp相等吗?

答:

Y是x1与x2的卷积。

h1和h2分别是x1和x2的频率响应。

h1和hp相等.

+

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

当前位置:首页 > 工程科技 > 城乡园林规划

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

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