MATABLE20.docx
- 文档编号:11297363
- 上传时间:2023-02-26
- 格式:DOCX
- 页数:13
- 大小:99.50KB
MATABLE20.docx
《MATABLE20.docx》由会员分享,可在线阅读,更多相关《MATABLE20.docx(13页珍藏版)》请在冰豆网上搜索。
MATABLE20
MATLAB实验报告
⊙院系:
物理与电子科学学院⊙专业:
电子信息科学与技术⊙班级:
1班
实验名称:
离散时间信号分析
课程名称:
数字信号处理
实验室:
实验C楼201
成绩
实验人:
学号:
指导教师:
赵发勇
实验目的:
1、掌握连续信号的抽样方法,加深对时域采样定理的理解。
2、熟悉时域离散系统的时域特性。
3、掌握常用序列的产生方法。
4、掌握自相关函数的性质和使用方法。
实验内容:
1、序列的表示
数字信号处理的对象是离散(时间),序列在MATLAB中以向量形式来表示,比如对于个序列x(-1)=2,x(0)=4,x
(1)=20,x
(2)=7,则
>>xn=[24207]
xn=
24207
>>n=-1:
2
n=
-1012
需要注意的问题是,在MATLAB中取矩阵或向量的元素的索引号均为正整数,
2、序列的加减乘运算
请输入两个长度为5的实序列x=[12345]和y=[246810],对其进行序列运算。
(1)序列加的MATLAB语句:
z=x+y
(2)序列相乘MATLAB语句:
z=x.*y
(3)序列元素和
的MATALB语句:
s=sum(x(n1:
n2))
(4)序列的能量
MATALB语句:
s=sum(abs(x).^2)
(5)序列的绝对和
MATALB语句:
s=sum(abs(x(n1:
n2))
(6)序列的右移n0位
MATALB语句:
y=[zeros(1,n0),x]
对于序列的乘,由于是每个元素对应相乘,因此,在MATLAB中不能用*乘(相量的乘)而必须.*乘(数组的乘)。
观察结果。
3、连续信号的抽样,分析抽样序列的特性。
根据抽样定理,对于一个限频信号,如果采用高于其二倍的频率进行抽样,则其离散值可完全表征连续信号,即x(n)=x(t)|t=nTs。
例:
现有工频信号
试选择三种抽样频率进行抽样,观察抽样信号的图形。
MATLAB程序如下。
clearall
f=50;a=220;n=0:
40;%设置抽样的点数%下面设置抽样周期(对应相应的抽样频率)
TS1=0.01;TS2=0.005;TS3=0.0025;
%上面共设置了三个抽样周期,下面获得其抽样的离散序列
xn1=a*sin(2*pi*f*n*TS1);xn2=a*sin(2*pi*f*n*TS2);xn3=a*sin(2*pi*f*n*TS3);
subplot(311);stem(n,xn1,'.');
subplot(312);stem(n,xn2,'*');
subplot(313);stem(n,xn3,'-');
gridon
类比上例,请改用MATLAB的函数实现对
抽样,A,a,f0,fs参数由键盘输入,产生不同的函数和不同的抽样频率,取抽样点为50,并将结果以图形方法显示出来。
提示:
函数的格式functionx=fsignal(A,a,f0,fs)
%输入n
%输入信号的形式
在主程序中调用此函数的格式为
X=fsignal(A,a,f0,fs);
采样频率fs分别为100Hz,200HZ和400Hz,观察时间信号的特征。
在第三章后可以观察三种采样信号的离散谱。
4.时域离散信号的相关性研究,分析下面例题。
z=input('随机噪声功率=');%在MATLAB窗口输入随机信号的功率
a=sqrt(12*z);u=rand(1,100);u=u-mean(u);k=0:
99;x=10*cos(0.0008*pi.*k.*k);
y=x+u;subplot(311);stem(k,x,'b');axis([0,100,-12,12]);title('原信号');xlabel('n');ylabel('x(n)');
subplot(312);stem(k,y,'b');axis([0,100,-12,12]);title('随机噪声叠加在信号上');
xlabel('n');ylabel('y(n)');
subplot(313);yc=xcorr(y,100,'unbiased');plot(yc);
上例练习完成下面实验。
令
,其中
是白噪声,现要求
(1)、产生均值为0,功率P=0.1的均匀分布白噪声
,求
的自相关函数
;
(2)、使
的信噪比为10dB,决定A的数值,并画出
的图形及其自相关函数的图形。
实验结果分析:
1、序列的表示
xn=[24207]
xn=
24207
>>n=-1:
2
n=
-1012
注意:
在MATLAB中取矩阵或向量的元素的索引号均为正整数,因此,如果需要获得xn=4的值时,应为性能
(2),而不是性能(0)。
如下:
>>xn
(2)
ans=
4
>>xn(0)
画此图形当然可以用
>>stem(n,xn)
如下:
>>stem(n,xn)
M文件1
xn=[11121516182516]
n=-3:
3
xn(4)
stem(n,xn)
运行结果:
xn=
11121516182516
n=
-3-2-10123
ans=
16
2、序列的加减乘运算
M文件2:
x=[1113151719]
y=[2022242628]
z1=x+y
z2=x.*y
s1=sum(x(1:
5))
s2=sum(x(2:
4))
s3=sum(abs(x).^2)
s4=sum(abs(x(1:
5)))
s5=[zeros(1,2),x]
运行结果:
x=
1113151719
y=
2022242628
z1=
3135394347
z2=
220286360442532
s1=
75
s2=
45
s3=
1165
s4=
75
s5=
001113151719
注意:
对于序列的乘,由于是每个元素对应相乘,因此,在MATLAB中不能用*乘(相量的乘)而必须.*乘(数组的乘)。
3、连续信号的抽样,分析抽样序列的特性
M文件3:
functionxn=fsignal(A,a,f,fs)
n=0:
49;
xn=A*exp(a*n/fs).*sin(2*pi*f*n/fs);
M文件4:
y=input('inputAaffs');
xn=fsignal(y
(1),y
(2),y(3),y(4));
stem(xn);
inputAaffs[20,-2,50,400]
inputAaffs[20,-2,50,200]
inputAaffs[20,-2,50,100]
4、时域离散信号的相关性研究
clearall;
z=input('随机噪声功率=');
a=sqrt(12*z);
u=a*rand(1,100);
u=u-mean(u);
k=0:
99;
x=10*sin(pi/16*k);
y=x+u;
subplot(3,1,1)
stem(k,x,'b');
subplot(3,1,2)
stem(k,y,'b');
subplot(3,1,3)
yc=xcorr(y,100,'unbiased');
plot(yc)
白噪声u(n)的图像:
clearall;
z=input('随机噪声功率=');
a=sqrt(12*z);
u=a*rand(1,100);
u=u-mean(u);
plot(u);
思考题解答:
1、如果两个序列不等长,如何在MATLAB下进行序列的运算?
在MATLAB下进行序列运算时,如果两个序列不等长则在序列短的后面补零,使两个序列等长,然后进行计算。
2、通过help命令,了解MATLAB的fliplr、decimate和interp函数的功能。
B=fliplr(A):
把矩阵A左右翻转,并把翻转后的新矩阵返回B。
如果A是一个行向量,fliplr(A)返回长度和A一致,但是元素顺序翻转的新矩阵,如果A是一个列向量,fliplr(A)返回A
>>helpfliplr
FLIPLRFlipmatrixinleft/rightdirection.
FLIPLR(X)returnsXwithrowpreservedandcolumnsflipped
intheleft/rightdirection.
X=123becomes321
456654
SeealsoFLIPUD,ROT90,FLIPDIM.
>>helpdecimate
DECIMATEResampledataatalowerrateafterlowpassfiltering.
Y=DECIMATE(X,R)resamplesthesequenceinvectorXat1/Rtimesthe
originalsamplerate.TheresultingresampledvectorYisRtimesshorter,
LENGTH(Y)=LENGTH(X)/R.
DECIMATEfiltersthedatawithaneighthorderChebyshevTypeIlowpass
filterwithcutofffrequency.8*(Fs/2)/R,beforeresampling.
Y=DECIMATE(X,R,N)usesanN'thorderChebyshevfilter.
Y=DECIMATE(X,R,'FIR')usesthe30pointFIRfiltergeneratedby
FIR1(30,1/R)tofilterthedata.
Y=DECIMATE(X,R,N,'FIR')usestheN-pointFIRfilter.
Note:
ForlargeR,theChebyshevfilterdesignmightbeincorrect
duetonumericprecisionlimitations.Inthiscase,DECIMATEwill
usealowerfilterorder.Forbetteranti-aliasingperformance,try
breakingRupintoitsfactorsandcallingDECIMATEseveraltimes.
SeealsoINTERP,RESAMPLE.
>>helpinterp
INTERPResampledataatahigherrateusinglowpassinterpolation.
Y=INTERP(X,R)resamplesthesequenceinvectorXatRtimes
theoriginalsamplerate.TheresultingresampledvectorYis
Rtimeslonger,LENGTH(Y)=R*LENGTH(X).
Asymmetricfilter,B,allowstheoriginaldatatopassthrough
unchangedandinterpolatesbetweensothatthemeansquareerror
betweenthemandtheiridealvaluesisminimized.
Y=INTERP(X,R,L,ALPHA)allowsspecificationofarguments
LandALPHAwhichotherwisedefaultto4and.5respectively.
2*Listhenumberoforiginalsamplevaluesusedtoperformthe
interpolation.IdeallyLshouldbelessthanorequalto10.
ThelengthofBis2*L*R+1.Thesignalisassumedtobeband
limitedwithcutofffrequency0 [Y,B]=INTERP(X,R,L,ALPHA)returnsthecoefficientsofthe interpolationfilterB. SeealsoDECIMATE,RESAMPLE,UPFIRDN. Overloadedmethods helpfrd/interp.m 3、试简述连续信号抽样的原理及方法。 1.时域抽样定理表明,在一定条件下,一个连续时间信号完全可以用该信号在等时间间隔点的瞬时值(样本值)来表示(获得样本值的过程称为抽样),并且可以用这些样本值把该信号完全恢复出来。 时域抽样定理的重要性还在于它在连续时间信号和离散时间信号之间所起的桥梁作用。 正如我们将要讨论的,在一定条件下,用一串信号的瞬时样本值来完全表示一个连续时间信号的能力提供了用一个离散时间信号来表示一个连续时间信号的机理, 2.抽样定理揭示了信号时域与频域的一种对应关系,即时域抽样对应频域的周期性,频域抽样对应时域的周期性。 抽样定理是对信号进行离散时域或离散频域传输与处理的理论基础,在数字信号处理、通信等领域有重要应用。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATABLE20