数字信号处理实验报告1.docx
- 文档编号:26509035
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:16
- 大小:400.49KB
数字信号处理实验报告1.docx
《数字信号处理实验报告1.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验报告1.docx(16页珍藏版)》请在冰豆网上搜索。
数字信号处理实验报告1
实验一序列的产生
姓名:
高洪美学号:
0819419213班级:
生医5班
一、实验目的:
熟悉MATLAB中产生信号和绘制信号的基本命令。
二、实验环境:
基于WindowsPC的MATLAB。
三、实验内容:
1、单位样本和单位阶跃序列;
2、指数信号;
3、正弦序列;
4、随机信号。
四、实验过程:
(一)单位样本和单位阶跃序列:
Q1.1运行程序P1.1以产生单位样本序列u[n]并显示它:
程序:
clf;
%Generateavectorfrom-10to20
n=-10:
20;
%Generatetheunitsamplesequence
u=[zeros(1,10)1zeros(1,20)];
%Plottheunitsamplesequence
stem(n,u);
xlabel('Timeindexn');ylabel('Amplitude');
title('UnitSampleSequence');
axis([-102001.2]);
所得图像如下所示:
Q1.2命令clf,axis,title,xlable和ylable的作用是什么:
答:
clf:
运行程序时弹出显示图像的面板;
Axis:
规定横纵坐标的范围;
Title:
使图像面板上方显示相应的题目名称;
Xlable:
定义横坐标的名字;
Ylable:
定义纵坐标的名字。
Q1.3修改程序P1.1以产生带有延时11个样本的延迟单位样本序列ud[n],运行修改的程序并且显示产生的序列。
程序:
clf;
%Generateavectorfrom0to30
n=0:
30;
%Generatetheunitsamplesequence
ud=[zeros(1,11)1zeros(1,19)];
%Plottheunitsamplesequence
stem(n,ud);
xlabel('Timeindexn');ylabel('Amplitude');
title('UnitSampleSequence');
axis([03001.2]);
所得图像如下所示:
Q1.4修改程序P1.1以产生单位步长序列s[n]。
运行修改后的程序并显示产生的序列:
程序:
clf;
%Generateavectorfrom0to30
n=0:
30;
%Generatetheunitsamplesequence
u=[1.*n];
%Plottheunitsamplesequence
stem(n,u);
xlabel('Timeindexn');ylabel('Amplitude');
title('UnitSampleSequence');
axis([030030]);
所得图像如下所示:
Q1.5修改程序P1.1以产生带有超前7个样本的延时单位阶跃序列sd[n],运行修改后的程序并且显示产生的序列:
程序:
clf;
%Generateavectorfrom-15to30
n=-15:
30;
%Generatetheunitsamplesequence
s=[zeros(1,8)ones(1,38)];
%Plottheunitsamplesequence
stem(n,s);
xlabel('Timeindexn');ylabel('Amplitude');
title('UnitSampleSequence');
axis([-153001.2]);
所得图像如下所示:
(二)指数信号:
Q1.6运行程序P1.2,以产生复数值的指数序列。
程序:
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('Timeindexn');ylabel('Amplitude');
title('Realpart');
subplot(2,1,2);
stem(n,imag(x));
xlabel('Timeindexn');ylabel('Amplitude');
title('Imaginarypart');
所得图像如下所示:
Q1.7那个参数控制该序列的增长或衰减率?
那个参数控制该序列的振幅?
答:
参数c控制该序列的增长或衰减率;参数K控制该序列的振幅。
Q1.8若参数c改为(1/12)+(pi/6)*i,将会发生什么情况?
答:
若参数c改为(1/12)+(pi/6)*i,运行后的图像显示如下:
Q1.9运算符real和imag的作用是什么?
答:
运算符real和imag的作用分别是提取运算数值x的“实部”和“虚部”,以便于接下来分别将“实部”和“虚部”成像。
Q1.10命令subplot的作用是什么?
答:
subplot的作用是使“实部”和“虚部”用两张图像呈现出来:
subplot(a,b,c),其中a代表图像分两行显示,b代表图像分一列显示,c代表第a行的第b列图像。
Q1.11运行程序P1.3,以产生实数值的指数序列:
程序:
clf;
n=0:
35;a=1.2;K=0.2;
x=K*a.^n;
stem(n,x);
xlabel('Timeindexn');ylabel('Amplitude');
所得图像如下所示:
Q1.12哪个参数控制该序列的增长或者衰减率?
哪个参数控制该序列的振幅?
答:
参数a控制该序列的增长或者衰减率;
参数K控制该序列的振幅。
Q1.13算数运算符^和.^之间的区别是什么?
答:
运算符“^”表示a的指数是n这个序列;运算符“.^”表示a的指数分别是n这个序列中的每一个数字,即对应的每一个元素。
Q1.14若参数a小于1,会发生什么情况?
将参数a改为0.9,将参数K改为20,再次运行程序P1.3.
答:
(1)若参数a小于1,指数序列在“n=0:
35”上是衰减的序列;
(2)将k改为20后的图像如图所示:
Q1.15该序列的长度是多少?
怎么样才能改变它?
答:
该序列的长度是35;通过改变“n=0:
35”中的“35”这个数字可以改变序列的长度。
Q1.16使用MATLAB命令sum(s.*s)可计算用向量s表示的实数序列s[n]的能量。
试求在习题Q1.11和习题Q1.14中产生的实数值指数序列x[n]的能量。
答:
Q1.11中:
ans=4.5673e+004;
Q1.14中:
ans=2.1042e+003
(三)正弦序列:
Q1.17运行程序P1.4以产生正弦序列并显示它。
程序:
n=0:
40;
f=0.1;
phase=0;
A=1.5;
arg=2*pi*f*n-phase;
x=A*cos(arg);
clf;%Clearoldgraph
stem(n,x);%Plotthegeneratedsequence
axis([040-22]);
grid;
title('SinusoidalSequence');
xlabel('Timeindexn');
ylabel('Amplitude');
axis;
所得图像如下所示:
Q1.18该序列的频率是多少?
怎样可以改变它?
哪个参数控制该序列的相位?
哪个参数控制该序列的振幅?
该序列的周期是多少?
答:
该序列的频率是0.1Hz;通过改变f的值可以此正弦序列的频率;参数phase控制该序列的初相位;参数A控制该序列的振幅;该序列的周期是10s。
Q1.19该序列的长度是多少?
怎么样可以改变它?
答:
该序列的长度是41个时间单位,通过改变n的参数可以改变该序列的长度。
Q1.21axis和grid命令的作用是什么?
答:
axis的作用是规定图像显示的横纵坐标的范围;grid的作用是显示图像上面的“网格”。
Q1.22修改程序P1.4,以产生一个,频率为0.9的正弦序列并显示它。
把此序列和习题Q1.17所产生的序列相比较。
修改程序P1.4以产生一个频率为1.1的正弦序列并显示它。
把此序列与Q1.17中产生的序列相比较,评价你的结果。
答:
修改正弦序列的频率只需要改变程序中“f”的值即可,第一个改为f=0.9,第二个改
为f=1.1,结果图像如下:
结论:
该图像与f=0.1时的图像一样,因为该正弦序列的最小周期是2pi的,而当f=0.9与f=1.1时正好是2pi的整数倍。
Q1.23修改上述程序,以产生长度为50、频率为0.08、振幅为2.5、相移为90度的一个正弦序列并显示它。
该序列的周期是多少?
程序:
n=0:
49;
f=0.08;
phase=1.57;
A=2.5;
arg=2*pi*f*n-phase;
x=A*cos(arg);
clf;%Clearoldgraph
stem(n,x);%Plotthegeneratedsequence
axis([049-2.52.5]);
grid;
title('SinusoidalSequence');
xlabel('Timeindexn');
ylabel('Amplitude');
axis;
所得图像如下所示:
答:
周期为12.5s
Q1.24在程序P1.4中用plot命令代替stem命令,运行新程序。
新图形与习题Q1.17中产生的图形有什么区别?
答:
原图像是离散的,新图像是连续的,说明plot命令是用平滑的线将各点连接起来产生连续波,而stem命令则是用各点来产生离散波。
Q1.25在程序P1.4中用stairs命令代替stem命令,运行新程序。
新图形与习题Q1.17和习题Q1.24中产生的图形有什么区别?
答:
Stairs函数是用直线将相应的点连接起来,类似于阶梯状。
(四)随机信号:
Q1.26编写一个MATLAB程序,以产生并显示一个长度为100的随机信号,该信号在区间[-2,2]中均匀分布。
程序:
clf;
x=(rand(1,100))*4-2;
plot(x);
所得图像如下所示:
Q1.27编写一个MATLAB程序,以产生并显示一个长度为75的高斯随机信号,该信号正态分布且均值为0,方差为3.
程序:
clf;
x=0+3*randn(1,75);
stem(x);
所得图像如下所示:
Q1.28编写一个MATLAB程序,以产生并显示五个长度为31的随机信号。
{X[n]}={A
}
其中振幅A和相位Φ是统计独立的随机变量,振幅在区间0
相位区间在0
内均匀分布。
答:
程序:
clear,clc
n=0:
31;
B=0;
A=0;
f=100
A=4.*rand(1,length(n));
B=2.*pi*rand(1,length(n));
x=A.*cos(2*pi*f.*n+B);
subplot(5,1,1)
plot(n,x)
axis([031-44]);
grid;
title('随机正弦信号一');xlabel('n');ylabel('幅值A');
A=4.*rand(1,length(n));
B=2.*pi*rand(1,length(n));
x=A.*cos(2*pi*f.*n+B);
subplot(5,1,2)
plot(n,x)
axis([031-44]);
grid;
title('随机正弦信号二');xlabel('n');ylabel('幅值A');
A=4.*rand(1,length(n));
B=2.*pi*rand(1,length(n));
x=A.*cos(2*pi*f.*n+B);
subplot(5,1,3)
plot(n,x)
axis([031-44]);
grid;
title('随机正弦信号三');xlabel('n');ylabel('幅值A');
A=4.*rand(1,length(n));
B=2.*pi*rand(1,length(n));
x=A.*cos(2*pi*f.*n+B);
subplot(5,1,4)
plot(n,x)
axis([031-44]);
grid;
title('随机正弦信号四');xlabel('n');ylabel('幅值A');
A=4.*rand(1,length(n));
B=2.*pi*rand(1,length(n));
x=A.*cos(2*pi*f.*n+B);
subplot(5,1,5)
plot(n,x)
axis([031-44]);
grid;
title('随机正弦信号五');xlabel('n');ylabel('幅值A');
所得图像如下所示:
五、试验总结:
通过本次试验初步认识了MATLAB软件,并使用其产生信号和绘制信号的基本命令,更加深刻的理解了数字信号的产生及其概念。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 实验 报告