{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "\n", "# 时域中的离散时间系统\n", "\n", "在时域中,离散时间系统对输入信号或者延迟信号进行简单运算处理,生成具有所需特性的输出信号。本节的目的就是通过Python仿真一些简单的离散时间系统,并研究它们的时域性质。\n", "\n", "## 离散时间系统\n", "\n", "本课程中,我们主要研究的线性时不变离散时间系统,形式如下的线性常系数差分方程来描述。\n", "\n", "$$\n", "\\sum _ { k = 0 } ^ { N } d _ { k } y [ n - k ] = \\sum _ { k = 0 } ^ { M } p _ { k } x [ n - k ]\n", "$$\n", "\n", "其中,$x[n]$和$y[n]$分别是系统的输入和输出,$d[k]$$p[k]$为常数,离散时间系统的阶数为$\\\\max(N,M)$,表示系统差分方程的阶数。\n", "\n", "若系统是因果的,还可以进一步将上述形式化简\n", "\n", "$$\n", "y [ n ] = - \\sum _ { k = 1 } ^ { N } \\frac { d _ { k } } { d _ { 0 } } y [ n - k ] + \\sum _ { k = 0 } ^ { M } \\frac { p _ { k } } { d _ { 0 } } x [ n - k ]\n", "$$\n", "\n", "已知$x[n]$和初始条件$y[n_0-1],y[n_0-2],\\\\cdots,y[n_0-N]$,那么可以计算出$y[n]$。\n", "\n", ">利用Scipy包来对系统进行仿真\n", "```python\n", "scipy.signal.lfilter(b, a, x, axis=-1, zi=None)\n", "```\n", ">其中,$b$ 和 $a$分别为系统差分方程的系数\n", "> $$a[0]y[n] = b[0]x[n] + b[1]x[n-1] + ... + b[M]x[n-M]\n", " - a[1]y[n-1] - ... - a[N]y[n-N]$$\n", "\n", "### 例:滑动平均系统\n", "\n", "$$\n", "y [ n ] = \\frac { 1 } { M } \\sum _ { k = 0 } ^ { M - 1 } x [ n - k ]\n", "$$\n", "\n", "通过若干个正弦信号之和所组成的信号中滤除高频分量" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# 加载所需要的包\n", "import matplotlib.pyplot as plt\n", "from scipy import signal\n", "import numpy as np\n", "# 产生两个不同频率正弦序列\n", "n = np.linspace(0,100,101)\n", "s1 = np.cos(2*np.pi*0.05*n) # 信号1\n", "s2 = np.cos(2*np.pi*0.47*n) # 信号2\n", "x = s1+s2\n", "\n", "# 平滑滤波处理\n", "M = 5\n", "b = np.ones([M,])\n", "y = signal.lfilter(b,np.array([1,0,0]),x)/M\n", "\n", "# 显示结果\n", "plt.subplot(121)\n", "plt.plot(n,x)\n", "plt.ylabel('Amplitude')\n", "plt.title('Input signal')\n", "plt.xlabel('Time index n')\n", "\n", "plt.subplot(122)\n", "plt.plot(n,y)\n", "plt.title('Output signal')\n", "plt.xlabel('Time index n')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 线性系统和非线性系统\n", "\n", "对于线性离散时间系统,若$y_1[n]$和$y_2[n]$分别是输入序列$x_1[n]$和$x_2[n]$的响应,则输入为\n", "\n", "$$\n", "x[n] = \\alpha x_1[n] +\\beta x_2[n]\n", "$$\n", "\n", "的输出响应为\n", "\n", "$$\n", "y[n] = \\alpha y_1[n] +\\beta y_2[n]\n", "$$\n", "\n", "上式的叠加性质对于任意常量$\\\\alpha$和$\\\\beta$以及任意输入$x_1[n]$和$x_2[n]$都成立。\n", "\n", "若存在一组非零的$\\\\alpha$和$\\\\beta$,或者一组非零的输入序列$x_1[n]$和$x_2[n]$,上述叠加性质不成立,则系统为非线性系统。\n", "\n", "现在我们来研究下面这个系统的线性性质,\n", "\n", "$$\n", "y [ n ] - 0.4 y [ n - 1 ] + 0.75 y [ n - 2 ] = 2.2403 x [ n ] + 2.4908 x [ n - 1 ] + 2.2403 x [ n - 2 ]\n", "$$" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# 产生混合信号:高频正弦+低频正弦\n", "n = np.linspace(0,40,41)\n", "s1 = np.cos(2*np.pi*0.1*n)\n", "s2 = np.cos(2*np.pi*0.4*n)\n", "a = 2\n", "b = -3\n", "x = a*s1+b*s2\n", "\n", "# 定义系统的系数\n", "num = np.array([2.2403,2.4908,2.2403])\n", "den = np.array([1,-0.4,0.75])\n", "\n", "# 系统处理(滤波)\n", "ic = np.array([0,0]) # set initial\n", "zi = signal.lfilter_zi(num, den)\n", "y1,_ = signal.lfilter(num,den,s1,zi=zi*ic) # y1[n]\n", "y2,_ = signal.lfilter(num,den,s2,zi=zi*ic) # y2[n]\n", "y,_ = signal.lfilter(num,den,x,zi=zi*ic) # y[n]\n", "yt = a*y1 + b * y2\n", "\n", "# 计算叠加输入的响应和输出直接叠加的差异\n", "d = y-yt\n", "\n", "\n", "plt.subplot(131)\n", "plt.stem(n,y)\n", "plt.title('y[n]')\n", "plt.subplot(132)\n", "plt.stem(n,yt)\n", "plt.title('y_t[n]')\n", "plt.subplot(133)\n", "plt.stem(n,d)\n", "plt.title('Difference')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 时不变系统和时变系统\n", "\n", "对于离散时不变系统,若$y_1[n]$是$x_1[n]$的响应,则输入\n", "\n", "$$\n", "x[n] = x_1[n-n_0]\n", "$$\n", "\n", "的输出为\n", "\n", "$$\n", "y[n] = y_1[n-n_0]\n", "$$\n", "\n", "其中$n_0$是任意整数。上面的输入输出关系,对任意输入序列及相应的输出成立。\n", "\n", "若对至少一个输入序列及其相应的输出序列不成立,则称系统为时变的。\n", "\n", "### 例子\n", "\n", "验证如下系统是否为时不变:\n", "\n", "$$\n", "y [ n ] - 0.4 y [ n - 1 ] + 0.75 y [ n - 2 ] = 2.2403 x [ n ] + 2.4908 x [ n - 1 ] + 2.2403 x [ n - 2 ]\n", "$$\n", "\n", "我们产生两个不同的输入序列$x[n]$和$x[n-D]$,计算出相应的输出序列$y_1[n]$和$y_2[n]$,以及二者的差$d[n]=y1[n]-y2[n+D]$,若$d[n]$为0,则系统是时不变的。" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAEICAYAAABcVE8dAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xu0XGWZ5/HvLyGEIzQcQtJMbpgIGBcXG7pPgyzUQYgEXWiQEcEZNd1CI71kuhnHaKIzNq3QRFHRbh01Cku8cREhRMWOhOA47VIgGIUARsI1HBIJhKMiISHJM3/UPqFS2XVyzqnal6r9+6yVldqX2u+Tk32eeuvd70URgZmZdb8xRQdgZmb5cMI3M6sIJ3wzs4pwwjczqwgnfDOzinDCNzOrCCf8DiXpJEk7JD0n6bRhvufrkjZLeiLr+KwaJH1Z0v+u2/57Sb9L7suDJJ0o6cFk+4wiYzWQ++GXl6R3ABcBxwB3RsRJdcdOAr4VEdNGeM1Rvc+qSdKjwMHANmA7cD/wDWBxROxoOHcc8AfgNRHx62TfbcDSiPh8nnFbOtfwy20T8DlgUdGBWKW9JSL+DHg5tXvxw8CVKecdDOwD3Fe37+UN28Mmaa/RvM+ac8IvmKT5kr7XsO9fJX0+IpZHxPXAk8O81t9I+g9Jn5b0rKRHJL0pk8CtciLi9xGxFDgbmCfpqKSZ8BJJrwTWJKcOSFoh6SHgFcD3kyad8ZIOkHSlpPWS+pP3joWd9+/PJF0h6Rng4mT/eyU9kNzTyyS9fDAmSSHpgqTZaEDSFyWp7vjfJe/9o6T7Jf1lsn+KpO9J2pj8nvxDHj/DojnhF+9bwGmSemFnreYcal+bR+N4ar94E4FPAVfW/wKYtSoi7gSeAF5Xt++3wJHJZm9EnBwRhwKPU/uGsF9EbAG+Tq156DDgWOBU4Ly6yx8PPEzt28KlkuYCHwHOBCYB/w+4piGk04G/Bl4NvAOYAyDpLGofGu8B9gfeCjwjaQzwfeDXwFTgFOAiSXNa+bl0Aif8gkXEeuCnwFnJrtOApyPi7lFe8rGI+GpEbAeuBiZT++Uxa6cngQkjeYOkg4E3AxdFxJ8i4ingCmoVnJ3XjYh/i4htEbEZuAC4LCIeiIhtwL8Ax9TX8oFFETEQEY8Dt1N75gW1D5JPRcRdUbM2Ih6j9uEwKSI+HhFbI+Jh4KsNcXQlt5GVw9XA31O76d4FfLOFa20YfBERzyeV+/1ais5sd1OpPWMaiZcD44D1dV86xwDr6s5Zl/Kez0v6TN0+JeU/lmxvqDv2PC/d79OBh5rEMUXSQN2+sdS+PXQ1J/xyWAJ8SdJR1L6efqjgeMyakvTX1BLuf1BrghmudcAWYGJSW0/T2G1wHXBpRHx7xIHW3ntok/2PRMTho7hmR3OTTglExAvADcB3qHW/fBxA0lhJ+1D7YB4jaZ+k65tZ7iTtL+l04FpqXXvvHcn7k+bLHwOfSa41RtKhkv7zEG/7MrBQ0pFJDAckbfPD8TXgg5L+SjWHJU1BdwJ/lPRhST3J79lRyQdZV3PCL4+rgaPZtTnn3cBm4EvUHpBtptbsY5an70v6I7Wa8UeBzwJ/O8prvQfYm1p//mepVXQmNzs5Im4CPglcK+kPwGpgWD3PIuK7wKXUKlJ/pPZNekLyfOt0am39jwBPU/twOGB0/6TO4YFXJSHpEOA3wH+KiD8M4/zXA8uofUU+OyKWDeM9V1J7OPxURBzWYshm1mGc8Esg6Sb2WWD/iHhv0fGYWXfyQ9uCSdoX+B21HgfDmhPHzGw0XMM3M6sIP7Q1M6uIUjXpTJw4MWbMmFF0GNbF7r777qcjYlLe5fretiwN974uVcKfMWMGK1euLDoM62KSHtvzWe3ne9uyNNz72k06ZmYV4YRvZlYRTvhmZhXhhG9mVhFO+GZmFVGqXjqdZMmqfi5ftoYnBzYzpbeH+XNmccaxUysfi5mVlxP+KCxZ1c/CG+9l84vbAegf2MzCG2szxeadaMsUi5mVm5t0RuHyZWt2JthBm1/czuXL1jR5RzViMbNycw1/FJ4c2Dyi/VkqUyxuWjIrN9fwR2FKb8+I9mepLLEMNi31D2wmeKlpacmq/lzjMLPmnPBHYf6cWfSMG7vLvp5xY5k/Z1ZlY3HTkln5uUlnFAabKT50wz1s3b6DqQU2X5QlljI1LZlZOif8UTrj2Klcc+fjAFz3vhMqH8uU3h76U5J7Ec1cZpbOTTrWFmVpWjKz5lzDt7YoS9OSmTXX0Qnf3QDLpQxNS2bWXMcmfI8wNTMbmY5tw3c3QDOzkenYhO9ugGZmI9OxCb8sI0zNzDpFxyZ8dwM0MxuZtjy0lXQVcDrwVEQcleybAFwHzAAeBd4REc+2ozxwN8CyaOwptc+4MUzcb3zRYZlZinb10vk68AXgG3X7FgC3RcQiSQuS7Q+3qTzA3QCLltZTaozyLb/+w+YNr5rE7b/Z6G66Zk20JeFHxE8lzWjYPRc4KXl9NfAT2pzwqypt/EER5adNpbAjYN2m7B+cp33YfOsXj+887m66ZrvLsg3/4IhYn7zeABycdpKk8yWtlLRy48aNGYbTHZpNQ/z0c1tyL7+Zrdt3ZB5HWrfcRu6ma7arXB7aRkQA0eTY4ojoi4i+SZMm5RFOR2s2/iCPWnWz8hvtPTb722q43W+HOk/SaZLWSFqbNDs2Hh8v6brk+B2N32IlHSLpOUkfHFn0ZsXI8jfzd5ImAyR/P5VhWZXRLIHlUaseqvxBYwTTJ2TfNXa43W+bnSdpLPBF4E3AEcA7JR3RcNq5wLMRcRhwBfDJhuOfBX40/KjNipVlwl8KzEtezwNuzrCsrrdkVT8nLlqR/jWJfGrVMHSindrbw8yJ++bSSyetW26jPXTTPQ5YGxEPR8RW4Fpqz53qzaX2/AngBuAUSQKQdAbwCHDf6P4FZvlrS5aQdA3wc2CWpCcknQssAt4o6UFgdrJto7CndvOecWNzqVVDeqIdIzh00r78bMHJuXXJPOPYqVx25tE7P+im9vbwrtccssv2ZWcePdQD26nAurrtJ5J9qedExDbg98BBkvaj1gHhn4eK0c+nrGza1UvnnU0OndKO61fdUO3mg+MPBrunZi1t/ENRfe/TuuU++LvndtnOyMXAFRHxXFLhTxURi4HFAH19fc2+nJnlpmNH2lbJUO3mP1twcu7dDs84dirHHtLL8TMn5Fqrb7N+YHrd9rRkX+o5kvYCDgCeAY4HPiXpUeAi4COSLsw6YLNWdez0yFXSbPnAvNrtu9RdwOGSZlJL7OcA/7XhnMHnUD8H3g6sSHqcvW7wBEkXA89FxBfyCNqsFc4YHaBZu3le7fbdKGmTvxBYBjwAXB8R90n6uKS3JqddSa3Nfi3wAWqjxc06lmv4HaBM7ebdJCJuAW5p2PexutcvAGft4RoXZxKcWQZcw+8QXdJubmYFcg1/CF4z18y6iRN+E14z18y6jZt0mvCauWbWbZzwm/CauWbWbdyk00Szvu9jJGYu+KFXdzKzjuOE38T8ObN2acMftD1qI+QbV3fyA14zKzsn/CYa+76PlXYm+0GDqzv5Aa+ZdQK34Q+hvu/7jkif+2rr9h1+wGtmHcEJf5iazQO/99gxfsBrZh3BCX+YhprPptmHwXBXZTIzy4MT/jClLbgxuLpT2ofBHlZbMjPLnRP+CDSbzybtw2APqy2ZmeXOvXTaJG31JTOzMum4hN/Y392Dn8zMhqejEn5af/cxzZcUNTOzOh3Vhp/W331w8JOZmQ2toxJ+s37tW7fvyDkSM7POk3mTjqRHgT8C24FtEdE32mvtaTFvz2fjn4GZNZdXDf8NEXFMK8kehh78NNi+3z+wmeCl+WyWrOpvpciO8vRzWyr/MzCz5jqqSWeowU+ez6b2LKNMP4Mlq/o5cdEKZi74IScuWuEPHrOC5ZHwA/ixpLslnd94UNL5klZKWrlx48Y9XqzZ4CfPZ9P8WUYRPwN/4zIrnzwS/msj4i+BNwHvl/T6+oMRsTgi+iKib9KkSaMuxPPZvPQso1ERPwN/4zIrn8wf2kZEf/L3U5JuAo4DftructIWLBnNfDadPLBr+oQenhx4oeWfQTv4G5dZ+WRaw5e0r6Q/G3wNnAqszqKsdsxnk9YM8cjTf+Lp57ZkEXLbTdxvfGnm9PE3LrPyybqGfzBwk6TBsr4TEf+eVWGtzmfTDQO7yjKnT7u+cZlZ+2Sa8CPiYeAvsiyjnTywq30al4ic6jEBZoXrqLl0srangV02MmX5tmFmNc5kdYYa2GVm1ulcw6+T1gzRSb10zMyG4hp+g2YDu6y7SDpN0hpJayUtSDk+XtJ1yfE7JM1I9r8xGUR4b/L3yXnHbjZaTvhWOZLGAl+kNhjwCOCdko5oOO1c4NmIOAy4Avhksv9p4C0RcTQwD/hmPlGbtc4J36roOGBtRDwcEVuBa4G5DefMBa5OXt8AnCJJEbEqIp5M9t8H9Ejy10DrCE74VkVTgXV1208k+1LPiYhtwO+BgxrO+S/ALyOiM0bmWeX5oa3ZKEg6klozz6lDnHM+cD7AIYccklNkZs25hm9V1A9Mr9ueluxLPUfSXsABwDPJ9jTgJuA9EfFQs0LaNTGgWbs44VsV3QUcLmmmpL2Bc4ClDecspfZQFuDtwIqICEm9wA+BBRHxs9wiNmsDJ3yrnKRN/kJgGfAAcH1E3Cfp45Lempx2JXCQpLXAB4DBrpsXAocBH5P0q+TPn+f8TzAbFbfhWyVFxC3ALQ37Plb3+gXgrJT3XQJcknmAZhlwwi+ptMXIHUtnr1dgVjQn/BIanJd/cGrhweUBp/Tuk3tyK3ssY5RrCGYdzW34JdRsecAi5uUveyydtl6BWZGc8EuoTPPyOxaz7uGEX0LNlgEsYl5+x2LWPfybUkJp8/L3jBtbyLz8ZY/F6xWYDZ8Tfgk1W5C9iN4oZY9l5sR93UvHbJic8EuqcV7+IteCLXMsTvZmw+eEb2ZWEZkn/D2tLGRmZvnINOEPc2UhMzPLgSIiu4tLJwAXR8ScZHshQERclnZ+X19frFy5crf9N5/3QXqffIQZB+0LwP3r/wDAEZP33+V147FHn/kTwM731W83ez2S67ej7KGOjbbsxmOjKbvx2HDLy/pnMpyfw4ZJ0/nba/6NNJLujoi+1IMZanZvm7XDcO/rrKdWSFtZ6Pj6E4azSMSmP21h760vjbB82d5jU183bj+/dddRmfXbzV6P5PrtKHuoY6Mtu/HYaMoebSxZ/0yGU96Eff0g1yxN1jX8twOnRcR5yfa7geMj4sK085vVgs7+ys8BuO59J4yo/Mb31W83e90uwy17T8faHcto42p3HK3E1QrX8K0bDfe+zvqh7XBWFjIzsxxknfCHs7KQmZnlINM2/IjYJmlwZaGxwFURcV+WZZqZWbrM58NPW1nIzMzy55G2ZmYVUfmEv2RVP6seH+CORzZx4qIVLFnlZ8pm1p0qnfCffm4LC2+8d+cCGoPL9znpm1k3qnTCX7dpc+ryfZcvW9PSdf2twczKqPQJP8vk2WxpvGZL6Q3H4ELbjd8ann5uy6ivaWbWDqVO+M2SZ7uSfrOl8ZotpTccZVr028ysXqkTfrPk2WqTy6DpE3pSl++bP2fWqK/phbbTuZnLrHilTvjNkmcrTS71Ju43nsvOPJqpvT2Il5bva2VFp7IttN2YaItoWnIzl1k5ZD7wqhVTenvoT0nurTS5NDrj2KltXbJv/pxZLLzx3l2+mfSMG8uU3n3aVsZwpSXaMco9jCGbubxEoVl+Sl3Dnz9nVtubXLI2uNB247eGIhJbWqLdEeT+PMHNXGblUOoa/mDN+/Jla3hyYDNTenuYP2dWoYtoD0fat4Zr7nw89zjKkmibfVMrqpnLrKpKnfCh/U0uVVKWRFumZi6zKnMVq4ulNYmNUa13Up7K1MxlVmWlr+Hb6KU1ie0zbkwhibYszVz1JJ0GfJ7a1N1fi4hFDcfHA98A/gp4Bjg7Ih5Nji0EzgW2A/8QEctGWv6SVf07/28O6BmHBAPPv8iU3h7e8KpJ3P6bjbkcK7LsToyr6JhbadZ2wu9yjYl2cLnAqpM0Fvgi8EZqay3fJWlpRNxfd9q5wLMRcZikc4BPAmdLOoLaYj5HAlOA5ZJeGRG7PiEfwmAPqsFmroHNL+481j+wmW/94qUPw6yPFVl2J8ZVdMwLb7wXYFRJ3wnfquo4YG1EPAwg6VpgLlCf8OcCFyevbwC+IEnJ/msjYgvwiKS1yfWG/Wk62IPqfffczCt+70FotmcPHzCVr7x67s7Bp6NJ+G7Dt6qaCqyr234i2Zd6TkRsA34PHDTM9yLpfEkrJa3cuHHjLsfaNXjQqmm0949r+GYZiYjFwGKAvr6+qD822IPqK6+eW0hs1tlGO/jUNXyrqn5get32tGRf6jmS9gIOoPbwdjjvHVJaDyqz4Whl8KkTvlXVXcDhkmZK2pvaQ9ilDecsBeYlr98OrIiISPafI2m8pJnA4cCdIym8satqb884DnzZuJ3dVt/1mkNyO1Zk2Z0YV9ExtzLfl5t0rJIiYpukC4Fl1LplXhUR90n6OLAyIpYCVwLfTB7KbqL2oUBy3vXUHvBuA94/kh46gzyo0PKWWcKXdDHwd8Dg06qPRMQtWZXXDQZntty6fQcnLlrREdNIdLLkfrylYd/H6l6/AJzV5L2XApdmGqBZm2Vdw78iIj6dcRldodn6ujC6/rZmZo3chl8SWa2va2Y2KOuEf6GkeyRdJenAtBOG6qtcJVmsr2tmVq+lhC9puaTVKX/mAl8CDgWOAdYDn0m7RkQsjoi+iOibNGlSK+F0tCzW1zUzq9dSG35EzB7OeZK+CvyglbK63fQJPTw58MJuUwgXtdiLHyCbdZ/MmnQkTa7bfBuwOquyukEW6+uOVrM1aItYeNyLn5u1T5a9dD4l6RgggEeB92VYVlcoS7/sZmvQjnbCptFyzyWz9sos4UfEu7O6tmWr2YPivB8gr9u0ebeH2UV88Jh1C3fLtN00e1Cc9wNk91wyay8nfNtN2sReRTxAds8ls/ZywrfdNFuDNu9mlOkTekrxwWPWLTx5mqUqwwPkifuN57+ffPgua/K6e6jZ6DnhWyEa+/k3W1y9DB88Zt3CCd9yl9bPf4wKDsqsApzwKyRt9GwR0vr574haN0wzy44f2lZEs9GzTz+3JfdYmnWrbNYN08zawwm/IpqNni2iVt2sW2Wzbphm1h7+DauIMtWq0/r5j1GtG6aZZccJv2B5TQ5Wplp1Wj//mRP3Te2lY2bt44e2BWrWrg7tnxxs/pxZLLzx3t2mX57Su09byxmuxu6WZ3/l54XEYVYlruEXaKhZKdut2ehZ16rNqsM1/Bw0G2SU96yUaYOYrrnz8dQYPaLVrPs44WdsqEFGU3p76E9J7nlPDuZ5582qwU06GRtqkFFZZqVct2lzbk1Lw+FVrsyy0bU1/LKMKh2qO+Rg7bnoycHKNO98ng+yzaqmKxN+s6QxpXef3B9SNmu2GewOWYbJwfYeOyY16Rcx73xZllc060Zd2aRTplGlnTDIqEzzzpdleUWzbtSVCb9Mo0o7YZDRxP3Gl2LBEyjP8opm3agrm3T21IySt04YZFSGpiVoPkDMq1yZta6lDCjpLEn3Sdohqa/h2EJJayWtkTSntTBHplnvlzI1o1i6siyvaNaNWq3hrwbOBL5Sv1PSEcA5wJHAFGC5pFdGxPbdL9F+zXq/eJBRZ8j624akCcB1wAzgUeAdEfFsynnzgP+VbF4SEVdLehnwXeBQYDvw/YhYkFmwZm3UUsKPiAcApN2WK5oLXBsRW4BHJK0FjgNya8toNqrUg4wMWADcFhGLJC1Itj9cf0LyofBPQB8QwN2SlgJbgE9HxO2S9gZuk/SmiPhRvv8Es5HLqlF7KrCubvuJZN9uJJ0vaaWklRs3bswonJeUbZCRFWIucHXy+mrgjJRz5gC3RsSmpPZ/K3BaRDwfEbcDRMRW4JfAtBxiNmvZHhO+pOWSVqf8mduOACJicUT0RUTfpEmT2nHJIZVpkJEV5uCIWJ+83gAcnHLOHistknqBtwC3ZRGkWbvtsUknImaP4rr9wPS67WnJvsKVaZCRZWf27Nls2LAh7VBv/UZEhKQY6fUl7QVcA/xrRDzc5JzzgfMBDjnkkJEWYdZ2WXXLXAp8R9JnqT20PRy4M6OyRmT6hB6eHHjB3f663PLly1P3SxoAtkuaHBHrJU0Gnko5tR84qW57GvCTuu3FwIMR8blmMUTE4uQ8+vr6RvyhYtZurXbLfJukJ4ATgB9KWgYQEfcB1wP3A/8OvD+vHjp7UqZBRlaYpcC85PU84OaUc5YBp0o6UNKBwKnJPiRdAhwAXJRDrGZt02ovnZuAm5ocuxS4tJXrZ6Usg4ysMIuA6yWdCzwGvAMgGUtyQUScFxGbJH0CuCt5z8eTfdOAjwK/AX6Z9FD7QkR8Lfd/hdkIdeVIW7OhRMQzwCkp+1cC59VtXwVc1XDOE8Bu/ZDNOkFXzqVjZma7c8I3M6sIJ3wzs4pwwjczqwgnfDOzinDCNzOrCCd8M7OKcMI3M6sIJ3wzs4pwwjczqwgnfDOzinDCNzOrCCf8ChtczP2ORzZx4qIVLFlVzBo1ZYnDrNs54VfUklX9qYu5551syxKHWRU44VfU5cvWlGIx97LEYVYFTvgV1WzR9rwXcy9LHGZV4IRfUc0Wbc97MfeyxGFWBU74FTV/zix6xo3dZV8Ri7mXJQ6zKvAShxU1uKbv5cvW8OTAZqb09jB/zqzc1/otSxxmVeCEn7PBLohbt+/gxEUrCk1uZVnMvSxxmHW7lpp0JJ0l6T5JOyT11e2fIWmzpF8lf77ceqidz10QzaxIrbbhrwbOBH6acuyhiDgm+XNBi+V0BXdBNLMitdSkExEPAEhqTzRdzl0QzaxIWfbSmSlplaT/K+l1GZbTMdwF0cyKtMeEL2m5pNUpf+YO8bb1wCERcSzwAeA7kvZvcv3zJa2UtHLjxo2j+1d0CHdBNLMi7bFJJyJmj/SiEbEF2JK8vlvSQ8ArgZUp5y4GFgP09fXFSMvqJO6CaGZFyqRbpqRJwKaI2C7pFcDhwMNZlNVp3AXRzIrSarfMt0l6AjgB+KGkZcmh1wP3SPoVcANwQURsai1UMzNrRau9dG4CbkrZ/z3ge61c28zM2stz6ZiZVYQTvplZRTjhW+VImiDpVkkPJn8f2OS8eck5D0qal3J8qaTV2Uds1h5O+FZFC4DbIuJw4LZkexeSJgD/BBwPHAf8U/0Hg6QzgefyCdesPZzwrYrmAlcnr68Gzkg5Zw5wa0RsiohngVuB0wAk7UdtQOElOcRq1jZO+FZFB0fE+uT1BuDglHOmAuvqtp9I9gF8AvgM8PxQhVRpFLl1Bs+Hb11p9uzZbNiwIe1Qb/1GRISkYY/wlnQMcGhE/A9JM4Y6t0qjyK0zOOFbV1q+fHnqfkkDwHZJkyNivaTJwFMpp/YDJ9VtTwN+Qm2QYZ+kR6n9/vy5pJ9ExEmYlZybdKyKlgKDvW7mATennLMMOFXSgcnD2lOBZRHxpYiYEhEzgNcCv3Wyt07hhG9VtAh4o6QHgdnJNpL6JH0NIJkK5BPAXcmfj3t6EOt0btKxyomIZ4BTUvavBM6r274KuGqI6zwKHJVBiGaZcA3fzKwinPDNzCrCCd/MrCKc8M3MKsIJ38ysIpzwzcwqwgnfzKwinPDNzCrCCd/MrCKc8M3MKsIJ38ysIlpK+JIul/QbSfdIuklSb92xhZLWSlojaU7robZmyap+Vj0+wB2PbOLERStYsqq/6JDMzHLVag3/VuCoiHg18FtgIYCkI4BzgCOpLQv3fySNbbGsUVuyqp+FN97L1u07AOgf2MzCG+910jezSmkp4UfEjyNiW7L5C2qLREBtzdBrI2JLRDwCrKW2EHQhLl+2hs0vbt9l3+YXt3P5sjUFRWRmlr92tuG/F/hR8nqo9UB3kce6n08ObB7RfjOzbrTHhC9puaTVKX/m1p3zUWAb8O2RBhARiyOiLyL6Jk2aNNK3D8uU3p4R7Tcz60Z7XAAlImYPdVzS3wCnA6dExOBCzf3A9LrTpiX7CjF/ziwW3njvLs06PePGMn/OrKJCMjPLXau9dE4DPgS8NSKerzu0FDhH0nhJM4HDgTtbKasVZxw7lcvOPJqpvT0ImNrbw2VnHs0Zx6a2MpmZdaVWlzj8AjAeuFUSwC8i4oKIuE/S9cD91Jp63h8R24e4TubOOHaqE7yZVVpLCT8iDhvi2KXApa1c38zM2scjbc3MKsIJ38ysIpzwzcwqwgnfzKwi9FLX+eJJ2gg81uTwRODpHMMZSlliKUsc0DmxvDwishnhN4QOubfLEgc4ljQt39elSvhDkbQyIvqKjgPKE0tZ4gDH0oqyxFuWOMCxZBWHm3TMzCrCCd/MrCI6KeEvLjqAOmWJpSxxgGNpRVniLUsc4FjStBxHx7Thm5lZazqphm9mZi1wwjczq4iOSPiSTksWQ18raUHOZV8l6SlJq+v2TZB0q6QHk78PzCGO6ZJul3S/pPsk/WMRsUjaR9Kdkn6dxPHPyf6Zku5I/o+uk7R3lnE0xDRW0ipJPyg6lpHwfV2e+zops1T3dhb3dekTfrL4+ReBNwFHAO9MFknPy9epLcRebwFwW0QcDtyWbGdtG/A/I+II4DXA+5OfQ96xbAFOjoi/AI4BTpP0GuCTwBXJDKrPAudmHEe9fwQeqNsuMpZh8X29U1nuayjfvd3++zoiSv0HOAFYVre9EFiYcwwzgNV122uAycnrycCaAn4uNwNvLDIW4GXAL4HjqY0A3Cvt/yzjGKZRSwgnAz8AVFQsI4zb93V6TIXf10mZhd7bWd3Xpa/hM4IF0XN0cESsT15vAA7Os3BJM4BjgTuKiCX5qvkr4CngVuAhYCAitiWn5Pl/9Dlqq67tSLYPKjCWkfB93aDo+zqJoSz3dib3dSck/FKL2sdtbn1bJe0HfA+4KCL+UEQsEbE9Io6hVgs5DnhV1mWmkXQ68FRE3F1E+d2sivd1Ulbh93aW93WrSxzmoVQLoid+J2lyRKyXNJlabSBzksZR+6VMh/G8AAABKElEQVT4dkTcWGQsABExIOl2al8veyXtldRA8vo/OhF4q6Q3A/sA+wOfLyiWkfJ9nSjbfQ2F39uZ3dedUMO/Czg8eUK9N3AOtUXSi7QUmJe8nket3TFTkgRcCTwQEZ8tKhZJkyT1Jq97qLW3PgDcDrw9rzgAImJhREyLiBnU7osVEfHfiohlFHxfU577OomlFPd2pvd1ng9CWniA8Wbgt9Ta0z6ac9nXAOuBF6m1m51LrT3tNuBBYDkwIYc4Xkvta+09wK+SP2/OOxbg1cCqJI7VwMeS/a8A7gTWAt8Fxuf8/3QS8IMyxDKCmH1fl+S+TmIp3b3d7vvaUyuYmVVEJzTpmJlZGzjhm5lVhBO+mVlFOOGbmVWEE76ZWUU44ZuZVYQTvplZRfx/p097Yh9JIHoAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# 产生混合信号:高频正弦+低频正弦\n", "n = np.linspace(0,40,41)\n", "a = 2\n", "b = -3\n", "D = 10\n", "x = a*np.cos(2*np.pi*0.1*n)+b*np.cos(2*np.pi*0.4*n)\n", "xd = np.concatenate((np.zeros([D,]),x),axis=0)\n", "\n", "\n", "# 定义系统的系数\n", "num = np.array([2.2403,2.4908,2.2403])\n", "den = np.array([1,-0.4,0.75])\n", "\n", "# 系统处理(滤波)\n", "ic = np.array([0,0]) # set initial\n", "zi = signal.lfilter_zi(num, den)\n", "y1,_ = signal.lfilter(num,den,x,zi=zi*ic) # y1[n]\n", "y2,_ = signal.lfilter(num,den,xd,zi=zi*ic) # y2[n]\n", "\n", "y2D = y2[D:] #计算输入为x[n-D]的响应的D个单位超前\n", "\n", "# 计算输入为x[n]的响应与输入为x[n-D]的响应的D个单位超前之间的差\n", "d = y1-y2D\n", "\n", "\n", "plt.subplot(121)\n", "plt.stem(n,y1)\n", "plt.title('y1[n]')\n", "plt.subplot(122)\n", "plt.stem(n,d)\n", "plt.title('Difference')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "若上述系统的初始条件不等于0,系统还是时不变系统吗?" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAEICAYAAABcVE8dAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xu4XHV97/H3Z29ykwgxJgWySUjUSAuipO6CPPSCqCVyOAY5WrCnFao9qR491j4tGupTj3oOxyitlqpVI/Cg1QJWbrHQRgQ8FI+IQcIlBCRck22EBAgXiYEk3/PHrElmz14ze65rrZn5vJ5nP5l1mbV+2bP2d/3m9/ut708RgZmZ9b+hvAtgZmbZcMA3MxsQDvhmZgPCAd/MbEA44JuZDQgHfDOzAeGA36MknSBpj6TnJC1t8D0XS9ohaXO3y2eDQdJXJP1NxfL7JT2WXJcvl3S8pPuT5VPzLKuBPA6/uCT9AfBh4Gjg1og4oWLbCcA3I+LQJo/Z0vtsMEl6GDgI2AXsBu4BvgGsiog9VftOAZ4B3hARdyTrrgdWR8T5WZbb0rmGX2xPAn8PrMy7IDbQ/nNEvBQ4jNK1+FHgwpT9DgKmA+sr1h1WtdwwSfu18j6rzQE/Z5LOlnR51bp/kHR+RHw/Ir4N/LzBY50l6WZJfyvpKUkPSXprVwpuAycino6I1cDpwJmSXpM0E/5vSa8G7kt23S7pBkkPAK8Avps06UyTdKCkCyVtkTSWvHcY9l6/P5T0eUlPAJ9I1r9H0obkml4j6bBymSSFpPclzUbbJX1Jkiq2/7fkvc9KukfSbybr50m6XNLW5O/kQ1n8DvPmgJ+/bwJLJc2CvbWaMyh9bW7FsZT+8OYAnwUurPwDMGtXRNwKbAZ+p2Ldz4Ajk8VZEXFiRLwSeJTSN4SZEbETuJhS89CrgCXA7wN/WnH4Y4EHKX1bOFfSMuCvgdOAucB/AJdUFekU4LeA1wJ/AJwEIOmdlG4a7wYOAN4GPCFpCPgucAcwArwJ+LCkk9r5vfQCB/ycRcQW4CbgncmqpcC2iLitxUM+EhFfi4jdwNeBQyj98Zh10s+B2c28QdJBwMnAhyPilxHxOPB5ShWcvceNiC9ExK6I2AG8D/h0RGyIiF3A/wGOrqzlAysjYntEPArcSKnPC0o3ks9GxE+iZGNEPELp5jA3Ij4VES9ExIPA16rK0ZfcRlYMXwfeT+mi+yPgn9o41i/KLyLi+aRyP7Ot0plNNEKpj6kZhwFTgC0VXzqHgE0V+2xKec/5kv6uYp2S8z+SLP+iYtvz7Lve5wMP1CjHPEnbK9YNU/r20Ncc8IvhKuDLkl5D6evpR3Iuj1lNkn6LUsC9mVITTKM2ATuBOUltPU31sMFNwLkR8a2mC1p67ytrrH8oIha3cMye5iadAoiIXwHfAf6Z0vDLRwEkDUuaTunGPCRpejL0zSxzkg6QdApwKaWhvXc18/6k+fJ7wN8lxxqS9EpJv1fnbV8BzpF0ZFKGA5O2+UZcAPyVpNer5FVJU9CtwLOSPippRvJ39prkRtbXHPCL4+vAUYxvzvljYAfwZUodZDsoNfuYZem7kp6lVDP+GPA54E9aPNa7gamUxvM/Ramic0itnSPiSuAzwKWSngHuBhoaeRYR/wKcS6ki9Sylb9Kzk/6tUyi19T8EbKN0cziwtf9S7/CDVwUhaQFwL3BwRDzTwP6/C6yh9BX59IhY08B7LqTUOfx4RLyqzSKbWY9xwC+AZJjY54ADIuI9eZfHzPqTO21zJml/4DFKIw4ayoljZtYKt+HnLBmPPDMijoyI6iFpljFJ8yXdmDyVuV7Sn6fsc4KkpyWtS34+nkdZzZrlGr7ZeLuAv4yIn0p6KXCbpOsi4p6q/f4jIk7JoXxmLStUwJ8zZ04sXLgw72JYH7vtttu2RcTcWtuToYNbktfPStpAacx5dcBviq9t66bJruuyQgX8hQsXsnbt2ryLYX1M0iOT77V334WU8r38OGXzcZLuoJRi4K8iYkJGSEnLgeUACxYs8LVtXdPode02fLMUkmYCl1PK+1I9TPanwGER8TrgC5TGd08QEasiYjQiRufOnbTyZdZ1DvhmVZKnmS8HvhURV1Rvj4hnIuK55PW1wBRJczIuplnTHPDNKiSppC8ENkTE52rsc3A55bSkYyj9HT2RXSnNWlOoNnyzAjieUkqLuyStS9b9NbAAICK+ArwDeL+kXZTSXZwRfoLReoADvlmFiLiZUvrdevt8EfhiNiUy6xwH/D5w1e1jnLfmPn6+fQfzZs3g7JMO59QlI3kXyybhz82y5oDfoqL8sV51+xjnXHEXO17cDcDY9h2cc0Upa62DR3H5c7M8uNO2BeU/1rHtOwj2/bFedftY5mU5b819e4NG2Y4Xd3PemvtqvKN7rrp9jONX3sCiFddw/Mobcvl99IoifW42OBzwW1CkP9afb9/R1PpuKdJNsBcU5XOzweKA34Ii/bHOmzWjqfXdUqSbYC8oyudmg8UBvwVF+mM9+6TDmTFleNy6GVOGOfukwzMtR5Fugr2gKJ+bDRYH/BYU6Y/11CUjfPq0o5g6XPooR2bN4NOnHZV5x1+RboK9oCifmw0Wj9JpQfmP8iPfuZMXdu9hJOchdacuGeGSWx8F4LI/Oy6XMpx90uHjRp2Aa6yTKcLnZoPFAb9F/mMdr2g3QTObyAHfOsY3QbNicxu+mdmAcMA3MxsQDvhmZgPCAd/MbEA44JuZDQgHfDOzAdGRYZmSLgJOAR6PiNck62YDlwELgYeBP4iIpzpxPiuO6jTR06cMMWfmtLyLZWYpOjUO/2JKMwB9o2LdCuD6iFgpaUWy/NEOnc9yVA7yY9t3IKA8t9/Y9h0M1Z0rqjvlKN9s3vjrc7nx3q1tzVEgaT6l6/ggSv+1VRFxftU+As4HTgaeB86KiJ925D9l1kUdCfgRcZOkhVWrlwEnJK+/DvwAB/yOSJt8JctzV6ZQqJ7IdU/Apie7nzAtbQKRb97y6N7tbUwosgv4y4j4qaSXArdJui4i7qnY563A4uTnWODLyb9mhdbNNvyDImJL8voXlGpME0haLmmtpLVbt27tYnH6Q62889ue25nJ+dPSIFd7YfeeQpSjlfTMEbGlXFuPiGeBDUD1HWMZ8I0ouQWYJemQpk5kloNMOm0jIphYGSxvWxURoxExOnfu3KaOO4gzLNXKO59FrRoaS3dczgCZdzma2S9N8q11CfDjqk0jwKaK5c1MvCm4MmOF082/zMfKtZ7k38c7efBBm2GpfHMbqxHAsqhVw+TpjocE82d3PyVyo2mXW03PLGkmcDnw4Yh4ppVjtFOZMeuGbgb81cCZyeszgas7efBBmmGp8uZWSxa1akifC6BsZNYMFs3ZP5NROvXKUdZqemZJUygF+29FxBUpu4wB8yuWD03WmRVaR6KEpEuAHwGHS9os6b3ASuAtku4H3pwsd8wgzbA0WXv1jCnDmdSqIX3ijlfO3Z9jF83mhytOzGxIZlo5/ugNC9qeUCQZgXMhsCEiPldjt9XAu1XyBuDpiv4qs8Lq1Cidd9XY9KZOHD/NvFkzUmu8/TjDUr2bWDnvfDktcRaq0yCf/tUfZXbueuUAuP+x58Ytt+B44I+BuyStS9b9NbAAICK+AlxLaUjmRkrDMv+k1ZOZZaln8+EP0gxLtW5uU4eH+OGKEwEyDfj9LCJuBuo+TZAMQvhANiUy65yeTa0wSHOCprVXZ9U5amb9o2dr+ND9GZbSHnDK44aSNn2gUxiYWbN6tobfbUUb9nnqkhGWLJiVeeeomfUPB/waBmnYp5kNBgf8GgZp2KeZDYaebsPvplojY4YkFq24xqmAzaznuIZfQ60nOXdH7G3Tf2jbLzNLWmZm1i4H/Bqqh30Oa+LQ7KxSAZuZdYIDfh2VI2P2RGqyz8ySlpmZtcsBv0G1UjZklbTMzKxdPddpm9ccqmmpHPy0q5n1kp4K+GnT2mU1h6qfdjWzXtdT7RFpD0Nl2XHqp13NrJf1VMCv9dCTO07NzCbXU0069dIE560oidbMzGrJP1I2oahpgouWaM3MLE1PBfy0HPhZzaFajxOtmVkv6KmAD8XsOHWitf4h6SJJj0u6u8b2EyQ9LWld8vPxrMto1qqeC/hFVOuhrH6cX3cAXAwsnWSf/4iIo5OfT2VQJrOOcMDvgLS+hX6dX7ffRcRNwJN5l8OsGxzwO2CQ5tc1AI6TdIekf5N0ZK2dJC2XtFbS2q1bt2ZZPrNUPTUss8i6Pb+uFcZPgcMi4jlJJwNXAYvTdoyIVcAqgNHR0fTse2YZ6noNX9LDku5KOrjWdvt8Zt0UEc9ExHPJ62uBKZLm5Fwss4ZkVcN/Y0Rsy+hcA80PgHWXpIOBxyIiJB1DqdL0RLvH9edmWXCTTh/Z9tzOCcnlzrniLgAHjwZJugQ4AZgjaTPwP4EpABHxFeAdwPsl7QJ2AGdE1JgsoUH+3CwrWQT8AL4nKYCvJu2ae0laDiwHWLBgQQbF6V+bntwxIa9Q+QGwPAJHL9ZaI+Jdk2z/IvDFTp6zaJ+b9a8sAv5vR8SYpF8DrpN0bzL0DXDHVifVSiKXxwNgaamsXWtNV6TPzfpb1zttI2Is+fdx4ErgmG6fc1DVSiKXxwNgTjfRuCJ9btbfuhrwJe0v6aXl18DvA6mPrFv75s+eUZgHwJxuonFF+tysv3W7hn8QcLOkO4BbgWsi4t+7fM6BNWfmtMI8AOZ0E40r0udm/a2rbfgR8SDwum6ew8YrygNgaXMAu9ZaW6ufWy92jFt+PCyzSl6TpPebtDmAHYw6yx3j1qy+Cvjt1nbynCS9HxXl20a/qtcx7oBvafom4HeitpP3JOlmzXDHuDWrb7JldmIYoCdJt17ijnFrVt8E/E7Udmr9oRRhknSzap6HwZrVN5GsE7Wdok6SbpbG8zBYs/om4HeitlPUSdLNaqme49nB3urpm4DfqdpOESdJNzPrhL4ZpQMeBmhmVk/f1PDNzKw+B3wzswHhgG9WQdJFkh6XlJrVVSX/IGmjpDsl/WbWZTRrlQO+2XgXA0vrbH8rsDj5WQ58OYMymXVEX3Xa9pO0vEDW/eR2EXGTpIV1dlkGfCOZx/YWSbMkHRIRWzpWCLMuccAvoFp5gebNmp7LMNGi3HwKktxuBNhUsbw5WeeAb4XnJp0CqpUXKI8kbuUgO7Z9B8G+m8+253ZmXpZeS24nabmktZLWbt26Ne/imDngF1GRkrgV6eZTkN/LGDC/YvnQZN0EEbEqIkYjYnTu3LmZFM6sHgf8AipSEreCBFmgML+X1cC7k9E6bwCedvu99QoH/AKqlRcojyRuBQmyQDbJ7SRdAvwIOFzSZknvlfQ+Se9LdrkWeBDYCHwN+O8dO7lZlxW+07YoHYZZqjU9YDltRJZqzU07b9b0zMuS9nvpwiidd02yPYAPdOyEZhkqdA2/SB2GWStKFsRaSenySirn5HZmrSt0wC9Sh+EgK8rNx8zaU+iAX6QOQzOzXtf1gC9pqaT7ktwjK5p5b5E6DM3Mel1XI6ekYeBLlPKPHAG8S9IRjb6/SKNVzMx6XbdH6RwDbIyIBwEkXUopF8k9jby53FZ83998koVPjTFtv1Kwf/zZUqftIzcfwFlbntn7Ghi3/PATvwRg4cv3Bxi3XOt19THqHb8T5663rdVzV29r5dzV2xo9X7d/J438Hn4xdz54AhyzCbod8NPyjhxbuYOk5ZSyDrJgwYIJBzh1yQhXH3wAs/Y8sfcP/rmdu/Zuf8nU8d8AKpeff2F8h2/lcq3X1ceod/xOnLvetlbPXb2tlXO3WpZu/04aOd/s/T1yxyxN7uPwI2IVsApgdHQ00vZZdsHfjls+rMbr6uWPfPVHwL7pDiuXa71u5vidOHe9ba2eu3pbK+eu3tbo+br9O2nmfGY2Xrd7PxvOO2JmZt3V7YD/E2CxpEWSpgJnUMpFYmZmGetqk05E7JL0QWANMAxcFBHru3lOMzNL1/U2/Ii4llLCKTMzy5GfYDIzGxAO+GZmAyL3YZlmlq+0FOROkNefHPDNBljaxPDnXHEXgIN+H3KTThdcdfsYtz+6nR8/9CTHr7yBq273owdWTLVSkJ+35r6cSmTd5IDfYeUaUzmF8yBN2tIvJsvwKuksSVslrUt+/jSPcnZCrRTktdZbb3PA7zBP2tLbmsjwellEHJ38XJBpITuoVgryWuuttzngd5gnbUnXQ81cezO8RsQLQDnDa1+qlYJ8EOaOHkQDH/A7HYiKNmlL9f8vj6alHmvmSsvwmtZ7+V8k3SnpO5Lmp2xH0nJJayWt3bp1azfK2rZacxa7w7Y/DXTA3/bcztRA1E7QL9KkLWmB9qFtv8w80PZhM9d3gYUR8VrgOuDraTtFxKqIGI2I0blz52ZawGZ4zuLBMdDDMjc9uWNCU0t5hEKrF335fdXjmi+59dG2y9ustEC7J8g80PZYM9ekGV4j4omKxQuAz2ZQro6qHns/fcoQc2Z6HoF+N9ABv1bAaXeEwqlLRibcMPII+EUJtPNmzWAspSwFnZt4b4ZXSoH+DOAPK3eQdEhEbEkW3wZsyLaI7Ukbez+knAtlmSjkX1xWagWcfhmhUJT+hCI1c00mInYB5QyvG4BvR8R6SZ+S9LZktw9JWi/pDuBDwFn5lLY1RfnmZ9kb6IA/f/aMvh6hkBZoh0TmgbbcMTgyawZiX8dgUZsQIuLaiHh1RLwyIs5N1n08IlYnr8+JiCMj4nUR8caIuDffEjenKN/8LHsD3aQzZ+Y0/seJi/s2j0haf0JebbVFaeaynmtisw4a6IAP6YGon1T//05P5oe1wXX2SYePa8OHfL75WfYGPuCb9Zp2R9iUKwAf+c6dvLB7DyMtfvNzls3e44Bv1kMmG2HTaBA+dcnI3ia1y/7suKa/+TnLZm9yo51ZD6k3wqYchMe27yDozIOEzZTDWTaLzwHfrIfUG2GTZRB2ls3e5IBv1kPqPVuRZRCuVY4hiUUrril6gryB5YBv1kPqPVuRZarjtHIA7I7oenOStc4B36yHpGW3XDRnf+bMnJZpquPqcgxrYm4Gt+kXT9cCvqRPSBqrmBXo5G6dy2yQVGe3LA+nzDrVcWU59kSk7tNIc9JVt49x/Mob3BSUgW4Py/x8RPxtl8/RN8q561/YvYfjV97gcc3WtOrhllmp9fTuZM1JHt6ZLTfpFEQ3cvObZaXV5iQP78xWtwP+B5NZgS6S9LK0HXphVqAsbHpyhy9861mtNid5eGe22mrSkfR94OCUTR8Dvgz8LyCSf/8OeE/1jhGxClgFMDo6mt4QOAC6lZvfLCutNCe12hRUzWkeGtNWDT8i3hwRr0n5uToiHouI3RGxB/gapcmhrYai5ebvoUnHrYelNQWJUpNmo9ddlk8Y97quddpWzQr0duDubp2rH8yfPYOfb//VuGadvHLz15p0HLLvSHNHdn+rTuQmSk0CUP+6q6zRD0nsrhol1OhUpZXHOXDGFCTY/vyLffstoZtt+J+VdJekO4E3An/RxXP1vDkzp6VOEpLHBVeUjjR3ZPen6mGYAEsWzGLq8BDVbbpp1111jb462JdN1hxafZztO17kqedfbPpbQi8NK+1aDT8i/rhbx+5XRcnNX5SOtG5MMt8ISUuB84Fh4IKIWFm1fRrwDeD1wBPA6RHxcNcK1EdqDcOcN2t6w/1YaRWSNAF1vxVOdpx611r5m8HY9h0TvpX8xWXr+PBl6xiZ5FtCvW8Xb/z1udx479aOf/NwemSboFMdae3KoyNb0jDwJeAtwGbgJ5JWR8Q9Fbu9F3gqIl4l6QzgM8DpXStUH6n17XHTkzuYOjyU+plXX3fNfP7VzUKVQbaRESJj23ewaMU14wJt9U2r+jiVwf/sf7mDT353Pduff3Fc4D5wxhR++cIuXtxd2nv7jhfHnfObt+ybDa56WzvNqw74NkHajEh59Cc0GgA67BhgY0Q8CCDpUmAZUBnwlwGfSF5/B/iiJEXUaFuoY+kP/pmDt27ikZsP4KwtzwDwyM0HAPDwE78EYOHL9x/3Ghi3b/X7Kper31e5XO8Y9c5d6xiNnPtDT/+q5u9ixtRhdu7aw549+36Nkjhgxn48sv7ivcc479md7N7T3K961w/Ev0/fjxd/tYsPNfnesp3fhcuSMn2i+Y+6bQ8eOMJXX7usrW+5Dvg2QdpcuHl0YOXUkT0CbKpY3gwcW2ufiNgl6Wng5cC2yp0kLQeWAyxYsCD1ZLP3n8ZLni6NUnnJ1PGjVZ5/YXfq6+p9q99XuVz9vsrleseod+5ax2jk3JJIuy8OD4kDZ0xh5rT9eGjbL9m9J5i23zBDQ1C5+/Mv7GbqfkMTbgxDQ+Kl0/fj6edfnHBsgN17oua2ZrVwX++4Vr/lOuBbqiL0J/T6JPONPGOy7IJ9mUcOq9r2kWQWqsv+7Lhxr6v3rX5f5XL1+yqXax3jqtvHxk9/eHRp+sPJjtHIubc9tzP1Jv7p047i95LP9fUVxzi94hiV5ZqV0q69dMkIx6+8IbU5cjKCcU0u+Yf0+lr9luuAb7moHm5Za07VHG48Y8D8iuVDk3Vp+2yWtB9wIKXO256XNiR3aGIizJY1cxOvvEaO/uT3JrR5z5gyzOdPP3rce9OaIyczMmsGP1xx4rh1zd44yh23lR243dLOt1wHfMtct4NKm34CLJa0iFJgPwP4w6p9VgNnAj8C3gHc0Er7fRHVm0KxUxq5iVdfI5Udl2VpbdnVzZGTfSi1gmcjN45hiT0REzp0K0feVN6kqk0ZEjOn7zehQ9ejdKwj0h5iykMWQaVVSZv8B4E1lIZlXhQR6yV9ClgbEauBC4F/krQReJLSTaEv1JtCERp/EK7da63RoZdp5a28odSrqdcbNll546geegn7mqGq31t9Myvag10O+AOi1tOz82ZNT21K6abJgkreIuJa4NqqdR+veP0r4J1ZlysLtYbkTh0eavgJ7E5ca412Sk7Wll1rxFkjDzVWBu9Wc/UUoS+skgP+gKg3/jnrgF8vqFi+0gJkeQrFek9gVwa1Tlxrta6RSo20ZXdqxFnRAnerHPAHRJFq1fWCiuUrLUCWO9RvfejJ1PdUX1uduNbSrpHKNu9ermXnyQF/QBSpVl0vqFj+qgNkeWhko09g16udl7OvThasi/IsSL9xwB8Qtdoy582ankt5agUVK65Gn8CebIRLo+kBXDPvvL5tNC1SPvfqsmx7bmfm5SzPSFSdjdO1amtUrWsobaRK5X7Dmjjm1rO55aMva/hFGpFSb8x51nnn02pM5RmKzBrRaK27cr9FK65J3cezuWWvL2v49UYJFKEs5THnRck7D8X6RmT9pdbQybxmcxtkfRnwizQipV5ZipJ3vmgTjfjm01/SpjHMaza3QdeXAb9WzSGPESn1ylKUms+mJ3cU6ptGkW4+1r5G2/6t+/oy4NeqUeQxzjutLOUx50Wp+eQx0UgtRWrmss45dckIP1xxIg+t/E/8cMWJDvY56ctO21pjePPooKw35rwoY41zmmgkVVGaucz6UV8GfCjWiJR6Y86LMNY4p4lGUhVlekWzftSXTTrWnDkzpxWmjbUozVxm/ahva/jWnCJ80yiXA/Jv5jLrR20FfEnvpDSZ828Ax0TE2opt5wDvBXYDH4qINe2cq5Mazelt+SjKzces37TbpHM3cBpwU+VKSUdQmhTiSGAp8I+Shie+PXtFG3NuVmR+JqK/tBXwI2JDRKSNl1sGXBoROyPiIWAjcEw75+qUIo05NysyPxPRf7rVaTsCbKpY3pysm0DScklrJa3dunVrl4qzT5HGnFuxSJot6TpJ9yf/vqzGfrslrUt+Vmddzqz4mYj+M2nAl/R9SXen/CzrRAEiYlVEjEbE6Ny5cztxyLpqPW3rYX8GrACuj4jFwPXJcpodEXF08vO27IqXLT8T0X8m7bSNiDe3cNwxYH7F8qHJutwVacy5Fc4y4ITk9deBHwAfzaswndbsYAU/E9F/utWksxo4Q9I0SYuAxcCtXTpXU4o05twK56CI2JK8/gVwUI39pifNkLdIOrXWwbJurqynlfZ4PxPRf9odlvl24AvAXOAaSesi4qSIWC/p28A9wC7gAxGRPv1NDjzsb6C9WtLdKes/VrkQESEpahzjsIgYk/QK4AZJd0XEA9U7RcQqYBXA6OhorWNlotEJyCv5mYj+01bAj4grgStrbDsXOLed45t1wc8iYjRtg6THJB0SEVskHQI8nrZfRIwl/z4o6QfAEmBCwC+SVtvjXTnqL06tYLbPauDM5PWZwNXVO0h6maRpyes5wPGUvskWWlFScVu+HPDN9lkJvEXS/cCbk2UkjUq6INnnN4C1ku4AbgRWRkThA77b4w2cS8dsr4h4AnhTyvq1wJ8mr/8fcFTGRWub2+MNHPDNBobb481NOmZmA8IB38xsQDjgm5kNCAd8M7MB4YBvZjYgHPDNzAaEA76Z2YBwwDfrU56e0Ko54Jv1IU9PaGkc8M36kKcntDQO+JY7Nz10nqcntDQO+AOsCIHWTQ/d4XTIlsYBf0AVJdC66aE7nA7Z0jjgD6iiBFo3PXTHqUtGPHezTeD0yAOqKIF23qwZjKWc000P7XM6ZKvmGv6AKkobb5GaHiS9U9J6SXskpc57m+y3VNJ9kjZKWpFlGc3a4YCfsSJ0lEJxAm3Bmh7uBk4Dbqq1g6Rh4EvAW4EjgHdJOiKb4pm1x006GarVUQpkHuCKNOVdUZoeImIDgKR6ux0DbIyIB5N9LwWW0QMTmZs54GeoXkfpIAfaHjMCbKpY3gwcm1NZzJrSVpNOrTZPSQsl7ZC0Lvn5SvtF7X1F6SgdcK+WdHfKz7JOn0jScklrJa3dunVrpw9v1rR2a/jlNs+vpmx7ICKObvP4fcUjUgrhZxFRs0O2AWPA/IrlQ5N1E0TEKmAVwOjoaLRxTrOOaKuGHxEbIsJPyDSoKB2l1pafAIslLZI0FTgDWJ1zmcwa0s1ROosk3S7p/0r6nVo7DdLX3oKNSLEqkt4uaTNwHHCNpDXJ+nmSrgWIiF3AB4E1wAbg2xGxPq8ymzVj0iYdSd8HDk7Z9LGIuLrG27YACyLiCUmvB66TrlOGAAAHDklEQVSSdGREPFO946B97XVHaXFFxJXAlSnrfw6cXLF8LXBthkUz64hJA35EvLnZg0bETmBn8vo2SQ8ArwbWNl1CMzPriK406UiamzyggqRXAIuBB7txLjMza0xbo3QkvR34AjCXUpvnuog4Cfhd4FOSXgT2AO+LiCfbLq3ZgCg/kf3C7j0cv/IGpk8ZYs7MaXkXy3pcWwG/Tpvn5cDl7RzbbFClPZE9VPfhX7PGOJeOWcGkPZG9J2DTk35Az9rjgG9WMLWevC7X+M1a5YBvVjC1nryeOuw/V2uPryCzgkl7IntIMH+2U3BYe5wt06xg0lJXe5SOdYIDvlkBVT+RffpXf5RjaaxfuEnHzGxAOOCbmQ0IB3wzswHhgG9mNiAc8M3MBoQDvpnZgHDANzMbEA74ZglJ75S0XtIeSTUnOpf0sKS7JK2T5El9rGcMTMAv5xf/8UNPcvzKG7jq9rG8i2TFczdwGnBTA/u+MSKOjoiaN4ZO8bVrnTIQT9qm5Rc/54q7ADy/rO0VERsApOIkn/e1a500EDX8tPziO17czXlr7supRNbjAviepNskLa+1k6TlktZKWrt169aWTuRr1zppIGr4tfKL11pvfe3Vku5OWf+xiLi6wWP8dkSMSfo14DpJ90bEhGagiFgFrAIYHR2NVgrra9c6aSAC/rxZMxhL+QOplXfc+trP2m13j4ix5N/HJV0JHENj7f5N87VrnTQQTTpp+cVnTBnm7JMOz6lE1qsk7S/ppeXXwO9T6uztCl+71kkDEfBPXTLCp087ipFZMxAwMmsGnz7tKHd62TiS3i5pM3AccI2kNcn6eZKuTXY7CLhZ0h3ArcA1EfHv3SqTr13rJEW01LTYFaOjo7F2rYc1W/dIui2LoZTVfG1bNzV6XQ9EDd/MzNoM+JLOk3SvpDslXSlpVsW2cyRtlHSfpJPaL6qZmbWj3Rr+dcBrIuK1wM+AcwAkHQGcARwJLAX+UdJwzaOYmVnXtRXwI+J7EbErWbwFODR5vQy4NCJ2RsRDwEZKQ9fMzCwnnWzDfw/wb8nrEWBTxbbNyboJOvE0opmZTW7SB68kfR84OGXT3icTJX0M2AV8q9kCVD6NKGmrpEdq7DoH2Nbs8bukKGUpSjmgd8pyWJYFKbvtttu29cC1XZRygMuSpu3retKAHxFvrrdd0lnAKcCbYt8YzzFgfsVuhybrJjvX3DrnWZvHcLo0RSlLUcoBLstkeuHaLko5wGXpVjnaHaWzFPgI8LaIeL5i02rgDEnTJC0CFlN6SMXMzHLSbi6dLwLTKCWQArglIt4XEeslfRu4h1JTzwciYned45iZWZe1FfAj4lV1tp0LnNvO8aus6uCx2lWUshSlHOCytKMo5S1KOcBlSdN2OQqVWsHMzLrHqRXMzAaEA76Z2YDoiYAvaWmSk2ejpBUZn/siSY9XzpIkabak6yTdn/z7sgzKMV/SjZLukbRe0p/nURZJ0yXdKumOpByfTNYvkvTj5DO6TNLUbpajqkzDkm6X9K95l6UZvq6Lc10n5yzUtd2N67rwAT/JwfMl4K3AEcC7klw9WbmYUj6gSiuA6yNiMXB9stxtu4C/jIgjgDcAH0h+D1mXZSdwYkS8DjgaWCrpDcBngM8nHflPAe/tcjkq/TmwoWI5z7I0xNf1XkW5rqF413bnr+uIKPQPpcko1lQsnwOck3EZFgJ3VyzfBxySvD4EuC+H38vVwFvyLAvwEuCnwLGUngDcL+0z63IZDqUUEE4E/hVQXmVpsty+rtPLlPt1nZwz12u7W9d14Wv4NJGXJ0MHRcSW5PUvKM2ClBlJC4ElwI/zKEvyVXMd8DiljKkPANtjXyK9LD+jv6f08N+eZPnlOZalGb6uq+R9XSdlKMq13ZXruhcCfqFF6Xab2dhWSTOBy4EPR8QzeZQlInZHxNGUaiHHAL/e7XOmkXQK8HhE3JbH+fvZIF7Xyblyv7a7eV23+6RtFlrKy9Nlj0k6JCK2SDqEUm2g6yRNofRH8a2IuCLPsgBExHZJN1L6ejlL0n5JDSSrz+h44G2STgamAwcA5+dUlmb5uk4U7bqG3K/trl3XvVDD/wmwOOmhnkppYpXVOZdpNXBm8vpMSu2OXaVS7ooLgQ0R8bm8yiJprpKZzSTNoNTeugG4EXhHVuUAiIhzIuLQiFhI6bq4ISL+ax5laYGva4pzXSdlKcS13dXrOsuOkDY6ME6mNKPWA5TSMmd57kuALcCLlNrN3kupPe164H7g+8DsDMrx25S+1t4JrEt+Ts66LMBrgduTctwNfDxZ/wpKCfI2Av8CTMv4czoB+NcilKWJMvu6Lsh1nZSlcNd2p69rp1YwMxsQvdCkY2ZmHeCAb2Y2IBzwzcwGhAO+mdmAcMA3MxsQDvhmZgPCAd/MbED8fymQEEue2rD/AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ic = np.array([1,0]) # set initial\n", "zi = signal.lfilter_zi(num, den)\n", "y1,_ = signal.lfilter(num,den,x,zi=zi*ic) # y1[n]\n", "y2,_ = signal.lfilter(num,den,xd,zi=zi*ic) # y2[n]\n", "\n", "y2D = y2[D:] #计算输入为x[n-D]的响应的D个单位超前\n", "\n", "# 计算输入为x[n]的响应与输入为x[n-D]的响应的D个单位超前之间的差\n", "d = y1-y2D\n", "\n", "plt.subplot(121)\n", "plt.stem(n,y1)\n", "plt.title('y1[n]')\n", "plt.subplot(122)\n", "plt.stem(n,d)\n", "plt.title('Difference')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## 线性时不变系统、冲激响应和阶跃响应、卷积\n", "\n", "线性时不变(LTI)系统既满足线性性质又满足时不变性质。\n", "\n", "离散时间系统对单位样本序列$\\\\delta[n]$的响应称为单位样本响应,或者冲激响应,用$h[n]$来表示。\n", "\n", "> 有限冲激和无限冲激响应系统: 冲激响应序列$h[n]$的长度无限长时,称系统为无限冲激响应系统;冲激响应序列$h[n]$的长度有限长时,称系统为有限冲激响应系统。\n", "\n", "\n", "离散时间系统对单位阶跃序列$\\\\mu[n]$的响应称为单位阶跃响应,或者阶跃响应,用$s[n]$来表示。\n", "\n", "离散时间系统输入信号$x[n]$时的输出响应$y[n]$,可以表示为冲激响应$h[n]$和输入信号$x[n]$的加权累加和\n", "\n", "$$\n", "y [ n ] = \\sum _ { k = - \\infty } ^ { \\infty } h [ k ] x [ n - k ]\n", "$$\n", "\n", "通过简单的变量代换,也可表示为\n", "\n", "$$\n", "y [ n ] = \\sum _ { k = - \\infty } ^ { \\infty } h [ n - k ] x [ k ]\n", "$$\n", "\n", "上述两个式子称为序列$x[n]$和$h[n]$的卷积和\n", "\n", "$$\n", "y [ n ] = h [ n ] \\circledast x [ n ]\n", "$$\n", "\n", "其中符号$\\\\circledast$表示卷积和。" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "N = 40\n", "# 定义系统的系数\n", "num = np.array([2.2403,2.4908,2.2403])\n", "den = np.array([1,-0.4,0.75])\n", "dt = 1\n", "\n", "# 系统的冲激响应\n", "t, h = signal.dimpulse((num,den,dt),n=N)\n", "t, s = signal.dstep((num,den,dt),n=N)\n", "plt.subplot(121)\n", "plt.plot(t,np.squeeze(h))\n", "plt.subplot(122)\n", "plt.plot(t,np.squeeze(s))\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# 系统的输出等于冲激响应序列和输入序列的卷积\n", "n = np.linspace(0,40,41)\n", "a = 2\n", "b = -3\n", "x = a*np.cos(2*np.pi*0.1*n)+b*np.cos(2*np.pi*0.4*n)\n", "\n", "# 定义系统参数\n", "num = np.array([2.2403,2.4908,2.2403])\n", "den = np.array([1,0,0])#np.array([1,-0.4,0.75])\n", "\n", "# 利用lfilter计算\n", "ic = np.array([0,0]) # set initial\n", "y1,_ = signal.lfilter(num,den,x,zi=ic) # y1[n]\n", "\n", "# 利用卷积计算\n", "t, h = signal.dimpulse((num,den,dt),n=41)\n", "\n", "y2 = signal.convolve(x,np.squeeze(h))\n", "\n", "plt.subplot(121)\n", "plt.plot(n,y1)\n", "plt.subplot(122)\n", "plt.plot(y2[:41])\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## BIBO稳定\n", "若对于任意有界输入序列$x[n]$,其输出$y[n]$也是一个有界序列,则该离散时间系统是有界输入有界输出(BIBO)稳定的,也就是说,若\n", "\n", "$$\n", "|x[n]| < B_x,\\forall n\n", "$$\n", "\n", "则响应的输出$y[n]$也有界,即\n", "\n", "$$\n", "|y[n]| < B_y,\\forall n\n", "$$\n", "\n", "当且仅当线性时不变离散时间系统的冲激响应序列$h[n]$绝对可和时,改线性时不变系统是BIBO稳定的,即\n", " \n", "$$\n", " \\sum _ { n = - \\infty } ^ { \\infty } | h [ n ] | < \\infty\n", "$$" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "35.35909090875415\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# 定义系统参数\n", "num = np.array([1,-0.8])\n", "den = np.array([1,1.5,0.9])\n", "# 冲激响应序列\n", "t, h = signal.dimpulse((num,den,1),n=200)\n", "h = np.squeeze(h)\n", "N = 200\n", "parsum = 0\n", "for k in range(N):\n", " parsum = parsum + np.abs(h[k])\n", "print(parsum)\n", "\n", "# 画出冲激响应\n", "plt.plot(t,h)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 因果系统\n", "\n", "若$y_1[n]$ $y_2[n]$分别是因果离散时间系统输入信号$u_1[n]$ $u_2[n]$的响应,则当\n", "\n", "$$\n", "u _ { 1 } [ n ] = u _ { 2 } [ n ] \\qquad n < N\n", "$$\n", "\n", "时\n", "\n", "$$\n", "y _ { 1 } [ n ] = y _ { 2 } [ n ] \\qquad n < N\n", "$$\n", "\n", "当且仅当线性时不变离散时间系统的冲激响应序列$h[n]$满足\n", " \n", "$$\n", " h[k]=0, \\qquad k < 0\n", "$$\n", " \n", "该LTI离散时间系统才是因果的。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 滤波概念的解释\n", "\n", "考虑用如下差分方程描述的两个离散时间系统:\n", "\n", "### 系统1\n", "\n", "$$\n", "y [ n ] = 0.5 x [ n ] + 0.27 x [ n - 1 ] + 0.77 x [ n - 2 ]\n", "$$\n", "\n", "### 系统2\n", "\n", "$$\n", "y [ n ] = 0.45 x [ n ] + 0.5 x [ n - 1 ] + 0.45 x [ n - 2 ] + 0.53 y [ n - 1 ] - 0.46 y [ n - 2 ]\n", "$$\n", "\n", "对输入\n", "\n", "$$\n", "x [ n ] = \\cos \\left( \\frac { 20 \\pi n } { 256 } \\right) + \\cos \\left( \\frac { 200 \\pi n } { 256 } \\right) , \\qquad 0 \\leqslant n < 299\n", "$$\n", "\n", "计算上述两个系统的输出。\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# 产生混合信号:高频正弦+低频正弦\n", "n = np.linspace(0,299,300)\n", "s1 = np.cos(2*np.pi*n/256*10)\n", "s2 = np.cos(2*np.pi*n/256*100)\n", "x = s1+s2\n", "\n", "# 定义两个系统的系数\n", "num1 = np.array([0.5,0.27,0.77])\n", "den1 = np.array([1,0,0])\n", "num2 = np.array([1,-0.53,0.46])\n", "den2 = np.array([0.45,0.5,0.45])\n", "# 系统处理(滤波)\n", "ic = np.array([0,0]) # set initial\n", "y1,_ = signal.lfilter(num1,den1,x,zi=ic) # y1[n]\n", "y2,_ = signal.lfilter(num2,den2,x,zi=ic) # y2[n]\n", "\n", "\n", "plt.subplot(311)\n", "plt.plot(n,x)\n", "plt.title('x[n]')\n", "plt.subplot(312)\n", "plt.plot(n,y1)\n", "plt.title('y1[n]')\n", "plt.subplot(313)\n", "plt.plot(n,y2)\n", "plt.title('y2[n]')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "celltoolbar": "Raw Cell Format", "hide_input": false, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.4" } }, "nbformat": 4, "nbformat_minor": 2 }