Compiling Maplesim C Code for Simulation in Vissim

Total Page:16

File Type:pdf, Size:1020Kb

Compiling Maplesim C Code for Simulation in Vissim Compiling MapleSim C Code for Simulation in VisSim 1 Introduction MapleSim generates ANSI C code from any model. The code contains the differential equations that describe the model dynamics, and a solver. Moreover, the code is royalty-free, and can be used in any simulation tool (or development project) that accepts external code. VisSim is a signal-flow simulation tool with strength in embedded systems programming, real-time data acquisition and OPC. This document will describe the steps required to • Generate C code from a MapleSim model of a DC Motor. The C code will contain a solver. • Implement the C code in a simulation DLL for VisSim. VisSim provides a DLL Wizard that sets up a Visual Studio C project for a simulation DLL. MapleSim code will be copied into this project. After a few modifications, the project will be compiled to a DLL. The DLL can then be used as a block in a VisSim simulation. The techniques demonstrated in this document can used to implement MapleSim code in any other environment. MapleSim’s royalty -free C code can be implemented in other modeling environment s, such as VisSim MapleSim’s C code can also be used in Mathcad 2 API for the Maplesim Code The C code generated by MapleSim contains four significant functions. • SolverSetup(t0, *ic, *u, *p, *y, h, *S) • SolverStep(*u, *S) where SolverStep is EulerStep, RK2Step, RK3Step or RK4Step • SolverUpdate(*u, *p, first, internal, *S) • SolverOutputs(*y, *S) u are the inputs, p are subsystem parameters (i.e. variables defined in a subsystem mask), ic are the initial conditions, y are the outputs, t0 is the initial time, and h is the time step. S corresponds to a C structure that contains the current value of the state variables, and some other information. When MapleSim code is implemented in a third-party simulation tool (for example, LabVIEW), the functions are evaluated in this order 1. SolverSetup() is executed once at the start of the simulation 2. SolverStep () integrates the differential equations over one time step 3. SolverUpdate() and SolverOutputs() write the outputs to y 4. The simulation tool then returns to step 2 3 Tools Used • MapleSim 5 • MapleSim model: DCMotorVisSim.msim • Visual Studio 2010 Professional • VisSim 8 (with the VisSim DLL Wizard) • Windows 7 64 bit • A text editor like TextPad (recommended but not essential) 4 Generate Code for the MapleSim DC Motor model Open DCMotorVisSim.msim (a DC Motor model) This is the subsystem The subsystem has one input (voltage applied to motor) and one output (angular velocity of the rotational shaft). We will • generate code for the subsystem (one input, and one output) • copy the code into a VisSim DLL Wizard project in VisSim, and make some modifications • compile the code and run the resulting DLL in VisSim Go to View > Attachments and select Code Generation template. Click Create Attachment You’re now in Maple Select the DC Motor Subsystem Click Load Selected Subsystem Note the values of the Input Ports, Output ports and Parameters Scroll down to Step 3: C Code Generation Options . Under Solver Options , select RK4 (although for this model any solver will be sufficient). Scroll to Step 4 and click Generate C Code You should see your code generated in Step 5: View C Code . This is the code we will need to integrate into the VisSim DLL Wizard. Copy all of this code into a text editor and save it.. The screenshot below uses Textpad, but you can use Notepad instead. 5 Prepare the Visual Studio Project using the VisSim DLL Wizard Load Visual Studio and start a new project using the VisSim Add-on DLL Wizard as the template. Note the name in the screengrab below – MapleSimMotor In the following window, click Next In the next window, specify a name for the Base Function Name and Block Name Note the names given in the screengrab below In the next screen, add one input and one output, naming them both. Click Next . In the next screen, check Want Custom Data Types . Select Double for both inputs and outputs from the drop-down menu. Click Next In the next screen, change nothing. Click Next In the next screen, specify names for the VisSim menu the block will appear in. Note the names below. Click Finish Now we’re in the primary Visual Studio environment. Make sure you can see vsi.cpp in the main code window Go to Project>Properties and select VC++ Directories. Add c:\VisSim80\Vsdk\INCLUDE to the Include Directories Add c:\VisSim80\Vsdk\LIB to the Library Directories Click Apply Double-click on StdAfx.h in the Solution Explorer so you see the code in the main window. You should see the following code near the top Replace 0x0400 and 0x0410 with 0x0503 so you see this: 6 Copy the Code Generated by MapleSim into Visual Studio Double click on vsi.cpp in the Code Explorer so you see the code in the main window. In addition, load the MapleSim generated code into a text editor We will now copy and paste MapleSim code into vsi.cipp (between HWND vsmHWnd; and #define MapleSimMotor_INFO_STR "IFs" ) From the MapleSim code, copy the following code into the clipboard Paste this code into vsi.cpp, just above HWND vsmHWnd; Write this code into vsi.cpp to just above HWND vsmHWnd; double baserate = 1.000000e-03; baserate defines the rate at which the model runs (and must match the VisSim simulation time). Write this code into vsi.cpp to just above HWND vsmHWnd; static SolverStruct S; Write the following function prototypes just above HWND vsmHWnd; static void SolverUpdate( double *u, double *p, long first, long internal , SolverStruct *S); static void SolverOutputs( double *y, SolverStruct *S); static void RK4Step( double *u, SolverStruct *S); static void SolverSetup( double t0, double *ic, double *u, double *p, double *y, double h, SolverStruct *S); static void SolverError(SolverStruct *S, char *errmsg); The code we’ve just inserted into vsi.cpp should look like this From the MapleSim code, copy the following functions, and paste them into the bottom of vsi.cpp, just before final brace. In SolverUpdate(), comment out inpfn(S->w[0],u); so it looks like this In SolverError(), comment out if(S->err==-1) kv->error(S->buf);so that it looks like In SolverSetup(), add the following code: S->w=( double *)malloc((1+2*NEQ+NPAR+NDFA+NEVT)* sizeof (double )); SolveSetup() should now look like this Now we need to change the simulation step function in VisSim. The existing function should look like this. We will add calls to the code generated by MapleSim. Modify the simulation step function so it looks like this. 7 Compile the Code In Visual Studio, select Build>Build Solution . With some luck, you won’t have any errors. You should find a dll in the Debug folder of the Visual Studio Project (MapleSimMotor.dll in the screengrab below) 8 Run the DLL in VisSim In VisSim, go to Edit>Preferences>Addons Add a reference to MapleSimMotor.dll Click OK . You should now see a new menu in VisSim, with a reference to the block we’ve just compiled You can now use the DC Motor block in VisSim (make sure the simulation time step is equal to the base rate set in the MapleSim code). For example, see the VisSim model below For the same input, the original MapleSim model and the VisSim version should give the same results. .
Recommended publications
  • Key Benefits Key Features
    With the MapleSim LabVIEW®/VeriStand™ Connector, you can • Includes a set of Maple language commands, which extend your LabVIEW and VeriStand applications by integrating provides programmatic access to all functionality as an MapleSim’s high-performance, multi-domain environment alternative to the interactive interface and supports into your existing toolchain. The MapleSim LabVIEW/ custom application development. VeriStand Connector accelerates any project that requires • Supports both the External Model Interface (EMI) and high-fidelity engineering models for hardware-in-the-loop the Simulation Interface Toolkit (SIT). applications, such as component testing and electronic • Allows generated block code to be viewed and modified. controller development and integration. • Automatically generates an HTML help page for each block for easy lookup of definitions and parameter Key Benefits defaults. • Complex engineering system models can be developed and optimized rapidly in the intuitive visual modeling environment of MapleSim. • The high-performance, high-fidelity MapleSim models are automatically converted to user-code blocks for easy inclusion in your LabVIEW VIs and VeriStand Applications. • The model code is fully optimized for high-speed real- time simulation, allowing you to get the performance you need for hardware-in-the-loop (HIL) testing without sacrificing fidelity. Key Features • Exports MapleSim models to LabVIEW and VeriStand, including rotational, translational, and multibody mechanical systems, thermal models, and electric circuits. • Creates ANSI C code blocks for fast execution within LabVIEW, VeriStand, and the corresponding real-time platforms. • Code blocks are created from the symbolically simplified system equations produced by MapleSim, resulting in compact, highly efficient models. • The resulting code is further optimized using the powerful optimization tools in Maple, ensuring fast execution.
    [Show full text]
  • Towards a Fully Automated Extraction and Interpretation of Tabular Data Using Machine Learning
    UPTEC F 19050 Examensarbete 30 hp August 2019 Towards a fully automated extraction and interpretation of tabular data using machine learning Per Hedbrant Per Hedbrant Master Thesis in Engineering Physics Department of Engineering Sciences Uppsala University Sweden Abstract Towards a fully automated extraction and interpretation of tabular data using machine learning Per Hedbrant Teknisk- naturvetenskaplig fakultet UTH-enheten Motivation A challenge for researchers at CBCS is the ability to efficiently manage the Besöksadress: different data formats that frequently are changed. Significant amount of time is Ångströmlaboratoriet Lägerhyddsvägen 1 spent on manual pre-processing, converting from one format to another. There are Hus 4, Plan 0 currently no solutions that uses pattern recognition to locate and automatically recognise data structures in a spreadsheet. Postadress: Box 536 751 21 Uppsala Problem Definition The desired solution is to build a self-learning Software as-a-Service (SaaS) for Telefon: automated recognition and loading of data stored in arbitrary formats. The aim of 018 – 471 30 03 this study is three-folded: A) Investigate if unsupervised machine learning Telefax: methods can be used to label different types of cells in spreadsheets. B) 018 – 471 30 00 Investigate if a hypothesis-generating algorithm can be used to label different types of cells in spreadsheets. C) Advise on choices of architecture and Hemsida: technologies for the SaaS solution. http://www.teknat.uu.se/student Method A pre-processing framework is built that can read and pre-process any type of spreadsheet into a feature matrix. Different datasets are read and clustered. An investigation on the usefulness of reducing the dimensionality is also done.
    [Show full text]
  • Postdoctoral Fellow and Research Engineer Positions
    Postdoctoral Fellow and Research Engineer Positions National University of Singapore Principal Investigator: Dr. Yang Liu Email: [email protected]; [email protected]; Homepage:https://www.eng.nus.edu.sg/cee/staff/liu-yang/ 1. Postdoctoral Fellow - 00CUR Description The research project is funded under Artificial Intelligent–Enterprise Digital Platform (AI-EDP) Programme in the areas of Smart City and Smart MRO. The postdoctoral researcher will work in ST Engineering & NUS Joint Lab and collaborate with the Transportation Group in the Department of Civil and Environmental Engineering, the Decision Analysis Group in the Department of Industrial System Engineering and Management, the AI Research group in the Department of Electrical and Computer Engineering at NUS and ST Engineering. The research project aims to develop a methodology framework to generate intelligent traffic diffusion plans and information dissemination strategies by analyzing historical traffic data. It is expected to deliver intelligent tools to access traffic accident impact and to generate traffic diffusion strategies by machine/deep learning, simulation, and optimization techniques. The postdoctoral researcher will lead the research project, supervise research students, and write research proposals and reports. This is a full-time position, and the duration of the first contract is one year. There is an opportunity to extend the position to multiple years, depending on the performance in the first year and the availability of funding. Qualifications • Ph.D. degree
    [Show full text]
  • Filename Extensions
    Filename Extensions Generated 22 February 1999 from Filex database with 3240 items. ! # $ & ) 0 1 2 3 4 6 7 8 9 @ S Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z ~ • ! .!!! Usually README file # .### Compressed volume file (DoubleSpace) .### Temp file (QTIC) .#24 Printer data file for 24 pin matrix printer (LocoScript) .#gf Font file (MetaFont) .#ib Printer data file (LocoScript) .#sc Printer data file (LocoScript) .#st Standard mode printer definitions (LocoScript) $ .$$$ Temporary file .$$f Database (OS/2) .$$p Notes (OS/2) .$$s Spreadsheet (OS/2) .$00 Pipe file (DOS) .$1 ZX Spectrum file in HOBETA format .$d$ Data (OS/2 Planner) .$db Temporary file (dBASE IV) .$ed Editor temporary file (MS C) .$ln TLink response file (Borland C++) .$o1 Pipe file (DOS) .$vm Virtual manager temporary file (Windows 3.x) & .&&& Temporary file ) .)2( LHA archiver temporary file (LHA) 0 .0 Compressed harddisk data (DoubleSpace) .000 Common filename extension (GEOS) .000 Compressed harddisk data (DoubleSpace) .001 Fax (Hayes JT FAX) (many) .075 75x75 dpi display font (Ventura Publisher) .085 85x85 dpi display font (Ventura Publisher) .091 91x91 dpi display font (Ventura Publisher) .096 96x96 dpi display font (Ventura Publisher) .0b Printer font with lineDraw extended character set (PageMaker) 1 .1 Unformatted manual page (Roff/nroff/troff/groff) .10x Bitmap graphics (Gemini 10x printer graphics file) .123 Data (Lotus123 97) .12m Smartmaster file (Lotus123 97) .15u Printer font with PI font set (PageMaker) .1st Usually README.1ST text 2 .24b Bitmap
    [Show full text]
  • Labview Graphical Development Environment Labview
    LabVIEW Graphical Development Environment LabVIEW NI LabVIEW •Intuitive graphical development LabVIEW PDA Module for test, measurement, and control •Graphical development for portable, •Complete programming language handheld devices with built-in tools for data acquisition, instrument control, LabVIEW Datalogging and measurement analysis, report Supervisory Control Module •Graphical development for generation, communication, monitoring and distributed and more applications •Application templates, thousands of example programs LabVIEW Vision •Compiled for fast performance Development Module LabVIEW Real-Time Module •Graphical development for high-level machine vision and image processing •Graphical development for real- time control, deterministic LabVIEW Add-On Tools performance, reliability, and •See page 44 for a full listing embedded execution Operating Systems LabVIEW FPGA Module •Windows 2000/NT/XP •Graphical development for •Mac OS X creating custom I/O boards with • Linux FPGA technology •Solaris Overview Analyze National Instruments LabVIEW is a powerful development Raw data is typically not the desired end result of a measurement and environment for signal acquisition, measurement analysis, and data automation application. Powerful, easy-to-use analysis functionality presentation, giving you the flexibility of a programming language is a must for your software application. LabVIEW has more than 400 Measurement and Automation Software without the complexity of traditional development tools. built-in functions designed specifically
    [Show full text]
  • Ulx for NI Labview
    ULx for NI LabVIEW Software Quick Start June 2016. Rev 3 © Measurement Computing Corporation Trademark and Copyright Information Measurement Computing Corporation, InstaCal, Universal Library, and the Measurement Computing logo are either trademarks or registered trademarks of Measurement Computing Corporation. Refer to the Copyrights & Trademarks section on mccdaq.com/legal for more information about Measurement Computing trademarks. Other product and company names mentioned herein are trademarks or trade names of their respective companies. © 2016 Measurement Computing Corporation. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form by any means, electronic, mechanical, by photocopying, recording, or otherwise without the prior written permission of Measurement Computing Corporation. Notice Measurement Computing Corporation does not authorize any Measurement Computing Corporation product for use in life support systems and/or devices without prior written consent from Measurement Computing Corporation. Life support devices/systems are devices or systems that, a) are intended for surgical implantation into the body, or b) support or sustain life and whose failure to perform can be reasonably expected to result in injury. Measurement Computing Corporation products are not designed with the components required, and are not subject to the testing required to ensure a level of reliability suitable for the treatment and diagnosis of people. QS ULx for NI LabVIEW Table
    [Show full text]
  • CS3101 Programming Languages -‐ Python
    CS3101 Programming Languages - Python Spring 2010 Agenda • Course descripon • Python philosophy • Geng started (language fundamentals, core data types, control flow) • Assignment Course Descripon Instructor / Office Hours • Josh Gordon • PhD student • Contact – [email protected] • Office hours – By appointment, feel free to drop a line any<me Syllabus Lecture Topics Assignment Jan 19th Language overview. Course structure. Scrip<ng HW1: Due Jan 26th essen<als. Jan 26th Sor<ng. Parsing CSV files. Func<ons. Command HW2: Due Feb 2nd line arguments. Feb 2nd Func<onal programming tools. Regular HW3: Due Feb 9th expressions. Generators / iterators. Feb 9th Object oriented Python. Excep<ons. Libraries I. Project Proposal: Due Feb 16th Feb 16th GUIs. Databases. Pickling. Libraries II. Course Project: Due Feb 28th Feb 23rd Integra<on with C. Performance, op<miza<on, None profiling. Paralleliza<on. Grading Assignment Weight Class par<cipa<on 1/10 HW1 1/10 HW2 1/10 HW3 1/10 Proposal 1/10 Project 5/10 Extra credit challenge problems Depends how far you get Late assignments: two grace days / semester, aber which accepted at: -10% / day. Resources / References • Course website: – www.cs.columbia.edu/~joshua/teaching – Syllabus / Assignments / Slides • Text books – Learning Python – Python in a Nutshell (available elect. on CLIO) – Python Cookbook • Online doc: – www.python.org/doc Ordered by technical complexity - no<ce anything? Course Project • Opportunity to leverage Python to accomplish something of interest / useful to you! • Past projects: – Gene<c
    [Show full text]
  • They Have Very Good Docs At
    Intro to the Julia programming language Brendan O’Connor CMU, Dec 2013 They have very good docs at: http://julialang.org/ I’m borrowing some slides from: http://julialang.org/blog/2013/03/julia-tutorial-MIT/ 1 Tuesday, December 17, 13 Julia • A relatively new, open-source numeric programming language that’s both convenient and fast • Version 0.2. Still in flux, especially libraries. But the basics are very usable. • Lots of development momentum 2 Tuesday, December 17, 13 Why Julia? Dynamic languages are extremely popular for numerical work: ‣ Matlab, R, NumPy/SciPy, Mathematica, etc. ‣ very simple to learn and easy to do research in However, all have a “split language” approach: ‣ high-level dynamic language for scripting low-level operations ‣ C/C++/Fortran for implementing fast low-level operations Libraries in C — no productivity boost for library writers Forces vectorization — sometimes a scalar loop is just better slide from ?? 2012 3 Bezanson, Karpinski, Shah, Edelman Tuesday, December 17, 13 “Gang of Forty” Matlab Maple Mathematica SciPy SciLab IDL R Octave S-PLUS SAS J APL Maxima Mathcad Axiom Sage Lush Ch LabView O-Matrix PV-WAVE Igor Pro OriginLab FreeMat Yorick GAUSS MuPad Genius SciRuby Ox Stata JLab Magma Euler Rlab Speakeasy GDL Nickle gretl ana Torch7 slide from March 2013 4 Bezanson, Karpinski, Shah, Edelman Tuesday, December 17, 13 Numeric programming environments Core properties Dynamic Fast? and math-y? C/C++/ Fortran/Java − + Matlab + − Num/SciPy + − R + − Older table: http://brenocon.com/blog/2009/02/comparison-of-data-analysis-packages-r-matlab-scipy-excel-sas-spss-stata/ Tuesday, December 17, 13 - Dynamic vs Fast: the usual tradeof - PL quality: more subjective.
    [Show full text]
  • A Comparison of Software Engines for Simulation of Closed-Loop Control Systems
    New Jersey Institute of Technology Digital Commons @ NJIT Theses Electronic Theses and Dissertations Spring 5-31-2010 A comparison of software engines for simulation of closed-loop control systems Sanket D. Nikam New Jersey Institute of Technology Follow this and additional works at: https://digitalcommons.njit.edu/theses Part of the Electrical and Electronics Commons Recommended Citation Nikam, Sanket D., "A comparison of software engines for simulation of closed-loop control systems" (2010). Theses. 68. https://digitalcommons.njit.edu/theses/68 This Thesis is brought to you for free and open access by the Electronic Theses and Dissertations at Digital Commons @ NJIT. It has been accepted for inclusion in Theses by an authorized administrator of Digital Commons @ NJIT. For more information, please contact [email protected]. Cprht Wrnn & trtn h prht l f th Untd Stt (tl , Untd Stt Cd vrn th n f phtp r thr rprdtn f prhtd trl. Undr rtn ndtn pfd n th l, lbrr nd rhv r thrzd t frnh phtp r thr rprdtn. On f th pfd ndtn tht th phtp r rprdtn nt t b “d fr n prp thr thn prvt td, hlrhp, r rrh. If , r rt fr, r ltr , phtp r rprdtn fr prp n x f “fr tht r b lbl fr prht nfrnnt, h ntttn rrv th rht t rf t pt pn rdr f, n t jdnt, flfllnt f th rdr ld nvlv vltn f prht l. l t: h thr rtn th prht hl th r Inttt f hnl rrv th rht t dtrbt th th r drttn rntn nt: If d nt h t prnt th p, thn lt “ fr: frt p t: lt p n th prnt dl rn h n tn lbrr h rvd f th prnl nfrtn nd ll ntr fr th pprvl p nd brphl th f th nd drttn n rdr t prtt th dntt f I rdt nd flt.
    [Show full text]
  • Power Meter Samples
    Power Meter Samples March 22, 2012 Prepared by: Newport Corporation 1791 Deere Avenue Irvine, CA 92606 1 INTRODUCTION................................................................................................................. 1 2 1830-R .................................................................................................................................... 1 2.1 GPIB SAMPLE.................................................................................................................. 1 2.1.1 GPIBSample.lvproj ................................................................................................. 1 2.1.1.1 GPIB_Query_With_SerialPoll.vi........................................................................ 1 2.1.1.2 GPIB_Query_Without_SerialPoll.vi .................................................................. 1 2.1.1.3 GPIBCommunicationTest.vi............................................................................... 1 2.2 USB SAMPLE ................................................................................................................... 2 2.2.1 GetPower.lvproj...................................................................................................... 4 2.2.1.1 SampleGetPower.vi ............................................................................................ 4 3 1918 - 2936 FAMILY............................................................................................................ 4 3.1 C#...................................................................................................................................
    [Show full text]
  • Getting Started with Labview
    LabVIEWTM Getting Started with LabVIEW Getting Started with LabVIEW June 2013 373427J-01 Support Worldwide Technical Support and Product Information ni.com Worldwide Offices Visit ni.com/niglobal to access the branch office Web sites, which provide up-to-date contact information, support phone numbers, email addresses, and current events. National Instruments Corporate Headquarters 11500 North Mopac Expressway Austin, Texas 78759-3504 USA Tel: 512 683 0100 For further support information, refer to the Technical Support and Professional Services appendix. To comment on National Instruments documentation, refer to the National Instruments website at ni.com/info and enter the Info Code feedback. © 2003–2013 National Instruments. All rights reserved. Important Information Warranty The media on which you receive National Instruments software are warranted not to fail to execute programming instructions, due to defects in materials and workmanship, for a period of 90 days from date of shipment, as evidenced by receipts or other documentation. National Instruments will, at its option, repair or replace software media that do not execute programming instructions if National Instruments receives notice of such defects during the warranty period. National Instruments does not warrant that the operation of the software shall be uninterrupted or error free. A Return Material Authorization (RMA) number must be obtained from the factory and clearly marked on the outside of the package before any equipment will be accepted for warranty work. National Instruments will pay the shipping costs of returning to the owner parts which are covered by warranty. National Instruments believes that the information in this document is accurate. The document has been carefully reviewed for technical accuracy.
    [Show full text]
  • RF Design and Test Using MATLAB and NI Tools
    RF Design and Test Using MATLAB and NI Tools Tim Reeves – [email protected] Chen Chang - [email protected] © 2015 The MathWorks, Inc.1 What are we going to talk about? ▪ How MATLAB and Simulink can be used in a wireless system design workflow ▪ Wireless Scenario Simulation ▪ End-to-end Simulation of mmWave Communication Systems with Hybrid Beamforming ▪ Developing Power Amplifier models and DPD algorithms in MATLAB ▪ Use of National Instruments PXI for PA characterization with DPD 2 Common Platform for 5G Development Mobile and Connectivity Standards Unified Design and Simulation Baseband RF MIMO & PHY Front End Antennas Deep Channels & C-V2X Learning Propagation Prototyping and Testing Workflows OTA Model- Deploy to Waveform Based C/C++ Tx/Rx Design 3 What differentiates high data rate 5G systems from previous wireless system iterations? ▪ High data rates (>1 Gbps) requires use of previously “under-used” (mmWave) frequency bands ▪ mmWave requires MIMO architectures to achieve same performance as sub-6GHz – Lower device power and high channel attenuation ▪ Antenna array, RF, and digital signal processing cannot be designed separately! – Large communication bandwidth → digital signal processing is challenging – High-throughput DSP → linearity requirements imposed over large bandwidth – Wavelength ~ 1mm → small devices, many antennas packed in small areas 4 How is the presentation set up? Link Level Modeling Scenario Modeling TRANSMITTER Digital Baseband DAC PA Front End Channel Digital PHY RF Front End Antenna Digital Baseband ADC LNA
    [Show full text]