aboutsummaryrefslogtreecommitdiffstats
path: root/notebooks/FIRDelay.ipynb
blob: 4576f8832dc6a01c0b254b8dea1702dca45bd80b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "acccd8cc",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np \n",
    "from numpy.fft import fft,ifft,fftshift\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bee9dae9",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "405fcd96",
   "metadata": {},
   "source": [
    "# Delay as a Convolution System"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "7210e2de",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0, 0, 0, 1]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Create the FIR\n",
    "D = 3 # Delay value\n",
    "h = [0]*D+[1]\n",
    "h"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "892c62dd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "d = 3.3\n",
    "k = np.linspace(-5,10,1000)\n",
    "h_ideal = np.sinc(k-d)\n",
    "plt.plot(k,h_ideal)\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "c640e03e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "n = 4\n",
    "window_sample= np.arange(np.round(d-(n-1)/2),np.round(d+(n+1)/2))\n",
    "window = []\n",
    "for ws in window_sample:  \n",
    "    idx = (np.abs(k-ws)).argmin()\n",
    "    window.append(idx)\n",
    "    \n",
    "plt.plot(k,h_ideal)\n",
    "plt.plot(window_sample,h_ideal[window],\"*\")\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "17a5bf03",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "n = 4\n",
    "window_sample= np.arange(np.round(d-(n-1)/2),np.round(d+(n+1)/2))\n",
    "window = []\n",
    "for ws in window_sample:  \n",
    "    idx = (np.abs(k-ws)).argmin()\n",
    "    window.append(idx)\n",
    "\n",
    "    \n",
    "fig = plt.figure()\n",
    "\n",
    "plt.plot(k,h_ideal)\n",
    "plt.plot(window_sample,h_ideal[window],\"o\")\n",
    "plt.xlim(-5,10)\n",
    "plt.grid(True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3a82e44c",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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.9.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}