【信号系统实验2】MATLAB—连续时间信号与系统的频域分析

目录

1、实验目的

2、实验内容

        1、周期信号的分析

         2、非周期信号的分析

        3、连续时间系统的响应


1、实验目的

        1、熟悉信号的合成、分解原理,了解信号频谱的含义,加深对傅里叶级数的理解。

        2、掌握连续时间信号的傅立叶变换及逆变换的实现方法,掌握连续时间系统的频域分析方法,熟悉使用 MATLAB 来分析连续时间信号频谱图的方法。

2、实验内容

        1、周期信号的分析

                (1)如图所示的周期锯齿波信号,其中 T=2pi,试用 MATLAB求信号的傅里叶级数。

【信号系统实验2】MATLAB—连续时间信号与系统的频域分析_第1张图片

                (2)试用MATLAB绘出上图所示周期锯齿波信号的频谱图。

%1.1 求信号的傅里叶级数

%信号在正负半周期的表达式
syms t n T;
f1 = 4/T * t + 1;         % k = 2 / (T/2)
f2 = -4/T * t + 1;

%int函数实现积分运算,并求系数 a0
%int(积分函数, 积分上限, 积分下限)
a0 = 1 / T * (int(f1, -T/2, 0) + int(f2, T/2, 0));

%an相关 被积函数
ya1 = f1 * cos(n * 2*pi / T * t);
ya2 = f2 * cos(n * 2*pi / T * t);

%bn相关 被积函数
yb1 = f1 * sin(n * 2*pi / T * t);
yb2 = f2 * sin(n * 2*pi / T * t);

%求系数 an
an = 2 / T * (int(ya1, -T/2, 0) + int(ya2, 0, T/2));

%求系数 bn(偶函数 bn = 0,可以不用算)
bn = 2 / T * (int(yb1, -T/2, 0) + int(yb2, 0, T/2));


%1.2 绘出周期锯齿波信号的频谱图

%频谱图区间
n = 1: 10;

%计算系数 an1
%subs符号计算函数
%R = subs(S):用由调用函数或Matlab工作空间中获取的值替代了在符号表达式S中的所有当前的变量。
an1 = subs(an);

an2 = [0, an1];

%使用stem函数绘制频谱图
%stem(X,Y):在X的指定点处画出数据序列Y
%stem(...,'filled'):以实心的方式画出茎秆
h = stem([0, n], an2, 'filled');

xlabel('\omega');
ylabel('c_n');

%添加网格线
grid on;

【信号系统实验2】MATLAB—连续时间信号与系统的频域分析_第2张图片

         2、非周期信号的分析

                (1)已知某一连续时间信号为

                试绘出它的时域波形及相应的频谱图。

%2.1 试绘出f(t)=e^(-3t)u(t)的时域波形及相应的频谱图

syms t w;

%f(t)函数表达式,heaviside函数表示单位阶跃函数
f = exp(-3 * t) * heaviside(t);

%用函数 fourier()求 f(t)的傅里叶变换
Fw = fourier(f);

%subplot(m, n, p):
%其中,m(行)和n(列)指定将图形窗口分成m*n个绘图区,
%p指定当前活动区,p的大小以右行方向计数
subplot(3, 1, 1);

%绘 f(t)的时域波形
ezplot(f);

title('时域波形 f(t)=e^-^3^tu(t)');
xlabel('t');
ylabel('f(t)');
grid on;

w = -3 : 0.01 : 3;
Fwl = subs(Fw);

%绘 f(t)的幅度谱
%abs函数:求数值的绝对值和复数的幅值
subplot(3,1,2);
plot(w, abs(Fwl));

title('幅度谱 ');
xlabel('角频率 (\omega)rad/s');
ylabel('幅度|H(j\omega)|');
grid on;

%绘 f(t)的相位谱,
%angle函数:求复数相角
subplot(3, 1, 3);
plot(w, angle(Fwl) * pi / 180);

title('相位谱 ');
xlabel('角频率 (\omega)rad/s');
ylabel('相位 \phi(rad)');
grid on;

【信号系统实验2】MATLAB—连续时间信号与系统的频域分析_第3张图片

                (2)若信号f(t)的傅立叶变换

                试绘出该信号的时域波形和相应的频谱图。(取 tao=3)

%2.2 若信号 f(t)的傅立叶变换F(jw)=tao*sin(tao*w/2)/(tao*w/2)
%绘出该信号的时域波形和相应的频谱图。 (取 tao=3)

syms t w tao;
tao = 3;
Fw = tao * sin(tao * w/2) / (tao * w/2);
%使用 ifourier函数求 Fw的傅里叶反变换
h = ifourier(Fw,t);

%绘 f(t)的时域波形
subplot(2, 2, 1);
ezplot(h, [-2, 2]);

title('时域波形 ');
grid on;

%绘制 f(t)的频域波形
subplot(2, 2, 2);
ezplot(Fw,[-10, 10]);

title('频谱图 ');
xlabel('\omega');
grid on;

%绘 f(t)的幅度频谱图
subplot(2, 2, 3);
ezplot(abs(Fw), [-10, 10, -0.5, 3.5]);

title('幅度谱 ');
xlabel('\omega');
grid on;

%绘 f(t)的相位频谱图
subplot(2, 2, 4);
ezplot(angle(Fw),[-10, 10]);

title('相位谱 ');
xlabel('\omega');
grid on;

【信号系统实验2】MATLAB—连续时间信号与系统的频域分析_第4张图片

        3、连续时间系统的响应

                (1)系统传递函数为

                        (a) 用 MATLAB绘制幅度响应和相位响应曲线,分析该系统的频率特性,并判断系统是否为无失真传输系统。

%3.1系统传递函数为 H(jw)=1-jw/1+jw
%绘制幅度响应和相位响应曲线,分析该系统的频率特性,并判断系统是否为无失真传输系统
syms w t;
Hw = (1 - 1j * w) / (1 + 1j * w);
w = -5 : 0.01 : 5;
Fw1 = subs(Hw);

%绘 f(t)的幅度谱
subplot(2, 1, 1);
plot(w, abs(Fw1));

title('幅度谱 ');
xlabel('角频率 (\omega)rad/s');
ylabel('幅度 |H(j\omega)|');
grid on;

%绘 f(t)的相位谱
subplot(2, 1, 2);
plot(w, angle(Fw1) * pi / 180);

title('相位谱 ');
xlabel('角频率 (\omega)rad/s');
ylabel('相位 \phi(rad)');
grid on;
%幅度谱为常数,相位谱非线性,可判断出有失真

【信号系统实验2】MATLAB—连续时间信号与系统的频域分析_第5张图片

                        (b) 用 MATLAB求系统的单位冲激响应。

%3.2系统传递函数为 H(jw)=1-jw/1+jw
%求系统的单位冲激响应

syms w t;
Hw = (1- 1j * w)/(1 + 1j * w);

%使用 ifourier函数傅里叶反变换求冲激响应
ht = ifourier(Hw, t);

ezplot(ht);
title('冲激响应 ');
xlabel('t');
ylabel('h(t)');
grid on;

【信号系统实验2】MATLAB—连续时间信号与系统的频域分析_第6张图片  (c) 当输入为

时, 用 MATLAB求系统的零状态响应,绘出输入信号和响应的波形。

%3.3当输入为 f(t)=e^(-2t)u(t)时,求系统的零状态响应,绘出输入信号和响应波形
ft = exp(-2 * t) * heaviside(t);
subplot(1, 2, 1);
ezplot(ft);
title('输入信号 f(t)=e^-^2^tu(t)');
xlabel('t');
ylabel('f(t)');
grid on;
Fw = fourier(ft);
Yw = Fw * Hw;
yt = ifourier(Yw, t);

%求零状态响应
subplot(1, 2, 2);
ezplot(yt,[-1, 4, -1, 0.5]);
title('零状态响应 ');
xlabel('t');
ylabel('y_f(t)');
grid on;

【信号系统实验2】MATLAB—连续时间信号与系统的频域分析_第7张图片

你可能感兴趣的:(信号系统实验,matlab)