数字信号处理实验报告2

更新时间:2023-10-28 09:35:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验一 序列的产生

姓名:高洪美 学号:0819419213 班级:生医5班 一、 实验目的:

熟悉MATLAB中产生信号和绘制信号的基本命令。

二、 实验环境:

基于Windows PC的MATLAB。

三、 实验内容:

1、单位样本和单位阶跃序列; 2、指数信号; 3、正弦序列; 4、随机信号。

四、实验过程:

(一)单位样本和单位阶跃序列:

Q1.1运行程序P1.1以产生单位样本序列u[n]并显示它: 程序:clf;

% Generate a vector from -10 to 20 n = -10:20;

% Generate the unit sample sequence u = [zeros(1,10) 1 zeros(1,20)]; % Plot the unit sample sequence stem(n,u);

xlabel('Time index n');ylabel('Amplitude'); title('Unit Sample Sequence'); axis([-10 20 0 1.2]);

所得图像如下所示:

Q1.2 命令clf,axis,title,xlable和ylable的作用是什么: 答:clf:运行程序时弹出显示图像的面板; Axis:规定横纵坐标的范围;

Title:使图像面板上方显示相应的题目名称; Xlable:定义横坐标的名字; Ylable:定义纵坐标的名字。

Q1.3 修改程序P1.1以产生带有延时11个样本的延迟单位样本序列ud[n],运行修改的程序并且显示产生的序列。 程序:clf;

% Generate a vector from 0 to 30 n = 0:30;

% Generate the unit sample sequence ud = [zeros(1,11) 1 zeros(1,19)]; % Plot the unit sample sequence stem(n,ud);

xlabel('Time index n');ylabel('Amplitude'); title('Unit Sample Sequence'); axis([0 30 0 1.2]);

所得图像如下所示:

Q1.4修改程序P1.1以产生单位步长序列s[n]。运行修改后的程序并显示产生的序列:

程序:clf;

% Generate a vector from 0 to 30 n = 0:30;

% Generate the unit sample sequence u = [1.*n];

% Plot the unit sample sequence stem(n,u);

xlabel('Time index n');ylabel('Amplitude'); title('Unit Sample Sequence'); axis([0 30 0 30]);

所得图像如下所示:

Q1.5修改程序P1.1以产生带有超前7个样本的延时单位阶跃序列sd[n],运行修改后的程序并且显示产生的序列:

程序:clf;

% Generate a vector from -15to 30 n = -15:30;

% Generate the unit sample sequence s=[zeros(1,8) ones(1,38)]; % Plot the unit sample sequence stem(n,s);

xlabel('Time index n');ylabel('Amplitude'); title('Unit Sample Sequence');

axis([-15 30 0 1.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('Time index n');ylabel('Amplitude'); title('Real part'); subplot(2,1,2); stem(n,imag(x));

xlabel('Time index n');ylabel('Amplitude'); title('Imaginary part');

所得图像如下所示:

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('Time index n');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后的图像如图所示:

本文来源:https://www.bwwdw.com/article/14e2.html

Top