Wiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
resources:eval:user-guides:mykonos:software:filters [01 Jun 2017 23:14] – [Using the MATLAB App and Exe] Tom Karpusresources:eval:user-guides:mykonos:software:filters [02 Aug 2017 23:01] – [Use MATLAB App] Tom Karpus
Line 12: Line 12:
  
 ====== Use MATLAB App ====== ====== Use MATLAB App ======
- 
 There are three ways you can use the AD9371 Filter Wizard: There are three ways you can use the AD9371 Filter Wizard:
-   + 
-  * Executable: the executable includes the MATLAB runtime engine which allows the program to run as a separate application without requiring the MATLAB program to be running. It can take more than a minute for the runtime engine to start up for the first time so please be patient while it initializes. The program provides a GUI allowing users to define the input parameters, generate filters, view the output results, and save all output parameters for their own use or use in the ADI EVB GUI software. +  * **Executable**: the executable includes the exe which allows the wizard to run as a separate application without requiring the MATLAB program to be running. The program provides a GUI that allows users to define the input parameters, generate filters, view the output results, and save all output parameters for their own use or use in the ADI EVB GUI software. To run this as a stand alone application, the MATLAB runtime engine needs to be installed (see link below). The runtime engine can take more than a minute to start up the first time it is run, so please be patient while it initializes 
-  * MATLAB App: the App runs as an application within MATLAB and requires MATLAB to be running and licenses must exist for the Control System Toolbox as well as MATLAB itself. The GUI and flexibility are identical to the executable, but running as an app allows the user to write additional code to post process the existing matrices created by the wizard.   +>> The MATLAB runtime engine can be downloaded from the following link: 
-  * MATLAB source code (function): These are MATLAB functions which users can launch from the MATLAB command window by properly defining the input parameters. Used this way, users have more control of the internal design process. +[[https://www.mathworks.com/products/compiler/mcr.html]] 
 +  
 +  * **MATLAB App**: the app runs as an application within MATLAB. Use of the app requires MATLAB to be running with valid licenses for the Control System Toolbox as well as MATLAB itself. The GUI and flexibility are identical to the executable, but running as an app in MATLAB allows the user to write additional code to post-process the data files created by the wizard.   
 +  * **MATLAB source code (function)**: These are MATLAB functions which users can launch from the MATLAB command window by properly defining the input parameters. Used this way, users have more control of the internal design process. 
  
 The executable is available here: [[ftp://adirfbwacust:67f1BoY@ftp.analog.com/users/adirfbwacust/AD9371_Filter_Wizard/AD9371FilterWizard_EXE_v1.10.zip|exe for IE]][[ftp://adirfbwacust:67f1BoY@ftp.analog.com/AD9371_Filter_Wizard/AD9371FilterWizard_EXE_v1.10.zip|exe for Chrome/Firefox]] The executable is available here: [[ftp://adirfbwacust:67f1BoY@ftp.analog.com/users/adirfbwacust/AD9371_Filter_Wizard/AD9371FilterWizard_EXE_v1.10.zip|exe for IE]][[ftp://adirfbwacust:67f1BoY@ftp.analog.com/AD9371_Filter_Wizard/AD9371FilterWizard_EXE_v1.10.zip|exe for Chrome/Firefox]]
Line 24: Line 26:
 [[ftp://adirfbwacust:67f1BoY@ftp.analog.com/users/adirfbwacust/AD9371_Filter_Wizard/AD9371 Filter Wizard.mlappinstall|App for IE]][[ftp://adirfbwacust:67f1BoY@ftp.analog.com/AD9371_Filter_Wizard/AD9371 Filter Wizard.mlappinstall|App for Chrome/Firefox]] [[ftp://adirfbwacust:67f1BoY@ftp.analog.com/users/adirfbwacust/AD9371_Filter_Wizard/AD9371 Filter Wizard.mlappinstall|App for IE]][[ftp://adirfbwacust:67f1BoY@ftp.analog.com/AD9371_Filter_Wizard/AD9371 Filter Wizard.mlappinstall|App for Chrome/Firefox]]
  
-The Source code is available here:+The source code is available here:
 [[ftp://adirfbwacust:67f1BoY@ftp.analog.com/users/adirfbwacust/AD9371_Filter_Wizard/AD9371FilterWizard_Source_v1.10.zip|Source for IE]][[ftp://adirfbwacust:67f1BoY@ftp.analog.com/AD9371_Filter_Wizard/AD9371FilterWizard_Source_v1.10.zip|Source for Chrome/Firefox]] [[ftp://adirfbwacust:67f1BoY@ftp.analog.com/users/adirfbwacust/AD9371_Filter_Wizard/AD9371FilterWizard_Source_v1.10.zip|Source for IE]][[ftp://adirfbwacust:67f1BoY@ftp.analog.com/AD9371_Filter_Wizard/AD9371FilterWizard_Source_v1.10.zip|Source for Chrome/Firefox]]
  
Line 33: Line 35:
 This section describes the user interface of the AD9371 Filter Wizard. This section describes the user interface of the AD9371 Filter Wizard.
  
-The first screen visible after starting the Wizard is a Welcome screen in the center with the input parameters on the left side and is shown in the picture below:+The first screen visible after starting the Wizard includes an Instruction screen in the center with the input parameters on the left side and is shown in the picture below:
  
 {{:resources:eval:user-guides:mykonos:software:welcome_page.jpg|}} {{:resources:eval:user-guides:mykonos:software:welcome_page.jpg|}}
  
-Please read through the short text on the welcome screen before using the wizard.  Note also the links at the bottom, one of which takes you back to this Wiki page and the other takes you to the ADI Engineer Zone forum.  Any questions about the Wizard are addressed in this forum.+Please read through the short text on the Instruction tab before using the wizard.  Note also the links at the bottom, one of which takes you back to this Wiki page and the other takes you to the ADI Engineer Zone forum.  Any questions about the Wizard will be addressed in this forum.
  
-The Welcome text is one of several tabs in the GUI.  After pressing "Generate Profiles" as described below, other tabs show the filter responses.+The Instructions page is one of several tabs in the GUI.  The other tabs are used to display filter responses for each channel type after clicking on "Generate Profiles" as described below.
  
-It'first important to understand that while the AD9371 has separate transmitter, receiver, observation, and sniffer signal paths, all of their digital filters and data converters receive their clocks from a common clocking system, referred to as the Clock PLL (and dividers).  Thus, while the input fields show user configurable sampling rates for each of the different sections, there are rules that must be followed in order to generate a configuration that the AD9371 can use.  Some examples are shown later on this page of invalid configurations that illustrate the following rules.+It's important to understand that while the AD9371 has separate transmitter, receiver, observation receiver, and sniffer receiver signal paths, all of their digital filters and data converters receive their clocks from a common clocking system, referred to as the Clock PLL (and dividers).  Even though the input fields show user configurable sampling rates for each of the different sections, there are rules that must be followed in order to generate a configuration that the AD9371 can use.  Some examples of invalid configurations that illustrate the following rules are shown further down this page.
  
-The complete set of rules used by the GUI is listed later on this Wiki page.+The complete set of rules used by the GUI is also listed further down this Wiki page.
  
   - The Tx Input Sample Rate must be the same as the ORx Output Sample Rate as internal and external AD9371 calibrations require these rates to be the same   - The Tx Input Sample Rate must be the same as the ORx Output Sample Rate as internal and external AD9371 calibrations require these rates to be the same
Line 56: Line 58:
 Tx Total RF BW and the Tx Primary Signal BW.  The Tx Total RF BW in MHz is the total bandwidth used primarily by PA linerization algorithms such as digital predistortion.  It is also referred to in user guides and the Wizard error messages as the "synthesis" bandwidth.  It is expected that signals outside of the "Primary Signal BW" but inside the "Total RF BW" will be lower in level than the primary signals levels.  As an example, a desired signal may occupy 18 MHz of bandwidth and an FPGA predistortion algorithm may linearize five times beyond that signal to reduce undesired emissions.  The primary BW would then be 18 MHz and the total BW would be 90 MHz. Tx Total RF BW and the Tx Primary Signal BW.  The Tx Total RF BW in MHz is the total bandwidth used primarily by PA linerization algorithms such as digital predistortion.  It is also referred to in user guides and the Wizard error messages as the "synthesis" bandwidth.  It is expected that signals outside of the "Primary Signal BW" but inside the "Total RF BW" will be lower in level than the primary signals levels.  As an example, a desired signal may occupy 18 MHz of bandwidth and an FPGA predistortion algorithm may linearize five times beyond that signal to reduce undesired emissions.  The primary BW would then be 18 MHz and the total BW would be 90 MHz.
  
-The "Pass Band Weight" and "Stop Band Weight" are configurable.  These values are used to create a ratio.  If the ratio is "1", then equal weighting is given to achieving low passband ripple and high stopband attenuation.  The Wizard will use all FIR taps it has available to achieve this.  Typical values of ripple would be less than 0.5 dB and typical values of attenuation would be greater than 50 dB.  It may be that the configuration makes it difficult to generate FIR filter with both good ripple and attenuation.  Or it may be that there is a need for better attenuation than the program generates by default.  Changing the ratio of weights alters the emphasis the Wizard places on meeting its objectives.  For example, changing the ratio by setting the Stop Band Weight to "100" will sacrifice some passband ripple but improve the stop band attenuation.  It is difficult to quantify a ratio that always results in the same amount of emphasis and de-emphasis.  If the Wizard can easily achieve good ripple and attenuation as mentioned above, then a ratio of 10:1 can make a significant difference in the results.  If the change in filter performance is not large enough, increase the ratio.  The values are real numbers so setting the weights to 1:10 (passband to stopband) is the same as setting them to 0.1:1.+The "Pass Band Weight" and "Stop Band Weight" are configurable.  These values are used to create a ratio.  If the ratio is "1", then equal weighting is given to achieving low passband ripple and high stopband attenuation.  The Wizard will use all FIR taps it has available to achieve this.  Typical ripple values are less than 0.5 dB and typical attenuation values are greater than 50 dB.  A specific configuration may make it difficult to generate FIR filter with both expected ripple and attenuation performance.  It may also be desirable to have better attenuation than the program generates by default.  Changing the ratio of weights alters the emphasis the Wizard places on meeting its objectives.  For example, changing the ratio by setting the Stop Band Weight to "100" will sacrifice some passband ripple but improve the stop band attenuation.  It is difficult to quantify a ratio that always results in the same amount of emphasis and de-emphasis.  If the Wizard can easily achieve good ripple and attenuation as mentioned above, then a ratio of 10:1 can make a significant difference in the results.  If the change in filter performance is not large enough, increase the ratio.  The values are real numbers so setting the weights to 1:10 (passband to stopband) is the same as setting them to 0.1:1.
  
 Next is the **ORx Profile** section.  The ORx signal path input is intended to be used with PA linearization algorithms as mentioned above.  While the main receive path (see below) is intended just for the desired signal, the ORx path was designed for use with PA linearization algorithms.  It can support a wider bandwidth than the main Rx path because it is feeding back the desired signal plus the spectral regrowth to the baseband processor.  The spectral regrowth is usually at least 2 times and occasionally as much as five times the bandwidth of the desired signal received by the main receive path. Next is the **ORx Profile** section.  The ORx signal path input is intended to be used with PA linearization algorithms as mentioned above.  While the main receive path (see below) is intended just for the desired signal, the ORx path was designed for use with PA linearization algorithms.  It can support a wider bandwidth than the main Rx path because it is feeding back the desired signal plus the spectral regrowth to the baseband processor.  The spectral regrowth is usually at least 2 times and occasionally as much as five times the bandwidth of the desired signal received by the main receive path.
Line 71: Line 73:
  
 The defaults populated at startup will generate valid FIR filters if the user merely presses the "Generate Profiles" button.  The window to the right will show the resulting composite response for the entire signal path as well as responses for the various blocks within the chip. The defaults populated at startup will generate valid FIR filters if the user merely presses the "Generate Profiles" button.  The window to the right will show the resulting composite response for the entire signal path as well as responses for the various blocks within the chip.
- 
-At this time, only magnitude responses are supported.  Phase and group delay responses will be available in a future release. 
  
 An example of the Tx response using the default profile at startup is shown below with the maximum ripple called out at the top left of the graph: An example of the Tx response using the default profile at startup is shown below with the maximum ripple called out at the top left of the graph:
resources/eval/user-guides/mykonos/software/filters.txt · Last modified: 05 Oct 2023 14:27 by Michael Hennerich