第一章实验报告 下载本文

1.29运行程序P1.5,以产生所有相关的信号。

% Program P1_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 = [0 0 x];x2 = [0 x 0];x3 = [x 0 0]; 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('振幅'); 图形显示为:

1.31使用语句x=s+d能产生被噪声污染的信号吗?若不能,为什么?

答:不能,因为d产生的序列是长度为51的列向量,而s是长度为51的行向量,必须转置后才能进行运算,可以将d的表达式变为d = 0.8*(rand(1,R) - 0.5);

1.33 legend命令的作用是什么?

答:用一个给定字符串作为标记在当前图上插上说明。

1.35算术运算符*和.*之间的区别是什么?

答:算术运算符*表示矩阵相乘。算术运算符.*表示元素相乘。

1.37该信号的最大频率和最小频率是多少?

答:假设自变量的形式是an2?bn,则角频率是2an?b;最大频率为pi;最小频率为0。

1.39在命令窗口中键入who。此时在命令窗口会显示什么信息?

答:who:列出内存中的当前变量。

1.41编写matlab程序,以产生指定方波和锯齿波序列,并将序列绘制出来。

t=0:30;

x=square(2*pi*0.1.*t,60); %占空比 60% stem(t,x);

axis([0,30,-1.5,1.5]); title('方波 1');

xlabel('时间指标 n'); ylabel('振幅'); grid; axis;

图形显示如下:

t=0:50;

x=2.*sawtooth(2*pi*0.05.*t);

stem(t,x);

axis([0,50,-2,2]); title('锯齿波');

xlabel('时间指标 n'); ylabel('振幅'); grid; axis;

图形显示如下: