主要内容

Design Superheterodyne Receiver Using Analog Device Components

R2026b
Since R2026b

This example shows how to analyze the RF budget of a dual-conversion superheterodyne receiver built from Analog Devices® amplifiers and mixers in the RF Parts Catalog. The example uses the intermodulation table (IMT) mixer model, which characterizes mixer behavior from measured data at the operating frequencies.

The receiver design and part selection follow directly from the receiver architecture, so the next section defines that architecture before you pick the parts.

Receiver Architecture

A superheterodyne receiver translates an incoming RF signal to a lower intermediate frequency (IF). Splitting the total 10 GHz-to-100 MHz translation into two mixing stages keeps each stage's LO-to-IF frequency ratio , which optimizes the filter selectivity required to reject image and spurious products.

In this example, the receiver downconverts a 10 GHz RF input to a 100 MHz output through the following parts connected in cascade:

RF Input (10 GHz) -> LNA -> 1st Mixer -> IF Amp -> 2nd Mixer -> Output

The low-noise amplifier (LNA) sets the receiver noise floor. The first mixer performs the frequency translation, and the IF amplifier restores level between mixers. The second mixer places the signal at the final IF for baseband processing.

The frequency plan uses high-side local oscillator (LO) injection at each stage (LO above RF), which produces a lower-sideband IF and places the image frequency far above the input band where preselection or LNA rolloff attenuates it:

1st Stage: RF = 10 GHz, LO = 12.5 GHz, IF1 = 2.5 GHz (HMC8191LC4)
2nd Stage: IF1 = 2.5 GHz, LO = 2.6 GHz, IF2 = 100 MHz (HMC8193LC4)

For a complete receiver chain that adds filters and interconnects and uses the nonlinear mixer model, see Design Superheterodyne Receiver with Nonlinear Mixers.

Select Low-Noise Amplifier for RF Front End

The first stage sets the system noise figure, so choose an amplifier with high gain and low noise figure across the RF band. The HMC902LP3E covers 5-10 GHz with 19.9 dB gain and 2.0 dB noise figure at 10 GHz.

warning off;
installRFParts()
lnaSelector = rfPartSelector("Type", "amplifier");
add(lnaSelector,"SelectedSearchParameters", "RFPrimaryFunction", "LNA",...
    "InputFrequency", 10e9, "NoiseFigureRange", [0 2.5], "GainRange", [15 30]);
show(lnaSelector, 'selected')
lna = rfPart(lnaSelector, "HMC902LP3E");
fprintf("LNA: %s (Gain=%.1f dB, NF=%.1f dB @ %.0f GHz)\n", ...
    lna.Name, lna.Gain, lna.NF, lna.InputFrequency/1e9);
    List_No     Part Number            RF Primary Function           Min Freq (MHz)    Max Freq (MHz)    Gain (dB) @ 10000 MHz    Noise Figure (dB) @ 10000 MHz    OP1dB (dBm) @ 10000 MHz    OIP3 (dBm) @ 10000 MHz    OPSAT (dBm) @ 10000 MHz    Voltage (V)    Current (mA)    Operating Temp (degC)     Package Type  
    _______    ______________    ________________________________    ______________    ______________    _____________________    _____________________________    _______________________    ______________________    _______________________    ___________    ____________    _____________________    _______________

       1       "ADL8105"         "Driver Amp Gain Block LNA"               4000            22000                28.396                        1.748                        18.777                     29.913                    20.478                   5             90                  25              "8-lead LFCSP" 
       2       "ADL9006ACGZN"    "LNA Wideband Distributed Amps"           2000            28000                15.482                         1.75                         18.94                      24.49                     19.44                   5             53                  25              "32-Lead LFCSP"
       3       "ADL9006_Die"     "LNA Wideband Distributed Amps"         2009.5            28010                15.249                       1.5996                        19.061                     24.307                    20.061                   5             55                  25              "CHIPS OR DIE" 
       4       "HMC516_Die"      "LNA"                                     6000            18000                20.338                          2.1                            15                       24.5                        17                   3             65                  25              "CHIPS OR DIE" 
       5       "HMC564LC4"       "LNA Low Phase Noise"                     7000            14000                18.387                          1.9                            13                     25.867                        15                   3             51                  25              "24-Lead LCC"  
       6       "HMC564_Die"      "LNA Low Phase Noise"                     7000            13500                17.952                       1.8333                          12.5                     23.967                      14.5                   3             51                  25              "CHIPS OR DIE" 
       7       "HMC565LC5"       "LNA"                                     6000            20000                23.638                          2.5                           9.3                       20.1                      11.3                   3             53                  25              "32-Lead LCC"  
       8       "HMC565_Die"      "LNA"                                     6000            20000                22.944                          2.2                           9.3                       20.5                      11.3                   3             53                  25              "CHIPS OR DIE" 
       9       "HMC772"          "LNA"                                     2000            12000                16.017                            2                          12.3                       25.3                      14.3                   4             45                  25              "24-Lead LCC"  
      10       "HMC8410_Die"     "Gain Block LNA Low Phase Noise"          1100            10000                 15.11                         1.64                         19.31                      30.57                     22.24                   5             65                  25              "CHIPS OR DIE" 
      11       "HMC902LP3E"      "LNA"                                     5000            10000                 19.88                            2                          15.6                       27.6                      17.6                 3.5             80                  25              "16-Lead LFCSP"
      12       "HMC902_Die"      "LNA"                                     5000            10000                21.241                          1.7                          16.9                       28.4                      18.9                 3.5             80                  25              "Die"          
      13       "HMC903LP3E"      "LNA"                                     6000            17000                17.389                          1.6                          14.2                     25.533                      16.2                 3.5             80                  25              "16-Lead LFCSP"
      14       "HMC903_Die"      "LNA"                                     6000            18000                19.404                          1.4                          16.1                       27.8                      18.1                 3.5             90                  25              "Die"          

LNA: HMC902LP3E (Gain=20.6 dB, NF=1.6 dB @ 8 GHz)

Downconvert RF Signal to First IF with Wideband IQ Mixer

To translate the 10 GHz input to a 2.5 GHz first IF, use the HMC8191LC4 in-phase/quadrature (IQ) mixer with a 12.5 GHz local oscillator. Filter the IMT-modeled parts by selecting the DownConverter converter type. The mixer takes the lower-sideband product LO - RF.

mixer1Selector = rfPartSelector("Type", "mixer");

Use the add function to add the search parameters to refine your component selection.

add(mixer1Selector,"SelectedSearchParameters", ...
    "ModelType", "IMT", ...
    "ConverterType", "DownConverter","Sideband","LSB", ...
    "InputFrequency", 10e9, "LOFrequency", 12.5e9);
remove(mixer1Selector, 'DisplayColumns', {'Package Type','Operating Temp (degC)'});
add(mixer1Selector, 'DisplayColumns', {'Converter Type','Model Type','Sideband','Gain (dB)'});
show(mixer1Selector,'selected')
    List_No    Part Number       RF Primary Function      Converter Type     Model Type    Sideband    Min RF Freq (MHz)    Max RF Freq (MHz)    Min IF Freq (MHz)    Max IF Freq (MHz)    Min LO Freq (MHz)    Max LO Freq (MHz)    Gain (dB) @ 10000 MHz
    _______    ____________    _______________________    _______________    __________    ________    _________________    _________________    _________________    _________________    _________________    _________________    _____________________

       1       "ADMV1530"      "Double Sideband Mixer"    "DownConverter"      "IMT"        "LSB"            3000                 23000                1000                 10000                8000                 24000                 -10.396       
       2       "HMC8191LC4"    "IQ Mixer"                 "DownConverter"      "IMT"        "LSB"            5000                 27000                 100                  5000                6100                 31000                 -9.3548       

Use the rfpart function to create a mixerIMT object from lower-sideband HMC8191LC4 mixer.

mixer1 = rfPart(mixer1Selector, "HMC8191LC4");
fprintf("1st Mixer: %s (RF=%.1f GHz, LO=%.1f GHz, IF=%.1f GHz)\n", ...
    mixer1.Name, mixer1.InputFrequency/1e9, mixer1.LO/1e9, ...
    abs(mixer1.LO - mixer1.InputFrequency)/1e9);
1st Mixer: HMC8191LC4 (RF=15.0 GHz, LO=15.1 GHz, IF=0.1 GHz)

Amplify First IF Signal Before Second Downconversion

The first mixer has conversion loss, so restore signal level and preserve the dynamic range budget with an IF amplifier. The ADL5521_5V covers 850-3600 MHz with 13.4 dB gain and 0.9 dB noise figure at 2.5 GHz.

ifAmpSelector = rfPartSelector("Type", "amplifier");
add(ifAmpSelector, 'SelectedSearchParameters', ...
    'InputFrequency', 2.5e9, 'OIP3Range', [30 50], 'OP1dBRange', [18 30]);
ifAmp = rfPart(ifAmpSelector, "ADL5521_5V");
fprintf("IF Amp: %s (Gain=%.1f dB, NF=%.1f dB @ %.1f GHz)\n", ...
    ifAmp.Name, ifAmp.Gain, ifAmp.NF, ifAmp.InputFrequency/1e9);
IF Amp: ADL5521_5V (Gain=21.0 dB, NF=0.9 dB @ 0.8 GHz)

Downconvert to Final 100 MHz IF Output

The second stage translates the 2.5 GHz first IF to a 100 MHz output suitable for baseband processing. Use the HMC8193LC4 IQ mixer with a 2.6 GHz local oscillator to take the LO - IF1 product.

mixer2Selector = rfPartSelector("Type", "mixer");
mixer2Selector.add("SelectedSearchParameters", ...
    "ModelType", "IMT", ...
    "ConverterType", "DownConverter");
mixer2 = rfPart(mixer2Selector, "HMC8193LC4");
mixer2.InputFrequency = 2.5e9;
mixer2.LO = 2.6e9;
fprintf("2nd Mixer: %s (RF=%.1f GHz, LO=%.1f GHz, IF=%.0f MHz)\n", ...
    mixer2.Name, mixer2.InputFrequency/1e9, mixer2.LO/1e9, ...
    abs(mixer2.LO - mixer2.InputFrequency)/1e6);
2nd Mixer: HMC8193LC4 (RF=2.5 GHz, LO=2.6 GHz, IF=100 MHz)

Assemble Receiver Cascade for RF Budget Analysis

Combine the four Analog Devices parts into a cascade and pass them to the rfbudget object with the RF input conditions. Use a -30 dBm input power to keep all stages in their linear region and a 20 MHz bandwidth typical of a wideband communication channel.

rfFreq = 10e9;       % RF input frequency
inputPower = -30;    % Available input power (dBm)
bw = 20e6;           % Signal bandwidth
rxBudget = rfbudget([lna, mixer1, ifAmp, mixer2], rfFreq, inputPower, bw);

Report Stage-by-Stage and System-Level Performance

Inspect gain, noise figure, and third-order intercept at each stage to verify that the receiver meets the design goals. The final-row values summarize end-to-end system performance.

fprintf("\n=== Superheterodyne Receiver RF Budget ===\n");
fprintf("%-15s %-12s %-12s %-12s %-12s %-12s\n", ...
    "Stage", "Freq(GHz)", "Gain(dB)", "NF(dB)", "IIP3(dBm)", "OIP3(dBm)");
fprintf("%s\n", repmat('-', 1, 75));

stageNames = {lna.Name, mixer1.Name, ifAmp.Name, mixer2.Name};
for k = 1:numel(stageNames)
    fprintf("%-15s %-12.3f %-12.2f %-12.2f %-12.2f %-12.2f\n", ...
        stageNames{k}, ...
        rxBudget.OutputFrequency(k)/1e9, ...
        rxBudget.TransducerGain(k), ...
        rxBudget.NF(k), ...
        rxBudget.IIP3(k), ...
        rxBudget.OIP3(k));
end

fprintf("\n=== System Performance Summary ===\n");
fprintf("RF Input:            %.2f GHz\n", rfFreq/1e9);
fprintf("1st IF:              %.2f GHz\n", 2.5);
fprintf("2nd IF (output):     %.0f MHz\n", 100);
fprintf("Signal Bandwidth:    %.0f MHz\n", bw/1e6);
fprintf("Input Power:         %.0f dBm\n", inputPower);
fprintf("Output Power:        %.2f dBm\n", rxBudget.OutputPower(end));
fprintf("System Gain:         %.2f dB\n", rxBudget.TransducerGain(end));
fprintf("System NF:           %.2f dB\n", rxBudget.NF(end));
fprintf("System IIP3:         %.2f dBm\n", rxBudget.IIP3(end));
=== Superheterodyne Receiver RF Budget ===
Stage           Freq(GHz)    Gain(dB)     NF(dB)       IIP3(dBm)    OIP3(dBm)   
---------------------------------------------------------------------------
HMC902LP3E      10.000       19.88        2.00         7.69         27.60       
HMC8191LC4      5.100        9.08         2.00         7.69         16.80       
ADL5521_5V      5.100        18.58        2.10         7.29         25.90       
HMC8193LC4      2.500        11.38        2.10         7.29         18.70       

=== System Performance Summary ===
RF Input:            10.00 GHz
1st IF:              2.50 GHz
2nd IF (output):     100 MHz
Signal Bandwidth:    20 MHz
Input Power:         -30 dBm
Output Power:        -18.62 dBm
System Gain:         11.38 dB
System NF:           2.10 dB
System IIP3:         7.29 dBm

Explore Chain Interactively in RF Budget Analyzer App

Open the RF Budget Analyzer app to visualize gain, noise figure, and other parameters across the chain.

show(rxBudget)

See Also

|