zl程序教程

您现在的位置是:首页 >  系统

当前栏目

2021年春季学期-信号与系统-第二次作业参考答案-第一小题

系统 2021 信号 作业 第一 春季 参考答案 学期
2023-09-11 14:15:21 时间


本文是 2021年春季学期-信号与系统-第二次作业参考答案 的参考答案。

 

▌第一题


1.画出下图所示的各个信号的偶分量和奇分量。

注:(2),(4)为选做

求解:

根据信号 f ( t ) f\left( t \right) f(t)的奇分量 f o ( t ) f_o \left( t \right) fo(t) f e ( t ) f_e \left( t \right) fe(t)之间的关系: f e ( t ) = 1 2 [ f ( t ) + f ( − t ) ] ,     f 0 ( t ) = 1 2 [ f ( t ) − f ( − t ) ] f_e \left( t \right) = {1 \over 2}\left[ {f\left( t \right) + f\left( { - t} \right)} \right],\,\,\,f_0 \left( t \right) = {1 \over 2}\left[ {f\left( t \right) - f\left( { - t} \right)} \right] fe(t)=21[f(t)+f(t)],f0(t)=21[f(t)f(t)]

可以绘制出上述各小题的奇分量与偶分量:

(1)第一小题

▲ 第一小题信号的奇分量 与偶分量

▲ 第一小题信号的奇分量 与偶分量

(2)第二小题

▲ 第二小题的离散序列的奇分量与偶分量

▲ 第二小题的离散序列的奇分量与偶分量

(3)第三小题

▲ 第三小题信号及其奇分量、偶分量

▲ 第三小题信号及其奇分量、偶分量

(4)第四小题

▲ 第四小题信号及其奇分量、偶分量

▲ 第四小题信号及其奇分量、偶分量

 

▌附件


1.1 绘图程序

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY                     -- by Dr. ZhuoQing 2021-03-15
#
# Note:
#============================================================

from headm import *

def f_parabola(t):
    f0 = 1-(t+2)**2
    return f0 * [heaviside(t+3, 0.5) - heaviside(t+1,0.5)]

def f_triangle(t):
    f0 = 1-abs(t)
    return f0 * [heaviside(t+1, 0.5) - heaviside(t-1, 0.5)]

#------------------------------------------------------------
t = linspace(-3.5, 3.5, 10000)

ft = f_parabola(t) + f_triangle(t)
f_t = f_parabola(-t) + f_triangle(-t)
fe = (ft + f_t) / 2
fo = (ft - f_t) / 2

plt.subplot(311)
plt.plot(t, ft.T, 'r', linewidth=1, label='f(t)')
plt.xlabel("t")
plt.ylabel("f(t)")
plt.grid(True)
plt.tight_layout()
plt.legend(loc='upper right')

plt.subplot(312)
plt.plot(t, fe.T, label='fe(t)')
plt.xlabel("t")
plt.ylabel("fe(t)")
plt.grid(True)
plt.tight_layout()
plt.legend(loc='upper right')

plt.subplot(313)
plt.plot(t, fo.T, label='fo(t)')
plt.xlabel("t")
plt.ylabel("fo(t)")
plt.grid(True)
plt.tight_layout()
plt.legend(loc='upper right')
plt.show()

#------------------------------------------------------------
#        END OF FILE : TEST1.PY
#============================================================

1.2绘图程序

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST2.PY                     -- by Dr. ZhuoQing 2021-03-15
#
# Note:
#============================================================

from headm import *

def f(t):
    return heaviside(-t,0) * (-0.5) + heaviside(t, 1)

n = array(range(-5, 6))
printf(n)

fn = f(n)
fe = (f(n) + f(-n)) / 2
fo = (f(n) - f(-n)) / 2

plt.subplot(311)
plt.stem(n, fn, label='f[n]')
plt.xlabel("n")
plt.ylabel("f[n]")
plt.grid(True)
plt.tight_layout()

plt.subplot(312)
plt.stem(n, fe, label='fe[n]')
plt.xlabel("n")
plt.ylabel("fe[n]")
plt.grid(True)
plt.tight_layout()

plt.subplot(313)
plt.stem(n, fo, label='fo[n]')
plt.xlabel("n")
plt.ylabel("fo[n]")
plt.grid(True)
plt.tight_layout()
plt.show()

#------------------------------------------------------------
#        END OF FILE : TEST2.PY
#============================================================

1.3绘图程序

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY                     -- by Dr. ZhuoQing 2021-03-15
#
# Note:
#============================================================

from headm import *

def f_u(t):
    return heaviside(t-1, 0.5)

def f_triangle(t):
    f0 = 1-abs(t+1)
    return f0 * [heaviside(t+2, 0.5) - heaviside(t, 0.5)]

#------------------------------------------------------------
t = linspace(-2.5, 2.5, 10000)

ft = f_u(t) + f_triangle(t)
f_t = f_u(-t) + f_triangle(-t)
fe = (ft + f_t) / 2
fo = (ft - f_t) / 2

plt.subplot(311)
plt.plot(t, ft.T, 'r', linewidth=1, label='f(t)')
plt.xlabel("t")
plt.ylabel("f(t)")
plt.grid(True)
plt.tight_layout()
plt.legend(loc='upper right')

plt.subplot(312)
plt.plot(t, fe.T, label='fe(t)')
plt.xlabel("t")
plt.ylabel("fe(t)")
plt.grid(True)
plt.tight_layout()
plt.legend(loc='upper right')

plt.subplot(313)
plt.plot(t, fo.T, label='fo(t)')
plt.xlabel("t")
plt.ylabel("fo(t)")
plt.grid(True)
plt.tight_layout()
plt.legend(loc='upper right')
plt.show()

#------------------------------------------------------------
#        END OF FILE : TEST1.PY
#============================================================

1.4 绘图程序

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST3.PY                     -- by Dr. ZhuoQing 2021-03-15
#
# Note:
#============================================================

from headm import *

def impulse(t, n):
    nlist = zeros(len(t))

    nlist[int(t[0] + n - 1)] = 1
    return nlist

def f(n):
    f0 = n + 3
    return f0 * [heaviside(n+3, 0) - heaviside(n, 0)] + impulse(n, 7) * 2

n = array(range(-8, 9))

fn = f(n).T
f_n = fn[::-1]
fe = (fn + f_n) / 2
fo = (fn - f_n) / 2

plt.subplot(311)
plt.stem(n, fn)
plt.xlabel("n")
plt.ylabel("f[n]")
plt.grid(True)
plt.tight_layout()

plt.subplot(312)
plt.stem(n, fe)
plt.xlabel("n")
plt.ylabel("fe[n]")
plt.grid(True)
plt.tight_layout()

plt.subplot(313)
plt.stem(n, fo)
plt.xlabel("n")
plt.ylabel("fo[n]")
plt.grid(True)
plt.tight_layout()

plt.show()

#------------------------------------------------------------
#        END OF FILE : TEST3.PY
#============================================================

 

※ 附录


■ 相关文献链接: