The AD9371 Filter Design Wizard is used to design the transmitter and receiver FIR filters for the AD9371 product family. It can also be used with the AD9375 device. This tool creates filters which equalize the desired passband, taking into account the signal transfer functions through the entire analog and digital signal path in the AD9371 transceiver. The tool also generates ADC profiles and custom clock settings that can be used with the Transceiver Evaluation Software to evaluate system performance. Any custom configuration of sampling rates and bandwidths must use this tool to create a profile that can be used by in a customer system or with the evaluation kit. The Filter Wizard is available as MATLAB source code, a MATLAB app, and as a stand-alone executable.
With this wizard, users can perform the following tasks:
See Release Notes Document ad9371_filter_wizard_release_notes_v1.10.rtf
There are three ways you can use the AD9371 Filter Wizard:
The MATLAB runtime engine can be downloaded from the following link: https://www.mathworks.com/products/compiler/mcr.html
This section elaborates on the first two options, the executable and the App, and addresses both identically since the input and output functionality is the same.
This section describes the user interface of the AD9371 Filter Wizard.
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:
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 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'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 also listed further down this Wiki page.
The “Tx Input Sample Rate” is the data rate of the “I” and “Q” samples. This is the data rate output from the baseband processor to the AD9371. These samples are serialized and sent across the JESD204B interface. Once deserialized by the AD9371, the data rate input to the filtering blocks in the AD9371 is this same “Tx Input Sample Rate”.
Tx Profile Section 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 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 a 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.
The sample rate is the output data rate sent to the JESD204B serializer.
The RF BW is the complex bandwidth used by the ORx signal path.
Weighting is described in the Tx section.
The Rx Profile section is next. Sample rate, bandwidth, and weighting are described in previous sections.
The SnRx Profile section allows for configuration of the sniffer receiver signal path. The maximum bandwidth of this path is 20 MHz and the maximum sampling rate is 30.72 MSPS. Otherwise, the user-configurable fields are as described in previous sections.
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.
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:
The same for the default Rx configuration is shown here:
An example of changing the Rx main signal path weighting to have a stop band weight of 100 results in the following response:
If the Tx Total (or Synthesis) bandwidth is larger than 82% of the Tx sample rate, then the Wizard will indicate this with red text at the bottom of the Wizard as well as a pop up window as shown below:
As mentioned above, if the Tx sample rate and the ORx sample rates are not the same, the AD9371 calibrations will not function properly. The Wizard will not let such a profile be generated and will indicate this with red error text at the bottom of the Wizard as well as a pop up window as seen here:
When you click on the “Output Profile to Files” button, wizard generates four files as described below