Modulation profiles define how information will be transmitted upstream from a cable modem to the able Modem Termination System (CMTS). Many upstream modulation profile variables can be changed, such as guard time of the burst, preamble, modulation (quadrature phase shift keying (QPSK) or 16-quadrature amplitude modulation (QAM)), and Forward Error Correction (FEC) protection. Cisco has created three default profiles, QPSK, 16-QAM, and mix, to eliminate confusion, however, changes may be necessary depending on the application. Data over Cable Service Interface Specification (DOCSIS) 2.0 has added 8, 32, and 64-QAM to the upstream modulation choices. This is known as advanced time division multiplex access (ATDMA). DOCSIS 2.0 also adds Synchronous Code Divsion Multiplexing (SCDMA), which will have its own default profiles when offered in the future.
Cisco did an extensive engineering program to properly code the correct profiles (based on the upstream PHY and card type) directly into the Cisco IOS®. Customers no longer have to manually enter the recommendations from this document. The differences in 15BC1 have been researched, lab-tested, and found to be correct. They should not need to be changed. These differences are also correct for the MC5x20 card , due to the fact that it uses a T1 PHY instead of the Broadcom PHY that all other cards use. The new Broadcom chip used in the MC28U also has different requirements than the old chip.
This table lists the modulation profile numbers that are used for specific cards in specific modes.
Profile Numbers | Linecards | DOCSIS Mode |
---|---|---|
1-10 | MC28C & 16C/S | TDMA |
21-30 | MC5x20S | TDMA |
121-130 | MC5x20S | TDMA-ATDMA |
221-230 | MC5x20S | ATDMA |
41-50 | MC28U | TDMA |
141-150 | MC28U | TDMA-ATDMA |
241-250 | MC28U | ATDMA |
The first number is always the default modulation profile for that type of card in a specific DOCSIS mode. Even if the 5x20 says that it is using profile 1, it really is not. The default would be profile 21. In 15BC2 code, you can issue the sh cab modualtion-profile cx/y uz command to see what is really being used. Also, unique word (UW) is not used for the TI chip.
This optimization project also changed the default minislot size from 64 symbols to the minimum requirement of 32 symbols. This makes the minislot size 8 bytes when using QPSK, 16 bytes when using 16-QAM, and 24 bytes when using 64-QAM. One caveat to this is the max burst from a cable modem is limited to 255 minislots. If the minislot is 8 bytes, then the max burst from a cable modem can only be 255*8=2040 bytes. This includes all PHY overhead and also fragmentation overhead. If attempting to allow single modems to have high US throughput, it is recommended to use a bigger minislot setting to satisfy the max burst settings in the cable modem's configuration file. If older modems seem to have problems when using 8-byte minislots, double the minislot size.
Note: There may be slight differences between Cisco IOS Software trains and versions. DOCSIS 1.1-based code (BC train) uses a shortened last code word (CW) as the default setting for short and long data grants. 1.0-based code (EC train) uses a fixed last CW as the default setting for these grants. If the modems fail to register and get stuck at init(d), it may be that the cable modem does not like the short grant profile, which is used for DHCP offers. DOCSIS 1.0-based code (EC train) uses a fixed last CW as the default setting.
The original default modulation profiles can be inefficient, depending on the DOCSIS extended header being used. These modulation profiles are optimized for five-byte extended headers. An inefficiency occurs when Cisco modems add one extra null byte to the extended header (Cisco modems do this for even alignment on a word boundary). This can have a drastic effect. It is not apparent if this only affects Cisco modems; for example, Toshiba modems use five-byte extended headers. More testing with multiple vendors is required.
Note: Piggybacking bandwidth requests require an extended header, and an extended header is also required if using baseline privacy interface plus (BPI+) security.
Tip: If not explicitly assigned with a modulation profile, each upstream port on a Cisco CMTS is assigned modulation profile 1 (QPSK) by default. Up to eight profiles can be configured. It is recommended to not change modulation profile 1. If more profiles are needed, start with number 2.
There are no specific requirements for this document.
This document is not restricted to specific software and hardware versions.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
For more information on document conventions, see the Cisco Technical Tips Conventions.
To understand modulation profiles, you need to understand US bursts. This picture depicts what a US burst looks like.
The cable modem may burst to make a request, do station maintenance every 20 seconds or so, send short data packets, send long data packets, do initial maintenance to come online, and so on. A US burst starts with a preamble and ends with some guard time. The preamble is a way for the CMTS and cable modem to synchronize. Broadcom incorporates a UW at the end of the preamble for added synchronization. The guardband is used so that multiple bursts do not overlap with each other. The actual data in between the preamble and guardband is made up of Ethernet frames and DOCSIS overhead that have been cut into FEC CWs, with FEC added to each CW.
This picture is the output of a debug command on a Cisco cable modem that shows the preamble pattern.
The pattern CC in hex is equivalent to 1100-1100. The preamble pattern F3 F3 in hex is equivalent to 1111 0011-1111 0011.
This picture shows the preamble length and offset. The offset is calculated based on the length and UW, which are set in the modulation profile.
This picture shows the actual preamble used from the entire pattern. You can see the preamble using a steady pattern of F3 F3, but at the end a UW pattern is used of 33 F7.
The UW pattern 33 F7 in hex is equivalent to 0011 0011-1111 0111.
This picture is of the QPSK preamble constellation.
This picture is of the 16-QAM preamble constellation.
The preamble is a very stable pattern between two different states, and could be considered to be bi-phase shift keying (BPSK). This is why the preamble is used for US level measurements in zero-span mode. At the end of the preamble is a UW.
This picture is of the QPSK UW constellation.
This picture is of the 16-QAM UW constellation.
This section is included to provide an understanding of the preamble and the UW, as it has a very drastic effect on the modulation and whether or not packets are dropped. Whenever using 16-QAM with Broadcom, the UW should be 16 instead of the previous default of 8. More information on this will be covered later in this document.
Complete these steps to configure the modulation profile.
Under global configuration, issue the cable modulation-profile 1 qpsk command.
Under the appropriate interface (cable 3/0), issue the cable upstream 0 modulation profile 1 command. Or, leave it blank, as the default is modulation profile 1.
The actual profile when entered and viewed in the show run command is shown in the table below. Only the short and long interval usage codes (IUCs) for profile 1 may be displayed however.
Original Inefficient ProfileIUC | FEC T bytes | FEC CW | Max B | Guard Time | Mod Type | Scramble | Scramble Seed | Diff Enc | Preamble Length | Last CW | UW |
---|---|---|---|---|---|---|---|---|---|---|---|
cable modulation- profile 1 short | 5 | 75 | 6 | 8 | QPSK | scrambler | 152 | no-diff | 72 | fixed | UW8 |
cable modulation- profile 1 long | 8 | 220 | 0 | 8 | QPSK | scrambler | 152 | no-diff | 80 | fixed | UW8 |
The show cable modulation-profile command produces the output shown in the table below.
Mod IUC | Type | Preamble Length | Diff Enco | FEC T bytes | FEC CW | Scramble Seed | Max B | Guard Time | Last CW | Scrambler | Preamble Offset |
---|---|---|---|---|---|---|---|---|---|---|---|
1 Request | QPSK | 64 | No | 0x0 | 0x10 | 0x152 | 0 | 8 | No | Yes | 952 |
1 Initial | QPSK | 128 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 896 |
1 Station | QPSK | 128 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 896 |
1 Short | QPSK | 72 | No | 0x5 | 0x4B | 0x152 | 6 | 8 | No | Yes | 944 |
1 long | QPSK | 80 | No | 0x8 | 0xDC | 0x152 | 0 | 8 | No | Yes | 936 |
As you can see, the fields are not in the same places. The UW setting is not visible. You can see the Preamble Offset, which is not set, but calculated, based on what is set for the UW.
This list describes each column.
IUCs are short, long, req, init, station, and so on. These are also known as information elements. The first three IUCs are for maintaining modem connectivity, while short and long IUCs are for actual data traffic.
Type is 16-QAM or QPSK. This is expanded for DOCSIS 2.0.
Preamble Length in bits is <2-512>. 16-QAM is usually double the Preamble Length over QPSK.
Diff Enco means that different encoding is enabled. No-diff means that different encoding is disabled. Always use no-diff encoding.
FEC T bytes are entered as decimal <0-10>, but shown in hex. 2* FEC T bytes size = bytes of FEC in each FEC code word (CW). Zero indicates no FEC. You can also disable FEC on the interface of each individual upstream port. This has been expanded to 16 for DOCSIS 2.0.
FEC CW is the CW length information bytes (k) entered in decimal <16-253>, but shown in hex.
Note: When using a shortened last CW, the last CW must be greater than or equal to 16 bytes. If less than 16 bytes, filler bytes are added to make it 16. A full CW is k+2*T, and must be less than or equal to 255 bytes total. If no FEC is used, CW has no meaning.
Scramble seed is listed in hex <0-7FFF>. Do not change this.
Max B is the maximum burst size in minislots <0-255>. Zero means no limit. Any burst less than or equal to the amount of bytes represented by the maximum burst will use this IUC.
Guard Time is listed in symbols <0-255>. DOCSIS states that this needs to be at least five symbols. QPSK has two bits per symbol and 16-QAM has four bits per symbol.
Last CW of fixed is the fixed last CW. Shortened is the shortened last CW and will state Yes in the column. Shortened eliminates extra stuffing.
Scrambler means the scrambler is enabled, and no-scrambler means the scrambler is disabled. Always keep the scrambler enabled.
Preamble Offset is not entered into the configuration. It is calculated when you enter in the UW value of eight or 16. The sum of Preamble Offset plus Preamble Length will equal 1024, 768, 512, or 256 bits for UW16; if not, you can assume UW8 is being used.
The UW is entered in the configuration of a profile, but does not show up in the show command output. UW16 means that a 16-bit UW is detected, and UW8 means that an eight-bit UW is detected.
Caution: Be sure to use UW16 when using 16-QAM for short or long IUCs. Using UW8 with 16-QAM can cause uncorrectable FEC errors to increment. Issue the show cable hop command to verify.
Complete these steps:
Under global configuration, issue the cable modulation profile 3 mix command.
Under the appropriate interface (cable 3/0), issue the cable up 0 modulation profile 3 command.
The actual profile when entered and displayed with the show run command is shown in the table below.
IUC | FEC T bytes | FEC CW | Max B | Guard Time | Mod Type | Scramble | Scramble Seed | Diff Enc | Preamble Length | Last CW | UW |
---|---|---|---|---|---|---|---|---|---|---|---|
cable modulation- profile 3 request | 0 | 16 | 0 | 8 | QPSK | scrambler | 152 | no-diff | 64 | fixed | UW16 |
cable modulation- profile 3 initial | 5 | 34 | 0 | 48 | QPSK | scrambler | 152 | no-diff | 128 | fixed | UW16 |
cable modulation- profile 3 station | 5 | 34 | 0 | 48 | QPSK | scrambler | 152 | no-diff | 128 | fixed | UW16 |
cable modulation- profile 3 short | 6 | 75 | 6 | 8 | QPSK | scrambler | 152 | no-diff | 144 | fixed | UW8 |
cable modulation- profile 3 long | 0 | 220 | 0 | 8 | QPSK | scrambler | 152 | no-diff | 160 | fixed | UW8 |
The show cable modulation-profile 3 command output is shown in the table below.
Mod IUC | Type | Preamble Length | Diff Enco | FEC T bytes | FEC CW | Scramble Seed | Max B | Guard Time | Last CW | Scrambler | Preamble Offset |
---|---|---|---|---|---|---|---|---|---|---|---|
3 Request | QPSK | 64 | no | 0x0 | 0x10 | 0x152 | 0 | 8 | No | Yes | 0 |
3 Initial | QPSK | 128 | no | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 0 |
3 Station | QPSK | 128 | no | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 0 |
3 Short | QPSK | 144 | no | 0x6 | 0x4B | 0x152 | 6 | 8 | No | Yes | 0 |
Long | QPSK | 160 | no | 0x8 | 0xDC | 0x152 | 0 | 8 | No | Yes | 0 |
Note: Notice in the display above that the Preamble Offset indicates 0. The Preamble Offset will not show up until you assign this modulation profile to an upstream port.
Tip: Decrease the minislot size from eight ticks to four. This will keep the number of bytes in a minislot closer to 16 when you use the more complex modulation scheme. If the minislot size is left at eight ticks, the minimum burst sent will be at least 32 bytes. This is inefficient when sending upstream requests, which only require 16 bytes total. See Appendix B for minislot configuration.
Consider Cisco modems with six-byte extended headers, and using all current Cisco CMTS defaults in the EC code, such as 1.6 MHz channel width, minislot size of eight ticks (16 bytes). The modulation profile is shown below.
cable modulation-profile 1 short 5 75 6 8 qpsk scrambler 152 no-diff 72 fixed
If sending 64-byte Ethernet frames (46-byte packet data unit (PDU) + 18-byte Ethernet header) on the upstream, the modem uses a long burst and the total packet size becomes 256 bytes. This will be 16 minislots. See Appendix A for the calculations. This is inefficient for a 46-byte PDU. The packet-per-second (PPS) rate for 64-byte packets will drop because of this. Concatenation can help with upstream throughput when sending 64-byte packets, but sending extra bytes wastes time.
This inefficiency could affect downstream TCP flows, because this will also be true for a TCP acknowledgment on the upstream. Even though an acknowledgment is less than 46 bytes, it will be padded to make it at least 46. Upstream concatenation can help tremendously, but it is still inefficient to send 256 bytes when only 96 bytes total are typically needed.
If the extended header is only five bytes as originally believed, the modem uses a short grant at six minislots, for a total of 96 bytes. This is a difference of 160 bytes (256-96).
Complete these steps to fix modulation profile 1 (QPSK):
Increase the FEC CW size from 75 to 76 for the short IUC.
Decrease the FEC T bytes from five to four for the short IUC.
If the minislot size is changed from the default of eight ticks to four, make sure the Max Burst field for the short IUC is changed from six to 12.
Shortened last CW is recommended for the short and long IUCs.
Modems with older code may have to be upgraded since they may not register when using shortened last CW in the IUCs.
If you want the FEC to be high, increase it to ten, and change the Max Burst field from six to seven.
If the minislot size is changed from the default of eight ticks to four, use eight T bytes of FEC, and make sure the Max Burst field for the short IUC is changed to 13.
This table lists the recommended profiles, assuming eight-tick minislots at 1.6 MHz, or four ticks at 3.2 MHz.
IUC | FEC T bytes | FEC CW | Max B | Guard Time | Mod Type | Scramble | Scramble Seed | Diff Enc | Preamble Length | Last CW | UW |
---|---|---|---|---|---|---|---|---|---|---|---|
cable modulation- prof 1 short | 4 | 76 | 6 | 8 | QPSK | scrambler | 152 | no-diff | 72 | short | UW8 |
cable modulation- prof 1 long | 8 | 220 | 0 | 8 | QPSK | scrambler | 152 | no-diff | 80 | short | UW8 |
Looking at the mix profile defaults and the same situation as above, 46-byte PDUs will use 288 bytes total. This is even worse than the QPSK example because of more Preamble and Guard Time.
Complete these steps to fix modulation profiles 2 (16-QAM) and 3 (mix):
Increase the FEC CW size from 75 to 76 for the short IUC.
Increase the FEC T bytes from six to seven for the short IUC.
Increase the Max Burst field from six to seven.
Be sure to use UW16 when using 16-QAM for short or long IUCs.
Shortened last CW for the short and long IUCs is recommended.
If you have old code on some modems and you enable shortened last CW in the modulation profile, it may not register. You will need to upgrade the modem code.
The FEC T bytes can be increased on a long IUC from eight to nine when using 16-QAM.
This table lists the recommended profiles, assuming four-tick minislots at 1.6 MHz, or two ticks at 3.2 MHz.
IUC | FEC T bytes | FEC CW | Max B | Guard Time | Mod Type | Scramble | Scramble Seed | Diff Enc | Preamble Length | Last CW | UW |
---|---|---|---|---|---|---|---|---|---|---|---|
cab modulation- prof 3 short | 7 | 76 | 7 | 8 | 16-QAM | scrambler | 152 | no-diff | 140 | short | UW16 |
cab modulation- prof 3 long | 9 | 220 | 0 | 8 | 16-QAM | scrambler | 152 | no-diff | 160 | short | UW16 |
Consider a Cisco modem with six-byte extended headers and using current Cisco CMTS defaults in the BC code, such as 1.6 MHz channel width, minislot size of eight ticks (16 bytes). The modulation profile is shown below.
cable modulation-prof 1 short 5 75 6 8 qpsk scrambler 152 no-diff 72 shortened uw8
If sending 64-byte Ethernet frames (46-byte PDU) on the upstream, the modem uses a long burst and the total packet size becomes 112 bytes. This will be seven minislots. This is inefficient for a 46-byte PDU. The major difference is that BC code uses shortened last CW by default. DOCSIS 1.0 code (EC train) uses fixed last CW by default.
If the extended header is only five bytes, as originally believed, the modem ends up using a short grant at six minislots for a total of 96 bytes. This is a difference of 16 bytes (112-96).
Complete these steps to fix modulation profile 1 (QPSK):
Increase the FEC CW size from 75 to 76 for the short IUC.
Decrease the FEC T bytes from five to four for the short IUC.
If the minislot size is changed from the default of eight ticks to four, make sure the Max Burst field for the short IUC is changed from six to 12.
If you want the FEC to be high, increase it to ten and change the Max Burst field from six to seven.
If the minislot size is changed from the default of eight ticks to four, use eight T bytes of FEC and make sure the Max Burst field for the short IUC is changed to 13.
This table lists the recommended profiles, assuming eight-tick minislots at 1.6 MHz, or four ticks at 3.2 MHz.
IUC | FEC T bytes | FEC CW | Max B | Guard Time | Mod Type | Scramble | Scramble Seed | Diff Enc | Preamble Length | Last CW | UW |
---|---|---|---|---|---|---|---|---|---|---|---|
cable modulation- prof 1 short | 4 | 76 | 6 | 8 | QPSK | scrambler | 152 | no-diff | 72 | short | UW8 |
cable modulation- prof 1 long | 8 | 220 | 0 | 8 | QPSK | scrambler | 152 | no-diff | 80 | short | UW8 |
Looking at the mix profile defaults and the same situation as above, 46-byte PDUs will use 288 bytes total. This is even worse than the QPSK example because of more Preamble and Guard Time.
Complete these steps to fix modulation profiles 2 (16-QAM) and 3 (mix):
Increase the FEC CW size from 75 to 76 for the short IUC.
Increase the FEC T bytes from six to seven for the short IUC.
Increase the Max Burst field from six to seven.
Be sure to use UW16 when using 16-QAM for short or long IUCs.
The FEC T bytes can be increased on a long IUC from eight to nine when using 16-QAM.
This table lists the recommended profiles, assuming four-tick minislots at 1.6 MHz, or two ticks at 3.2 MHz.
IUC | FEC T bytes | FEC CW | Max B | Guard Time | Mod Type | Scramble | Scramble Seed | Diff Enc | Preamble Length | Last CW | UW |
---|---|---|---|---|---|---|---|---|---|---|---|
cab modulation- prof 3 short | 7 | 76 | 7 | 8 | 16-QAM | scrambler | 152 | no-diff | 144 | short | UW16 |
cab modulation- prof 3 long | 9 | 220 | 0 | 8 | 16-QAM | scrambler | 152 | no-diff | 160 | short | UW16 |
It is imperative to understand how all the variables such as minislot size, channel width, modulation, and max burst size all work together. Setting the minislot size to a minimum adds better resolution between minislot usage. The current default settings from the factory may not be optimized for all situations. Appendix C explains some modulation profiles for voice-over-IP (VoIP) applications.
This section provides the recommendations for all legacy linecards (16x and 28C). There are different requirements for the latest linecards (28U and 5x20). See the Modulation Profile Addendum section of this document.
The configuration below is the most robust. QPSK is used (should be the default settings with latest IOS).
cab modulation-prof 1 request 0 16 0 8 qpsk scramb 152 no-diff 64 fixed uw16 cab modulation-prof 1 initial 5 34 0 48 qpsk scramb 152 no-diff 128 fixed uw16 cab modulation-prof 1 station 5 34 0 48 qpsk scramb 152 no-diff 128 fixed uw16 cab modulation-prof 1 short 4 76 12 8 qpsk scramb 152 no-diff 72 short uw8 cab modulation-prof 1 long 9 220 0 8 qpsk scramb 152 no-diff 80 short uw8
The configuration below uses best speed and a mix of QPSK and 16-QAM.
cab modulation-prof 2 request 0 16 0 8 qpsk scramb 152 no-diff 64 fixed uw16 cab modulation-prof 2 initial 5 34 0 48 qpsk scramb 152 no-diff 128 fixed uw16 cab modulation-prof 2 station 5 34 0 48 qpsk scramb 152 no-diff 128 fixed uw16 cab modulation-prof 2 short 7 76 7 8 16qam scramb 152 no-diff 144 short uw16 cab modulation-prof 2 long 9 232 0 8 16qam scramb 152 no-diff 160 short uw16
The configuration below uses a robust mix profile.
cab modulation-prof 3 request 0 16 0 8 qpsk scram 152 no-diff 64 fixed uw16 cab modulation-prof 3 initial 5 34 0 48 qpsk scram 152 no-diff 128 fixed uw16 cab modulation-prof 3 station 5 34 0 48 qpsk scram 152 no-diff 128 fixed uw16 cab modulation-prof 3 short 7 76 7 8 16qam scram 152 no-diff 144 short uw16 cab modulation-prof 3 long 10 153 0 8 16qam scram 152 no-diff 200 short uw16
In this configuration, the preamble was made longer on the long IUC and the CW size was decreased to give it a higher percentage of FEC coverage; 2*10/(2*10+153) = 11.5%.
The configuration below is used to track the flap list for entries.
cab modulation-prof 5 req 0 16 0 8 16qam scramb 152 no-diff 128 fixed uw16 cab modulation-prof 5 initial 5 34 0 48 qpsk scramb 152 no-diff 128 fixed uw16 cab modulation-prof 5 station 5 34 0 48 16qam scramb 152 no-diff 256 fixed uw16 cab modulation-prof 5 short 7 76 7 8 16qam scramb 152 no-diff 144 short uw16 cab modulation-prof 5 long 9 232 0 8 16qam scramb 152 no-diff 160 short uw16
Levels to keep a cable modem online are done during station maintenance. Using 16-QAM for station maintenance will allow the modem to flap. Keep in mind power limitations at 16-QAM – max Tx of 55 dBmV. It may be warranted to issue the cab u0 power-adjust continue 6 command. A ! in the sh cab modem command means it is maxed out, and you may need to change the plant attenuation. Also, some older cable modems do not like using 16-QAM for initial maintenance. If initial maintenance is 16-QAM, the cable modem may not come back on, and there are no more flaps, which wastes more time trying to get cable modems online (they collide with each other). It also eats up time with the DHCP server if they do connect physically.
The CW was increased on the long IUC to fit exactly one, 232-B PacketCable UGS packet.
This addendum covers modulation profiles that are present in 15BC1 & BC2 IOS code. These profiles are used for legacy linecards such as the MC16x and MC28C, and also for the new linecards such as the MC28U used in a VXR chassis and the MC5x20S linecard used in the uBR10K. The MC5x20S cable linecard uses a T1 upstream chipset, while all other cable linecards utilize Broadcom. The IOS mentioned in this document was designed to make default modulation profiles possible without user configuration
Cable upstream ports can be configured for a new DOCSIS-mode. This mode cannot be changed in 15BC1 code, however, it is configurable in 15BC2 code. The modes available per upstream port will be TDMA, TDMA-ATDMA, or ATDMA.
ubr(config-if)#cab u0 docsis-mode ? atdma DOCSIS 2.0 ATDMA-only channel tdma DOCSIS 1.x-only channel tdma-atdma DOCSIS 1.x & DOCSIS 2.0 mixed channel
This list describes each state.
TDMA-mode signifies legacy DOCSIS 1.0/1.1 mode.
TDMA-ATDMA mode is for a mixed environment of DOCSIS 1.x and 2.0 cable modems on the same US frequency. DOCSIS 2.0 modems can use modulation schemes that the 1.x cable modems cannot. In this environment, the largest channel width is limited to 3.2 MHz.
ATDMA-mode is used for DOCSIS 2.0 capability of 64-QAM and/or 6.4 MHz channel width.
Modulation profile numbers are designated for specific linecards. The first number of each group listed is always the default modulation profile for that type of card in a specific DOCSIS mode.
Note: Each linecard has a valid numbering scheme 1-10 for legacy cards, x2x for the MC5x20, and x4x for the MC28U linecard. This table lists the numbering scheme information.
Profile Numbers | Linecards | DOCSIS Mode |
---|---|---|
1-10 | MC28C & 16C/S | TDMA |
21-30 | MC5x20S | TDMA |
121-130 | MC5x20S | TDMA-ATDMA |
221-230 | MC5x20S | ATDMA |
41-50 | MC28U | TDMA |
141-150 | MC28U | TDMA-ATDMA |
241-250 | MC28U | ATDMA |
361- 370 | MX5x20T | SCDMA |
Tip: The most accurate way to identify the current modulation profile being used on an upstream port is to issue the sh cab modulation-profile cx/y up z command, which is available in 15BC2 code and greater. The profile shown in sh run or in sh cab modulation-profile command output may not be accurate.
Complete these steps to make and assign modulation profiles for upstream operation:
Make the profile.
UBR-1(config)#cab modulation-profile ? <1-10> Modulation Profile Group
Profiles in bold are Cisco-designed profiles.
UBR-1(config)#cab modulation-profile 2 ? initial Initial Ranging Burst long Long Grant Burst mix Create default QPSK/QAM-16 mix modulation profile qam-16 Create default QAM-16 modulation profile qpsk Create default QPSK modulation profile reqdata Request/data Burst request Request Burst robust-mix Create robust QPSK/QAM-16 mix modulation profile short Short Grant Burst station Station Ranging Burst
Assign the profile.
UBR-1(config-if)#cab u1 modulation-profile 2
Issue the sh cab modulation-profile command. The new default settings are shown in this table. QPSK is listed first.
Mod Type | IUC | Type | Preamble Length | Diff Enc | FEC T bytes | FEC K bytes | Scramble Seed | Max B Size | Guard Time | Last CW | Scramble | Pre Offst | Pre Type | RS |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | request | qpsk | 64 | No | 0x0 | 0x10 | 0x152 | 0 | 8 | No | Yes | 184 | qpsk | — |
1 | initial | qpsk | 128 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 128 | qpsk | — |
1 | station | qpsk | 128 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 128 | qpsk | — |
1 | short | qpsk | 72 | No | 0x4 | 0x4C | 0x152 | 12 | 8 | Yes | Yes | 176 | qpsk | — |
1 | long | qpsk | 80 | No | 0x9 | 0xE8 | 0x152 | 0 | 8 | Yes | Yes | 168 | qpsk | — |
These are the settings if you pick mix.
Mod Type | IUC | Type | Preamble Length | Diff Enc | FEC T bytes | FEC K bytes | Scramble Seed | Max B Size | Guard Time | Last CW | Scramble | Pre Offst | Pre Type | RS |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2 | request | qpsk | 64 | No | 0x0 | 0x10 | 0x152 | 0 | 8 | No | Yes | 184 | qpsk | — |
2 | initial | qpsk | 128 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 128 | qpsk | — |
2 | station | qpsk | 128 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 128 | qpsk | — |
2 | short | 16qam | 144 | No | 0x5 | 0x4C | 0x152 | 7 | 8 | Yes | Yes | 176 | 16qam | — |
2 | long | 16qam | 160 | No | 0x8 | 0xE8 | 0x152 | 0 | 8 | Yes | Yes | 168 | 16qam | — |
These are the settings if you pick robust-mix.
Mod Type | IUC | Type | Preamble Length | Diff Enc | FEC T bytes | FEC K bytes | Scramble Seed | Max B Size | Guard Time | Last CW | Scramble | Pre Offst | Pre Type | RS |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
3 | request | qpsk | 64 | No | 0x0 | 0x10 | 0x152 | 0 | 8 | No | Yes | 184 | qpsk | — |
3 | initial | qpsk | 128 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 128 | qpsk | — |
3 | station | qpsk | 128 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 128 | qpsk | — |
3 | short | 16qam | 144 | No | 0x5 | 0x4C | 0x152 | 7 | 8 | Yes | Yes | 176 | 16qam | — |
3 | long | 16qam | 160 | No | 0xA | 0xDC | 0x152 | 0 | 8 | Yes | Yes | 168 | 16qam | — |
Note: Entering modulation profiles and viewing them by issuing the show run command appear in this order:
IUC FEC FEC Max Guard Mod Scramble Scramble Diff Preamble Last UW T CW B Time Type Seed Enc Length CW cable modu 1 request 0 16 0 8 qpsk scrambler 152 no-diff 64 fixed uw16 cable modu 1 initial 5 34 0 48 qpsk scrambler 152 no-diff 128 fixed uw16
Note: As you can see, the fields are not in the same places; some fields are entered as decimal but appear as hex in the sh cab modulation command output.
The MC5x20S card has its own numbering scheme for modulation profiles.
RTP-ubr10k(config)#cab modulation-profile ? <21-30> DOCSIS 1.X Modulation Profile Group for MC520 Line Card <121-130> DOCSIS 1.X/2.0 Mixed Modulation Profile Group for MC520 Line Card <221-230> DOCSIS 2.0 Only ATDMA Modulation Profile Group for MC520 Line Card
This is an example of a modulation profile for the MC5x20S linecard for TDMA-mode operation. The bold text shows Cisco-designed profiles.
RTP-ubr10k(config)#cab modulation-profile 21 ? initial Initial Ranging Burst long Long Grant Burst mix Create default QPSK/QAM-16 mix modulation profile qam-16 Create default QAM-16 modulation profile qpsk Create default QPSK modulation profile reqdata Request/data Burst request Request Burst robust-mix Create robust QPSK/QAM-16 mix modulation profile short Short Grant Burst station Station Ranging Burst
The new default settings are shown in this table.
Mod Type | IUC | Type | Preamble Length | Diff Enc | FEC T bytes | FEC K bytes | Scramble Seed | Max B Size | Guard Time | Last CW | Scramble | Pre Offst | Pre Type | RS |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
21 | request | qpsk | 32 | No | 0x0 | 0x10 | 0x152 | 0 | 22 | No | Yes | 0 | qpsk | — |
21 | initial | qpsk | 64 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 0 | qpsk | — |
21 | station | qpsk | 64 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 0 | qpsk | — |
21 | short | qpsk | 64 | No | 0x3 | 0x4C | 0x152 | 12 | 22 | Yes | Yes | 0 | qpsk | — |
21 | long | qpsk | 64 | No | 0x7 | 0xE8 | 0x152 | 0 | 22 | Yes | Yes | 0 | qpsk | — |
These are the settings if you pick mix.
Mod Type | IUC | Type | Preamble Length | Diff Enc | FEC T bytes | FEC K bytes | Scramble Seed | Max B Size | Guard Time | Last CW | Scramble | Pre Offst | Pre Type | RS |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
22 | request | qpsk | 32 | No | 0x0 | 0x10 | 0x152 | 0 | 22 | No | Yes | 0 | qpsk | — |
22 | initial | qpsk | 64 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 0 | qpsk | — |
22 | station | qpsk | 64 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 0 | qpsk | — |
22 | short | 16qam | 128 | No | 0x4 | 0x4C | 0x152 | 7 | 22 | Yes | Yes | 0 | 16qam | — |
22 | long | 16qam | 128 | No | 0x7 | 0xE8 | 0x152 | 0 | 22 | Yes | Yes | 0 | 16qam | — |
These are the settings if you pick robust-mix.
Mod Type | IUC | Type | Preamble Length | Diff Enc | FEC T bytes | FEC K bytes | Scramble Seed | Max B Size | Guard Time | Last CW | Scramble | Pre Offst | Pre Type | RS |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
23 | request | qpsk | 32 | No | 0x0 | 0x10 | 0x152 | 0 | 22 | No | Yes | 0 | qpsk | — |
23 | initial | qpsk | 64 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 0 | qpsk | — |
23 | station | qpsk | 64 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 0 | qpsk | — |
23 | short | 16qam | 128 | No | 0x4 | 0x4C | 0x152 | 7 | 22 | Yes | Yes | 0 | 16qam | — |
23 | long | 16qam | 128 | No | 0xA | 0xDC | 0x152 | 0 | 22 | Yes | Yes | 0 | 16qam | — |
This is an example of a modulation profile for the MC5x20S linecard for mixed-mode operation.
Mod Type | IUC | Type | Preamble Length | Diff Enc | FEC T bytes | FEC K bytes | Scramble Seed | Max B Size | Guard Time | Last CW | Scramble | Pre Offst | Pre Type | RS |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
122 | request | qpsk | 32 | No | 0x0 | 0x10 | 0x152 | 0 | 22 | No | Yes | 0 | qpsk0 | — |
122 | initial | qpsk | 64 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 0 | qpsk0 | — |
122 | station | qpsk | 64 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 0 | qpsk0 | — |
122 | short | qpsk | 64 | No | 0x3 | 0x4C | 0x152 | 12 | 22 | Yes | Yes | 0 | qpsk0 | — |
122 | long | qpsk | 64 | No | 0x9 | 0xE8 | 0x152 | 0 | 22 | Yes | Yes | 0 | qpsk0 | — |
122 | a-short | qpsk | 64 | No | 0x3 | 0x4C | 0x152 | 12 | 22 | Yes | Yes | 0 | qpsk0 | — |
122 | a-long | qpsk | 64 | No | 0x9 | 0xE8 | 0x152 | 0 | 22 | Yes | Yes | 0 | qpsk0 | — |
This is an example of a modulation profile for the MC5x20S linecard for ATDMA-mode operation. The bold text shows Cisco-designed profiles.
RTP-ubr10k(config)#cab modulation-profile 221 ? a-long Advanced Phy Long Grant Burst a-short Advanced Phy Short Grant Burst a-ugs Advanced Phy Unsolicited Grant Burst initial Initial Ranging Burst mix-high Create default ATDMA QPSK/QAM-64 mix profile mix-low Create default ATDMA QPSK/QAM-16 mix profile mix-medium Create default ATDMA QPSK/QAM-32 mix profile mix-qam Create default ATDMA QAM-16/QAM-64 mix profile qam-16 Create default ATDMA QAM-16 profile qam-32 Create default ATDMA QAM-32 profile qam-64 Create default ATDMA QAM-64 profile qam-8 Create default ATDMA QAM-8 profile qpsk Create default ATDMA QPSK profile reqdata Request/data Burst request Request Burst robust-mix-high Create robust ATDMA QPSK/QAM-64 mix mod profile robust-mix-low Create robust ATDMA QPSK/QAM-16 mix mod profile robust-mix-mid Create robust ATDMA QPSK/QAM-32 mix mod profile station Station Ranging Burst
Mod Type | IUC | Type | Preamble Length | Diff Enc | FEC T bytes | FEC K bytes | Scramble Seed | Max B Size | Guard Time | Last CW | Scramble | Pre Offst | Pre Type | RS |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
221 | request | qpsk | 32 | No | 0x0 | 0x10 | 0x152 | 0 | 22 | No | Yes | 0 | qpsk0 | — |
221 | initial | qpsk | 64 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 64 | qpsk0 | — |
221 | station | qpsk | 64 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 64 | qpsk0 | — |
221 | a-short | 64qam | 64 | No | 0x6 | 0x4C | 0x152 | 6 | 22 | Yes | Yes | 64 | qpsk1 | — |
221 | a-long | 64qam | 64 | No | 0x8 | 0xE8 | 0x152 | 0 | 22 | Yes | Yes | 64 | qpsk1 | — |
221 | a-ugs | 64qam | 64 | No | 0x8 | 0xE8 | 0x152 | 12 | 22 | Yes | Yes | 64 | qpsk1 | — |
Caution: Notice the guardbands are different from other linecards. This is because the 5x20S linecard uses a T1 chip for upstream demodulation and has different requirements compared with Broadcom. These should never be manipulated from factory defaults.
Note: The defaults will also change depending on other interface settings. If minislot size is changed or cab default-phy-burst is changed to allow bigger concatenated packets past the default of 2000 bytes, then the max burst field may change in the modulation profile. The new code also assigns 2-tick minislots automatically to 3.2 MHz channel width, 4-ticks for 1.6 MHz, and so on.
The MC28U card has its own numbering scheme for modulation profiles.
ubr7246-2(config)#cab modulation-profile ? <141-150> DOCSIS 1.X/2.0 Mixed Modulation Profile Group for MCU Line Card <241-250> DOCSIS 2.0 Only ATDMA Modulation Profile Group for MCU Line Card <41-50> DOCSIS 1.X Modulation Profile Group for MCU Line Card
These are the new defaults:
ubr7246-2(config)#cab modulation-profile 41 ? initial Initial Ranging Burst long Long Grant Burst mix Create default QPSK/QAM-16 mix modulation profile qam-16 Create default QAM-16 modulation profile qpsk Create default QPSK modulation profile reqdata Request/data Burst request Request Burst robust-mix Create robust QPSK/QAM-16 mix modulation profile short Short Grant Burst station Station Ranging Burst
Mod Type | IUC | Type | Preamble Length | Diff Enc | FEC T bytes | FEC K bytes | Scramble Seed | Max B Size | Guard Time | Last CW | Scramble | Pre Offst | Pre Type | RS |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
41 | request | qpsk | 64 | No | 0x0 | 0x10 | 0x152 | 0 | 8 | No | Yes | 0 | qpsk | — |
41 | initial | qpsk | 128 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 0 | qpsk | — |
41 | station | qpsk | 128 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 0 | qpsk | — |
41 | short | qpsk | 100 | No | 0x3 | 0x4E | 0x152 | 35 | 25 | Yes | Yes | 0 | qpsk | — |
41 | long | qpsk | 80 | No | 0x9 | 0xE8 | 0x152 | 0 | 137 | Yes | Yes | 0 | qpsk | — |
These are the settings if you pick mix.
Mod Type | IUC | Type | Preamble Length | Diff Enc | FEC T bytes | FEC K bytes | Scramble Seed | Max B Size | Guard Time | Last CW | Scramble | Pre Offst | Pre Type | RS |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
42 | request | qpsk | 64 | No | 0x0 | 0x10 | 0x152 | 0 | 8 | No | Yes | 0 | qpsk | — |
42 | initial | qpsk | 128 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 0 | qpsk | — |
42 | station | qpsk | 128 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 0 | qpsk | — |
42 | short | 16qam | 200 | No | 0x5 | 0x4E | 0x152 | 19 | 17 | Yes | Yes | 0 | 16qam | — |
42 | long | 16qam | 216 | No | 0x9 | 0xE8 | 0x152 | 139 | 77 | Yes | Yes | 0 | 16qam | — |
This is an example of a modulation profile for the MC28U linecard for mixed-mode operation.
Mod Type | IUC | Type | Preamble Length | Diff Enc | FEC T bytes | FEC K bytes | Scramble Seed | Max B Size | Guard Time | Last CW | Scramble | Pre Offst | Pre Type | RS |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
141 | request | qpsk | 64 | No | 0x0 | 0x10 | 0x152 | 0 | 8 | No | Yes | 396 | qpsk | No |
141 | initial | qpsk | 128 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 6 | qpsk | No |
141 | station | qpsk | 128 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 6 | qpsk | No |
141 | short | qpsk | 100 | No | 0x3 | 0x4E | 0x152 | 35 | 25 | Yes | Yes | 396 | qpsk | No |
141 | long | qpsk | 80 | No | 0x9 | 0xE8 | 0x152 | 0 | 137 | Yes | Yes | 396 | qpsk | No |
141 | a-short | 64qam | 100 | No | 0x3 | 0x4E | 0x152 | 14 | 14 | Yes | Yes | 396 | qpsk1 | No |
141 | a-long | 64qam | 160 | No | 0xB | 0xE8 | 0x152 | 96 | 56 | Yes | Yes | 396 | qpsk1 | No |
This is an example of a modulation profile for the MC28U linecard for atdma-mode operation.
Mod Type | IUC | Type | Preamble Length | Diff Enc | FEC T bytes | FEC K bytes | Scramble Seed | Max B Size | Guard Time | Last CW | Scramble | Pre Offst | Pre Type | RS |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
241 | request | qpsk | 64 | No | 0x0 | 0x10 | 0x152 | 0 | 8 | No | Yes | 396 | qpsk0 | No |
241 | initial | qpsk | 128 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 6 | qpsk0 | No |
241 | station | qpsk | 128 | No | 0x5 | 0x22 | 0x152 | 0 | 48 | No | Yes | 6 | qpsk0 | No |
241 | a-short | 64qam | 100 | No | 9 | 0x4E | 0x152 | 14 | 14 | Yes | Yes | 396 | qpsk1 | No |
241 | a-long | 64qam | 160 | No | 0xB | 0xE8 | 0x152 | 96 | 56 | Yes | Yes | 396 | qpsk1 | No |
241 | a-ugs | 16qam | 108 | No | 0x9 | 0xE8 | 0x152 | 107 | 61 | Yes | Yes | 396 | qpsk1 | No |
Note: Notice the preambles and guardbands are different from legacy cards and should not be made lower than factory settings. The defaults will also change depending on other interface settings. If minislot size is changed or cab default-phy-burst is changed to allow bigger concatenated packets past the default of 2000 bytes, then the max burst field may change in the modulation profile.
The QPSK, 1.6 MHz, eight-tick minislots example is shown below.
(8 ticks/minislot * 6.25 usec/tick * 1.28 Msym/s * 2 bits/sym) / (8 bits/byte) = 16 bytes/minislot
Using the default settings for modulation profile 1, as shown below.
cable modulation-profile 1 short 5 75 6 8 qpsk scrambler 152 no-diff 72 fixed uw8 cable modulation-profile 1 long 8 220 0 8 qpsk scrambler 152 no-diff 80 fixed uw8
46-byte Ethernet frame + 18-byte Ethernet header + 6-byte DOCSIS header + 6-byte DOCSIS extended header = 76 bytes. A FEC CW size of 4B in hex equals 75 bytes. 76/75 = one full CW needed and one leftover byte. If using the default setting of fixed last CW, this would require two full CWs. That would give 2*(75+2*5) = 170 bytes + 9 bytes of Preamble + 2 bytes of Guard Time = 181 bytes. The Preamble was (72 bits) / (8 bits/byte) = 9 bytes. The Guard Time of eight symbols would be (8 sym*2 bits/sym) / (8 bit/byte) = 2 bytes.
181 / (16 bytes/minislot) = 11.3125 minislots needed. Round this up to 12. Since the default setting for max burst size for the short IUC is six, you would have to use the long IUC. Going through the math again, there are 76 bytes/220 byte FEC CW = 1 full CW needed + 2*8 = 236 bytes + 10 bytes of Preamble + 2 bytes of Guard Time = 248 bytes/16 = 15.5. Round up to 16*16 bytes/minislot = 256 bytes.
The modified modulation profile 1 is shown below.
cab modulation-prof 1 short 4 76 6 8 qpsk scrambler 152 no-diff 72 short uw8
46-byte Ethernet frame + 18-byte Ethernet header + 6-byte DOCSIS header + 6-byte DOCSIS extended header = 76 bytes. A FEC CW size of 76 means exactly one CW will be needed + 2*T. We have 76+2*4 = 84 bytes + 9 bytes of Preamble + 2 bytes of Guard Time = 95 bytes. 95/16 bytes/minislot = 5.9375 minislots needed. Round up to 6 = 6 minislots*16 bytes/minislot = 96 bytes.
It is recommended to set the minislot size to a value that will make it eight or 16 bytes. This is sometimes not achievable because the DOCSIS limit states that the minislot must be at least 32 symbols.
This table table lists the channel width versus the number of ticks allowed for a minislot.
Channel Width | Ticks Allowed | |||
---|---|---|---|---|
.2 | 32 | 64 | 128 | |
.4 | 16 | 32 | 64 | 128 |
.8 | 8 | 16 | 32 | 64 |
1.6 | 4 | 8 | 16 | 32 |
3.2 | 2 | 4 | 8 | 16 |
6.4 | 1 | 2 | 4 | 8 |
The number of ticks allowed will be affected by the symbol rate (channel width) used on the upstream. The modulation used and the number of ticks per minislot will affect the total amount of bytes in a minislot.
To configure the minislot size, issue the cable upstream 0 minislot-size 8 command.
To verify the minislot size, issue the show controllers command.
ubr7246vxr#show controllers c3/0 u0 Cable3/0 Upstream 0 is up Frequency 24.848 MHz, Channel Width 1.600 MHz, QPSK Symbol Rate 1.280 Msps Spectrum Group 1, Last Frequency Hop Data Error: NO(0) MC16S CNR measurement: 26 dB Nominal Input Power Level 0 dBmV, Tx Timing Offset 2952 Ranging Backoff automatic (Start 0, End 3) Ranging Insertion Interval automatic (60 ms) Tx Backoff Start 0, Tx Backoff End 4 Modulation Profile Group 2 Concatenation is disabled Fragmentation is enabled part_id=0x3137, rev_id=0x03, rev2_id=0xFF nb_agc_thr=0x0000, nb_agc_nom=0x0000 Range Load Reg Size=0x58 Request Load Reg Size=0x0E Minislot size in number of timebase ticks = 8 Minislot size in symbols = 64 Bandwidth requests = 0xED97D0 Piggyback requests = 0x2DB623C Invalid BW requests = 0xE4B Minislots requested = 0x12B17492 Minislots granted = 0x12B16E64 Minislot size in bytes = 16 Map Advance (Dynamic): 2468 usecs UCD count = 3566700 DES Ctrl Reg#0 = C000C043, Reg#1 = 4016
VoIP calls are generally believed to operate best using short grants, but it may be worth testing the upstream usage with the short profile listed, then using the long profile to see if any difference is noticed. If you issue the show interface c5/0/0 mac-scheduler command in the BC code, you can see the upstream use percentage. Instead of trying to find out how many phone calls can be supported by making phone calls, just look at the utilization per call. If each phone uses about two percent upstream utilization, about 45 calls would put you at 90 percent. In EC code, the command is show interface c3/0 upstream 0.
There is the possibility of too much round-off error associated using this type of calculation. If that two percent was really 2.4 percent or 1.6 percent, you would get radically different results, but it could be used as a relative measurement or comparison when changing modulation profiles optimized for short or long IUCs.
If using 20 ms sampling, a G.711 codec, no Payload Header Suppression (PHS), QPSK modulation, 3.2 MHz channel width, and two ticks as a minislot, the total voice packet size would be about 264 bytes after all the overhead is included. The modulation profile below is used.
cable modulation-prof 4 short 3 78 33 8 qpsk scrambler 152 no-diff 72 short uw8
G.711 = 64 kbps*20 ms of sampling = 1280 bits / (8 bits/byte) = 160-byte Voice frame + 18-byte Ethernet header + 6-byte DOCSIS header + 5-byte DOCSIS Extended Header + 3-byte UGS header + 40 bytes of IP/UDP/RTP header = 232 bytes. An FEC CW size of 4E in hex equals 78 bytes. 232/78 = 2 full CWs needed + a shortened last codeword. That would give 2*(78+3*2) + (76+3*2) = 250 bytes + 9 bytes of Preamble + 2 bytes of Guard Time = 261 bytes. 261 bytes / (8 bytes/minislot) = 32.625. Round up to 33*8 bytes/minislot = 264 bytes.
Note: If PHS is used, the packet size before FEC is added is reduced by approximately 40 bytes.
This modulation profile should allow you to get about 21 calls on a QPSK upstream using G.711. 264*8 = 2112 bits per 20 ms packet. 2112/20ms = 105.6 kbps per phone call. 2.56 Mbps total throughput-10% overhead (maintenance, reserved time for insertions, and contention time) = 2.2 Mbps / 105.6 kbps = 21.82. In reality, voice calls should be limited to about 65% to leave room for setting up and tearing down calls, allocating throughput for best effort traffic, and headroom for peak traffic. 65% of 21 would be about 13 calls.
The following modulation profiles and calculations assume 65% throughput allocation for VoIP traffic and a 5-byte extended header with a 3-byte UGS header. and 6-byte DOCSIS extended headers. Extended headers larger than this will require different modulation profiles.
QPSK (using short grants); (1.6 MHz at four ticks = 13 calls or 3.2 MHz at two ticks = 29 calls)
cable modulation-profile 4 short 3 78 33 8 qpsk scrambler 152 no-diff 72 short uw8 cable modulation-profile 4 long 8 220 0 8 qpsk scrambler 152 no-diff 80 short uw8
QPSK (using long grants); (1.6 MHz at four ticks = 13 calls or 3.2 MHz at two ticks = 29 calls)
cable modulation-profile 5 short 4 76 12 8 qpsk scrambler 152 no-diff 72 short uw8 cable modulation-profile 5 long 9 232 0 8 qpsk scrambler 152 no-diff 80 short uw8
One caveat to this is large 1500-byte PDUs will require 1672 bytes vs. 1656 previously.
16-QAM (short); (1.6 MHz at four ticks = 27 calls or 3.2 MHz at two ticks = 56 calls)
cable modulation-prof 6 short 3 78 17 8 16qam scrambler 152 no-diff 144 short uw16 cable modulation-prof 6 long 9 220 0 8 16qam scrambler 152 no-diff 160 short uw16
More FEC coverage (1.6 MHz at four ticks = 26 calls or 3.2 MHz at two ticks = 53 calls)
cable modulation-prof 6 short 4 58 18 8 16qam scrambler 152 no-diff 144 short uw16
One caveat to this is small 46-byte PDUs will require 128 bytes vs. 112 previously.
16-QAM (long); (1.6 MHz at two ticks = 26 calls or 3.2 MHz at two ticks = 53 calls)
cable modulation-prof 7 short 7 76 7 8 16qam scrambler 152 no-diff 144 short uw16 cable modulation-prof 7 long 9 232 0 8 16qam scrambler 152 no-diff 160 short uw16
More FEC coverage (1.6 MHz at four ticks = 26 calls or 3.2 MHz at two ticks = 53 calls)
cable modulation-prof 7 long 8 116 0 8 16qam scrambler 152 no-diff 160 short uw16
One caveat to this is large 1500-byte PDUs will require 1792 bytes vs. 1680 previously.
QPSK (short); (.8 MHz at eight ticks = 5 calls)
cab modulation-prof 7 long 8 116 0 8 16qam scrambler 152 no-diff 160 short uw16
The last example would probably be the lowest channel-width and modulation combination. The upstream serialization time would be 1.65 milliseconds. A channel width any narrower than .8 MHz would create an upstream serialization time that would violate the 2-ms latency limit unless using 16-QAM at .4 MHz.
The last example would not be recommended. A 1518-byte Ethernet frame would take more than 10 msec to send upstream and violate certain requirements. The upstream serialization time of the voice packet would be 1.65 milliseconds, which is below the 2-ms latency limit, but only 5 calls would be realized and not a very good business case.
Note: If the upstream packet serialization time is more than 2 ms, an error will occur. You may need to increase the upstream channel width and/or modulation. There is also reserved time for a 1500-B frame. If it takes more than 10 msec to serialize, then you will fail 10 msec VoIP, but technically, 20 msec VoIP should still work. Assuming an US using QPSK with a symbol rate of 640 ksym/s, you’ll get 640 * 2 bits/sym / 8 = 160 kB/s. A 1518-B Ethernet frame will be about 1680 bytes total leading to 1680/160k = 10.5 msec.
VoIP at 20 ms sampling is recommended because 10 ms sampling creates 1/10 ms = 100 PPS to be used in the CPU for the upstream and downstream flows. This equals 200 PPS for one phone call. If two cable modems call each other, the total PPS would be 200 for both. This can be very taxing on the CMTS CPU.
QPSK (short); (1.6 MHz at four ticks = 10 calls or 3.2 MHz at two ticks = 21 calls)
cable modulation-prof 7 short 3 78 22 8 qpsk scrambler 152 no-diff 72 short uw8 cable modulation-prof 7 long 8 220 0 8 qpsk scrambler 152 no-diff 80 short uw8
16-QAM (short); (1.6 MHz at four ticks = 19 calls or 3.2 MHz at two ticks = 39 calls)
cab modulation-prof 8 short 4 78 12 8 16qam scrambler 152 no-diff 144 short uw16 cab modulation-prof 8 long 9 220 0 8 16qam scrambler 152 no-diff 160 short uw16
Revision | Publish Date | Comments |
---|---|---|
1.0 |
04-Oct-2005 |
Initial Release |