信号与系统实验教程(只有答案) 下载本文

信 号 与 系 统

实 验 教 程(只有答案)

(实验报告)

这么玩!

目录

实验一 信号与系统的时域分析 ..................................................................................................... 2

三、实验内容及步骤 ............................................................................................................... 2 实验二 连续时间信号的频域分析 ............................................................................................. 14

三、实验内容及步骤 ............................................................................................................. 14 实验三 连续时间LTI系统的频域分析 .................................................................................... 35

三、实验内容及步骤 ............................................................................................................. 35 实验四 通信系统仿真 ................................................................................................................. 41

三、实验内容及步骤 ............................................................................................................. 41 实验五 连续时间LTI系统的复频域分析 .................................................................................. 51

三、实验内容及步骤 ............................................................................................................. 51

实验一 信号与系统的时域分析

三、实验内容及步骤

实验前,必须首先阅读本实验原理,读懂所给出的全部范例程序。实验开始时,先在计算机上运行这些范例程序,观察所得到的信号的波形图。并结合范例程序应该完成的工作,进一步分析程序中各个语句的作用,从而真正理解这些程序。

实验前,一定要针对下面的实验项目做好相应的实验准备工作,包括事先编写好相应的实验程序等事项。

Q1-1:修改程序Program1_1,将dt改为0.2,再执行该程序,保存图形,看看所得图形

的效果如何?

dt = 0.01时的信号波形 dt = 0.2时的信号波形

这两幅图形有什么区别,哪一幅图形看起来与实际信号波形更像? 答:

Q1-2:修改程序Program1_1,并以Q1_2为文件名存盘,产生实指数信号x(t)=e-0.5t。 要

求在图形中加上网格线,并使用函数axis()控制图形的时间范围在0~2秒之间。然后执行该程序,保存所的图形。

修改Program1_1后得到的程序Q1_2如下: 信号x(t)=e-0.5t的波形图

clear, % Clear all variables

close all, % Close all figure windows dt = 0.2; % Specify the step of time variable t = -2:dt:2; % Specify the interval of time x = exp(-0.5*t); % Generate the signal plot(t,x) grid on;

axis ([0 2 0 1 ]) title('Sinusoidal signal x(t)')

xlabel('Time t (sec)')

Q1-3:修改程序Program1_1,并以Q1_3为文件名存盘,使之能够仿真从键盘上任意输入

的一个连续时间信号,并利用该程序仿真信号x(t)=e-2t。

修改Program1_1后得到的程序Q1_3如下: 信号x(t)=e-2t的波形图

clear, close all, dt = 0.2; t = -2:dt:2; x=input('Input x(t):');

plot(t,x) grid on;

axis ([0 2 -1 1 ]) title('Sinusoidal signal x(t)') xlabel('Time t (sec)')

Q1-4:将实验原理中所给的单位冲激信号和单位阶跃信号的函数文件在MATLAB文件编辑

器中编写好,并分别以文件名delta和u存入work文件夹中以便于使用。

抄写函数文件delta如下: 抄写函数文件u如下:

function y = delta(t) % Unit step function dt = 0.01; function y = u(t)

y = (u(t)-u(t-dt))/dt; y = (t>=0); % y = 1 for t > 0, else y = 0

Q1-5:修改程序Program1_4,并以Q1_5为文件名存盘,利用axis()函数,将图形窗口的

横坐标范围改为-2≤n≤5,纵坐标范围改为-1.5≤ x ≤1.5。

修改Program1_4后得到的程序Q1_5如下: 信号的波形图

clear, close all, n = -5:5;

x = [zeros(1,4), 0.1, 1.1, -1.2, 0, 1.3, zeros(1,2)]; stem (n,x,'.') grid on,

axis([-2 5 -1.5 1.5]);

title ('A discrete-time sequence x[n]') xlabel ('Time index n')

Q1-6:仿照前面的示例程序的编写方法,编写一个MATLAB程序,以Q1_6为文件名存盘,

使之能够在同一个图形窗口中的两个子图中分别绘制信号x[n]=0.5|n| 和x(t)=cos(2πt)[u(t)-u(t-3)]。要求选择的时间窗能够表现出信号的主要部分(或特征)。

编写的程序Q1_6如下: 信号x[n]=0.5|n| 的波形图和信号x(t)=cos(2πt)[u(t)-u(t-3)]的波形

clear,close all, t = -1:0.01:4;

xt = cos(2*pi*t).*(u(t)-u(t-3)); n=-5:5;

xn=(0.5).^abs(n); subplot(211)

plot(t,xt) grid on,

title ('Original signal x(t)') subplot(212)

stem(n,xn,'.') grid on,

title ('Original signal x(n)') xlabel ('Time t (sec)')

Q1-7:根据示例程序的编程方法,编写一个MATLAB程序,以Q1_7为文件名存盘,由给

定信号x(t) = e-0.5tu(t) 求信号y(t) = x(1.5t+3),并绘制出x(t) 和y(t)的图形。

编写的程序Q1_7如下:

编写产生x(t)的函数文件x.m function y=x(t) y=exp(-0.5*t).*u(t);

clear,close all, t = -3:0.01:4;

xt = x(t); % Generate the original signal x(t) yt=x(1.5*t+3); subplot(211)

plot(t,xt) % Plot x(t) grid on,

title ('Original signal x(t)') subplot(212)

plot(t,yt) % Plot x(t) grid on,

title ('Original signal y(t)') xlabel ('Time t (sec)')

信号x(t)的波形图 信号y(t) = x(1.5t+3) 的波形图

Q1-8:给定一个离散时间信号x[n] = u[n] – u[n-8],仿照示例程序Program1_5,编写程序

Q1_8,产生x[n]的左移序列x1[n] = x[n+6]和右移序列x2[n] = x[n-6],并在同一个图形窗口的三个子图中分别绘制这三个序列的图形。

编写的程序Q1_8如下:

编写产生x(t)的函数文件xx.m

function y=xx(n) y=u(n)-u(n-8); clear,close all, n = -10:15;

x =xx(n); % Generate the original signal x(n)

x1 = xx(n+6); % Shift x(t) to the left by 2 second to get x1(n+6) x2 =xx(n-6); % Shift x(t) to the right by 2 second to get x2(n-6) subplot(311)

stem(n,x,'.') % Plot x(t) grid on,

title ('Original signal x(n)') subplot (312)

stem (n,x1,'.') % Plot x1(t) grid on,

title ('Left shifted version of x(n)') subplot (313)

stem (n,x2,'.') % Plot x2(t) grid on,

title ('Right shifted version of x(n)') xlabel ('Time t (sec)')

信号波形图

Q1-9:编写程序Q1_9,使之能够接受以键盘方式输入的定义在不同时间段的两个不同连

续时间信号并完成卷积运算,分别绘制这两个信号及其卷积的结果的图形,图形按照2?2分割成四个子图。

编写的程序Q1_9如下:

clear;close all; dt = 0.01;

t0=input('Input first signal t0:');t1=input('Input first first signal t1:'); tx = t0:dt:t1;

x = input('Input first signal variable(tx) :');

t2=input('Input second signal t0:');t3=input('Input second signal t1:'); th=t2:dt:t3;

h = input('Input second signal variable(th) :')

y = dt*conv(x,h); % Compute the convolution of x(t) and h(t) subplot(221)

plot(tx,x), grid on, title('Signal x(t)') xlabel('Time t sec') subplot(222)

plot(th,h), grid on, title('Signal h(t)') xlabel('Time t sec') subplot(313) plot(y), grid on,

convolution of x(t) and xlabel('Time t sec')信号(t)*h(t)的波形图

title('The h(t)')

x (t)、h(t)和x

Q1-10:给定两个离散时间序列

x[n] = 0.5n{u[n]-u[n-8]} h[n] = u[n]-u[n-8]

编写程序Q1_10,计算它们的卷积,并分别绘制x[n]、h[n]和它们的卷积y[n]的图形。

编写的程序Q1_10如下:

n=0:10;

x = (0.5).^n.*(u(n)-u(n-8)); h = u(n)-u(n-8);

y =conv(x,h); % Compute the convolution of x(t) and h(t) subplot(221)

stem(n,x,'.'), grid on, title('Signal x(n)') subplot(222)

stem(n,h,'.'), grid on, title('Signal h(n)') subplot(212)

stem(y), grid on, title('The convolution of x(n) and h(n)'), xlabel('Time t sec');

信号x[n]、h[n]和y[n]的波形图

Q1-11已知一个序列为

x[n]???n,?0,0?n?4otherwise

编写MATLAB程序Q1_11,能够将x[n]以N = 8为周期进行周期延拓得到一个周期为N =8的周期序列y[n],并分别绘制x[n]和y[n]图形。

编写的程序Q1_11如下:

U4.m

function y=u4(n) y=n.*(u(n)-u(n-5));

Q1——11.m clear, close all; n =-16:32 x=u4(n); T = 8; y = 0; for k = -2:4;

y =y+u4(n-k*T); end

subplot(211) stem(n,x,'.'); grid on,

title ('Original signal x(n)') xlabel('Time t sec') subplot(212) stem(n,y);

title ('period signal x(n)') xlabel('Time t sec')

grid on,信号x[n]的波形图 信号y[n]的波形图

Q1-12 仿照范例程序Program1_7,编写程序Q1_12,计算并绘制由如下微分方程表示的系

统在输入信号为x(t) = (e-2t - e-3t)u(t)时的零状态响应和你手工计算得到的系统零状态响应曲线。

d2y(t)dy(t)?3?2y(t)?8x(t) 2dtdt手工计算得到的系统零状态响应的数学表达式是:

编写的程序Q1_12如下: 用MATLAB绘制的手工计算的系统响应

clear, close all;

num = input('Type in the right coefficient vector of differential equation:'); den = input('Type in the left coefficient vector of differential equation:'); t = 0:0.01:8;

x = input('Type in the expression of the input signal x(t):'); y=lsim(num,den,x,t);plot(t,y)

执行程序Q1_12得到的系统响应

Q1-13:利用程序Q1_9,验证卷积的相关性质。

(a) 验证性质:x(t)*?(t)?x(t)

选择信号x(t)的数学表达式为:sin(t)

x(t)、δ(t)和x(t)*δ(t)的波形

验证所得结论是:

(b) 验证性质:x(t)*?(t?t0)?x(t?t0)

选择信号x(t)的数学表达式为:sin(t) t0=2

x(t)、δ(t-t0) 和x(t)*?(t?t0)的波形

验证所得结论是:

(c) 验证性质:x(t?t1)*?(t?t2)?x(t?t2)*?(t?t1)?x(t?t1?t2)

选择信号x(t)的数学表达式为: sin(t) 选择的t1 = 2 3 秒。

秒,t2 =

执行程序Q1_9,输入信号x(t-t1) 和δ(t-t2) 的数学表达式,得到的信号及其卷积的波形图如

下:

执行程序Q1_9,输入信号x(t-t2) 和δ(t-t1) 的数学表达式,得到的信号及其卷积的波形图如

下:

验证所得结论是:

(d) 验证性质:x(t)*u(t)??t??x(?)d?

选择信号x(t)(建议选择一个时限信号)的数学表达式为:u(t)-u(t-3)

?t??x(?)d?的数学表达式为:

t手工绘制的???x(?)d?波形如下:

执行程序Q1_9,输入信号x(t) 和u(t) 的数学表达式,得到的信号及其卷积的波形图如下:

验证所得结论是:

(e) 验证性质:x(t)*h(t?t0)?x(t?t0)*h(t)

选择信号x(t)的数学表达式为: sin(t) 选择信号h(t)的数学表达式为:sin(t) 选择的t0=:1 执行程序

下:

Q1_9,输入信号x(t) 和h(t-t0) 的数学表达式,得到的信号及其卷积的波形图如

执行程序

下:

Q1_9,输入信号x(t-t0) 和h(t) 的数学表达式,得到的信号及其卷积的波形图如

验证所得结论

Q1-14:做如下总结:

是:

1、信号与系统分析,就是基于信号的分解,在时域中,信号主要分解成:

2、写出卷积的运算步骤,并谈谈你对卷积的一些基本性质的理解。利用MATLAB计算卷积的函数是什么?如何使用?

3、在时域中,描述一个连续时间LTI系统的数学模型有:

4、MATLAB是如何表示一个由微分方程描述的连续时间LTI系统的?求解连续时间LTI系统的单位冲激响应、单位阶跃响应以及系统在某一个输入信号作用下的零状态响应的MATLAB函数有哪些?

四、实验报告要求

1、按要求完整书写你所编写的全部MATLAB程序

2、详细记录实验过程中的有关信号波形图(存于自带的U盘中),图形要有明确的标题。全部的MATLAB图形应该用打印机打印,然后贴在本实验报告中的相应位置,禁止复印件。

3、实事求是地回答相关问题,严禁抄袭。

本实验完成时间: 年 月 日

实验二 连续时间信号的频域分析

三、实验内容及步骤

实验前,必须首先阅读本实验原理,读懂所给出的全部范例程序。实验开始时,先在计算机上运行这些范例程序,观察所得到的信号的波形图。并结合范例程序应该完成的工作,进一步分析程序中各个语句的作用,从而真正理解这些程序。 实验前,一定要针对下面的实验项目做好相应的实验准备工作,包括事先编写好相应的实验程序等事项。

Q2-1 编写程序Q2_1,绘制下面的信号的波形图:

?1n?11?0t) x(t)?cos?(0t)?cos3?(0t)?cos5?(0t)????sin()cosn(235n?1n其中,?0 = 0.5π,要求将一个图形窗口分割成四个子图,分别绘制cos(?0t)、cos(3?0t)、cos(5?0t)

和x(t) 的波形图,给图形加title,网格线和x坐标标签,并且程序能够接受从键盘输入的和式中的项数。

抄写程序Q2_1如下:

clear,close all

T = 2; dt = 0.00001; t = -2*pi:dt:2*pi; w0=0.5*pi; x1 = cos(w0*t);

x3=(-1/3)*cos(3*w0*t); x5=(1/5)*cos(5*w0*t);

N = input('Type in the number of the harmonic components N = :'); y=0;

for q = 1:N; % Synthesiz the periodic signal y(t) from the finite Fourier series y = y+(1/q).*sin((q*pi)/2).*cos(q*w0*t); end;

subplot(221),

plot(t,x1), title('The original signal cos(w0t)'); grid on; axis([-2*pi,2*pi,-1,1]), xlabel('Time t') subplot(223),

plot(t,x5), title('The original signal (1/5)cos(5w0t)'); grid on; axis([-2*pi,2*pi,-1,1]), xlabel('Time t') subplot(222)

plot(t,x3), title('The original signal (-1/3)cos(3w0t)'); grid on; axis([-2*pi,2*pi,-1,1]), xlabel('Time t') subplot(224)

plot(t,y), title('The synthesis signal of x(t)'); grid on; axis([-10,10,-1,1]), xlabel('Index N')

执行程序Q2_1所得到的图形如下:N=10

Q2-2 给程序Program2_1增加适当的语句,并以Q2_2存盘,使之能够计算例题2-1中的

周期方波信号的傅里叶级数的系数,并绘制出信号的幅度谱和相位谱的谱线图。

通过增加适当的语句修改Program2_1而成的程序Q2_2抄写如下:

clear,close all

T = 2; dt = 0.00001; t = -2:dt:2; x1 = u(t)-u(t-1-dt); x = 0;

for m = -1:1

x = x + u(t-m*T) - u(t-1-m*T-dt); % Periodically extend x1(t) to form a periodic signal end

w0 = 2*pi/T;

N = input('Type in the number of the harmonic components N = :'); L = 2*N+1; for k = -N:1:N;

ak(N+1+k) = (1/T)*x1*exp(-j*k*w0*t')*dt; end

phi = angle(ak); y=0;

for q = 1:L; % Synthesiz the periodic signal y(t) from the finite Fourier series y = y+ak(q)*exp(j*(-(L-1)/2+q-1)*2*pi*t/T); end;

subplot(221)

plot(t,x), title('The original signal x(t)'), axis([-2,2,-0.2,1.2]),grid on; subplot(222)

k=-N:N; stem(ak), title('The ak of x(t)'), axis([-1,1,-0.4,0.4]),grid on; subplot(223)

k=-N:N; stem(k,abs(ak),'k.'), title('The amplitude |ak| of x(t)'), axis([-N,N,-0.1,0.6]),grid on;

subplot(224)

stem(k,phi,'r.'), title('The phase phi(k) of x(t)'), axis([-N,N,-2,2]), xlabel('Index k'),grid on;

执行程序Q2_2得到的图形

Q2-3 反复执行程序Program2_2,每次执行该程序时,输入不同的N值,并观察所合成的

周期方波信号。通过观察,你了解的吉伯斯现象的特点是:

N=5 N=10

N=20 N=40

1、周期信号的傅里叶级数与GIBBS现象

给定如下两个周期信号:

x1(t)1x2(t)1t?2?1

t

12?2?0.20.22Q2-4 分别手工计算x1(t) 和x2(t) 的傅里叶级数的系数。 信号x1(t) 在其主周期内的数学表达式为:

t+1 -1

计算x1(t) 的傅里叶级数的系数的计算过程如下:

k = -10:10;ak=0;

ak = 1/2.* (sin((k)*pi/2)./((k)*pi/2)) N=-10:10; stem(k,ak);

通过计算得到的x1(t)的傅里叶级数的系数的数学表达式是:1/2.* (sin((k)*pi/2)./((k)*pi/2))

信号x2(t) 在其主周期内的数学表达式为:

1 |t|<0.2 0 0.2<|t|<1

计算x2(t) 的傅里叶级数的系数的计算过程如下:

k = -10:10;ak=0;

ak =sin(k*pi*0.2)./(k*pi) N=-10:10; stem(k,ak);

通过计算得到的x1(t)的傅里叶级数的系数的数学表达式是:sin(k*pi*0.2)./(k*pi) 用MATLAB帮助你计算出你手工计算的傅里叶级数的系数ak从-10到10共21个系数。 从命令窗口上抄写x1(t)的21个系数如下:

ak =

Columns 1 through 8

0.0000 0.0354 -0.0000 -0.0455 0.0000 0.0637 -0.0000 -0.1061 Columns 9 through 16

0.0000 0.3183 NaN 0.3183 0.0000 -0.1061 -0.0000 0.0637 Columns 17 through 21

0.0000 -0.0455 -0.0000 0.0354 0.0000

从命令窗口上抄写x2(t)的21个系数如下:

Columns 1 through 8

-0.0000 -0.0208 -0.0378 -0.0432 -0.0312 0.0000 0.0468 0.1009 Columns 9 through 16

0.1514 0.1871 NaN 0.1871 0.1514 0.1009 0.0468 0.0000 Columns 17 through 21

-0.0312 -0.0432 -0.0378 -0.0208 -0.0000

Q2-5 仿照程序Program2_1,编写程序Q2_5,以计算x1(t)的傅里叶级数的系数。 程序Q2_5如下:

编写函数x1.m

function y=x1(t) y1=t+1;y2=1-t;

y=y1.*(-1

Q2_5.m

clear,close all

T = 2; dt = 0.00001; t = -8:dt:8; x11 = x1(t); x = 0; for m = -8:8

x = x + x1(t-m*T); % Periodically extend x1(t) to form a periodic signal end

w0 = 2*pi/T; N = 10; L = 2*N+1; for k = -N:1:N;

ak(N+1+k) = (1/T)*x11*exp(-j*k*w0*t')*dt; end

phi = angle(ak); y=0;

for q = 1:L; % Synthesiz the periodic signal y(t) from the finite Fourier series y = y+ak(q)*exp(j*(-(L-1)/2+q-1)*2*pi*t/T); end;

subplot(211),

plot(t,x), title('The original signal x(t)'), axis([-8,8,-0.2,1.2]),grid on, subplot(212)

k=-N:N; stem(k,ak,'k.'), title('The factor ak of x(t)'), axis([-N,N,-0.1,0.6]),grid on,

执行程序Q2_5所得到的x1(t)的傅里叶级数的ak从-10到10共21个系数如下:

Columns 1 through 5

0.0000 + 0.0000i 0.0025 + 0.0000i 0.0000 + 0.0000i 0.0041 - 0.0000i 0.0000 - 0.0000i

Columns 6 through 10

0.0081 + 0.0000i -0.0000 - 0.0000i 0.0225 - 0.0000i -0.0000 - 0.0000i 0.2026 + 0.0000i

Columns 11 through 15

0.5000 0.2026 - 0.0000i -0.0000 + 0.0000i 0.0225 + 0.0000i -0.0000 + 0.0000i

Columns 16 through 20

0.0081 - 0.0000i 0.0000 + 0.0000i 0.0041 + 0.0000i 0.0000 - 0.0000i 0.0025 - 0.0000i

Column 21

0.0000 - 0.0000i

与你手工计算的ak相比较,是否相同,如有不同,是何原因造成的? 答:

Q2-6 仿照程序Program2_1,编写程序Q2_6,以计算x2(t) 的傅里叶级数的系数(不绘图)。 程序Q2_6如下:

编写函数x2.m

function y=x2(t) y1=1;y2=1;

y=y1.*(-0.2

Q2_6.m

clear,close all

T = 2; dt = 0.00001; t = -8:dt:8; x11 = x2(t); x = 0; for m = -8:8

x = x + x2(t-m*T); % Periodically extend x1(t) to form a periodic signal end

w0 = 2*pi/T; N = 10; L = 2*N+1; for k = -N:1:N;

ak(N+1+k) = (1/T)*x11*exp(-j*k*w0*t')*dt; end

phi = angle(ak); y=0;

for q = 1:L; % Synthesiz the periodic signal y(t) from the finite Fourier series y = y+ak(q)*exp(j*(-(L-1)/2+q-1)*2*pi*t/T); end;

subplot(211),

plot(t,x), title('The original signal x(t)'), axis([-8,8,-0.2,1.2]),grid on, subplot(212)

k=-N:N; stem(k,ak,'k.'), title('The factor ak of x(t)'), axis([-N,N,-0.1,0.6]),grid on,

执行程序Q2_6所得到的x2(t)的傅里叶级数的ak从-10到10共21个系数如下:

Columns 1 through 5

0.0000 - 0.0000i -0.0208 + 0.0000i -0.0378 - 0.0000i -0.0432 + 0.0000i -0.0312 + 0.0000i

Columns 6 through 10

-0.0000 + 0.0000i 0.0468 + 0.0000i 0.1009 + 0.0000i 0.1514 - 0.0000i 0.1871 + 0.0000i

Columns 11 through 15

0.2000 0.1871 - 0.0000i 0.1514 + 0.0000i 0.1009 - 0.0000i 0.0468 - 0.0000i

Columns 16 through 20

-0.0000 - 0.0000i -0.0312 - 0.0000i -0.0432 - 0.0000i -0.0378 + 0.0000i -0.0208 - 0.0000i

Column 21

0.0000 + 0.0000i

与你手工计算的ak相比较,是否相同,如有不同,是何原因造成的? 答:

Q2-7 仿照程序Program2_2,编写程序Q2_7,计算并绘制出原始信号x1(t) 的波形图,用

有限项级数合成的y1(t) 的波形图,以及x1(t) 的幅度频谱和相位频谱的谱线图。

编写程序Q2_7如下:

clear,close all

T = 2; dt = 0.00001; t = -8:dt:8; x11 = x1(t); x = 0; for m = -8:8

x = x + x1(t-m*T); % Periodically extend x1(t) to form a periodic signal end

w0 = 2*pi/T; N = 5; L = 2*N+1; for k = -N:1:N;

ak(N+1+k) = (1/T)*x11*exp(-j*k*w0*t')*dt; end

phi = angle(ak); y=0;

for q = 1:L; % Synthesiz the periodic signal y(t) from the finite Fourier series y = y+ak(q)*exp(j*(-(L-1)/2+q-1)*2*pi*t/T); end;

phi = angle(ak); y=0;

for q = 1:L; % Synthesiz the periodic signal y(t) from the finite Fourier series y = y+ak(q)*exp(j*(-(L-1)/2+q-1)*2*pi*t/T); end;

subplot(221),

plot(t,x), title('The original signal x(t)'), axis([-8,8,-0.2,1.2]), subplot(223),

plot(t,y), title('The synthesis signal y(t)'), axis([-8,8,-0.2,1.2]), xlabel('Time t'), subplot(222)

k=-N:N; stem(k,abs(ak),'k.'), title('The amplitude |ak| of x(t)'), axis([-N,N,-0.1,0.6]) subplot(224)

stem(k,phi,'r.'), title('The phase phi(k) of x(t)'), axis([-N,N,-2,2]), xlabel('Index k')

执行程序Q2_7,输入N = 5所得到的图形如下:

反复执行程序Q2_7,输入不同的N值,观察合成的信号波形中,是否会产生Gibbs现象?

为什么?;

答:

2. 连续时间非周期信号的傅里叶变换

给定两个时限信号:

?2?t??1?t?2,??x1(t)??1,?1?t?1 x2(t)?cos(t)[u(t?1)?u(t?1)]

2??t?2,1?t?2?Q2-8 利用单位阶跃信号u(t),将x1(t) 表示成一个数学闭式表达式,并手工绘制x1(t) 和x2(t)

的时域波形图。

信号x1(t) 的闭式数学表达式为:

x1(t) = :y1=t+2;y2=1;y3=-t+2;y=y1.*(-2<=t&t<-1)+y2.*(-1<=t&t<1)+y3.*(1<=t&t<2);

手工绘制的x1(t)的时域波形图 手工绘制的x2(t)的时域波形图

function y=x28(t) y1=t+2; y2=1; y3=-t+2;

y=y1.*(-2<=t&t<-1)+y2.*(-1<=t&t<1)+y3.*(1<=t&t<2);

clear,close all

T = 2; dt = 0.00001; t = -5:dt:5; x1 = x28(t).*(u(t+2)-u(t-2)); x2=cos(pi/2*t).*(u(t+1)-u(t-1)); subplot(211),

plot(t,x1,'.'),title('The original signal x1(t)'), axis([-5,5,-1,1]), xlabel('Time t') subplot(212),

plot(t,x2,'.'),title('The original signal x2(t)'),axis([-5,5,-1,1]), xlabel('Time t')

Q2-9手工计算x1(t) 和x2(t) 的傅里叶变换(如能够用傅里叶变换的性质计算最好),并手工

绘制出它们的幅度谱和相位谱;

计算x1(t) 的傅里叶变换的过程:

计算得到的x1(t) 的傅里叶变换的数学表达式为:

clear,close all

T = 0.01; dw = 0.1; %时间和频率变化的步长 t = -10:T:10;

w = -4*pi:dw:4*pi; xx=x28(t);

X=x28(t)*exp(-j*t'*w)*T; %傅里叶变换 X1=abs(X); %计算幅度谱 phai=angle(X); %计算相位谱 subplot(221);

plot(t,xx),title('The original signal x1(t)'),axis([-10,10,-1,2]),xlabel('Time t'),grid on; subplot(222)

plot(w,X),title('The Fourier Transform of x1(t) '),axis([-4*pi,4*pi,-1,3.5]),xlabel('f(jw)'),grid on; subplot(223);

plot(w,X1), title('The amplitude of f(jw) )'), axis([-4*pi,4*pi,-1,3.5]),xlabel('f(jw)'),grid on; subplot(224);

plot(w,phai),title('The phase of f(jw)'),axis([-pi,pi,-4,4]),xlabel('f(jw)'),grid on;

计算x2(t) 的傅里叶变换的过程:

clear,close all

T = 0.01; dw = 0.1; %时间和频率变化的步长 t = -10:T:10;

w = -4*pi:dw:4*pi;

xx=cos(pi/2*t).*(u(t+1)-u(t-1));

X=xx*exp(-j*t'*w)*T; %傅里叶变换 X1=abs(X); %计算幅度谱 phai=angle(X); %计算相位谱 subplot(221);

plot(t,xx),title('The original signal x1(t)'),axis([-10,10,-1,2]),xlabel('Time t'),grid on; subplot(222)

plot(w,X),title('The Fourier Transform of x1(t) '),axis([-4*pi,4*pi,-1,3.5]),xlabel('f(jw)'),grid on; subplot(223);

plot(w,X1), title('The amplitude of f(jw) )'), axis([-4*pi,4*pi,-1,3.5]),xlabel('f(jw)'),grid on; subplot(224);

plot(w,phai),title('The phase of f(jw)'),axis([-pi,pi,-4,4]),xlabel('f(jw)'),grid on;

计算得到的x2(t) 的傅里叶变换的数学表达式为:

手工绘制的x1(t)的幅度频谱图 手工绘制的x2(t)的幅度频谱图

Q2-10 编写MATLAB程序Q2_10,能够接受从键盘输入的时域信号表达式,计算并绘制出

信号的时域波形、幅度谱。

程序Q2_10抄写如下

clear,close all

T = 0.01; dw = 0.1; %时间和频率变化的步长 t = -10:T:10;

w = -4*pi:dw:4*pi;

xx= input('Input the signal (t) :'); X=xx*exp(-j*t'*w)*T; %傅里叶变换 X1=abs(X); %计算幅度谱 phai=angle(X); %计算相位谱 subplot(211);

plot(t,xx),title('The original signal x(t)'),axis([-10,10,-1,2]),xlabel('Time t'),grid on; subplot(223)

plot(w,X1),title('The amplitude of f(jw) '),xlabel('f(jw)'),grid on; subplot(224);

plot(w,phai),title('The phase of f(jw)'),axis([-pi,pi,-4,4]),xlabel('f(jw)'),grid on;

执行程序Q2_10,输入信号

下:

X1(t)=exp(-t)

x1(t)的数学表达式,得到的信号时域波形、幅度谱和相位谱如

执行程序Q2_10,输入信号

下:

x2(t)的数学表达式,得到的信号时域波形、幅度谱和相位谱如

Q2-11 修改程序Q2_10,并以程

序受

Q2_11为文件名存盘,要求能够接从键盘输入的时域信号表达式,计

算其傅里叶变换,并分别绘制其傅里叶变换的实部、虚部、幅度频谱和相位频谱的图形。

编写的程序Q2_11如下:

clear,close all

T = 0.01; dw = 0.1; %时间和频率变化的步长 t = -10:T:10;

w = -4*pi:dw:4*pi;

xx= input('Input the signal (t) :');

X=xx*exp(-j*t'*w)*T; %傅里叶变换 X1=abs(X); %计算幅度谱 phai=angle(X); %计算相位谱 realx=real(X); imagx=imag(X); subplot(311);

plot(t,xx),title('The original signal x(t)'),axis([-10,10,-1,2]),xlabel('Time t'),grid on; subplot(323)

plot(w,realx),title('The real of f(jw) '),xlabel('f(jw)'),grid on; subplot(324);

plot(w,imagx),title('The imag of f(jw)'),axis([-pi,pi,-4,4]),xlabel('f(jw)'),grid on; subplot(325)

plot(w,X1),title('The amplitude of f(jw) '),xlabel('f(jw)'),grid on; subplot(326);

plot(w,phai),title('The phase of f(jw)'),axis([-pi,pi,-4,4]),xlabel('f(jw)'),grid on;

选定适当的信号,该信号的时域表达式为:u(t)-u(t-3)

执行你编写好的MATLAB程序Q2_11,输入你选定的信号的数学表达式,绘制出的该信号

的傅里叶变换的图形如下:

Q2-12 修改程序Q2_11,并以Q2_12存盘,要求程序能接受从键盘输入信号的时域表达式,

计算并绘制信号的时域波形、信号的幅度频谱和相位频谱图。

编写的程序Q2_12如下:

clear,close all

T = 0.01; dw = 0.1; %时间和频率变化的步长 t = -10:T:10;

w = -4*pi:dw:4*pi;

xx= input('Input the signal (t) :');

X=xx*exp(-j*t'*w)*T; %傅里叶变换 X1=abs(X); %计算幅度谱 phai=angle(X); %计算相位谱 subplot(211);

plot(t,xx),title('The original signal x(t)'),axis([-10,10,-1,2]),xlabel('Time t'),grid on; subplot(223)

plot(w,X1),title('The amplitude of f(jw) '),xlabel('f(jw)'),grid on; subplot(224);

plot(w,phai),title('The phase of f(jw)'),axis([-pi,pi,-4,4]),xlabel('f(jw)'),grid on;

Q2-13选择一个时限信号,执行程序Q2_12以验证---对偶性质。 选定适当的信号x1(t),该信号的时域表达式为:x1(t) =u(t+1/2)-u(t-1/2) 执行程序Q2_12,绘制出的该信号的傅里叶变换的图形如下:

选定适当的信号x2(t),要求其数学表达式与x1(t) 的傅里叶变换的数学表达式相同,该信号

的时域表达式为:x2(t) =

再一次执行程序Q2_12,绘制出的信号x2(t)的傅里叶变换的图形如下:

比较这两次执行的结果,简述对偶性质,并说明验证结论。 答:

Q2-14选择一个时限信号,执行程序Q2_12以验证性质---时间尺度变换。 选定适当的信号x3(t),该信号的时域表达式为:x3(t) =: exp(-t) 执行程序Q2_12,绘制出的该信号的傅里叶变换的图形如下:

选定信号x4(t) = x3(2t),该信号的时域表达式为:x4(t) =: exp(-2t) ,再一次执行程序Q2_12,绘制出的信号x4(t)的傅里叶变换的图形如下:

比较这两次执行的结果,简述时间尺度变换性质,并说明验证结论。 答:

Q2-15选择一个时限信号,执行程序Q2_12以验证性质---时移。 选定适当的信号

x1(t),该信号的时域表达式为:x1(t) = : exp(-t).*u(t) ,执行程序

Q2_12,绘制出的该信号的傅里叶变换的图形如下:

选定信号x2(t) = x1(t-1),该信号的时域表达式为:x2(t) = : exp(-t+3).*u(t-3) ,再一次

执行程序Q2_12,绘制出的信号x2(t) 的傅里叶变换的图形如下:

比较这两次执行的结果,简述时移性质,并说明验证结论。 答:

Q2-16选择一个合适的信号,执行程序Q2_12以验证性质---频移(Multiplication by ej?0t)。 选定适当的信号x1(t),该信号的时域表达式为:x1(t) = : exp(-t).*u(t) ,执行程序Q2_12,

绘制出的该信号的傅里叶变换的图形如下:

选定信号x2(t) = ej?0tx1(t),其中?0 = 2 ,再一次执行程序Q2_12,绘制出的信号x2(t)

的傅里叶变换的图形如下:

比较这两次执行的结果,简述频移(Multiplication by ej?0t)性质,并说明验证结论。 答:

Q2-17:回答如下问题:

1、从信号分解的角度,谈谈你对周期信号的傅里叶级数的理解。

答:

2、从信号分解的角度,谈谈你对傅里叶变换及其物理意义的理解,谈谈你对信号频谱概念的理解。

四、实验报告要求

1、按要求完整书写你所编写的全部MATLAB程序

2、详细记录实验过程中的有关信号波形图(存于自带的U盘中),图形要有明确的标题。全部的MATLAB图形应该用打印机打印,然后贴在本实验报告中的相应位置,禁止复印件。

3、实事求是地回答相关问题,严禁抄袭。

本实验完成时间:

年 月

日实验三 连续时间LTI系统的频域分析

三、实验内容及步骤

实验前,必须首先阅读本实验原理,了解所给的MATLAB相关函数,读懂所给出的全部范例程序。实验开始时,先在计算机上运行这些范例程序,观察所得到的信号的波形图。并结合范例程序所完成的工作,进一步分析程序中各个语句的作用,从而真正理解这些程序。

实验前,一定要针对下面的实验项目做好相应的实验准备工作,包括事先编写好相应的实验程序等事项。

给定三个连续时间LTI系统,它们的微分方程分别为

d2y(t)dy(t)dx(t)?1?25y(t)?系统1: Eq.3.1

dtdtdt2系统2: 系统3:

dy(t)dx(t)?y(t)??x(t) Eq.3.2 dtdtd6y(t)d5y(t)d4y(t)d3y(t)d2y(t)dy(t)?10?48?148?306?401?262y(t)?262x(t)dtdt6dt5dt4dt3dt2 Q3-1 修改程序

Eq.3.3

Program3_1,并以Q3_1存盘,使之能够能够接受键盘方式输入的微分方

程系数向量。并利用该程序计算并绘制由微分方程Eq.3.1、Eq.3.2和Eq.3.3描述的系统的幅

度响应特性、相位响应特性、频率响应的实部和频率响应的虚部曲线图。

抄写程序Q3_1如下:

执行程序Q3_1,绘制的系统1的频率响应特性曲线如下:

从系统1的幅度频率响应曲线看,系统1是低通、高通、全通、带通还是带阻滤波器? 答:

执行程序Q3_1,绘制的系统2的频率响应特性曲线如下:

从系统2的幅度频率响应曲线看,系统2低通、高通、全通、带通还是带阻滤波器? 答:

执行程序Q3_1,绘制的系统3的频率响应特性曲线如下:

从系统3的幅度频率响应曲线看,系统3是低通、高通、全通、带通还是带阻滤波器? 答:

这三个系统的幅度频率响应、相位频率相应、频率响应的实部以及频率响应的虚部分别具

有何种对称关系?请根据傅里叶变换的性质说明为什么会具有这些对称关系?

答:

Q3-2 编写程序

Q3_2,使之能够能够接受键盘方式输入的输入信号x(t)的数学表达式,系

统微分方程的系数向量,计算输入信号的幅度频谱,系统的幅度频率响应,系统输出信号y(t)的幅度频谱,系统的单位冲激响应h(t),并按照下面的图Q3-2的布局,绘制出各个信号的时域和频域图形。

图Q3-2

你编写的程序Q3_2抄写如下:

执行程序Q3_2,输入信号x(t) = sin(t) + sin(8t),输入由Eq.3.3描述的系统。得到的图形如下:

此处粘帖执行程序Q3_2所得到的图形

请手工绘制出信号x(t) = sin(t) + sin(8t) 的幅度频谱图如下:

你手工绘制的信号x(t) = sin(t) + sin(8t) 的幅度频谱图与执行程序Q3_2得到的x(t) = sin(t) +

sin(8t) 的幅度频谱图是否相同?如不同,是何原因造成的?

答:

执行程序Q3_2得到的x(t) = sin(t) + sin(8t) 的幅度频谱图实际上是另外一个信号x1(t)的幅度

频谱,这个信号的时域数学表达式为 x1(t) = 请利用傅里叶变换的相关性质计算并绘制信号x1(t)的幅度频谱图。

计算过程:

手工绘制的x1(t) 的幅度频谱图如下:

结合所学的有关滤波的知识,根据上面所得到的信号的时域和频域图形,请从时域和频域

两个方面解释滤波的概念。

答:

Q3-3 编写程序Q3_3,能够接受从键盘输入的系统微分方程系数向量,并分别绘制所给三

个系统的群延时曲线图。

抄写程序Q3_3如下:

系统Eq.3.1的群延时曲线图 系统Eq.3.3的群延时曲线图

根据上面的群延时曲线图可以看出,对系统

Eq.3.1,当频率为5弧度/秒时,群延时为

秒,当频率为10弧度/秒时,群延时为 秒,如何解释这两个群延时时间?

根据上面的群延时曲线图,说明这两个系统是否会造成对信号的相位失真?为什么?

从系统Eq.3.3的群延时曲线图中可以看出,当信号的频率为1弧度/秒时,系统Eq.3.3对这

一频率的信号的延时是 秒。所以,执行程序Q3_2时,当作用于系统Eq.3.3的输入信号为x(t) = sin(t) + sin(8t)时,其输出信号y(t)的数学表达式为:

四、实验报告要求

1、按要求完整书写你所编写的全部MATLAB程序

2、详细记录实验过程中的有关信号波形图(存于自带的U盘中),图形要有明确的标题。全部的MATLAB图形应该用打印机打印,然后贴在本实验报告中的相应位置,禁止复印件。

3、实事求是地回答相关问题,严禁抄袭。

本实验完成时间: 年 月 日

实验四 通信系统仿真

三、实验内容及步骤

实验前,必须首先阅读本实验原理,了解所给的MATLAB相关函数,读懂所给出的全部

范例程序。实验开始时,先在计算机上运行这些范例程序,观察所得到的信号的波形图。并结合范例程序所完成的工作,进一步分析程序中各个语句的作用,从而真正理解这些程序的编程算法。

实验前,一定要针对下面的实验项目做好相应的实验准备工作,包括事先编写好相应的实验程序等事项。

Q4-1 给范例程序Program4_1加注释。

Q4-2 范例程序Program4_1中的连续时间信号x(t) 是什么信号?它的数学表达式为:

Q4-3 在1/2—1/10之间选择若干个不同Ts值,反复执行执行范例程序Program4_1,保

存执行程序所得到的图形。

Ts = 1/2时的信号时域波形和频谱图

Ts = 1/4时的信号时域波形和频谱图

Ts = 1/8时的信号时域波形和频谱图

根据上面的三幅图形,作一个关于抽样频率是怎样影响已抽样信号频谱的小结。 答:

程序Program4_1中的连续信号是否是带限信号?如果不是带限信号,是否可以选择一个抽

样频率能够完全消除已抽样信号中的频谱的混叠?如果不是带限信号,那么,这个连续时间信号在抽样前必须滤波,请你选择一个较为合适的频率作为防混叠滤波器的截止频率,你选

择的这个截止频率是多少?说明你的理由。

答:

Q4-4 请手工计算升余弦信号x(t) = [1+cos(pi*t)].*[u(t+1)-u(t-1)] 的傅里叶变换的数学表达

式,手工绘制其幅度频谱图。

计算过程:

手工绘制的升余弦信号x(t) = [1+cos(pi*t)].*[u(t+1)-u(t-1)] 的幅度频谱图

从上图的幅度频谱上看,升余弦信号是否是带限信号?能否近似将它看作是一个带限信

号?如果可以,那么,估计信号的最高频率大约是多少?

答:

Q4-5 阅读范例程序Program4_2,在这个程序中,选择的信号的最高频率是多少?这个频

率选择得是否恰当?为什么?

答:

Q4-6 在1—8之间选择抽样频率与信号最高频率之比,即程序Program4_2中的a值,反

复执行范例程序Program4_2,观察重建信号与原信号之间的误差,通过对误差的分析,说明对于带限信号而言,抽样频率越高,则频谱混叠是否越小?

答:

Q4-7 图Q4-7是一个RLC串联电路,在有些场合,可以把它用来作为一个滤波器使用,

如果选择不同的位置的信号作为输出信号,该电路具有不同的滤波特性。该电路的输出信号分别为y1(t)、y2(t)和y3(t)时,电路的输入输出微分方程和频率响应的数学表达式分别形如:

???选择y1(t)为输出信号时(可将电路看成系统1)

d2y1(t)dy1(t)22?2????ny1(t)??nx(t) 微分方程为 n2dtdtR y3(t)???频率响应为 H(j?)? 2(j?)2?2??n(j?)??n2nx(t)L y2(t)??选择y2(t)为输出信号时(可将电路看成系统2)

d2y2(t)dy2(t)d2x(t)2?2??n??ny2(t)?微分方程为 22dtdtdt?C y1(t)??图Q4-7 RLC串联电路

(j?)2频率响应为 H(j?)? 22(j?)?2??n(j?)??n选择y3(t)为输出信号时(可将电路看成系统3)

d2y3(t)dy3(t)dx(t)2?2????y(t)?2??微分方程为 nn3ndtdtdt2频率响应为 H(j?)?2??n(j?) 2(j?)2?2??n(j?)??n请写出上面的微分方程和频率响应表达式中的参数?、?n与R、L、C之间的数学关系。

Q4-8 编写程序Q4_8,能够接受从键盘输入的?、?n之值,计算并在同一个图形窗口的三

个子图中绘制出这三个频率响应特性曲线,要求每个子图有标题,绘制的频率范围为0—40弧度/秒。图形布置如图Q4-8所示。

图Q4-8 图形布置(zeta = ?, wn = ?n)

抄写程序Q4_8如下:

执行程序Q4_8,输入zeta = 0.7,wn = 15,在图形中的空白处,标上zeta 和wn之值,

如图Q4-8所示。保存所得到的图形如下。 zeta = 0.7,wn = 15时的频率响应曲线图

根据上面的图形,请说明系统1、系统2和系统3分别具有何种滤波特性? 答:

固定zeta = 0.7,在2—30之间选择不同的wn值,反复执行程序Q4_8,保存zeta = 0.7,

wn = 5和zeta = 0.7,wn = 20所得到的两幅图形。根据执行程序所得到的系统频率响应的形状,说明wn的不同取值分别对系统1、系统2和系统3的滤波特性(从通频带的带宽、过渡带宽和截止频率等方面作说明)的影响。

zeta = 0.7,wn = 5时的频率响应曲线图

zeta = 0.7,wn = 20时的频率响应曲线图

答:

固定wn = 15,在0.2—1之间选择不同的zeta值,反复执行程序Q4_8,保存zeta = 0.4,

wn = 15和zeta = 0.8,wn = 15所得到的两幅图形。根据执行程序所得到的系统频率响应的形状,说明zeta的不同取值分别对系统1、系统2和系统3的滤波特性的影响。

zeta = 0.4,wn = 15时的频率响应曲线图

zeta = 0.8,wn = 15时的频率响应曲线图

答:

Q4-9 调制与解调仿真实验。设调制信号为单频正弦信号x(t) = sin(t),其角频率为1 rad/s,

载波为c(t) = cos(10t),载频为10rad/s。

请按下面的图Q4-9建立仿真模型图:

图中共有三个信号源,其中:

Sin Wave为调制信号源即调制信号,可设定其频率为1 rad/s ;

Sin Wave1为载波信号,可设定其频率为30rad/s,Band-Limited White Noise为带限白噪声干扰信号,其频率可认为远大于1 rad/s;

Product和Product1分别为调制器和解调器,完成信号的乘法运算。

图Q4-9 信号的调制与解调仿真模型图

第一个乘法器之后的Transfer Fun是一个带通滤波器,数学模型可给定为:

H(j?)?2??n(j?) 22(j?)?2??n(j?)??n可以用Q4-7的RLC串联电路构成的系统3实现。

根据调制信号和载波的频率,以及实验结果,你认为图Q4-9中的带通滤波器的参数 ? 和

n

? 应该选择为:

wn = ? =

第二个乘法器之后的Transfer Fun是一个低通滤波器,设定其系统函数为:

2?n H(j?)?22(j?)?2??n(j?)??n可以用Q4-7的RLC串联电路构成的系统1实现。

根据调制信号和载波的频率,以及实验结果,你认为图Q4-9中的低通滤波器的参数 ? 和

n

? 应该选择为:

wn = ? =

四、实验报告要求

1、按要求完整书写你所编写的全部MATLAB程序

2、详细记录实验过程中的有关信号波形图(存于自带的U盘中),图形要有明确的标题。全部的MATLAB图形应该用打印机打印,然后贴在本实验报告中的相应位置,禁止复印