HFC-network simulation and analysis redefined

Almost nobody reads clunky guides or manuals, so COPERNICAT does not have one. Instead all information is online on this page. Because working with COPERNICAT is quite intuitive, the intention of this online guide is not to cover every detail or button but only to discuss in reasonable detail the important subjects that you might have a question on. That should be enough to get you started and keep you going.

The best approach for learning to work with COPERNICAT is as follows:

Note: This guide contains several references to publications (mainly in the 'Simulation theory' section). If you find the PDF of such a publication using your favorite search engine then you're done, but if the publication's PDF originates from a paid source (like IEEE Explore) then I am not allowed to make a copy available due to copyright restrictions.


How does the licensing system work?

COPERNICAT supports trial licenses and paid licenses:

What accuracy can I expect?

It is impossible to give an absolute value in dB, the best we can do is to give an understanding of the aspects that play a role. First of all the specifications of signals and network components you use in COPERNICAT, as well as the built-in theoretical models, only approach the real world. This means that simulations can be used to design a network, but should always be verified by lab measurements before actually implementing the simulation results in a real network. That may be different for relatively small changes you make in an existing network: the changes predicted by COPERNICAT can also be expected in the real network. Some rules of thumb:

What should I do when COPERNICAT crashes?

Despite extensive testing and code-checking it is possible that an unhandled error occurs and COPERNICAT crashes. When that happens, an error-file is generated and you are asked to email that file to COPERNICAT ( so we can trace back the problem and debug the source-code. This error-file contains the complete project you were working on because the specific data in your project like signals and/or network components may have led to the error. Please note that your data is safe with COPERNICAT: we will never have a detailed look at the specific simulation you were working on. The error-file is only used as a means to reproduce the error and to solve the problem in the source-code of COPERNICAT. When that is done, the error-file is deleted immediately.

Graphical User Interface

Project tab

This tab covers the standard project options: creating/opening/closing/saving projects, specify a description, etc. The 'Guide' button refers to this online guide.

Project settings tab

The project settings tab mainly specifies parameters which control the simulation, for example:

Analog legacy signals

analog signals definitions

For analog legacy signals like broadcast FM and analog television, the required CNR and CIR values can be entered. Several sound systems for analog television are supported and their level, relative to the ATV carrier, can also be specified. The A2 Stereo or 'Zweikanalton' consists of two separate mono FM carriers and is treated as such when calculating CNR and CIR. Stereo sound systems like BTSC (USA) and EIAJ (Japan) have similarities with the PSD of broadcast stereo FM and therefore follow the same calculation scheme for CNR and CIR. The following holds for calculation of CNR and CIR:

Effect of IM originating from broadband signals on analog legacy signals

analog signals definitions

Intermodulation (IM) due to nonlinearities and originating from broadband signals like DOCSIS have an impact on analog legacy signals quite simuilar to noise. You can therefore choose to incorporate this IM in the calculation of the CNR instead of calculation of the CIR.

Protection curves

analog signals definitions

The impact of IM on analog legacy signals strongly depends on the frequency offset of that IM relative to the victim signal carrier. In order to obtain an unambiguous CIR value, protection curves are used which weight the IM depending on their offset frequency before the IM-level is used for calculation of the CIR. Only out of curiosity one should disable these protection curves.

For analog FM you can choose for protection curves according to the Dutch NVN-5175 calculation standard, or the ITU-R BS.412-9 protection curves. Details about the difference between these curves are described in the 'Intermodulation and legacy analog signals' section of the 'Simulation theory' chapter below. Note that the NVN-5175 method consist of multiple protection curves for different types of nonlinearities. Because these different types of nonlinearities must be saved throughout the network simulation, choosing the NVN-5175 method may have a significant impact on memory usage.

IM-clusters with ATV parents

analog signals definitions

ATV-signals are specified by their top-sync level which is almost 5 dB higher than the rms signal power. Because the top-sync levels of different IM-components in a cluster on the same frequency are not synchronized but all have their own random offset in time, the composite rms power of the IM-cluster is lower than predicted from the top-sync levels only. Depending on the statistics of ATV-signals in the raster and the statistics of the IM-cluster itself, a reduction of the predicted IM-cluster level may be applied. For more theoretical background see the 'Intermodulation and legacy analog signals' section of the 'Simulation theory' chapter below.

Included distortions

analog signals definitions

Many distortions play a role in an HFC-network. By enabling//disabling individual distortion contributions one can get a better feeling which type of distortion may play a dominant role in the calculation of CNR and CIR.

Optical WDM distortions have a random and therefore unpredictable component, please see the 'Optical distortions' section of the 'Simulation theory' chapter below for a note on this subject. There are two options how to deal with this random component:

Accuracy of calculated CIR for FM

analog signals definitions

Protection curves for FM-signals, used when calculating their CIR, have quite a narrow 'top' of only a few tenths of kHz around the signal's center frequency. This means that for sufficient accuracy the simulation resolution should be in the order of 5 kHz. However, such a resolution can slow down the simulation significantly and you can therefore choose a compromise between simulation speed and the accuracy of the calculated CIR for FM-signals. If no FM-signals are present, a simulation resolution of 50 kHz is used.

Application settings tab

Only three settings reside here for your convinience:

Signal raster tab

On this tab you can specify all signals present in your simulation in terms of frequency, signal level, etc. Signal types include:


A subraster number must be assigned to each individual signal. This creates different groups of signals, each identified by their own subraster number. In the network design signals are injected by signal sources, and each signal source can select one or multiple subrasters. This makes the subraster numbering a simple but powerful feature which gives you control on how, and where, groups of signals are injected into the network.

Adding and deleting signals

add and delete raster signals

Adding and deleting signals is done using the ribbon buttons. Clicking the 'Add' button adds a single new signal to the raster, while clicking the 'Delete' button deletes all selected signals in the table. The 'Undelete' button provides a list of previous delete-actions which can individually be selected and reverted.

Importing and exporting

import and export raster

With the 'Import' button one can import a complete raster from a file which was previously saved using the 'Export' button. The 'Import' button gives various options how to process the loaded raster, for example if it must be added to or overwrite the current raster. It also gives several options how to deal with the subraster numbers of each signal.

Multi-signal level adjustments

levels raster

The level of each signal can be edited independently from all other signals. However, in some cases during the design or evaluation process it can be very efficient to select a group of signals in the table and be able to give all selected signals the same absolute level ('Set' button) or to change the level of all selected signals at once with the same amount of dBs ('Change' button).

DOCSIS 3.1 bandwidth

For various reasons the specified bandwidth for DOCSIS 3.1 must be the active bandwidth, meaning that guard bands are excluded. So for the largest supported downstream OFDM block of 192 MHz, one must specify 190 MHz when the default minimum guard band of 1 MHz on each side is used.

Network tab

Basics of creating a network

creating a small network

Creating and editing a network is quite simple, the following is important to know:

Network component colors

Network components can have several colors:

Importing and exporting

import and export network

With the 'Import' button one can import a complete network from a file which was previously saved using the 'Export' button. The imported network overwrites the current network.

Additional graphical features

network graphical features

Several additional graphical features are available like saving the network as a drawing to file, zooming in and out, panning, selecting multiple network components and connections, etc. Their behavior is as you are already used to from other graphical design software.

Deleting network components

delete network components

With the 'Delete' button one can delete the selected group of network components, while the 'Undelete' button provides a list of previous delete-actions which can individually be selected and reverted.

Signal preview

show network outputs

When the mouse cursor is hovered (don't click...) over the location where an output leaves the network component body, a signal preview is shown if the network has no errors. There are two different previews:

Simulate tab

Simulation types

simulation types

Several specifications of network components also have an additional 'tolerance' specification. Using these tolerances, COPERNICAT can execute 3 different simulations which give you an insight in the performance sensitivity of all signals for small changes in the network:

Using the checkboxes you can select which simulations must be executed.


start and stop simulations

After choosing the simulation types to be executed, the simulation(s) can be started using the 'Start' button. The 'Stop' button stops the running simulation(s) as soon as possible.

Simulation results

simulation results

After simulations finished, several choices can be made in order to display simulation results:

Several types of simulation results can be chosen for the active signals at the selected network component output:

DOCSIS 3.1 spectral efficiency and data throughput

DOCSIS 3.1 offers so-called 'mixed modulation', meaning that different sub-carriers in the OFDM block can be modulated with different QAM-complexities. This means that determining a single QAM-complexity and corresponding data throughput for the simulation results table based on the total channel CINR may be yield values which are far from what is actually possible. A single large interference signal can ruin the overall calculated CINR for the entire channel bandwidth, but in reality only a single OFDM sub-carrier may be affected with negligible loss of data throughput for the entire DOCSIS 3.1 channel. COPERNICAT therefore uses the following approach in order to come up with values which give a good indication of the DOCSIS 3.1 channel's possible performance:

Specific elements of network components

Editing network components

By double-clicking on the center of a network component icon (for a coaxial cable or optical fiber the center is at the bottom of the 'circle'), the edit tab for that network component is opened. The specific elements and characteristics of all network components are described later on, this section only gives the function of the three buttons on the GUI ribbon which are available for all network components:

import and export component


Several specifications also have an additional 'tolerance' specification. Using these tolerances, COPERNICAT can execute 3 different simulations which give you an insight in the performance sensitivity of all signals for small changes in the network:

Editable tables

Editable tables are available for several specifications, in particular gain and noise figures which can be specified as function of frequency.

example editable table

When the specification at hand supports to be edited as a table, a table with a few initial entries is provided in the GUI. If you move the mouse cursor to a certain cell of the table and click right, a context menu appears which gives you several options for the column you selected (add a column, delete or interpolate the current column, etc.).


The nonlinearities specification is an important and complex subcomponent present in several network components:

The standard procedure is that a measurement raster of signals is applied to the network component, and the spectral components that are generated by its nonlinear transfer function are measured.

Nonlinearities specification types

COPERNICAT supports 3 different specification types:

Several steps are made in order to create a COPERNICAT simulation model: from generating the signals in the measurement raster, measuring the nonlinearities generated by the network component, and finally creating the simulation model. Inaccuracies can be introduced in every step, and it is therefore very important that whenever possible a nonlinearities specification is used which fits in well with the actual signal load of the network component during simulations. In these days where signals like analog television and FM are phased out from HFC networks, you should thus use CINR curve specifications whenever possible.

CINR curves

CINR curves were introduced in the IEC-60728-3 standard as a result of the work done by CENELEC TC209-WG7, and give a direct indication of the network component's performance when using a 'full digital load' with, for example, (Euro)DOCSIS signals. Specifying these curves is quite simple in COPERNICAT: the GUI offers a list of maximally 6 CINR curves which are all disabled by default. When a new CINR curve must be specified one can simply select one of those disabled curves, enable it, specifiy the correct measurement frequency and modify the example values of the curve. As you modify the CINR curve, COPERNICAT shows you a graphical representation of your data (dots) and the result of an optimized model which will be used by COPERNICAT in simulations (solid line). The simulation model generator of COPERNICAT makes sure that the top of the CINR curve is dominated by third-order intermodulation. Only when signal levels are increased beyond the CINR curve maximum, higher order intermodulation may play a role.

CINR curve

In order to obtain a simulation model which correctly incorporates the frequency dependency of the network component, make sure you specifiy at least 3 or 4 CINR curves over the entire frequency range.

Measurement signal rasters

COPERNICAT offers two types of measurement rasters:

Electrical or optical domain

Nonlinearity specifications and the corresponding measurement raster levels are interpreted differently depending on the domain in which the nonlinearities are generated:

Automatic Gain Control

Two network components have the option to enable an AGC circuit in order to keep the output level constant:

Especially in networks having long cascades with multiple coaxial cable sections and amplifiers, an AGC can be crucial to break the effect of cumulating tolerances which can push your network far away from its optimal working point. Two AGC types are implemented:

Network components

Signal source

The signal source injects signals into the network. Each signal source can select one or more subrasters and their corresponding signals. The signal source icon has 6 small numbers at its output, representing each of 6 possible subrasters:


The electrical amplifier consists of 4 parts:

The noise figure and maximum gain specifications in the GUI are defined for the situation where both input- and mid-stage attenuators are set to 0 dB. Furthermore, an amplifier can have an AGC-system and nonlinarities (both optional and defined for the output levels of the amplifier). More information about these specifications can be found under the chapter 'Specific elements of network components'.

amplifier model

An attenuator can have a constant attenuation, or various frequency dependent characteristics.

Coaxial cable

The coaxial cable component allows to choose from several standard coaxial cable types, or a custom specification can be used with the following attenuation in dB: $$A_{dB}(f)=A_{dB}(f_{ref})\sqrt{\frac{f}{f_{ref}}}$$


A combiner combines multiple input signals into a single output. The specification sheet of the combiner shows the specified attenuation by the user, as well as the minimum theoretically possible attenuation for the specified number of inputs when using a resistive combiner which terminates all ports with the correct impedance.


A splitter splits a single input signal into multiple outputs. The specification sheet of the splitter shows the specified attenuation by the user, as well as the minimum theoretically possible attenuation based on distributing the input power over the specified number of outputs.


Each cascade of network components must be terminated by the 'termination' component. Its noise figure can be used to model the in-house attenuation (coaxial cables) plus active equipment noise figure.

Optical transmitter

The optical transmitter can generate multiple optical signals which are combined into a single output using the internal multiplexer. All optical signals of the transmitter are generated using the device type as specified under the 'General' tab. Two different modulators can be chosen:

Specifying optical carriers can be done using the 'Optical carriers' tab. This tab gives you several additional menu icons on the GUI ribbon to add optical signals, delete them, or change the optical power of selected optical signals in the table:

optical carriers

The following may need a more detailed explanation on the 'Optical carriers' tab:

Optical receiver

The optical receiver is a so-called 'non-coherent direct detection' receiver which demodulates all optical carriers present at its input. If optical carriers with different modulating electrical spectra are present at its input, then these eletrical spectra are combined in the receiver.

Optical attenuator

An attenuator can have a constant attenuation, or wavelength dependent characteristics.

Optical amplifier

The optical amplifier, usually an 'Erbium Doped Fiber Amplifier' (EDFA) in HFC-networks, can have a fixed gain or a built-in output level control which enables the amplifier to have a fixed output power.

Optical fiber

The default values for the optical fiber are characteristic and valid for the vast majority of optical fibers used in HFC-networks. Especially for specifications in the 'Raman gain' tab and 'Other' tab, these values should only be changed if other values are provided by the fiber manufacturer.

Optical multiplexer

The optical multiplexer can combine multiple optical signals. This may be required when multiple optical transmitter components are used in the network.

Optical demultiplexer

In WDM-systems an optical demultiplexer is required to select an optical signal for each optical receiver. The number of outputs of the demultiplexer can be specified, and if a channel grid type is chosen these outputs can only be editted if the entire network design is valid and at least one optical signal is defined.

Two different types of demultiplexers can be used in COPERNICAT:

The frequency or wavelength range demultiplexer

This type of demultiplexer passes all optical signals which fall within the specified frequency or wavelength range. The isolation characteristics are as follows:

isolation for range optical demultiplexer

Channel grid demultiplexer

The channel grid demultiplexer selects a single optical signal for each output. COPERNICAT assumes that each optical signal is in the center of its output bandpass function, and uses the specified grid spacing to calculate the isolation values for disturbing channels. The isolation characteristics are as follows:

isolation for grid optical demultiplexer

Simulation theory


Nonlinearities are distortions with a very different behavior than thermal AWGN (Additive White Gaussian Noise), and specifications are generally expressed as CSO/CTB values or CINR-curves for optical lasers or electrical amplifiers. This section sketches the basic theoretical background how COPERNICAT models these nonlinearities.

Let \(x(t)\) and \(y(t)\) respectively represent the input and output of a network component with nonlinear behavior. Their relation is given by a polynomial function: $$y(t)=\sum_{i=1}^\infty \alpha_i x^i(t)$$ If we assume that second-order and third-order nonlinearities dominate, we can simplify the above equation as: $$y(t)=\alpha_1x(t)+\alpha_2x^2(t)+\alpha_3x^3(t)$$ where \(\alpha_1\) represents the linear gain of the network component.

COPERNICAT does not simulate with the time representation of signals, instead it uses the signals's characteristic PSD \(|X(\omega)|^2\) in the frequency domain. This makes it, at this point, unclear how we can deal with nonlinearities. The first step to a solution is to realize that the inverse FFT of a signal's PSD is the autocorrelation function \(R_{xx}(\tau)\) which is expressed in the time domain, but independent of the time variable \(t\). Because \(R_{xx}(\tau)\) and \(x(t)\) are not the same quantities we're still not allowed to calculate the nonlinearities using the polynomial function above. However, under the assumption that the signal \(x(t)\) is sufficiently Gaussian, we can apply Price's theorem and conclude that the autocorrelation function \(R_{xx}(\tau)\) may be used as a substitute for the signal \(x(t)\) in a polynomial that describes the nonlinear behavior. This theory is covered in detail in the following article:

A method for intermodulation noise calculations in a cable television network with HD-MAC, PAL and FM radio signals
Richa Joshi, Jens C. Arnbak and Ramjee Prasad
IEEE Transactions on Broadcasting, Vol.38, No.3, September 1992

The following notes can be made for the requirement that signal \(x(t)\) must be sufficiently Gaussian:

COPERNICAT makes the following calculation steps:

Calculation of the nonlinearities model

Using the nonlinearities model in simulations

In COPERNICAT the nonlinearities model is used in simulations as shown in the illustration below.

illustration of using the IM-model in simulations

Based on the signal raster on the output of, for example, an amplifier the following calculation steps are applied (described in detail in the previous 'Nonlinearities' section):

The step that follows then is that each n-th order nonlinearities PSD is weighted, and these weights are constants in the nonlinearities model. The resulting weighted nonlinearities PSD can now be used to calculate CIR values.

Calculation of the nonlinearities model for CSO/CTB

For CSO/CTB specifications, COPERNICAT internally sets up a simulation using the CSO/CTB measurement raster, but in the last step it uses weights which are all one. The output of this simulation is compared with the CSO/CTB specifications, and from there it is directly clear what the weight values must be in order to obtain an intermodulation PSD which exactly fulfills the CSO/CTB specifications. Calculating the nonlinearities model is thus a fairly easy step. For CSO/CTB specifications the following intermodulation orders are used:

COPERNICAT provides several predefined measurement rasters, CENELEC and NTSC, which should match the available datasheet specifications in most cases. The full CENELEC raster has the following 42 frequencies in MHz:
         48.25, 119.25, 175.25, 191.25, 207.25, 223.25, 231.25, 247.25, 263.25, 287.25, 311.25,
        327.25, 343.25, 359.25, 375.25, 391.25, 407.25, 423.25, 439.25, 447.25, 463.25, 479.25,
        495.25, 511.25, 527.25, 543.25, 567.25, 583.25, 599.25, 663.25, 679.25, 695.25, 711.25,
        727.25, 743.25, 759.25, 775.25, 791.25, 807.25, 823.25, 839.25, 855.25
The CENELEC rasters are then defined: NTSC rasters have a low frequency block with the following 5 frequencies in MHz:
        55.25, 61.25, 67.25, 77.25, 83.25
The NTSC rasters are then defined by the above low frequency block plus additional frequencies on a 6 MHz grid:

Calculation of the nonlinearities model for CINR-curves

When CINR-curves are specified, COPERNICAT also sets up a simulation with intermodulation weights in the model all equal to one. In contrast with CSO/CTB specifications which only define a single CIR point, a CINR curve defines a range of those points and COPERNICAT must find weights for different orders of intermodulation such that the specified CINR curve is optimally reproduced by the nonlinearities model. COPERNICAT uses third-, fifth- and seventh-order nonlinearities in order to achieve an optimal result. The argumentation for choosing these orders is as follows:

The optimization algorithm calculates a mix of different intermodulation orders for the model based on a CINR curve. In all cases however, the third-order intermodulation is dominant at the maximum of the curve.

Intermodulation and legacy analog signals

For analog signals, generating nonlinear distortion with the correct levels and calculating their impact on the analog signals themselves is not straightforward. This section gives short overview of the aspects that play a role in dealing with nonlinearities and analog signals. Note however that analog signals are phased out in many HFC networks and the contents of this section therefore becomes less relevant over time. Operators who still have a small selection of analog television signals present on their network may even abandon the original high-quality CNR/CIR requirements for those signals and only offer a 'reasonable viewing quality' in order to give more room to digital payload signals like (Euro)DOCSIS.

Intermodulation generated by analog TV signals

The left side below is an illustration of a video signal (not exactly on scale). The video block means 'the signal can have any amplitude that fits within the block', and the mean amplitude is halfway that block. Most analog TV systems use negative modulation, ITU-system L is the only exception, so the modulated RF signal is illustrated on the right side.

illustration of a video signal, and an RF modulated signal

In HFC networks the specified level of an analog TV signal equals the level of the top-sync part of the RF signal, but from the illustration it is clear that the true rms value of the analog TV signal is much lower. As an initial estimate: the mean video level dominates a large part of the total signal, it is halfway the video block and thus a little less than half the top-sync level. We can thus expect that the true rms value of the analog TV signal may be over 6 dB lower than the top-sync level. However, taking the full signal with all top-sync, video and blanking levels correctly into account, it turns out to be approximately 5 dB.

For a single second- or third-order intermodulation spectral component 2 or 3 different 'parent' analog TV signals are involved. Because the signals are generally not synchronized in time, it is unlikely that their top-syncs (fully) coincide. This means that if one calculates the level of such an intermodulation component based on the top-sync levels of the parent signals, that calculated level is likely to be present much shorter than the top-sync duration or it may not be present at all. This is illustrated below for second-order intermodulation spectral components with 2 parents.

illustration of the timing of IM parents

The same mechanism applies when mutliple intermodulation components add up on the same frequency: because each intermodulation component has at least one different parent signal than every other intermodulation component on that frequency, there will never be a full addition of all top-sync levels. In the extreme case where infinitely many intermodulation components add up in a cluster and where we have infinitely many parent analog TV signals, the Central Limit Theorem predicts that the rms power of the signals becomes dominant. Assuming a difference of 5 dB between rms power and top-sync power, this means that the calculations purely based on top-sync levels are 10 dB and 15 dB too high for respectively second and third-order intermodulation.

Based on above argumentation we can thus introduce a reduction factor for intermodulation clusters where multiple analog TV signals are involved. The reduction depends on:

The reduction can not be written in a mathematically closed form expression, instead it must be obtained by extensive simulations and post-analysis. An example of these simulations is given below, showing the reduction for third-order intermodulation where all 3 parents are analog TV signals. As an example, if the intermodulation components are calculated based on the top-sync level in a network with 50 analog TV signals, then a cluster with 10 individual intermodulation components each having 3 analog TV parents will need a reduction of approximately 7.5 dB in order to get a correct level.

example of reduction curves for BBB

Note that the above curves are the results of simulations which can statistically analyze situations that are impossible in practice. For example, with only 5 analog TV signals in the network it is impossible to have 100 intermodulation products in the same cluster on a certain frequency.

Calculation of CIR for analog signals

For the quality of legacy analog signals like analog TV and FM it matters where the discrete intermodulation components occur in the signal's spectrum. For FM-signals also the number of analog TV parents in the intermodulation components may play a role. In order to take these phenomena into account and to obtain an unambiguous CIR value, weighting curves (also called 'protection curves') are used although their definition is a little bit different. A protection curve defines for every frequency offset the required CIR in order to achieve a predefined overall CIR, a weighting curve is based on such a protection curve and defines every frequency offset the weight that must be applied to all interferers in order to calculate a valid CIR.

The figure below shows some examples for analog TV.

example of weight curves for ATV

The protection curves for analog TV are valid for all types of intermodulation. Note that the curves show combinations which are never used in practice (for example B/G-SECAM). ITU-systems like B/G and others have specific characteristics which determine the shape of the protection curve, and the same applies for the color systems PAL/NTSC/SECAM. If a protection curve is not defined in the standards for a specific combination of analog TV (color) standards, a sufficient accurate curve can therefore be calculated based on the existing curves and characteristics like vestigial sideband width, video bandwidth, offset of the color-carrier, etc.

The figure below shows some examples for analog stereo FM with 75 kHz deviation.

example of weight curves for FM

For FM multiple protection curves may exist for different types of intermodulation because they have different characteristics. This was done for the Dutch NVN-5175 calculation standard, and in the above plot 'T' stands for 'Television' and 'C' stands for 'Carrier' (generally FM). The curve TTC is therefore a third-order intermodulation protection curve for intermodulation components where two parents are analog television and one parent is a carrier-like signal. The ITU-R BS.412-9 standard only defines two protection curves: one for 'steady interference' (used by COPERNICAT) and one for 'tropospheric interference'. COPERNICAT implements these curves for 50 kHz (most analog TV sound systems) and 75 kHz deviation (broadcast FM) although their difference is not highly significant.

Effect of broadband-like intermodulation on analog signals

Nonlinear distortion originating from broadband signals have a much more dominant tail in their amplitude distribution than Gaussian noise. In other words: for broadband intermodulation and Gaussian noise of the same power, the former has a higher content/probability of very high amplitudes than the latter. Signals with a digital payload like (Euro)DOCSIS are relatively sensitive for those high amplitudes which leads to high BER values. Legacy analog signals like analog TV or FM are however less sensitive for those high amplitudes, and the effect of broadband intermodulation is almost equivalent of that of Gaussian noise. COPERNICAT therefore offers the possibility for legacy analog signals to use the broadband intermodulation power in the calculation of the CNR instead of the CIR.

Summation of nonlinear spectra

In a simulation with multiple coax/amplifier sections, each amplifier generates intermodulation components and all intermodulation clusters from all amplifiers must be summed on a frequency basis. The basic rule is as follows:

This section provides a basic understanding why the difference in the two summations exists. The reference model is shown below and consists of two amplifiers with a coaxial section in between:

model for summation of intermodulation

The following analysis contains a lot of formulas, but it is essentially all quite simple and easy to follow so don't let the equations scare you off! We'll start with three signals present at the output of the first amplifier (A), all with their own frequency and phase offset. Notation \(s_{1,A}(t)\) means signal 1 at the output of amplifier A: $$\begin{aligned} s_{1,A}(t)&=\cos(\omega_1t+\phi_1) \\ s_{2,A}(t)&=\cos(\omega_2t+\phi_2) \\ s_{3,A}(t)&=\cos(\omega_3t+\phi_3) \end{aligned}$$ Note that we leave out the amplitudes because they do not play a role in this analysis, and leaving them out simplifies writing a lot. The essence of nonlinearities is that multiple individual signals are multiplied and that cosine functions are generated with sums and differences of the arguments of the signals. For example the multiplication of two cosines: $$\cos(x)\cos(y)=\tfrac{1}{2}\cos(x+y)+\tfrac{1}{2}\cos(x-y)=\tfrac{1}{2}\cos(x\pm y)$$ For second-order intermodulation components we use the notation \(c_{\,IM2,A,A}(t)\), which means: an IM2 component, generated by amplifier A and observed at the output of amplifier A. For third-order intermodulation components the equivalent notation \(c_{\,IM3,A,A}(t)\) is used. We do not care about amplitude scaling constants and we therefore get: $$\begin{aligned} c_{\,IM2,A,A}(t)&=\cos\left((\omega_1t+\phi_1)\pm(\omega_2t+\phi_2)\right)=\cos\left((\omega_1\pm\omega_2)t+(\phi_1\pm\phi_2)\right) \\ c_{\,IM3,A,A}(t)&=\cos\left((\omega_1t+\phi_1)\pm(\omega_2t+\phi_2)\pm(\omega_3t+\phi_3)\right)=\cos\left((\omega_1\pm\omega_2\pm\omega_3)t+(\phi_1\pm\phi_2\pm\phi_3)\right) \end{aligned}$$ Instead of writing out all possible cosine functions using sums and differences of the signals' arguments, we used the \(\pm\) operator which simply represents all possible options.

So, all still quite simple. The next step is to analyse how the signals and intermodulation components look like when they are transfered through the coaxial cable and amplifier B. We can then determine how the intermodulation components generated at the output of amplifier B look like, and compare them with the intermodulation components which were generated by amplifier A. Again, amplitude is not important and we'll focus on the phase:

The total phase-shift of the coax/amplifier section is therefore: $$\theta(\omega)=\omega\tau+\theta_{amp}$$ So let's apply that phase-shift to the signals and intermodulation components at the output of amplifier A, and thus obtain their representation at the output of amplifier B: $$\begin{aligned} s_{1,B}(t)&=\cos\left(\omega_1t+\phi_1+\theta(\omega_1)\right) \\ s_{2,B}(t)&=\cos\left(\omega_2t+\phi_2+\theta(\omega_2)\right) \\ s_{3,B}(t)&=\cos\left(\omega_3t+\phi_3+\theta(\omega_3)\right) \\ c_{\,IM2,A,B}(t)&=\cos\left((\omega_1\pm\omega_2)t+(\phi_1\pm\phi_2)+\theta(\omega_1\pm\omega_2)\right) \\ c_{\,IM3,A,B}(t)&=\cos\left((\omega_1\pm\omega_2\pm\omega_3)t+(\phi_1\pm\phi_2\pm\phi_3)+\theta(\omega_1\pm\omega_2\pm\omega_3)\right) \end{aligned}$$ We can now determine the IM2 and IM3 components as generated by amplifier B, based on the signals that are present there, and we simply get: $$\begin{aligned} c_{\,IM2,B,B}(t)&=\cos\left((\omega_1\pm\omega_2)t+(\phi_1\pm\phi_2)+(\theta(\omega_1)\pm\theta(\omega_2))\right) \\ c_{\,IM3,B,B}(t)&=\cos\left((\omega_1\pm\omega_2\pm\omega_3)t+(\phi_1\pm\phi_2\pm\phi_3)+(\theta(\omega_1)\pm\theta(\omega_2)\pm\theta(\omega_3))\right) \end{aligned}$$ The last step brings us to the question to be answered: at the output of amplifier B, how should \(c_{\,IM2,A,B}(t)\) and \(c_{\,IM2,B,B}(t)\) be summed, and how should \(c_{\,IM3,A,B}(t)\) and \(c_{\,IM3,B,B}(t)\) be summed? In order to answer that question we must look at the phase difference of the components to be added: $$\begin{aligned} \varphi_{\,IM2}&= \varphi(c_{\,IM2,A,B}(t) - c_{\,IM2,B,B}(t)) \\ \varphi_{\,IM3}&= \varphi(c_{\,IM3,A,B}(t) - c_{\,IM3,B,B}(t)) \end{aligned}$$ We start with IM2 and find: $$\begin{aligned} \theta(\omega_1\pm\omega_2)&=(\omega_1\pm\omega_2)\tau+\theta_{amp} \\ \theta(\omega_1)\pm\theta(\omega_2)&=(\omega_1\pm\omega_2)\tau+(\theta_{amp}\pm\theta_{amp}) \end{aligned}$$ This notation may seem to be a little weird, but we must make sure that we use all the \(\pm\) operators exactly as in the original equations. If we take the phase difference of both we get: $$ \varphi_{\,IM2}=\theta(\omega_1\pm\omega_2)-(\theta(\omega_1)\pm\theta(\omega_2))=\theta_{amp}-(\theta_{amp}\pm\theta_{amp}) $$ The above can be rewritten a little bit more because the first two \(\theta_{amp}\) terms cancel each other and we get (note the \(\pm\) operator becomes a \(\mp\) operator): $$ \varphi_{\,IM2}=\mp\theta_{amp} $$ And this enables us to draw the final conclusion: when we have IM2 generated by amplifier A and B and observe that IM2 at the output of amplifier B, then there is always a phase offset \(\mp\theta_{amp}\) between the two IM2 spectra which is introduced by amplifier B. Because the two IM2 spectra are not in phase, they should be summed on a power-basis.

Now that IM2 is analyzed in detail, we follow the same procedure for IM3 and quickly find: $$ \varphi_{\,IM3}=\mp\theta_{amp}\mp\theta_{amp} $$ We now have two \(\mp\) operators here, and the value of \(\varphi_{\,IM3}\) and summation method depends on them as follows:

first \(\mp\) second \(\mp\) \(\varphi_{\,IM3}\) summation
\(-\) \(-\) \(-2\theta_{amp}\) power
\(-\) \(+\) \(0\) amplitude
\(+\) \(-\) \(0\) amplitude
\(+\) \(+\) \(2\theta_{amp}\) power
The above result makes it difficult to make a decision because half of the IM3 components must be summed on a power-basis, and the other half on an amplitude-basis. The first row however represents the case \(\omega_1+\omega_2+\omega_3\) and it is reasonable to assume that most of these IM3 components have such a high frequency that they are out-of-band. We may therefore ignore the first row, which leaves us with the conclusion that the majority of the IM3 components must be summed on an amplitude-basis. In order to simplify life a bit, the choice was made to sum all IM3 components based on amplitude.

For IM3 it is worthwhile to analyse the error that is made by summing all IM3 components on an amplitude-basis, knowing that some IM3 components should be summed on a power-basis. Assume we have two cosines with amplitude equal to one, and summing both on a power- respectively amplitude-basis therefore gives: $$\begin{aligned} P_{power} = 1 \\ P_{amplitude} = 2 \end{aligned}$$ Now assume that amplifier A and B both generate 3 different IM3 clusters of equal power on 3 different frequencies, according to the last 3 rows of the above table. This means that one IM3 cluster should be summed on a power-basis and two IM3 clusters should be summed on an amplitude-basis. We thus get for the total combined power of this correct but mixed approach: $$ P_{total,mixed}=P_{power}+2P_{amplitude}=5 $$ If we follow the basic rule, which is an approximation, we sum all IM3 clusters on an amplitude-basis and we get: $$ P_{total,approx}=3P_{amplitude}=6 $$ The difference between the two methods is only 0.8 dB which is small enough to justify the approximation that all IM3 clusters are summed on an amplitude-basis.

As a last note: the question whether nonlinear spectra should be summed on a power- or amplitude-basis is especially relevant when the spectra to be summed have comparable power. When one spectrum has a dominant power compared with the other spectra, that spectrum will also be dominant after the summation and the summation method is less relevant.

Optical distortions

Many types of optical distortion are covered by COPERNICAT, but the underlying theory is too extensive and complex to cover it here in detail (apart from the fact that this 'Simulation theory' section is meant to give some understanding and insight of the main principles, it's not a thorough lecture). In this section we'll give some equations 'as is' and additionally explain something about the magnitude of WDM distortions.

Single optical carrier distortions

COPERNICAT supports the following optical distortions where only a single optical carrier plays a role:

Note: these distortions are also calculated for each individual optical carrier in a WDM architecture. The corresponding equations are based on the publications in the literature list below.

laser RIN

$$ CNR = -3.01 - 10\log_{10}(B) + 20\log_{10}(m_{pk}) - RIN $$

EDFA noise

$$ CNR = 121.00 - 10\log_{10}(B) + 20\log_{10}(m_{pk}) + 10\log_{10}(\lambda) + P_o - NF_{EDFA} $$

fiber IIN

$$ \alpha = 1 - 10^{-\frac{\alpha_0}{10}} $$ $$ CNR = -0.98 - 10\log_{10}(B) + 20\log_{10}(m_{pk}) - 2R_{Rb} - 10\log_{10}(2\alpha L + e^{-2\alpha L} - 1) + 10\log_{10}(\sigma_fe)\frac{f^2}{4\sigma^2_f} $$

fiber SPM

$$ CNR = 575.53 - 10\log_{10}(B) + 20\log_{10}(m_{pk}) - 10\log_{10}(\sigma_f) - 20\log_{10}(DLf) - 40\log_{10}(\lambda) $$

fiber CSO

$$ CNR = 576.57 - 20\log_{10}(\sigma_{f,ch} DLf) - 10\log_{10}(N_{CSO}) - 40\log_{10}(\lambda) $$

photodiode shot-noise

$$ CNR = 151.93 - 10\log_{10}(B) + 20\log_{10}(m_{pk}) + P_o + 10\log_{10}(R) $$

receiver post-amplifier noise, equivalent input current

$$ CNR = 176.99 - 10\log_{10}(B) + 20\log_{10}(m_{pk}) + 2P_o + 20\log_{10}(R) - 20\log_{10}(I_{eq}) $$

receiver post-amplifier noise, TIA

$$ CNR = 159.57 - 10\log_{10}(B) + 20\log_{10}(m_{pk}) + 2P_o + 20\log_{10}(R) + 10\log_{10}(R_f) - 10\log_{10}(T_0) - NF_{TIA} $$

The parameters are as follows:

WDM distortions

The following WDM distortions are supported by COPERNICAT:

For equations of WDM distortions see the publications of Mary R. Phillips and Daniel M. Ott as listed below in the literature list.

WDM distortions are mainly characterized by nonlinear effects where the modulating RF-signal of one optical carrier is induced on another optical carrier which results in a decreased CINR. The magnitude of the WDM distortions depends on the polarization angle between the two optical carriers or 'polarization overlap'. Because this polarization overlap is generally not controlled in HFC systems it is therefore an unknown and random variable. Note that the polarization overlap can vary over time, and the WDM effects therefore may also vary over time.

Trying to choose a value for the polarization overlap which fits a worst-case analysis for all combined WDM distortions is quite complex because the WDM distortions are RF-frequency dependent and it requires a separate definition for determining the worst-case CINR result. Specifically, for this worst-case CINR we could take the single worst-case RF-signal in the victim optical carrier or the overall worst-case mean CINR of all RF-signals. Either choice seems arbitrary and may have its pros and cons.

Bassed on the above argumentation, COPERNICAT uses another approach and gives you two choices:

  1. COPERNICAT maximizes the individual types of WDM distortions, which means that for each type of distortion a different polarization overlap is chosen in order to achieve the corresponding worst-case result. Note that this is not possible in practice because at any moment in time there can only be one polarization overlap value beteen two signals. The calculated CNR result is therefore generally worse than the actual CNR in the system.
  2. COPERNICAT chooses a value for the polarization overlap which results in an average level of all WDM distortions for a single as well as multiple interfering optical carriers. In more detail: COPERNICAT predicts the magnitude of the WDM distortion level for all possible values of the random polarization overlap angle, and then takes the rms-value of them in order to obtain the 'statistical average' distortion level.


An overview of noise and distortions in the optical domain is described in:

Modern cable television technology
Walter Ciciora, James Farmer, David Large and Michael Adams
Morgan Kaufmann Publishers in an Imprint of Elsevier

More detailed information on specific optical distortions can be found in the following articles, several of these publications form the basis of the equations in the book 'Modern cable television technology':

Multiplication noise in uniform avalanche diodes
R.J. Mclntyre
IEEE Transactions on Electron Devices, Vol. ED.13, No. 1, January 1966

Impact of double Rayleigh backscatter on digital and analog fiber systems
Ping Wan and Jan Conradi
Journal of Lightwave Technology, Vol. 14, No. 3, March 1996

Crosstalk due to optical fiber nonlinearities in WDM CATV lightwave systems
Mary R. Phillips and Daniel M. Ott
Journal of Lightwave Technology, Vol. 17, No. 10, October 1999

Crosstalk caused by nonideal output filters in WDM lightwave systems
Mary R. Phillips and Daniel M. Ott
IEEE Photonics Technology Letters, Vol. 12, No. 8, August 2000

CWDM lightwave system crosstalk by optical Kerr effect with polarisation-dependent loss
Mary R. Phillips and Daniel M. Ott
Electronics Letters, Vol. 35, No. 20, September 1999

Optical amplifier basic properties and system modeling: a simple tutorial
Rezin E. Pidgeon and Don E. Frymyer
Scientific-Atlanta, Inc.

Optimum laser chirp range for AM video transmission
Henry A. Blauvelt, P. C. Chen, Norman Kwong and Israel Ury
Ortel Corporation

Fiber induced distortion and phase noise to intensity noise conversion in externally modulated CATV systems
Dogan A. Atlas
Scientific-Atlanta, Inc.

Spectral efficiency estimates

(Euro)DOCSIS 1.0 - 3.0

Especially for downstream which has a fixed FEC, the spectral efficiency estimate is quite straightforward. For example:

So this standard provides a granularity of 6 dB, and more choice is just not available.

For upstream things are different. Not only the range of possible modulations is much wider, from QPSK to 128-QAM, but several parameters of the FEC can also be adjusted and this offers a much finer granularity for the spectral efficiency. Because the goal of COPERNICAT is to give you a reasonable estimate of the spectral efficiency, the upstream values were fitted to one continuous CNR versus spectral efficiency curve and all estimates calculated by COPERNICAT are derived from that curve. This continuous curve is based on the analysis described in:

An analysis of the TDMA and S-CDMA technologies of DOCSIS 2.0
Fabien Buda, Emmanuel Lemois, and Hikmet Sari
Juniper Networks


In DOCSIS 3.1 several mechanisms are used which provide a much more flexible range of spectral efficiency than its preceeding DOCSIS versions:

A short analysis and comparison between the performance of mixed modulation and shortened codewords is given in:

Performance comparison of mixed modulation codewords and shortened codewords in DOCSIS 3.1 cable modem systems
Joon-Young Jung, Dong-Joon Choi, and Namho Hur
IEEE International Conference on Consumer Electronics, 2015

Because of the fine granularity that both upstream and downstream provide using the above described mechanisms, the DOCSIS 3.1 performance was fitted to one continuous CNR versus spectral efficiency curve and all estimates calculated by COPERNICAT are derived from that curve. The estimates depend on the DOCSIS 3.1 signal's settings for carrier spacing (25 kHz or 50 kHz) and cyclic prefix length. The figure below gives the spectral efficiency curves of DOCSIS 3.1 for a cyclic prefix of 2.5 µs.

DOCSIS 3.1 spectral efficiency

With 25 kHz carrier spacing (40 µs symbols) the cyclic prefix imposes a relatively smaller performance penalty than with 50 kHz carrier spacing (20 µs symbols) and therefore has a bit higher spectral efficiency. Because upstream only uses LDPC for error correction while downstream combines LDPC with BCH, upstream requires an approximately 2 dB higher CNR than downstream in order to enable a certain M-QAM. This 2 dB difference is only approximately visible in the above plot because the default FEC effective code rate for downstream (0.8785) is a little lower than the default FEC effective code rate for upstream (0.8889). An example verification calculation for downstream, 40 µs symbols with 2.5 µs cyclic prefix (blue curve):

More detailed information about DOCSIS 3.1 spectral efficiency calculations can be found in:

The spectral efficiency of DOCSIS 3.1 systems
Ayham Al-Banna, Tom Cloonan

The impact of nonlinearities

Most standards, including DOCSIS, generally base the correct functioning of the signals on CNR only. This introduces an uncertainty in the calculation of spectral efficiencies because the HFC-network not only suffers from noise but also from nonlinearities. Measurements and theory show that, in general, a certain amount of imtermodulation power has a stronger impact on the BER of a signal than noise with the same power. It is difficult, or even inpossible, to correctly quantify this effect and a rule of thumb must therefore be used: COPERNICAT assumes that intermodulation has a 6 dB stronger impact on the signal's BER than noise. A weighted \(CNR_w\) based on the actual noise \(N\) and intermodulation \(I\) power is therefore calculated: $$ CNR_w = \frac{C}{N+4\,I} $$ and this weighted \(CNR_w\) is used as input for calculation of the spectral efficiency.