信号与系统实验教程(只有答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信 号 与 系 统
实 验 教 程(只有答案)
(实验报告
)
这么玩!
目录 实验一 信号与系统的时域分析 (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.5t u(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, title('The convolution of x(t) and h(t)')
xlabel('Time t sec')信号x (t)、h(t)和x (t)*h(t)的波形图
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已知一个序列为
⎩⎨⎧≤≤=o t h e r w i s e n n n x ,040,
][
编写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)时的零状态响应和你手工计算得到的系统零状态响应曲线。
)(8)(2)(3)(22t x t y dt t dy dt
t y d =++ 手工计算得到的系统零状态响应的数学表达式是:
编写的程序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) 验证性质:)()(*)(t x t t x =δ
选择信号x(t)的数学表达式为:sin(t)
x(t)、δ(t)和x(t)*δ(t)的波形
验证所得结论是:
(b) 验证性质:)()(*)(00t t x t t t x -=-δ
选择信号x(t)的数学表达式为:sin(t) t0=2
x(t)、δ(t-t 0) 和)(*)(0t t t x -δ的波形
验证所得结论是:
(c) 验证性质:)()(*)()(*)(211221t t t x t t t t x t t t t x --=--=--δδ 选择信号x(t)的数学表达式为: sin(t) 选择的t 1 = 2 秒,t 2 = 3 秒。
执行程序Q1_9,输入信号x(t-t 1) 和δ(t -t 2) 的数学表达式,得到的信号及其卷积的波形图如
下:
执行程序Q1_9,输入信号x(t-t 2) 和δ(t -t 1) 的数学表达式,得到的信号及其卷积的波形图如
下:
验证所得结论是:
(d) 验证性质:⎰
∞
-=
t
d x t u t x ττ)()(*)(
选择信号x(t)(建议选择一个时限信号)的数学表达式为:u(t)-u(t-3)
⎰
∞
-t
d x ττ)(的数学表达式为:
手工绘制的⎰∞-t
d x ττ)(波形如下:
执行程序Q1_9,输入信号x(t) 和u(t) 的数学表达式,得到的信号及其卷积的波形图如下:
验证所得结论是:
(e) 验证性质:)(*)()(*)(00t h t t x t t h t x -=-
选择信号x(t)的数学表达式为: sin(t) 选择信号h(t)的数学表达式为:sin(t) 选择的t 0=:1 执行程序
Q1_9,输入信号x(t) 和h(t-t 0) 的数学表达式,得到的信号及其卷积的波形图如
下:
执行程序
Q1_9,输入信号x(t-t 0) 和h(t) 的数学表达式,得到的信号及其卷积的波形图如
下:
验证所得结论是:
Q1-14:做如下总结:
1、信号与系统分析,就是基于信号的分解,在时域中,信号主要分解成:
2、写出卷积的运算步骤,并谈谈你对卷积的一些基本性质的理解。
利用MATLAB计算卷积的函数是什么?如何使用?
3、在时域中,描述一个连续时间LTI系统的数学模型有:
4、MATLAB是如何表示一个由微分方程描述的连续时间LTI系统的?求解连续时间LTI系统的单位冲激响应、单位阶跃响应以及系统在某一个输入信号作用下的零状态响应的MATLAB 函数有哪些?
四、实验报告要求
1、按要求完整书写你所编写的全部MATLAB 程序
2、详细记录实验过程中的有关信号波形图(存于自带的U 盘中),图形要有明确的标题。
全部的MATLAB 图形应该用打印机打印,然后贴在本实验报告中的相应位置,禁止复印件。
3、实事求是地回答相关问题,严禁抄袭。
本实验完成时间: 年 月 日
实验二 连续时间信号的频域分析
三、实验内容及步骤
实验前,必须首先阅读本实验原理,读懂所给出的全部范例程序。
实验开始时,先在计算机上运行这些范例程序,观察所得到的信号的波形图。
并结合范例程序应该完成的工作,进一步分析程序中各个语句的作用,从而真正理解这些程序。
实验前,一定要针对下面的实验项目做好相应的实验准备工作,包括事先编写好相应的实验程序等事项。
Q2-1 编写程序Q2_1,绘制下面的信号的波形图:
-+-=)5c o s (51
)3c o s (31)c o s ()(000t t t t x ωωω∑∞
==10)c o s (
)2s i n (1n t n n n
ωπ 其中,ω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 现象
给定如下两个周期信号:
Q2-4 分别手工计算x 1(t) 和x 2(t) 的傅里叶级数的系数。
信号x 1(t) 在其主周期内的数学表达式为:
t+1 -1<t<0 1-t 0<t<1
计算x 1(t) 的傅里叶级数的系数的计算过程如下:
k = -10:10;ak=0;
ak = 1/2.* (sin((k)*pi/2)./((k)*pi/2)) N=-10:10; stem(k,ak);
通过计算得到的x 1(t)的傅里叶级数的系数的数学表达式是:1/2.* (sin((k)*pi/2)./((k)*pi/2))
信号x 2(t) 在其主周期内的数学表达式为:
1 |t|<0.
2 0 0.2<|t|<1
计算x 2(t) 的傅里叶级数的系数的计算过程如下:
k = -10:10;ak=0;
ak =sin(k*pi*0.2)./(k*pi)
N=-10:10;
stem(k,ak);
通过计算得到的x
(t)的傅里叶级数的系数的数学表达式是:sin(k*pi*0.2)./(k*pi)
1
用MATLAB帮助你计算出你手工计算的傅里叶级数的系数ak从-10到10共21个系数。
从命令窗口上抄写x
(t)的21个系数如下:
1
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
从命令窗口上抄写x
(t)的21个系数如下:
2
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<t&t<=0)+y2.*(0<t&t<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所得到的x
(t)的傅里叶级数的ak从-10到10共21个系数如下:
1
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<t&t<=0)+y2.*(0<t&t<=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所得到的x
(t)的傅里叶级数的ak从-10到10共21个系数如下:
2
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
1,211,112,
2)(1t t t t t t x )]1()1()[2cos()(2--+=t u t u t t x π
Q2-8 利用单位阶跃信号u(t),将x 1(t) 表示成一个数学闭式表达式,并手工绘制x 1(t) 和x 2(t)
的时域波形图。
信号x 1(t) 的闭式数学表达式为:
x 1(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);
手工绘制的x 1(t)的时域波形图 手工绘制的x 2(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) 的傅里叶变换(如能够用傅里叶变换的性质计算最好),并手工绘制出它们的幅度谱和相位谱;
计算x
(t) 的傅里叶变换的过程:
1
计算得到的x
(t) 的傅里叶变换的数学表达式为:
1
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;
计算x
(t) 的傅里叶变换的过程:
2
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;
计算得到的x
(t) 的傅里叶变换的数学表达式为:
2
手工绘制的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,输入信号x
(t)的数学表达式,得到的信号时域波形、幅度谱和相位谱如
1
下:
X1(t)=exp(-t)
执行程序Q2_10,输入信号x
(t)的数学表达式,得到的信号时域波形、幅度谱和相位谱如
2
下:
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以验证---对偶性质。
选定适当的信号x
(t),该信号的时域表达式为:x1(t) =u(t+1/2)-u(t-1/2)
1
执行程序Q2_12,绘制出的该信号的傅里叶变换的图形如下:
选定适当的信号x
(t),要求其数学表达式与x1(t) 的傅里叶变换的数学表达式相同,该信号
2
的时域表达式为:x2(t) =
再一次执行程序Q2_12,绘制出的信号x
(t)的傅里叶变换的图形如下:
2
比较这两次执行的结果,简述对偶性质,并说明验证结论。
答:
Q2-14选择一个时限信号,执行程序Q2_12以验证性质---时间尺度变换。
选定适当的信号x
(t),该信号的时域表达式为:x3(t) =:exp(-t)
3
执行程序Q2_12,绘制出的该信号的傅里叶变换的图形如下:
选定信号x
(t) = x3(2t),该信号的时域表达式为:x4(t) =:exp(-2t) ,再一次执行
4
程序Q2_12,绘制出的信号x4(t)的傅里叶变换的图形如下:
比较这两次执行的结果,简述时间尺度变换性质,并说明验证结论。
答:
Q2-15选择一个时限信号,执行程序Q2_12以验证性质---时移。
选定适当的信号x
(t),该信号的时域表达式为:x1(t) = :exp(-t).*u(t) ,执行程序
1
Q2_12,绘制出的该信号的傅里叶变换的图形如下:
选定信号x
(t) = x1(t-1),该信号的时域表达式为:x2(t) = :exp(-t+3).*u(t-3) ,再一次
2
执行程序Q2_12,绘制出的信号x2(t) 的傅里叶变换的图形如下:
比较这两次执行的结果,简述时移性质,并说明验证结论。
答:
Q2-16选择一个合适的信号,执行程序Q2_12以验证性质---频移(Multiplication by e j 0t)。
选定适当的信号x
(t),该信号的时域表达式为:x1(t) = :exp(-t).*u(t) ,执行程序Q2_12,
1
绘制出的该信号的傅里叶变换的图形如下:
选定信号x
(t) = e jω0t x1(t),其中ω0 = 2 ,再一次执行程序Q2_12,绘制出的信号x2(t)
2
的傅里叶变换的图形如下:
比较这两次执行的结果,简述频移(Multiplication by e jω0t)性质,并说明验证结论。
答:
Q2-17:回答如下问题:
1、从信号分解的角度,谈谈你对周期信号的傅里叶级数的理解。
答:
2、从信号分解的角度,谈谈你对傅里叶变换及其物理意义的理解,谈谈你对信号频谱概念的理解。
四、实验报告要求
1、按要求完整书写你所编写的全部MATLAB程序
2、详细记录实验过程中的有关信号波形图(存于自带的U盘中),图形要有明确的标题。
全部的MATLAB图形应该用打印机打印,然后贴在本实验报告中的相应位置,禁止复印件。
3、实事求是地回答相关问题,严禁抄袭。
本实验完成时间:年月日
实验三 连续时间LTI 系统的频域分析
三、实验内容及步骤
实验前,必须首先阅读本实验原理,了解所给的MATLAB 相关函数,读懂所给出的全部范例程序。
实验开始时,先在计算机上运行这些范例程序,观察所得到的信号的波形图。
并结合范例程序所完成的工作,进一步分析程序中各个语句的作用,从而真正理解这些程序。
实验前,一定要针对下面的实验项目做好相应的实验准备工作,包括事先编写好相应的实验程序等事项。
给定三个连续时间LTI 系统,它们的微分方程分别为
系统1: dt t dx t y dt t dy dt t y d )
()(25)(1)(2
2=++ Eq.3.1
系统2: )()()()(t x dt
t dx t y dt t dy -=+ Eq.3.2 系统3:
)
(262)(262)
(401)(306)(148)(48)(10)(2
233445566t x t y dt t dy dt t y d dt t y d dt t y d dt t y d dt t y d =++++++ Eq.3.3
Q3-1 修改程序
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) 的幅度频谱图实际上是另外一个信号x
(t)的幅度
1
频谱,这个信号的时域数学表达式为x1(t) =
请利用傅里叶变换的相关性质计算并绘制信号x
(t)的幅度频谱图。
1
计算过程:
手工绘制的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 串联电路,在有些场合,可以把它用来作为一个滤波器使用,
如果选择不同的位置的信号作为输出信号,该电路具有不同的滤波特性。
该电路的输出信号分别为y 1(t)、y 2(t)和y 3(t)时,电路的输入输出微分方程和频率响应的数学表达式分别形如:
选择y 1(t)为输出信号时(可将电路看成系统1)
微分方程为 )()()(2)(2
1212
12t x t y dt t dy dt
t y d n n n ωωζω=++ 频率响应为 2
22)(2)()(n
n n
j j j H ωωζωωω
ω++= 选择y 2(t)为输出信号时(可将电路看成系统2)
微分方程为 2
222
2222)()()(2)(dt
t x d t y dt t dy dt t y d n n =++ωζω 频率响应为 2
22
)(2)()()(n
n j j j j H ωωζωωωω++= 选择y 3(t)为输出信号时(可将电路看成系统3)
)
t )
t )
(t 图Q4-7 RLC 串联电路。