{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# ArgMax" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from matplotlib.pyplot import plot\n", "import numpy as np\n", "from gps_helper.prn import PRN\n", "from sk_dsp_comm import sigsys as ss\n", "from caf_verilog.sim_helper import sim_shift\n", "from caf_verilog.xcorr import dot_xcorr\n", "from caf_verilog.arg_max import ArgMax" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "prn = PRN(10)\n", "fs = 625e3\n", "Ns = fs / 125e3\n", "prn_seq = prn.prn_seq()\n", "prn_seq,b = ss.nrz_bits2(np.array(prn_seq), Ns)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "center = 300\n", "corr_length = 200\n", "ref, rec = sim_shift(prn_seq, center, corr_length, shift=25)\n", "rr = dot_xcorr(ref, rec)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "am = ArgMax(rr, i_bits=14)\n", "am.gen_tb()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "rr[:10]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "am.x_quant[60:70]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "xargsum = am.gen_quantized_argsum()\n", "xabs = abs(np.array(rr))\n", "xargsum" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "plot(xargsum)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "np.argmax(xargsum)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "plot(xabs)" ] } ], "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.8.10" } }, "nbformat": 4, "nbformat_minor": 4 }