实验一离散时间信号的时域分析.docx

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

实验一离散时间信号的时域分析.docx

《实验一离散时间信号的时域分析.docx》由会员分享,可在线阅读,更多相关《实验一离散时间信号的时域分析.docx(24页珍藏版)》请在冰点文库上搜索。

实验一离散时间信号的时域分析.docx

实验一离散时间信号的时域分析

实验一离散时间信号的时域分析

陈一凡20112121006

一、实验目的:

学习使用MATLAB程序产生信号和绘制信号;

学习使用MATLAB运算符产生基本离散时间序列——指数序列;

学习使用MATLAB三角运算符产生正弦序列;

学习使用MATLAB命令产生长度为N且具有零均值和单位方差的正态分布的随机信号;学习使用MATLAB中三点滑动平均算法来实现噪声的移除;

学习使用MATLAB程序产生振幅调制信号;

学习使用MATLAB函数产生方波和锯齿波;

二、实验原理简述:

运用运算符和特殊符号,基本矩阵和矩阵控制,基本函数,数据分析,二维图形,通用图形函数,信号处理工具箱等命令,产生以向量形式存储的信号。

三、实验内容与实验结果

1、产生并绘制一个单位样本序列

运行程序

clf

n=-10:

20;

u=[zeros(1,10)1zeros(1,20)];

stem(n,u);

xlabel('时间序号);ylabel('振幅');

title('单位样本序列');

axis([-102001.2]);

实验结果如图1所示

图1

2.1、生成一个复数值的指数序列:

运行程序:

clf;

c=-(1/12)+(pi/6)*i;

K=2;

n=0:

40;

x=K*exp(c*n);

subplot(2,1,1);

stem(n,real(x));

xlabel('时间序号n');ylabel('振幅');

title('实部');

subplot(2,1,2);

stem(n,imag(x));

xlabel('时间序号n');ylabel('振幅');

title('虚部');

实验结果如图2所示

图2

2.2、生成一个实数值的指数序列:

运行程序:

clf;

n=0:

35;a=1.2;K=0.2;

x=K*a.^n;

stem(n,x);

xlabel('时间序号n');ylabel('振幅');

实验结果如图3所示

图3

3、产生一个正弦信号:

运行程序:

n=0:

40;

f=0.1;

phase=0;

A=1.5;

arg=2*pi*f*n-phase;

x=A*cos(arg);

clf;

stem(n,x);

axis([040-22]);

grid;

title('正弦序列');

xlabel('时间序号n');

ylabel('振幅');

axis;

实验结果如图4所示

图4

4、产生长度为N且具有零均值和单位方差的正态分布的随机信号:

运行程序:

x=4*rand(1,100)-2

plot(x);

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

title('扫频正弦信号');

xlabel('时间序号n');

ylabel('振幅');

grid;axis;

实验结果如图5所示:

图5

并产生如下所示序列:

x=

Columns1through11

1.8005-1.07540.4274-0.05611.56521.0484-0.1741-1.92601.2856-0.22120.4617

Columns12through22

1.16771.68730.9528-1.2949-0.37721.74191.6676-0.35891.5746-1.7684-0.5885

Columns23through33

1.2527-1.9606-1.4444-1.1889-1.20510.4152-0.9112-1.2047-1.93890.9871-0.2196

Columns34through44

1.7273-0.1360-0.32541.38490.1006-1.18940.68851.3525-1.92140.7251-0.4821

Columns45through55

1.32720.01130.8379-0.2844-0.7815-1.2414-1.22630.7289-0.78890.1667-1.3965

Columns56through66

0.7916-0.48651.44001.41460.3743-0.01381.59911.28650.57961.27190.6409

Columns67through77

-0.6321-0.8411-0.63520.13630.9085-0.76281.35400.2723-0.51830.81100.1863

Columns78through88

-0.22050.77830.48521.17931.82740.09041.5206-1.30821.9190-0.9142-0.9907

Columns89through99

1.50300.9492-1.4539-1.95301.5756-1.2034-0.80510.6458-0.8624-0.1231-1.7409

Column100

1.9533

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=[00x];x2=[0x0];x3=[x00];

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('振幅');

实验结果如图6所示:

图6

6.1、产生一个振幅调制信号:

运行程序:

n=0:

100;

m=0.4;fH=0.1;fL=0.01;

xH=sin(2*pi*fH*n);

xL=sin(2*pi*fL*n);

y=(1+m*xL).*xH;

stem(n,y);grid;

xlabel('时间序列n');ylabel('振幅');

实验结果如图7所示:

图7

6.2、产生频率随时间线性增加的扫频正弦信号:

运行程序:

n=0:

100;

a=pi/2/100;

b=0;

arg=a*n.*n+b*n;

x=cos(arg);

clf;

stem(n,x);

axis([0,100,-1.5,1.5]);

title('扫频正弦信号');

xlabel('时间序号n');

ylabel('振幅');

grid;axis;

实验结果如图8所示:

图8

7.1、绘制最大振幅为2.7,周期为10,占空比为60%的方波信号:

运行程序:

t=0:

30;

y=2.7*square(2*pi*0.1*t,60);

stem(t,y);

xlabel('时间序号n');

ylabel('振幅');

实验结果如图9所示:

图9

7.2、绘制最大振幅为2.7,周期为10,占空比为30%的方波信号:

运行程序:

t=0:

30;

y=2.7*square(2*pi*0.1*t,30);

stem(t,y);

xlabel('时间序号n');

ylabel('振幅');

实验结果如图10所示:

图10

7.3、产生一个振幅为2,周期为20的方波信号:

运行程序:

t=0:

50;

y=2*sawtooth(2*pi*0.05*t)

stem(t,y);

xlabel('时间序号n');

ylabel('振幅');

实验结果如图11所示:

图11

并产生了锯齿波序列值如下所示:

y=

Columns1through11

-2.0000-1.8000-1.6000-1.4000-1.2000-1.0000-0.8000-0.6000-0.4000-0.20000

Columns12through22

0.20000.40000.60000.80001.00001.20001.40001.60001.8000-2.0000-1.8000

Columns23through33

-1.6000-1.4000-1.2000-1.0000-0.8000-0.6000-0.4000-0.200000.20000.4000

Columns34through44

0.60000.80001.00001.20001.40001.60001.8000-2.0000-1.8000-1.6000-1.4000

Columns45through51

-1.2000-1.0000-0.8000-0.6000-0.4000-0.20000

7.4、产生一个振幅为2,周期为20的方波信号:

运行程序:

t=0:

50;

y=2*sawtooth(2*pi*0.05*t,0.5)

stem(t,y);

xlabel('时间序号n');

ylabel('振幅');

实验结果如图12所示:

图12

并产生了锯齿波序列值如下所示:

y=

Columns1through11

-2.0000-1.6000-1.2000-0.8000-0.400000.40000.80001.20001.60002.0000

Columns12through22

1.60001.20000.80000.40000-0.4000-0.8000-1.2000-1.6000-2.0000-1.6000

Columns23through33

-1.2000-0.8000-0.400000.40000.80001.20001.60002.00001.60001.2000

Columns34through44

0.80000.40000-0.4000-0.8000-1.2000-1.6000-2.0000-1.6000-1.2000-0.8000

Columns45through51

-0.400000.40000.80001.20001.60002.0000

四、实验分析:

针对实验1产生并绘制了一个单位样本序列

n=-10:

20即产生从-10到20的一个向量

u=[zeros(1,10)1zeros(1,20)];即产生单位样本序列

stem(n,u);即绘制单位样本序列

针对实验2产生一个实指数序列

clf;即清除所有的内存变量

n=0:

35;即产生一个从0到35的向量

a=1.2;K=0.2;即对对各系数进行限定

x=K*a.^n;即函数表达式

stem(n,x);即绘制实指数信号

xlabel('时间序号n');ylabel('振幅');即将横坐标记为时间序号n,纵坐标记为振幅

产生一个复数值的指数序列

c=-(1/12)+(pi/6)*i;即复数的表达式

K=2;即对常数进行定义

n=0:

40;即产生一个从0到40的向量

x=K*exp(c*n);即指数表达式

subplot(2,1,1);即将平面分成上下两个区域,并在上半部分画图

stem(n,real(x));即在平面的上半部分画实部图

xlabel('时间序号n');ylabel('振幅');

title('实部');即对该图进行命名,名为实部

subplot(2,1,2);即在下半部分画图

stem(n,imag(x));即画虚部图

xlabel('时间序号n');ylabel('振幅');

title('虚部');即对该图进行命名,名为虚部

针对实验3产生一个正弦序列

n=0:

40;

f=0.1;即对频率进行限定

phase=0;即对初相角进行限定

A=1.5;即对系数进行限定

arg=2*pi*f*n-phase;即角度函数

x=A*cos(arg);即正弦函数

clf;

stem(n,x);

axis([040-22]);即对图形的横纵坐标轴的范围进行限定

grid;即产生二维图形

title('正弦序列');

xlabel('时间序号n');

ylabel('振幅');

axis;即产生二维图形

针对实验4产生一个随机信号

x=4*rand(1,100)-2;即产生长度为100且具有零均值和单位方差的正态分布的随机信号的函数表达式

plot(x);即绘制二维图形

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

title('扫频正弦信号');

xlabel('时间序号n');

ylabel('振幅');

grid;axis;

针对实验5实现信号的噪声移除

R=51;

d=0.8*(rand(R,1)-0.5);即产生随机噪声

m=0:

R-1;即产生未污染的信号

s=2*m.*(0.9.^m);即产生被噪声污染的信号

x=s+d';其中对d进行了转置

subplot(2,1,1);

plot(m,d','r-',m,s,'g--',m,x,'b-.');即绘制图形,m,s,x

xlabel('时间序号n');ylabel('振幅');

legend('d[n]','s[n]','x[n]');

x1=[00x];x2=[0x0];x3=[x00];

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('振幅');

针对实验6产生振幅调制信号

n=0:

100;

m=0.4;fH=0.1;fL=0.01;即对高频和低频进行限定

xH=sin(2*pi*fH*n);即产生高频信号

xL=sin(2*pi*fL*n);即产生低频信号

y=(1+m*xL).*xH;即产生振幅调制信号

stem(n,y);grid;

xlabel('时间序列n');ylabel('振幅');

产生一个扫频正弦函数

n=0:

100;

a=pi/2/100;

b=0;

arg=a*n.*n+b*n;即对角度进行限定

x=cos(arg);正弦扫频函数表达式

clf;

stem(n,x);

axis([0,100,-1.5,1.5]);

title('扫频正弦信号');

xlabel('时间序号n');

ylabel('振幅');

grid;axis;

针对实验7产生方波和锯齿波信号

t=0:

30;时间范围是0到30,取样间隔为1

y=2.7*square(2*pi*0.1*t,60);产生一个高度为2.7占空比为6:

4的方波

stem(t,y)

7.2、t=0:

30时间范围是0到30,取样间隔为1

y=2.7*square(2*pi*0.1*t,30);产生一个高度为2.7占空比为3:

7的方波

XX文库-让每个人平等地提升自我stem(t,y)

7.3、t=0:

50时间范围是0到50,取样间隔为1

y=2*sawtooth(2*pi*0.05*t);即产生一个高度为2的锯齿波

stem(t,y);

7.4、t=0:

50;时间范围是0到50,取样间隔为1

y=2*sawtooth(2*pi*0.05*t,0.5);产生一个高度为2的锯齿波

stem(t,y);

五、实验总结

在此次实验中,我学会了用MATLAB程序绘制图形,产生信号。

习题求解:

Q1.3修改程序P1.1,以产生带有延时11个样本的延时单位样本序列ud[]的。

运行修改的程序并显示产生的序列。

程序如下,结果如图13所示

clf;

n=-10:

20;

u=[zeros(1,21)1zeros(1,9)];

stem(n,u);

xlabel('时间序号n');ylabel('振幅');

title('单位样本序列');

axis([-102001.2])

图13

Q1.14若参数a小于1,会发生什么情况?

将参数a更改为0.9,将参数K更改为20,再次运行程序P1.3,程序如下,结果如图14所示

clf;

n=0:

35;a=0.9;K=20;

x=K*a.^n;

stem(n,x);

xlabel('时间序号n');ylabel('振幅');

图14

分析:

参数小于1表示生成一个递减的实数值的指数函数;

Q1.23修改上述程序,以产生长度为50、频率为0.08、振幅为2.5、相移为90度的一个正弦序列并显示他。

该序列的周期是多少?

程序如下,图形如图15所示:

n=0:

50;

f=0.08;

phase=90;

A=2.5;

arg=2*pi*f*n-phase;

x=A*cos(arg);

clf;

stem(n,x);

axis([050-22]);

grid;

title('正弦序列');

xlabel('时间序号n');

ylabel('振幅');

图15

分析:

周期为25

Q1.31使用语句x=s+d能产生被噪声污染的信号吗?

若不能,为什么?

程序如下:

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=[00x];x2=[0x0];x3=[x00];

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('振幅');

程序在运行过程中出现了错误,不能产生被噪声污染的信号。

原因:

随机信号必须要经过转置才能八产生被噪声污染的信号。

Q1.34在载波信号xH[n]和调制信号zL[n]采用不同频率、不同调制指数m的情况下,运行程序P1.6,以产生振幅调制信号y[n]。

程序如下,图形如图16所示。

n=0:

100;

m=2;fH=0.5;fL=0.02;

xH=sin(2*pi*fH*n);

xL=sin(2*pi*fL*n);

y=(1+m*xL).*xH;

stem(n,y);grid;

xlabel('时间序列n');ylabel('振幅');n=0:

100;

m=2;fH=0.5;fL=0.02;

xH=sin(2*pi*fH*n);

xL=sin(2*pi*fL*n);

y=(1+m*xL).*xH;

stem(n,y);grid;

xlabel('时间序列n');ylabel('振幅');

图16

Q1.38如何修改上述程序才能产生一个最小频率为0.1、最大频率为0.3的扫描正弦信号?

程序如下所示,图形如17所示

n=0:

100;

a=0.1;

b=0.3;

arg=a*n.*n+b*n;

x=cos(arg);

clf;

stem(n,x);

axis([0,100,-1.5,1.5]);

title('扫频正弦信号');

xlabel('时间序号n');

ylabel('振幅');

grid;axis;

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

当前位置:首页 > 医药卫生

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

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